绘制用例图,为如下的每个事件显示酒店管理系统中的用例,并描述各用例的基本操作流程。
? 客人预订房间。 ? 客人登记。
? 客人的承担服务费用。 ? 生成最终账单 ? 客人结账 ? 客人支付账单
预订房间登记计算费用结账服务员打印账单
创建一个类图。下面给出创建类图所需的信息。
? 学生(student)可以是在校生(undergraduate)或者毕业生(graduate)。 ? 在校生可以是助教(tutor)。 ? 一名助教指导一名学生。
? 教师和教授属于不同级别的教员。
? 一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助
理,一名教授可以有5名教师助理。 ? 教师助理是毕业生。 创建类图的步骤如下:
(1)将学生可以是在校生或者毕业生建模为3个类:Student、UnderGraduate和Graduate,其中,后两个类是Student类的子类。
(2)为“在校生可以是助教的一种”建立模型,即建立UnderGraduate类的另一个超类Tutor。
(3)通过创建从Tutor到Student的关联(名为tutors),建立一名助教指导一名学生的模型。
(4)将“教师和教授属于不同级别的教员”建模为3个类:Instructor、Teacher和Professor,其中,后两个类是Instructor类的子类。
(5)建立“一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助理,一名教授可以有5名教师助理”的模型。创建TeacherAssistant类,并使其与Teacher类和Professor类都建立关联。
6
(6)将TeacherAssistant类建模为Graduate类的派生类。
InstructorTutor11StudentTeacherProfessor11UnderGraduateGraduateTeacherAssistantn1
根据用例图和系统需求描述创建类图。本练习将根据如下所示的系统需求和如图2所示的用例图建模一个类图。
系统需求描述:
(1)系统允许管理员通过从磁盘加载存货数据来运行存货清单报告。
(2)管理员通过从磁盘加载存货数据、向磁盘保存存货数据来更新存货清单。 (3)售货员做销售记录。
(4)电话操作员是处理电话订单的特殊售货员。 (5)任何类型的销售都需要更新存货清单。
(6)如果交易使用了信用卡,那么售货员需要核实信用卡。 (7)如果交易使用了支票,那么售货员需要核实支票。
7
<
用例图示例
创建类图的步骤如下所示:
(1)确定可以在用例图中找到的类。 (2)建模类与类之间的关系。
(3)为类图中的关联关系添加合适的角色名。 (4)为已被封装到类中的独立功能建模类。 (5)为类图中的类添加必要的特性和操作。
credit card+Verify()0..*nsale+Update()check+verify()0..*n1n+Load()+Save()+Update()inventory
8
根据还书的用例图,其对应的活动图。
>lude>cni<
用户系统输入图书信息查找该图书的借阅关系查看是否有过期的借阅关系显示过期信息[True][False]确定归还删除该图书的借阅关系显示借阅关系
下面列出了打印文件时的工作流:
? 用户通过计算机指定要打印的文件。
? 打印服务器根据打印机是否空闲,操作打印机打印文件。 ? 如果打印机空闲,则打印机打印文件;
? 如果打印机忙,则将打印消息存放在队列中等待。
经分析人员分析确认,该系统共有四个对象Computer、PrintServer、Printer和Queue。请给出对应用于该工作流的顺序图。
9
Computer打印文件请求打印文件PrintServerPrinterQueue判断队列是否为空添加到队列打印文件3.下面是一个客户在ATM机上取款工作流。
? 客户选择取款功能选项。 ? 系统提示插入IC卡。
? 客户插入IC卡后,系统提示用户输入密码。 ? 客户输入自己的密码。
? 系统检查用户密码是否正确。
? 如果密码正确;则系统显示用户账户上的剩余金额,并提示用户输入想要
提取的金额。
? 用户输入提取金额后,系统检查输入数据的合法性。
? 在获取用户输入的正确金额后,系统开始一个事条处理,减少账户上的余
额,并输出相应的现金。
从该工作流中分析求出所涉及到的对象,并用顺序图描述这个过程。
10