实验三 顺序图、协作图设计
【实验目的】
- 理解顺序图和协作图的概念及作用;
- 掌握UML顺序图与协作图的基本图形,了解它们各自的组成元素、特定作用和适用场合;
- 重点掌握顺序图的画法及其中元素所代表的意义。
【实验性质】
设计性实验。
【实验要求】
- 学习根据指定的用例描述绘制顺序图和协作图的方法;
- 学习使用Rational Rose绘制顺序图和协作图;
- 掌握顺序图和协作图的相互转换方法。
【实验内容】
以网上选课系统中的Select Course(选课)用例为例,设计和实现顺序图、协作图。、
【实验步骤】
1.假设学生已经成功登录系统,分析选课的事件流。
- 学生进入选课主界面
- 学生点击选课
- 系统显示所有课程信息
- 学生选择课程
- 系统验证课程是否可选
A1:课程不可选
- 系统提示课程选择成功,提示学生交费
- 用例结束。
A1:课程不可选
- 系统提示课程不可选以及原因
- 学生重新选课
- 重新验证直至成功
- 转选课事件流第f)步。
顺序图描述的是对象与对象的交互,创建顺序图的步骤如下:
- 寻找对象。
- 寻找角色。
- 将消息加进图中。
首先,查找Select Course(选课)用例的对象,从事件流中发现涉及一下对象:
- 界面。
- 课程
- 对于业务层的操作,也应该有对象进行处理。
- 事件流中涉及的角色有:学生、数据库。
2.分析对象、角色之间交互的消息。
本用例主要有以下交互:
1)学生通过界面发送选课命令。
2)界面向控制对象请求课程信息。
3)控制对象向数据库发送查询数据消息
4)控制对象暂存数据库的查询结果
5)界面对象从控制对象中取得所有的课程信息
6)在界面上显示所有的课程信息
7)界面对象发送命令要求控制对象删除课程信息
8)学生选择课程
9)界面对象要求学生输入学号
10)界面对象向控制对象发送信息,查询该生是否可以选择选定的课程
11)控制对象从数据库查询关联信息。
12)控制对象判断是否可以选课
13)如果可以选课,则向数据库中添加关联信息。
14)向界面对象返回信息。
3.根据以上分析,绘制出Select Course用例的顺序图,并转换成对应的协作图。
参考顺序图如下:
- 按照上述例子的方法,试着绘制网上选课系统中其他用例如Add Course、Modify Course、Delete Course、Query Course的顺序图和协作图。
扩展练习:
- 以“远程网络教学系统”为例,在该系统中,系统管理员需要登录系统才能进行系统维护工作,如添加教师信息、删除教师信息等。根据系统管理员添加教师信息用例,创建相关顺序图,并转换成对应的协作图。
- 在“远程网络教学系统”中,如果我们单独抽象出来一个数据访问类来进行数据访问。那么,根据系统管理员添加教师信息用例,重新创建相关顺序图,并转换成对应的协作图。
【思考问题】
1.总结绘制顺序图的步骤。
2.结合网上选课系统的顺序图设计实例,总结一下顺序图在系统分析设计过程中所起的作用。