UML实验指导书(共31页).doc
《UML实验指导书(共31页).doc》由会员分享,可在线阅读,更多相关《UML实验指导书(共31页).doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上UML实验指导书 实验指导说明书 面向对象设计UML建模 -08本新版 上机实验 创建用例及用例图 一.实验目的:在Rose 2003 环境下设计应用系统的UML用例图。 二.实验内容:根据用户“需求陈述”创建Use Case框图。包括: 案例1. 绘制“自动饮料机售货”的Use Case框图 案例2. 用例之间的三种关系练习 案例3. 设计“网上学生选课系统”的Use Case 框图 案例4. 设计“图书管理系统”的Use Case 框图 三.操作步骤: 案例1. 建立用例图的步骤: 。右击Use Case View 。选New ? Use Case Diagram
2、 。起名,比如:Buy Drink 。双击Buy Drink图标,这时工具栏变成适合Use Case作图的形式。 。设计Use Case Diagram. “自动饮料机售货”需求陈述: “顾客通过自动饮料售货机, 可以方便地买到一听饮料。而自动饮料售货机除了卖给顾客饮料外,还具备以下功能: 供应商可以向自动饮料售货机添加饮料; 收银员可以从自动饮料售货机取钱. ” 经过分析可知自动饮料售货机系统涉及到的名词及概念有: CustomerSupplierCashier Buy drinkSet drinkTake money Open machineClose machine 显然, 前三个名词为
3、参与者. 后面的那些功能为Use Case . 绘制自动饮料售货机售货的用例图. (提示:首先找出参与者和用例之间的关系, 建立初步用例图, 然后细化用例建立用例之间的include或extend关系。) 案例2. 用例之间的三种关系练习 分析用例之间的“泛化关系”、“include” 和“extend”关系。 在Rose下创建包括以上三种关系的Use Case图。 案例3. “学生选课系统”需求陈述: 管理员通过系统界面进入,建立本学期要开的课程,并把这些信息保存到Database中。管理员可以对设置的课程进行增加、删除或改动。 学生通过客户浏览器并根据学号和密码进入选课界面;学生可以进行三
4、种操作:查询已选课程,选课及付费。 经过需求分析可知: 系统用户有: 管理员学生(Student); 本系统的Use Case 包括: 选课查询 ( Query Course ) 付费( Pay for Course )增加课程( Add Course ) 修改课程( Modify Course )删除课程( Delete Course )。 设计Use Case Diagram. 案例4. 根据“图书管理系统案例”绘制Use Case图和顺序图 需求描述如下: 1)系统使用良好的图形用户界面; 2)在此界面下,只有图书管理员才能和系统直接交互对话; 3)借阅者可通过图书管理员进行借书,还书(
5、Return item),预定和取消预定。条件是:借阅人必须事先注册.方可借书; 4)当预定的图书归还时,或新购进时,通知预定人,当预定的书已经借到时, 预定自动取消; 5)为简单起见我们常用“标题”和“书目”对图书进行划分。标题指的是书名,书目指的是具体一册书; 6)所有图书均预先登记. 不同的书按书名(Title)区分, 而且同名的书可以有多本(item),它们按书号区分; 7)图书管理员可以方便的建立,删除修改标题及借阅者信息,增加和删除书目,也可以查询图书和借阅者信息。 a) 试做出系统的初始Use Case 图 b) 于多个Use Case 都具有寻找标题和寻找借阅者部分, 2 实验
6、指导说明书 试绘制改进的Use Case 图(可在原Use Case 图上改进)。 *案例5.(选作) 根据“网上购物系统”案例,绘制初始Use Case图。 “网上购物系统”涉及到的参与者如下: Customer(客户) Warehouse Manager(库房经理) Shipping Service(供货服务) Purchase Manager(采购经理)Credit System(信用系统) “网上购物系统”涉及到的Use Case如下: Browse Web Site(浏览网站) Add Item to Shopping Cart(给购物推车添加物品) View Shopping Ca
7、rt(查看购物推车) Purchase Item in Shopping Cart(购买购物推车中的商品) Remove Item from Shopping Cart(从购物推车中删除商品) Browse Item for Sale(浏览销售的商品) Provide Feedback(提供反馈信息)Stock Inventory(盘点) rn Item to Stock(返回库存商品)Ship Order(提供订单)Add New Item for Sale(增加新销售商品) Remove Item for Sale(取消某销售商品)Purchase Inventory(购买库存) 分别以客
8、户, 库房经理,和采购经理为中心建立Use Case Diagram. 参考答案: 。以客户为中心建立的初始Use Case Diagram. 图1-1 网上购物系统用例图 。以库房经理和采购经理为中心建立的初始Use Case Diagram请学生自己画出。 3 实验指导说明书 四. 评分标准 1正确完成案例13者可以得到70分; 2正确完成案例13,同时正确完成案例4者,可以得到85分; 3完成1和2项任务,同时又完成案例5者,或者在建模过程中有创造性者 可以给90分以上分数。 上机实验 创建交互图 一. 实验目的:在Rose 环境下创建UML交互图 二. 实验内容: (一). 根据“学生
9、选课系统”案例,分别创建: 选课, 查询 (Query Course), 增加课程 (Add Course), 付费 (Pay for Course), 修改课程 (Modify Course) 和删除课程 (Delete Course), 所对应的主脚本的顺序图。并分别转化为对应的协作图。 (二). 根据“图书管理系统”的用例图,创建: 借书(Lend Item)用例所对应的顺序图. *(三). 根据“网上购物系统”的用例图,创建: 浏览网站和 添加物品到购物推车(Add Item to Shopping Cart)所对应的顺序图. 三. 操作步骤: (一). 以“Select Course
10、”为例, 完成“学生选课系统”的顺序图 1.分析事件流 1) 学生进入选课主界面; 2)学生点击选课按钮; 3)系统显示所有课程信息; 4)学生选择课程; 5)系统验证课程是否可选; 6)系统显示课程选择成功; 7)用例结束。 2创建顺序图总体步骤: 1) 寻找对象,上述案例涉及的对象有: Form(或Interface), Course Control Database(注意:Database 亦可看成参与者) 4 实验指导说明书 2) 参与者;Student 3) 将消息加进图中。 3在Rose下操作步骤: 1)Tools ? Options ?Diagram标签,确保有关参数选中。(比如
11、:Sequence Numbering) 2)打开实验所创建的“网上学生选课系统”的Use Case 框图 3)右击Use Case View 选New ? Sequence Diagram 4) 新图标命名为Select Course即可 5) 双击新窗口,并将浏览器中的参与者(Student)拖入新窗口中。 6) 在新窗口中利用Create a Object 工具按钮创建对象并正确命名. 7) 在顺序图中增加消息. 完成顺序图设计. Select Course 的顺序图: 图21 选课顺序图 4. 按上述步骤,参照选课顺序图,完成:查询 (Query Course),增加课程 (Add C
12、ourse), 付费 (Pay for Course), 修改课程 (Modify Course) 和删除课程 (Delete Course) 所对应的主脚本的顺序图设计. 注意事项: 5 实验指导说明书 1. Database可以看作对象, 也可以看作参与者, 视情况而定. 2.顺序图中的界面对象可命名为Form,也可命名为Interface等. 3.在顺序图中可以根据具体情况增设Control对象. 4若有两个以上的参与者,应将主参与者放在顺序图最左方,次参与者放在顺序图最右方。 Query Course的顺序图: Add Course 的顺序图: Modify Course的顺序图: D
13、elete Course的顺序图: 图22 删除课程顺序图 Pay for Course 的顺序图: 5. 按F5键并检查每个顺序图对应的协作图。 (二)根据“图书管理系统”用例图中的“Lend item”绘制对应的顺序图. 1. 分析事件流 1). 借书者提出结束申请; 2). 管理员选择借书选项(等同于发出借书命令) 3). 系统查找标题(Title); 4). 系统查找该标题下的有效书目; 6 实验指导说明书 5). 系统核查借书者信息(Borrower Information); 6). 办理借书(即产生一条新借书记录). 2. 寻找相关对象 1) Lend Window(或Form)
14、 2) Title3) Borrower Information 4) Loan5) Item 3. 寻找参与者 直接参与者只有:Librarian. 注意:Student 为间接参与者(见问题陈述), 所以不能在顺序图中出现. 4. 将消息加进框图中, 完成顺序图设计. Lend Item (借书) 的顺序图: 图23 借书顺序图 (三). 根据“网上购物系统”的用例图,创建: 浏览网站和 添加物品到购物推车(Add Item to Shopping Cart)所对应的顺序图. 1. 分析事件流,以“Add Item to Shopping Cart”为例: 1)顾客提出欲将某商品,比如白袜
15、子(White Socks)添加到购物推车中; 2)系统把该请求通过用户界面找到CartMgr; 3)通过CartMgr 找到ProductMgr; 4)通过ProductMgr 找到Product 5)CartMgr完成把White Socks装入购物推车中. 2. 寻找相关对象 1) Interface2) CartMgr 3) ProductMgr 7 实验指导说明书 4) Product 5) CartItem 3. 参与者仅为顾客(Customer) 4. 将消息添加到框图中, 完成顺序图设计. Browse Web Site的顺序图: Add Item to Shopping Ca
16、rt(添加物品到购物推车) 的顺序图: 图24 向购物推车添加商品顺序图 四. 评分标准 1仅完成“学生选课系统”的指定六个用例的顺序图者,可得60-70分; 2完成1.指定内容,同时完成“图书管理系统”和“网上购物系统”指定内容者,可得到80分以上; 3完成1和2指定内容,并有创造性者可得90分以上成绩。8 实验指导说明书 上机实验 创建类和类图 一. 实验目的:在Rose 环境下创建类和类图, 完成应用案例的类图设计。 二. 实验内容: (一)创建类 1)根据“需求陈述”提炼对象和类 2)分析对象,并将对象抽象成类 (二) 创建类图 1) 建立类之间的关系 2) 创建类图。 综合应用练习
17、三. 操作步骤: (一)创建类 1 右击Logical View 2 选New ?选Class Diagram ,再在Class Diagram下创建类; 3 给类命名(比如Course) 4 增加属性(右击框途中的类,选New Attribute) 5 添加类操作(右击框途中的类,选New Operation) 建立类之间的关系 1关联关系 (使用按钮工具,如果当前工具栏中没有,右击工具栏,然后添加相关按钮) 1) 单项关联 2) 双向关联 2聚集和组合 ( 先建立关联,再右击靠近“整体”方的关联线,选Aggregate) 3泛化关系 4依赖关系 四实例练习 1举实例说明类之间的关联关系。包
18、括:单、双向关联、一对一关联、一对多关联、多对多关联、自反关联、限定关联和关联类。 2举实例说明类之间的聚合关系。 3举实例说明类之间的泛化关系。包括:单继承、多继承。 9 实验指导说明书 4举实例说明接口与实现,抽象类与子类等。 五综合应用: 以“学生选课系统”为例建立类图 1“学生选课系统”涉及到的类: 1) Database类 属性: dbPath: String 操作:(以下列出部分操作) Query Course() Add Course()Delete Course() Get dbPath()Set dbPath()? 2) Student类 属性: studentID: Int
19、studentName: String 操作: get StudentID()set StudentID() get StudentName() set StudentName() Registrar类 属性: registrarName: String regID: Int 操作: get regID() set regID() get registrarName() set registrarName() 3) Course类 属性: courseID: Int courseName: String classroom: Stringteacher: string 操作: createCo
20、urse() getCourseID()setCourseID()getTeacher()4) Control类 属性: (无) 操作: verifyCourse()canAdd()queryCourse() confirmDelete()canSelect() queryAssociation() 5) Form类 属性: (接口无属性) 操作: getCourseInfo()showSuccessInfo()showConfirmPage() displayCourseList() 2. 创建上述类之间的关系; 10 实验指导说明书 Student和Form之间-单向关联(一对多) Reg
21、istrar和Form之间-单向关联(一对多) Form和Course之间-单向关联(一对多) Control和Course之间-单向关联(一对多) Control和Form之间-双向关联(一对多) Control和Database之间-单向关联(一对一) 3完成类图的设计 图31 学生选课系统简化类图 4. 生成代码。 可以针对某一个类,比如Course类,生成Java源代码, 操作如下: 设置参数: Tools ? Options ? Notation标签 在Default 框中选Java; 检查类中所有操作,确认它们都具有返回值类型; 选种类Course,然后选:Tools ? Java
22、/J2EE ? Generate code 代码存放的路径(CLASSPATH entries)可以设为d:code或编辑(Edit)一个路径名. 生成的代码如下: /Source file: d:code 11 实验指导说明书 public class Course private String courseName; private Int courseID; private String classRoom;/* * return Boolean*/ public Boolean getCourseID()/* * return Boolean*/ public Boolean getC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 实验 指导书 31
限制150内