面向对象分析试题(全)

  • 格式:doc
  • 大小:616.00 KB
  • 文档页数:15

下载文档原格式

  / 15
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

试题三

阅读下列说明以及图3-1和图3-2,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。

[说明]

某电话公司决定开发一个管理所有客户信息的交互式网络系统。系统的功能如下:

1.浏览客户信息:任何使用Internet的网络用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。

2.登录:电话公司授予每个客户一个帐号。拥有授权帐号的客户,可以使用系统提供的页面设置个人密码,并使用该帐号和密码向系统注册。

3.修改个.人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。

4.删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。

系统采用面向对象方法进行开发,在开发过程中认定出的类如下表所示:编号类名描述

1 InternetClient 网络用户

2 CustomerList 客户信息表,记录公司所有客户的信息

3 Customer 客户信息,记录单个客户的信息

4 CompanyCustomer 公司客户

5 InternalClient 公司的管理人员

[图3-1]

图表 1

图表 2

[问题1]

在需求分析阶段,采用UML的用例图(use case diagram)描述系统功能需求,如图3-1所示。请指出图中的A、B、C和D分别是哪个用例?

[问题2]

在 UML 中,重复度(Multiplicity)定义了某个类的一个实例可以与另一个类的多少个实例相关联。通常把它写成一个表示取值范围的表达式或者一个具体的值。例如图 3-2 中的类 InternetClient 和CustomerList,InternetClient 端的“0..*”表示:一个 Custo~erList 的实例可以与 0 个或多个 InternetClient 的实例相关联;CustomerList 端的“1”表示:一个InternetClient的实例只能与一个CustomerList的实例相关。

请指出图3-2中(1)到(4)处的重复度分别为多少?

[问题3]

类通常不会单独存在,因此当对系统建模时,不仅要识别出类,还必须对类之间的相互关系建模。在面向对象建模中,提供了四种关系:依赖(dependency)、概括(generalization)、关联(aassociation)和聚集(aggregation)。请分别说明这四种关系的含义,并说明关联和聚集之间的主要区别。

试题三(15分)

阅读下列说明和数据流图,回答问题1和问题3,将解答填入答题纸的对应

栏内。

【说明】

某指纹门禁系统结构如图3-1所示,其主要部件有:主机(MainFrname)、锁控器(LockController)、指纹采集器(FingerReader)和电控锁(Lock)。

(1)系统中的每个电控锁都有一个惟一的编号。锁的状态有两种:“已锁住”和“未锁住”。

(2)在主机上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状态时,才能将锁打开。

(3)用户的指纹信息、开锁权限以及锁的安全级别都保存在主机上的数据库中。

(4)用户开锁时,只需按一下指纹采集器。指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将指纹信息发送到主机,主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于“已锁住”状态,则将锁打开;否则系统报警。

该系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图3-2是该系统类图的一部分;系统的动态行为采用UML序列图表示,图

3-3是用户成功开锁的序列图。

图表 3

图表 4

【问题1】(6分)

图3-2是该系统类图的一部分,依据上述说明中给出的术语,给出类Look的主要属性。【问题2](5分)

依据上述说明中给出的词语,将图3-3中的(1)~(5)处补充完整。

【问题3】(4分)

组装(Composition)和聚集(Aggregation)是UML中两种非常重要的关系。请说明组装和聚集分别表示什么含义?两者的区别是什么?

试题二(15分)

阅读下列说明以及UML类图,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。

[说明]

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

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

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

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

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

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

(3)根据给定的客户标识,从系统中删除该客户(re田oveCustoner);

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

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

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

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

表2-1

类名说明

CustomerlnformationSystem 客户信息管理系统

IndividualCustomer 个人客户

InstitutionalCustomer 集团客户

Contact 联系人

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

[问题1](3分)

请使用说明中的术语,给出图2-1中类Customer和类Person的属性。[问题2](6分)

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

[问题3](6分)