问答题 [说明]
某客户信息管理系统中保存着以下两类客户的信息。
(1)个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)。
(2)集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、E-mail、办公电话及职位。
该系统除了可以保存客户信息之外,还具有以下功能。
(1)向系统中添加客户(addCustomer)。
(2)根据给定的客户标识,在系统中查找该客户(getCustommer)。
(3)根据给定的客户标识,从系统中删除该客户(removeCustomer)。
(4)创建新的联系人(addContact)。
(5)在系统中查找指定的联系人(getContact)。
(6)从系统中删除指定的联系人(removeContact)。
该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如下表所示的类及类的说明。
类及类的说明
类名 说明
CustomerInformationSystem 客户信息管理系统
IndividualCustomer 个人客户
InstitutionalCustomer 集团客户
Contact 联系人
描述该客户信息管理系统的UML类图如下图所示。
问答题 请使用说明中的描述,给出图中Customer类和Person类的属性。
【正确答案】
【答案解析】Cusomer类的属性:客户标识
Person类的属性:姓名、住宅电话、E-mail
问答题 识别关联的多重度是面向对象建模过程中的一个重要步骤,请根据说明中给出的描述,完成图中的(1)~(6)。
【正确答案】
【答案解析】(1)1 (2)0..* (3)1 (4)1 (5)1 (6)1..*
问答题 根据说明中的叙述,抽象出如下表所示的方法,请指出图中的CustomerInformationSystem类和InstitutionalCustomer类应分别具有其中的哪些方法。
方法及其描述
功能描述 方法名
向系统中添加客户 addCustomer
根据给定的客户标识,在系统中查找该客户 getCustomer
根据给定的客户标识,从系统中删除该客户 removeCustomer
创建新的联系人 addContact
在系统中查找指定的联系人 getContact
从系统中删除指定的联系人 removeContact
【正确答案】
【答案解析】CustomerInformationSystem类的方法:getCustomer、addCustomer、removeCustomer
InstitutionalCustomer类的方法:addContact、getContact、removeContact