实验三 顺序图参考答案

更新时间:2024-03-23 10:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三 顺序图、协作图设计

【实验目的】

1. 理解顺序图和协作图的概念及作用;

2. 掌握UML顺序图与协作图的基本图形,了解它们各自的组成元素、特定作用和适

用场合; 3. 重点掌握顺序图的画法及其中元素所代表的意义。

【实验性质】

设计性实验。

【实验要求】

1. 学习根据指定的用例描述绘制顺序图和协作图的方法; 2. 学习使用Rational Rose绘制顺序图和协作图; 3. 掌握顺序图和协作图的相互转换方法。

【实验内容】

以网上选课系统中的Select Course(选课)用例为例,设计和实现顺序图、协作图。、

【实验步骤】

1.假设学生已经成功登录系统,分析选课的事件流。

a) 学生进入选课主界面 b) 学生点击选课

c) 系统显示所有课程信息 d) 学生选择课程

e) 系统验证课程是否可选 A1:课程不可选

f) 系统提示课程选择成功,提示学生交费 g) 用例结束。 A1:课程不可选

a) 系统提示课程不可选以及原因 b) 学生重新选课 c) 重新验证直至成功

d) 转选课事件流第f)步。

顺序图描述的是对象与对象的交互,创建顺序图的步骤如下: 1) 寻找对象。 2) 寻找角色。

3) 将消息加进图中。

首先,查找Select Course(选课)用例的对象,从事件流冲发现涉及一下对象: 1) 界面。

2) 课程

3) 对于业务层的操作,也应该有对象进行处理。 4) 事件流中涉及的角色有:学生、数据库。

2.分析对象、角色之间交互的消息。

本用例主要有以下交互:

1)学生通过界面发送选课命令。 2)界面向控制对象请求课程信息。 3)控制对象向数据库发送查询数据消息 4)控制对象暂存数据库的查询结果

5)界面对象从控制对象中取得所有的课程信息 6)在界面上显示所有的课程信息

7)界面对象发送命令要求控制对象删除课程信息 8)学生选择课程

9)界面对象要求学生输入学号

10)界面对象向控制对象发送信息,查询该生是否可以选择选定的课程 11)控制对象从数据库查询关联信息。 12)控制对象判断是否可以选课

13)如果可以选课,则向数据库中添加关联信息。 14)向界面对象返回信息。

3.根据以上分析,绘制出Select Course用例的顺序图,并转换成对应的协作图。

参考顺序图如下:

stu : StudentForm : FormObjectcourse : Coursecontrol : ControlObjectdb : Database1: SelectCommand()2: GetAllCourse()3: QueryCourse()4: Create(String,int,String,String)5: GetcourseInfo()6: DisplayCourseList()7: DeleteCourse()8: GetCourse()9: QueryAssociation(int,int)10: QueryAssociation(int,int)11: CanSelect()12: AddAssociation(int,int)13: ShowSucessInfo()14: GetStudentId()

4. 按照上述例子的方法,试着绘制网上选课系统中其他用例如Add Course、Modify Course、Delete Course、Query Course的顺序图和协作图。

扩展练习:

(1) 以“远程网络教学系统”为例,在该系统中,系统管理员需要登录系统才能进行系统

维护工作,如添加教师信息、删除教师信息等。根据系统管理员添加教师信息用例,创建相关顺序图,并转换成对应的协作图。

(2) 在“远程网络教学系统”中,如果我们单独抽象出来一个数据访问类来进行数据访问。

那么,根据系统管理员添加教师信息用例,重新创建相关顺序图,并转换成对应的协作图。

【思考问题】

1.总结绘制顺序图和协作图的步骤。

2.结合网上选课系统的顺序图设计实例,总结一下顺序图在系统分析设计过程中所起的作用。

本文来源:https://www.bwwdw.com/article/04p8.html

Top