河南城建学院 《统一建模语言UML》复习资料 2013.12
根据下面的叙述,绘制一幅关于顾客从自动售货机中购买物品的顺序图。 1、顾客(User)先向自动售货机的前端(Front)投币; 2、售货机的识别器(Register)识别钱币;
3、售货机前端(Front)根据Register的识别结果产生商品列表; 4、顾客选择商品;
5、识别器控制的出货器(Dispenser)将所选商品送至前端(Front)
: Front : User1: 投币2: 识别钱币 : Registar : Dispenser3: 产生商品列表4: 选择商品5: 选择商品6: 出货
?
练习题3:
根据下面的描述,绘制一幅状态图。
电话初始时处于“空闲”状态,当听筒被拿起后处于“激活”状态。听筒被拿起后,电话等待拨号,若在30秒之内拨号电话将进入“拨号”状态,如果拨号正确的则电话进入“正在接通中”状态,如过拨号不正确则会一直听到提示拨号错误。若拿起听筒30秒之内不拨号,则电话处于“超时”状态。在“正在接通中”状态下,若对方占线则电话进入“忙”状态,若对方不占线则进入“接通”状态,对方拿起听筒后,电话处于“通话”状态,若在通话中对方挂断则进入“挂起”状态。
激活拨号空闲[ in 30s ]忙等待拨号错误拨号接通[ 对方拿起电话 ]通话正确拨号[ 对方占线 ][ 对方不占线 ]正在接通中拨号错误[ out 30s ]do/ 提示拨号错误超时[ 对方挂断 ]挂起 ?
练习题4:
16
河南城建学院 《统一建模语言UML》复习资料 2013.12
如图所示,是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并改正错误。
IncomeOrder11ProductOrderItem
仓库管理系统类模型局部
解答:根据题意和模型不难得知,一个入库单是由多个入库单项(OrderItem)组成的,因此不可能只涉及一个产品,合理的方式应该是入每个入库单项(OrderItem)与产品一对一关联。即应该绘制为:
IncomeOrderOrderItem1?
练习题5:
Product1
为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,下图是一个用例模型的局部:
打开房源信息页面<
物业管理系统用例模型局部
(1)但小李认为该模型不符合“用例建模”的思想,存在明显的错误。请用200字以内说明错误所在,并说明应该如何修改。 1)主要错误:用例的分解太细,并没有遵从每个用例为用户传递一个有价值的结果的原则。在原设计中“打开房源信息页面”、“录入房源信息”、“确认提交信息”都只是一个操作步骤,因此不适合作为用例。
2)修改方法:将“打开房源信息页面”、“录入房源信息”、“确认提交信息”合并为“新增房源信息”。 (2)在上图中构造型“《include》”表示的是什么意思,它与“《extent》”之间的区别是什么?
在用例模型中,构造型“《include》”是用来表示包含关系。它通常用来表示被包含用例是被多包含用例使用的一个可复用模块,而《extent》且通常用来表示对用例的扩展。 ?
练习题6:
17
河南城建学院 《统一建模语言UML》复习资料 2013.12
说明:某电话公司决定开发一个管理所有客户信息的交互式网络系统。系统的功能如下:
(1)浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。 (2)登录:电话公司授予每个客户一个帐号。拥有授权帐号的客户,可以使用系统提供的页面设置个人密码,并使用该帐号和密码向系统注册。
(3)修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。 (4)删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。 系统采用面向对象方法进行开发,在开发过程中认定出的类如下表所示:
编号 1 2 3 4 5 类名 InternetClient CustomerList Customer CompanyCustomer InternalClient 描述 网络用户 客户信息表,记录公司所有客户的信息 客户信息,记录单个客户的信息 公司客户 公司的管理人员 [图3-1]
18
河南城建学院 《统一建模语言UML》复习资料 2013.12
[问题1]
在需求分析阶段,采用UML的用例图(use case diagram)描述系统功能需求,如图3-1所示。请指出图中的A、B、C和D分别是哪个用例?
[问题2]
在 UML 中,重复度(Multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写成一个表示取值范围的表达式或者一个具体的值。例如图 3-2 中的类 InternetClient 和CustomerList,InternetClient 端的“0..*”表示:一个 CustomerList 的实例可以与 0 个或多个 InternetClient 的实例相关联;CustomerList 端的“1”表示:一个InternetClient的实例只能与一个CustomerList的实例相关。
请指出图3-2中(1)到(4)处的重复度分别为多少? [问题3]
类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间的相互关系建模。在面向对象建模中,提供了四种关系:依赖(dependency)、概括(generalization)、关联(association)和聚集(aggregation)。请分别说明这四种关系的含义,并说明关联和聚集之间的主要区别。
参考答案: [问题1]
A:浏览客户信息 B:修改个人信息 C:登录 D:删除客户信息 [问题2]
(1)1 (2)0..* (3)0..1 (4)0..1 [问题3]
(1)4种关系的含义: 依赖表示类之间的使用关系。 概括表示一般类和特殊类之间的关系。 关联和聚集都表示实例之间的结构关系。 (2)关联和聚集的区别:
关联指明一个类的对象与另一类的对象间的联系:两个类之间的关联表示了两个同等地位类之间的结构关系,这两个类在概念上是同级别的。
聚集是一种特殊的关联,它表示整体/部分关系。
19
河南城建学院 《统一建模语言UML》复习资料 2013.12
?
练习题7:
网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。(16) “远程网络教学系统”的功能需求如下:
(1) 学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。
(2) 教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。 (3) 系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户注册。
1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复
密码。请画出学生参与者的用例图。
6个用例每2个1分(3分),5关系每个1分(5分)
2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。
6个用例每2个1分(3分),5关系每个1分(5分)
20