题目详情

某客户信息管理系统中保存着两类客户信息:

(1)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)

(2)集团客户。集团客户可以创建和管理自己若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人信息。联系人信息包括姓名、住宅电话、E-mail、办公电话以及职位

该系统除了可以保存客户信息之外,还具有以下功能:

(1)向系统中添加客户(addCustomer)

(2)根据给定客户标识,在系统中查找该客户(getCustomer)

(3)根据给定客户标识,从系统中删除该客户(removeCustomer)

(4)创建新联系人(addContact)

(5)在系统中查找指定联系人(getContact)

(6)从系统中删除指定联系人(removeContact)

该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表2-5所示类

表2-5 得到各种类

中级软件设计师,章节练习,基础复习,中级软件设计师模拟

类名说明

CustomerInformationSystem客户信息管理系统

IndividualCustomer个人客户

InstitutionalCustomer集团客户

Contact联系人

描述该客户信息管理系统UML类图如图2-26所示

中级软件设计师,章节练习,基础复习,中级软件设计师模拟

图2-26 客户信息管理系统UML类图

【问题1】

请使用说明中术语,给出图2-26中类Customer和类Person属性

【问题2】

识别关联多重度是面向对象建模过程中一个重要步骤。根据说明中给出描述,完成图中(1)~(6)

【问题3】

根据说明中叙述,抽象出如表2-6所示方法,请指出图2-26中类CustomerInformationSystem和InstitutionalCustomer应分别具有其中哪些方法

表2-6 抽象出方法

中级软件设计师,章节练习,基础复习,中级软件设计师模拟

正确答案及解析

正确答案
解析

【问题1】

Customer属性:客户标识

Person属性:姓名、住宅电话、E-mail

【问题2】

(1)1(2)0..*(3)1

(4)1(5)1(6)1..*

【问题3】

CustomerInformationSystem方法:addCustomer,getCustomer,removeCustomer

InstitutionalCustomer方法:addContact,getContact,removeContact

【解析】

根据题目描述得知,客户信息管理系统功能是管理个人用户和集团用户,个人用户和集团用户区别在于集团用户有自己联系人,而个人用户没有。

【问题1】

问题1要求考生给出类Customer和Person属性。在图2-26中,Customer表示客户类,IndividualCustomer和InstitutionalCustomer都是Customer子类,IndividualCustomer是个人客户,InstitutionalCustomer是集团客户。既然Customer是个人客户类和集团客户类父类,则它必有两者共同点。由于集团客户和个人客户都有客户标识,所以Customer属性为"客户标识"。Contact是联系人,只有集团客户才有联系人。Person类是Contact类父类,同时又与IndividualCustomer有关联,所以Person类应具有Contact与IndividualCustomer共同点,它们共同点就是联系人与个人客户都有自己基本信息:姓名、住宅电话和E-mail。因此,Person属性有:姓名、住宅电话和E-mail。

【问题2】

类CustomerInformationSystem表示是客户信息管理系统,Customer表示是客户类,一个客户信息管理系统中应有多个客户。所以CustomerInformationSystem与Customer之间关系应是1:*。IndividualCustomer与Person其实是个人客户与该客户基本信息之间关系,显然一个客户只有一个基本信息,所以它们也是1:1关系。最后是InstitutionalCustomer与Contact之间关系,这也就是集团客户与联系人之间关系,由于一个集团客户可有多个联系人,同时至少需要有一个联系人(如果联系人数量为0,则此客户为个人客户)。所以InstitutionalCustomer与Contact之间关系应为1:1..*。

【问题3】

一个原则就可以解决这个问题:与客户操作相关为CustomerInformationSystem方法,而与联系人相关操作是InstitutionalCustomer方法。

你可能感兴趣的试题

单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.P(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.V(S1)P(S2)和V(S3)
  • B.P(S1)V(S2)和V(S3)
  • C.V(S1)V(S2)和V(S3)
  • D.P(S1)P(S2)和V(S3)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S4)和V(S4)V(S5)
  • B.V(S5)和P(S4)P(S5)
  • C.V(S3)和V(S4)V(S5)
  • D.P(S3)和P(S4)V(P5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S3)和V(S4)V(S5)
  • B.V(S3)和P(S4)P(S5)
  • C.P(S3)和P(S4)P(S5)
  • D.V(S3)和V(S4)V(S5)
查看答案
单选题

高级系统分析师,专项练习,软件水平考试《高级系统分析师》押题

  • A.P(S2)和P(S4)
  • B.P(S2)和V(S4)
  • C.V(S2)和P(S4)
  • D.V(S2)和V(S4)
查看答案

相关题库更多 +