




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章 UML分析与设计【典型题1】 阅读下列说明及UML类图,回答问题1、问题2和问题3。 【说明】 某客户信息管理系统中保存着两类客户的信息: (1)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)。 (2)集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、E-mail、办公电话及职位。 该系统除了可以保存客户信息之外,还具有以下功能: 向系统中添加客户(addCustomer)。 根据给定的客户标识,在系统中查找该客户(getCustomer)。 根据给定的客户标识,从系统中删除该客户(removeCustomer)。 创建新的联系人(addContact)。 在系统中查找指定的联系人(getComact)。 从系统中删除指定的联系人(removeContact)。 该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表3-1所示的类。表3-1 类及说明类 名说 明CustomerInformationSystem客户信息管理系统IndividualCustomer个人客户InstitutionalCustomer集团客户Contact联系人 描述该客户信息管理系统的UML类图如图3-1所示。 【问题1】 请使用说明中的术语,给出图3-1中类Customer和类Person的属性。 【问题2】 识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图中的(1)(6)。 【问题3】 根据说明中的叙述,抽象出如表3-2所示的方法,请指出图3-1中的类 CustomerInformafionSystem和InstitutionalCustomer应分别具有其中的哪些方法。表3-2类的方法功能描述方法名向系统中添加客户addCustomer根据给定的客户标识,在系统中查找该客户getCustomer根据给定的客户标识,从系统中删除该客户removeCustomer创建新的联系人addContact在系统中查找指定的联系人getContact从系统中删除指定的联系人removeContact 答案: 问题1 Cusomer类属性:客户标识。 Person类属性:姓名、住宅电话、email。 问题2 (1) 1 (2) 0.* (3) 1 (4) 1 (5) 1 (6) 1.* 问题3 CustomerInformationSystem类方法:getCustomer、addCustomer、removeCustomer。 InstitutionalCustomer类方法:addContact、getContact、removeContact。 分析 本题考查UML类图,包括类的属性和方法的识别及类间关联重复度。 从UML类图(见图3-1)中可以看出,类Customer是类IndividualCustomer和类 InstitutionalCustomer的父类,应该包含两者的共有属性。根据题中说明,两者共有属性为“客户标识”。故类Customer应有属性:客户标识。 同样,类Person是类Contact的父类,因此其属性应包含在Contact类的属性集中,Contact 类的属性有:姓名、住宅电话、email、办公电话及职位;又Contact与类IndividualCustomer有关联,而Individual包含属性:姓名、住宅电话和email,故类Person应有属性:姓名、住宅电话和email。 根据题中说明,可知客户管理相关方法应该属于类CustomerInformationSystem,有:查找客户getCustomer、添加客户addCustomer和删除客户removeCustomer;联系人相关方法应该属于类InstitutionalCustomer,有:创建新联系人addContact、查找联系人getContact和删除联系人removeContact。 下面分析类间的关联重复度。 客户管理系统自然是管理多个客户信息,即一个CustomerInformationSystem类对象与多个客户Customer类实例相关联,故空(1)应填1,空(2)为0.*,或*。 一个类IndividualCustomer实例同时也是一个Person实例,即其间是一对一关联,故空(3)和空(4)均为1。 一个集团客户类InstitutionalCustomer的实例可以包含多名联系人Contact,且至少有一名,而一个联系人隶属于某个特定的集团。故空(5)应填1,空(6)为1.*。【典型题2】 阅读下列说明和图,回答问题1至问题3。 【说明】 某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托软件开发公司A开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。A公司决定采用面向对象的分析和设计方法开发此系统。如图3-2所示为某类图书或唱碟被借阅时应记录的信息,如图3-3所示描述了系统定义的两个类Book和CD,分别表示图书和唱碟的信息。 【问题1】 经过进一步分析,设计人员决定定义一个类Items_on_loan,以表示类Book和ED的共有属性和方法。请采用图3-3中属性和方法的名称给出类Items_on_loan应该具有的属性和方法 (注意:不同名称的属性和方法表示不同的含义,如CD中的composer与Book中的author无任何关系)。 【问题2】 为了记录每种图书或唱碟的历史记录,引入类CirculationHistory,类中存储的信息是如图 3-2所示的内容。请采用UML表示法将下列4个类间的关系表示出来。 【问题3】 现需了解十大最畅销(借出次数最多)图书或唱碟。为此引入TenPopulate类以存储所有十大畅销图书或唱碟的名称及其被借出的次数。下列顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有 (1) 个TenPopulate实例对象最合适,一个TenPopulate类实例对象最多需要和 (2) 个Items_on_loan实例对象交互。 答案: 问题1 属性:title 方法:Reference Title 问题2 问题3 (1) 1 (2) 图书和唱碟种类数 分析 本题考查UML类图,包括类的属性和方法的识别及类间的关系,以及UML序列图。 类Item_on_loan是用来表示类Book和类CD的共有属性和方法的。比较类Book和类CD的属性和方法,易得类Item_on_loan应有属性:title,应有方法:Reference Title。 类Item_on_loan是由类Book和类CD的共有属性和共有方法导出的,因此类Item_on_loan是类Book和类CD的父类,UML表示方法是一条指向父元素(一般元素)的带空心箭头的实线。 类CirculationHistory是多个图书/唱碟类实例(Items_on_loan)的集合,因此其间是聚集关系,UML中用一个指向代表整体的类的带空心菱形的实线表示。【典型题3】 阅读下列说明和数据流图,回答问题1和问题3。 【说明】 某指纹门禁系统结构如图3-5所示,其主要部件有:主机(MainFrname)、锁控器 (LockController)、指纹采集器(FingerReader)和电控锁(Lock)。 (1)系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。 (2)在主机上可以设置每把锁的安全级别及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状态时,才能将锁打开。 (3)用户的指纹信息、开锁权限及锁的安全级别都保存在主机上的数据库中。 (4)用户开锁时,只需按一下指纹采集器。指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将指纹信息发送到主机,主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于“已锁住”状态,则将锁打开:否则系统报警。 该系统采用面向对象方法开发,系统中的类及类之间的关系用UML类图表示,图3-6是该系统类图的一部分;系统的动态行为采用UML序列图表示,图3-7是用户成功开锁的序列图。 【问题1】 图3-6是该系统类图的一部分,依据上述说明中给出的术语,给出类Lock的主要属性。 【问题2】 依据上述说明中给出的词语,将图3-7中的(1)(5)处补充完整。 【问题3】 组合(Composition)和聚集(Aggregation)是UML中两种非常重要的关系。请说明组合和聚集分别表示什么含义?两者的区别是什么? 答案: 问题1 锁的编号,安全级别,锁的当前状态。 问题2 (1) 中断事件 (2) 读取用户指纹 (3) 读取用户开锁权限 (4) 读取锁的安全级别 (5) 判断用户是否有权限开锁或用户是否可以开锁 问题3 组合和聚集都表示实例之间的整体/部分关系。组合是聚集的一种形式。 聚集是概念性的,只是区分整体与部分。 组合具有很强的归属关系,而且整体与部分的对象生存周期是一致的。 或者回答:如果没有成分对象,组合对象也不存在;在任何时候,每个给定的成分对象只能是组合对象的组成部分。 分析 本题考查UML类图,包括类的属性和方法的识别,以及UML序列图和相关概念。 根据说明“系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:已锁住和未锁住。”可知类Lock应有属性:锁编号和锁状态。再根据说明(2),“在主机上可以设置每把锁的安全级别”,类Lock还应有属性:安全级别。综上所述,类Lock的主要属性有:所编号、安全级别、所状态。 图3-7是该门禁系统成功开锁流程对应的UML序列图。根据题中的说明,成功开锁的流程应该如下,用户按下指纹采集器请求开锁,指纹采集器发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将指纹信息发送到主机,主机根据数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省唐山市玉田县2023-2024学年五年级下学期期末数学试题
- 西南财经大学-公司治理与战略管理
- 学校后勤工作经验交流分享会上校长讲话:全网疯传!最废的校长却带出了最强的后勤
- 幽默课件教学课件
- 巡视病房的观察要点
- 崖壁攀登概述课件
- 岩石书课件教学课件
- 尾矿工安全生产教育培训课件
- 河南省生态园区民宿租赁合同含环保设施租赁说明
- 环保技术研发工人计件合同
- 2024年河南省确山县卫生系统招聘考试(护理学专业知识)题含答案
- 病原微生物感染
- 【物理】2025届安徽省普通高中高三下学期高考全真模拟训练(三)试题(解析版)
- 自然保护区巡护监测员技能测试题库及答案
- 教育资源分配与教育公平的探索
- 消杀灭虫技术培训课件
- 中学实验室安全管理课件
- 中国风设计元素课件
- 北京市救助资金管理办法
- 陕西省西工大附中2022-2023学年七年级上学期第一次月考英语试卷(含答案)
- 新型医药销售外包(CSO)企业制定与实施新质生产力项目商业计划书
评论
0/150
提交评论