模块与模块或组件与组件之间的交互,层与层交互等等
)
4.1时序图
用户注册信息时序图 . 学生选课时序图 管理员加课时序图 管理员修改选课时序图 管理员删除选课时序图
活动者、对象、消息、生命线和控制焦点组成 分析解答:(不考虑学生登陆)
事件流:
1系统提示输入管理员密码 2 管理员输入密码 3 系统验证密码 4 将结果返回给用户
对象:界面、控制对象、数据库。角色:管理员,数据库 消息:
用户输入注册信息
界面将注册信息提交给控制对象 控制对象到数据库中查询注册信息 控制对象判断注册信息是否合法 如果合法在数据库里添加注册信息 控制对象将检查结果返回到界面对象 界面对象显示结果 选课:
1 进入选课主界面 2 学生点击选课
3 系统显示所有课程信息 4 学生选择课程
5 系统验证课程是否可选 A1 不可选
6 系统提示课程选择成功,提示学生交费 7 用例结束
对象:在事件流中寻找 1) 界面 2) 课程
3) 对于业务层的操作,也应该由对象来处理 4) 事件流中设计的角色:学生,数据库
4
消息:
1) 学生通过界面发送选课命令 2) 界面向控制对象请求课程信息
3) 控制对象向数据库发送查询数据消息 4) 数据库返回查询信息。
5) 控制对象暂存数据库的查询结果
6) 界面对象从控制对象中取得所有课程信息 7) 在界面上显示所有的课程信息 8) 学生选择课程
9) 界面对象要求学生输入学号 10) 学生输入学号
11) 界面对象向控制对象发送消息,查询该学生是否可以选择选定的课程12) 控制对象从数据库中查询关联信息 13) 控制对象判断是否可以选课
14) 如果可以选课,向数据库中添加关联信息 15) 向界面对象返回信息 加课: 消息:
1) 界面提示用户输入新课程信息 2) 界面对象创建一个课程对象
3) 通过控制对象对课程信息进行合法性检查 4) 控制对象从数据库中查询关联信息 5) 控制对象对查询结果进行判断 6) 控制对象向数据库中插入数据 7) 在界面上显示结果
8) 控制对象撤销建立的课程对象
修改课程: 消息:
1) 界面提示用户输入要修改课程信息 2) 界面对象创建一个课程对象
3) 通过控制对象对课程信息进行合法性检查 4) 控制对象从数据库中查询关联信息 5) 控制对象对查询结果进行判断 6) 控制对象向数据库中修改数据 7) 在界面上显示结果
8) 控制对象撤销建立的课程对象
删除课程:
对象:管理员,界面,控制对象,数据库 消息:
1) 管理员输入待删除的课程信息(IID)等 2) 界面对象将信息发送给控制对象
5
3) 控制对象查询课程信息是否有效
4) 控制对象向界面返回信息,如果有效,提示管理员确认删除 5) 管理员确认删除课程
6) 界面将确认删除的信息发送给控制对象 7) 控制对象将确认删除的信息发送给数据库 8) 数据库实施删除,并将结果返回给控制对象 9) 控制对象将结果返回到界面
4.2.时序图
RegisterLoginWindow : User1: type register info():Control:Database2: submit register info()3: query register info()4: check if register info is legal()5: add register info()6: return result()7: display the result()
6
:SelectCourseWindow : student1: send command():Control:Database2: request course info()3: send query data info()4: return query info()5: temporarily save result of query info()6: accquire all course info()7: disply all course info()8: select course()9: ask student to type ID()10: student type his ID(int)11: query if student can select course or no(String)12: query relating info()13: estimate if can select the course or no()14: if can select update relating info()15: return info()
7
: Administrator:AddCourseWindow:Course:Control:Database1: add course info()2: creat course(int,course)3: request validity of examine()4: query relating info()5: estimate for result of query()6: add data()7: return result()8: remove course object()
:ModifyCourseWindow1: send course info()2: creat course object(int,course)3: request validity of examine():Course:Control:Database : Administrator4: query relating info()5: estimate for result of query()6: modify data()7: return result()8: remove course object()
8