阅读下列说明以及图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分)
根据说明中的叙述,抽象出如表2-2所示的方法,请指出图2-1中的类CustomerlnformationSystem和 InstitutionalCustomer应分别具有其中的哪些方法。
表2-2
功能描述 向系统中添加客户 方法名 addCustomer 根据给定的客户标识,在系统中查找该客 getCustomer 户 根据给定的客户标识,从系统中删除该客 removeCustomer 户 创建新的联系人 在系统中查找指定的联系人 从系统中删除指定的联系人 addContact getContact removeContact 试题三(共 15 分)
阅读以下说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 [说明]
S 公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更 好地吸引用户,S 公司计划为注册的商家提供商品(Commodity)促销(Promotion)功能。商品的分类(Category)不同,促销的方式和内容会有所不同。 注册商家可发布促销信息。商家首先要在自己所销售的商品的分类中,选择促销涉及 的某一具体分类,然后选出该分类的一个或多个商品(一种商品仅仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优惠时间,最后由系统生成促销信息并将 该促销信息公布在网站上。 商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与 某一个促销(Promotion)活动,并选择具体的促销商品(Commodity),输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时间范围内,通过 网站提供的在线支付系统,确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的购买活动,否则该促销订单失效。
系统采用面向对象方法开发,系统中的类以及类之间的关系用 UML 类图表示,图 3-1 是该系统类图中的一部分;系统的动态行为采用 UML 序列图表示,图 3-2 是发布促销的序列图。
问题 1](6 分)
识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图 3-1 中的(1)~(6)。 [问题 2](4 分)
请从表 3-1 中选择方法,完成图 3-2 中的(7)~(10)。
表 3-1 可选消息列表
功能描述 向促销订单中添加所选的商品 向促销中添加要促销的商品 查找某个促销的所有促销订单信息列表 方法名 buyCommodities addCommodities getPromotionOrders 生成商品信息 生成促销信息 生成促销订单信息 查找某个分类的所有促销信息列表 查找某商家所销售的所有分类列表 查找某个促销所涉及的所有商品信息列表 createCommodity createPromotion createPOrder getCategoryPromotion getCategories getPromotionCommodities 查找某个分类中某商家的所有商品信息列表 getCommodities [问题 3](5 分)
关联(Association)和聚集(Aggregation)是 UML 中两种非常重要的关系。请说明关联和聚集的关系,并说明其不同点。
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。 说明某图书管理系统的主要功能如下:
1.图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。
2.资源可以分为两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD 或者磁带)。
3.读者信息保存在图书管理系统的读者信息数据库中,记录的信息包括:读者的识别码和读者姓名。系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。
现采用面向对象方法开发该图书管理系统。识别类是面向对象分析的第一步。比较常用的识别类的方法是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统的类。表3-1 给出了[说明]中出现的所有名词。
通过对表 3-1 中的名词进行分析,最终得到了图 3-1 所示的 UML 类图(类的说明如 表3-2所示)。
图图
图图
[ 1]问题(( 3分))
)
表3-2所给出的类并不完整,根据[说明]和表3-1,将图3-1 中的(a)~(c)处补充完整。
[ 2] 问题(6分))
根据[说明]中的描述,给出图3-1中的类CatalogItem以及(b)、(c)处所对应的类的 关键属性(使用表3-1中给出的词汇),其中,CatalogItem有4 个关键属性;(b)、(c)处 对应的类各有2个关键属性。 [ 3]问题(( 6分分))
识别关联的多重度是面向对象建模过程中的一个重要步骤。根据[说明]中给出的描述, 完成图3-1中的(1)~(6)。
试题一(15分)
阅读下列说明了和图,回答问题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 实例对象交互。
试题三(共15分)
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】
已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。连接电脑的过程中还可自动完成充电。
关于唱片,还有以下描述信息:
1.每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。
2.每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。
3. 每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。
根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表3-1所示的类列表、如图3-1所示的初始类图以及如图3-2所示的描述播放器行为的UML状态图。
表3-1 类列表
类 名 Artist Song Band Musician Track 说 明 艺术家 歌曲 乐队 歌手 音轨 Album
1 A 1 编写 演奏 唱片 0..* 0..* B (3) (4) C (1) (2) D E (5) (6) F 图3-1 初始类图
图3-2 播放器行为UML状态图
【问题1】(3分)
根据说明中的描述,使用表3-1给出的类的名称,给出图3-1中的A~F所对应的类。 【问题2】(6分)
根据说明中的描述,给出图3-1中(1)~(6)处的多重度。 【问题3】(4分)
图3-1中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。
类 多重度 【问题4】(2分) 根据图3-2所示的播放器行为UML状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。
试题三((共共 15 分分))
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【【说明说明】】
某汽车停车场欲建立一个信息系统,已经调查到的需求如下:
1. 在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器 和一个车辆通过传感器,示意图如下:
2. 当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走
停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令, 栏杆自动放下。
3. 在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机 器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。
4. 当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,
系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。 若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。
5. 系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。 根据上述描述,采用面向对象方法对其进行分析与设计,得到了表 3-1 所示的类/用
例/状态列表、图 3-1 所示的用例图、图 3-2 所示的初始类图以及图 3-3 所示的描述入口 自动栏杆行为的UML状态图。 表 3-1 类/用例/状态列表
【问题1】(3 分)
根据说明中的描述,使用表3-1给出的用例名称,给出图3-1 中U1、U2和U3所对应 的用例。 【问题2】(5分)) 【问题2】(5分))
根据说明中的描述,使用表3-1给出的类的名称,给出图3-2 中的A~D 所对应的类。 【问题3】(4分))
根据说明中的描述,使用表3-1给出的状态名称,给出图3-3 中S1~S4所对应的状态。 【问题4】】(3分))
简要解释图3-1中用例U1 和U3之间的extend 关系的内涵。
因篇幅问题不能全部显示,请点此查看更多更全内容