04上试题三
阅读下列说明以及图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]
在需求分析阶段,采用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)。请分别说明这四种关系的含义,并说明关联和聚集之间的主要区别。
04下试题三(15分)
阅读下列说明和数据流图,回答问题1和问题3,将解答填入答题纸的对应栏内。
【说明】
某指纹门禁系统结构如图3-1所示,其主要部件有:主机(MainFrname)、锁控器(LockController)、指纹采集器(FingerReader)和电控锁(Lock)。
(1) 系统中的每个电控锁都有一个惟一的编号。锁的状态有两种:“已锁住”和“未锁住”。
(2) 在主机上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状态时,才能将锁打开。
(3) 用户的指纹信息、开锁权限以及锁的安全级别都保存在主机上的数据库中。
(4) 用户开锁时,只需按一下指纹采集器。指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹并将指纹信息发送到主机,主机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于“已锁住”状态,则将锁打开;否则系统报警。
该系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图3-2是该系统类图的一部分;系统的动态行为采用UML序列图表示,图3-3是用户成功开锁的序列图。
【问题1】(6分)
图3-2是该系统类图的一部分,依据上述说明中给出的术语,给出类Look的主要属性。
【问题2](5分)
依据上述说明中给出的词语,将图3-3中的(1)~(5)处补充完整。
【问题3】(4分)
组装(Composition)和聚集(Aggregation)是UML中两种非常重要的关系。请说明组装和聚集分别表示什么含义?两者的区别是什么?
05下试题一(15分)
ccr5 阅读下列说明了和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
[说明]
某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托软件开发公司A开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。A公司决定采用面向对象的分析和设计方法开发此系统。图1-1所示为某类图书或唱碟被借阅时应记录的信息,图1-2 描述了系统定义的两个类Book 和CD,分别表示图书和唱碟的信息。
[图1-1]
图书/唱碟_________________________ |
|
|
[图1-2]
[问题1](3分)
经过进一步分析,设计人员决定定义一个类 Items_on_loan ,以表示类Book 和CD的共有属性和方法。请采用图1-2中属性和方法的名称给出类 Items_on_loan 应该具有的属性和方法。(注意:不同名称的属性和方法表示不同的含义,如CD中的composer 与Book中的author 无任何关系)
[问题2](6分)
为了记录每种图书或唱碟的历史记录,引入类CirculationHistory ,类中存储的信息是图1-1 中所表示的内容。请采用UML表示法将下列四个类间的关系表示出来。
[问题3](6分)
现需了解十大最畅销(借出次数最多)图书或唱碟。为此引入TemPopulate 类以存储所有
十大畅销图书或CD的名称及其被借出的次数。下列顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有___(1)___个TenPopulate 实例对象最合适,一个TenPopulate 类实例对象最多需要和____(2)____ 个Items_on_loan 实例对象交互。