当前位置:首页 > 《UML面向对象建模基础》课后习题答案
图5-9 温度监控系统包图的局部
在包图中应该避免出现这种循环依赖的情况。可以修改为:
MonitorGUIDataBaseQueryState
5. 请解释体系结构建模和对成组元素建模有什么区别,并试着给一个你开发过的系统绘制表示其体系结构的包图。
对体系结构建模关键在于描述出系统采用的体系结构模式;而对成组元素建模,主要是将建模元素组织成能作为一个集合进行命名和处理的分组。
第6章 用例图
1. 请列举出两种以上现代需求分析技术,并简要地说明它们的特点。 ?
用例:描绘一个系统外在可见的需求情况,是代表系统中各个项目相关人员(风险承担人,Stakeholder)之间就系统的行为所达成的契约 ?
用户故事:由客户参与编写,说明他们需要系统为他们做什么,一般用客户的术语编写,其长度约为三句话左右 ?
特性:就是一个小的,具有客户价值的功能
2. 在用例图中参与者是什么,它属于系统范围之内吗?
参与者是为了完成一个事件而与系统交互的实体,它不属于系统范围之内。 3. 用例和使用场景之间是什么关系?与协作又是什么关系?
用例是由一组用例实例组成的,用例实例也就是常说的“使用场景”,而协作是用例的实现。
4. 用例之间的扩展、泛化、包含三种关系有什么异同,请分别举例说明。 ?
扩展关系:基用例是可以独立于扩展用例存在的,只是在特定的条件下,它的行为可以被另一个用例的行为所扩展 ?
包含关系:被包含的用例(此例中的检查座位详情)不是孤立存在的,它仅作为某些包含它的更大的基用例(此例中的预订座位、安排座位)的一部分出现 ?
泛化关系:用来表示参与者与参与者之间,用例与用例之间的特殊/一般化关系
5. 一个用例的描述,最基本的部分有哪些。
用户描述、用例名称、用例概述、主参与者、基本事件流
6. 对于一个电子商务网站而言,以下哪些不是合适的用例,指出并说明理由。 输入支付信息 将商品放入购物车 结账 预订商品 用户登录 邮寄商品 查看商品详情 输入支付信息:太小 邮件商品:系统功能之外 查看商品详情:太小
7. 用例分析技术和结构化分析相比,最大的区别是什么?请简要地说明它们之间的关系。 用例分析技术最大的特点是从用户的角度来分析、组织需求。而结构化分析更多是从系统的结构上进行分析。
8. 为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,图6-14是一个用例模型的局部:
打开房源信息页面<
图6-14 物业管理系统用例模型局部
(1)但小李认为该模型不符合“用例建模”的思想,存在明显的错误。请用200字以内说明错误所在,并说明应该如何修改。
1)主要错误:用例的分解太细,并没有遵从每个用例为用户传递一个有价值的结果的原则。在原设计中“打开房源信息页面”、“录入房源信息”、“确认提交信息”都只是一个操作步骤,因此不适合作为用例。
2)修改方法:将“打开房源信息页面”、“录入房源信息”、“确认提交信息”合并为“新增房源信息”。
(2)在上图中构造型“《include》”表示的是什么意思,它与“《extent》”之间的区别是什么?
在用例模型中,构造型“《include》”是用来表示包含关系。它通常用来表示被包含用例是被多包含用例使用的一个可复用模块,而《extent》且通常用来表示对用例的扩展。
9. 请为图6-4中的用例“预订座位”(以及它包含的用例“检查座位信息”和扩展用例“处理等候队列”)编写用例描述,
10. 说明用例模型是如何转变成设计模型的,试着结合自己的开发实践来说明。
第7章 交互图
1. 交互是什么?请举2-3个交互的实际例子。
一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为。
输入用户名、发送短信
2. 在UML 2.0中定义了哪四种交互图?其中强调控制流时间顺序的是哪一种交互图?哪两种是基本交互图?
顺序图、通信图、定时图、交互概述图 强调控制流时间顺序的是顺序图 顺序图和通信图是两种基本交互图
3. 在顺序图中和在通信图中,分别应该如何表示“循环”结构的? 在顺序图中,循环结构可以使用一个交互片断来表示
在通信图中,使用迭代标记来表示循环。迭代是通过在顺序编号前加上一个迭代符“*”和一个可选的迭代表达式来表示的。对于迭代表达式,UML没有强制规定什么语法,因此你可以使用任何可读的、有意义的表达式来表示
4. 在交互图中,消息编号有哪两种形式?请分别说明它们的优缺点。
一种是无层次编号,它简单直观;另一种是嵌套的编号,它更易于表示消息的包含关系。 5. 在交互图中,表示返回消息的符号是什么?表示异步消息符号是什么,异步消息指的是什么意思?
返回消息符号: 异步消息:
异步模式:对象A发送了一个信号给对象B,那么A在发送完信号之后,就会继续执行,不会等待
6. 假设有一系统的协作图局部如图7-29所示,print方法的功能是将传入参数的值打印在屏幕上;fact方法是用来计算阶乘的,test的初值为1。那么将打印出什么?
1: print(test)*[i=1..3]1.1: test=test+fact(test):A:B 图7-29 协作图局部
打印的值是9。将执行三次迭代,因此test的值是1!+2!+3!=9. 7. 根据以下Java源程序绘制出相应的顺序图:
public class Payroll {
private PayrollDB itsPayrollDB;
private PayrollDisposition itsDisposition;
public void doPayroll() {
List employeeList = itsPayrollDB.getEmployeeList();
for (Iterator iterator = employeeList.iterator();iterator.hasNext();) {
String id=(String)iterator.next();
Employee e=itsPayrollDB.getEmployee(id); if(e.isPayDay()) {
double pay=e.calculatePay();
double deductions=e.calculateDeductions(); itsDisposition.sendPayment(pay-deductions);
} }
8. 根据以下Java源程序绘制出相应的顺序图和通信图:
public class Sale { private List
:Caller1: do(x)alt:A:B:C[x<10]2: calculate(x)[else]3: calculate(x) 图7-30 顺序图示例
10. 定时图的作用是什么?请简单说说它和顺序图的区别。
11. 有一个咖啡壶,它是由抽水泵和加热板所组成的。它的规则是,在抽水泵打开和加热板打开之间必须至少隔10秒钟。当储水容器变空时,抽水泵就要关闭,而回热板继续保持加热,但不能够超过15分钟。
共分享92篇相关文档