- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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 联系人
【问题1】
请使用说明中的术语,给出图3-1中类Customer和类Person的属性。
【问题2】
识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图中的(1)~(6)。
【问题3】
根据说明中的叙述,抽象出如表3-2所示的方法,请指出图3-1中的类 CustomerInformafionSystem和InstitutionalCustomer应分别具有其中的哪些方法。
表3-2类的方法
功能描述 方法名 向系统中添加客户 addCustomer 根据给定的客户标识,在系统中查找该客户 getCustomer 根据给定的客户标识,从系统中删除该客户 removeCustomer 创建新的联系人 addContact 在系统中查找指定的联系人 getContact 从系统中删除指定的联系人 removeContact (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实例
文档评论(0)