UML面向对象设计与分析课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分析了UML的几个重要图看看是否可以?
第2章用例图
1.一台自动售货机能提供6种不同的饮料,售货机上有6个不同的按钮,分别对应这6种不同的饮料,顾客通过这些按钮选择不同的饮料。
售货机有一个硬币槽和找零槽,分别用来收钱和找钱。
现在为这个系统设计一个用例图?
顾客
2.现有一个产品销售系统,其总体需求如下:
系统允许管理员生成存货清单报告。
管理员可以更新存货清单。
销售员记录正常的销售情况。
交易可以使用信用卡或支标,系统需要对其进行验证。
每次交易后都需要更新存货清单。
分析其总体需求,并绘制出其用例图?
3.绘制用例图,为如下的每个事件显示酒店管理系统中的用例,并描述各用例的基本操作流程。
客人预订房间。
客人登记。
客人的承担服务费用。
生成最终账单
客人结账
客人支付账单
第3章类图、对象图和包图
1.创建一个类图。
下面给出创建类图所需的信息。
●学生(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)将TeacherAssistant类建模为Graduate类的派生类。
2.根据用例图和系统需求描述创建类图。
本练习将根据如下所示的系统需求和如图3-63所示的用例图建模一个类图。
系统需求描述:
(1)系统允许管理员通过从磁盘加载存货数据来运行存货清单报告。
(2)管理员通过从磁盘加载存货数据、向磁盘保存存货数据来更新存货清单。
(3)售货员做销售记录。
(4)电话操作员是处理电话订单的特殊售货员。
(5)任何类型的销售都需要更新存货清单。
(6)如果交易使用了信用卡,那么售货员需要核实信用卡。
(7)如果交易使用了支票,那么售货员需要核实支票。
telephone operator sales clerk
图3-63 用例图示例
创建类图的步骤如下所示:
(1)确定可以在用例图中找到的类。
(2)建模类与类之间的关系。
(3)为类图中的关联关系添加合适的角色名。
(4)为已被封装到类中的独立功能建模类。
(5)为类图中的类添加必要的特性和操作。
第4章 活动图
2.运用本书前面介绍有关活动图的相关知识,根据图4-33的图书馆管理系统还书用例建模该用例的活动图。
综合运用所学到的标记符,包括活动、转移、控制点、泳道、分叉和汇合
等。
并使用建模活动图的五个步骤,逐步为用例建模活动图。
图4-33 还书用例
第5章顺序图
2.下面列出了打印文件时的工作流:
●用户通过计算机指定要打印的文件。
●打印服务器根据打印机是否空闲,操作打印机打印文件。
●如果打印机空闲,则打印机打印文件;
●如果打印机忙,则将打印消息存放在队列中等待。
经分析人员分析确认,该系统共有四个对象Computer、PrintServer、Printer和Queue。
请给出对应用于该工作流的顺序图。
3.下面是一个客户在A TM机上取款工作流。
●客户选择取款功能选项。
●系统提示插入IC卡。
●客户插入IC卡后,系统提示用户输入密码。
●客户输入自己的密码。
●系统检查用户密码是否正确。
●如果密码正确;则系统显示用户账户上的剩余金额,并提示用户输入想要提取的金
额。
●用户输入提取金额后,系统检查输入数据的合法性。
●在获取用户输入的正确金额后,系统开始一个事条处理,减少账户上的余额,并输
出相应的现金。
从该工作流中分析求出所涉及到的对象,并用顺序图描述这个过程。
第6章通信图
2.为下面打印文件时的工作流建模通信图:
●用户通过计算机指定要打印的文件。
●打印服务器根据打印机是否空闲,操作打印机打印文件。
●如果打印机空闲,则打印机打印文件;
●如果打印机忙,则将打印消息存放在队列中等待。
该系统共有四个对象Computer、PrintServer、Printer和Queue。
3.根据ATM 机上取款工作流的顺序图,为其建立通信图模型。
第7章 时序图
2.为下面打印文件时的系统交互建模时序图。
添加时间约束后的各工作过程如下: ● 用户通过计算机指定要打印的文件,系统反映时间1s 。
● 打印服务器根据打印机是否空闲,操作打印机打印文件。
● 如果打印机空闲,则打印机打印文件;
● 如果打印机忙,则将打印消息存放在队列中等待,打印消息等待120s 后,如果未
响应,则放弃该打印消息。
计算机
打印服务器
打印机
队列
满
使用中空
忙空闲添加到队列打印空闲
打印取消
01s 2s ...120s
打印文件
{1s}
打印
打印机忙
添加到队列
超时
第9章 状态机图
2.建模状态机图,建模一个销售系统。
对于其中的实体sale 类创建一个状态机图,用来描述如何接受订单、处理订单、记入货存清单并且成功完成处理。
这里给出以下主要状态:
● EmptyOrder ● ValidOrder ● Processing ● Processed ● Canclled
依据状态机图创建步骤,利用上面状态组成完成的状态机图,并检测是否需要组成状态来完成完整功能。
建模状态机图时需要注意,状态机图和活动图在外观上有相似之处,一定要注意区分两种图形之间的区别。