知识点
用例图
类图
多重度表达方式:
顺序图
活动图
状态图
通信图
试题
试题三
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某大学拟开发一个用于管理学术出版物(Publication) 的数字图书馆系统,用户可以从该系统查询或下载已发表的学术出版物。系统的主要功能如下:
1.登录系统。系统的用户 (User)仅限于该大学的学生 (Student) 、教师(Faculty)和其他工作人员(Staff) 。在访问系统之前,用户必须使用其校园账户和密码登录系统。
2. 查询某位作者 (Author)的所有出版物。系统中保存了会议文章 (ConfPaper)、期刊文章 (JurnalArticle)和校内技术报告(TechReport )等学术出版物的信息,如题目、作者以及出版年份等。除此之外,系统还存储了不同类型出版物的一些特有信息;
(1)对于会议文章,系统还记录了会议名称、召开时间以及召开地点;
(2)对于期刊文章,系统还记录了期刊名称、出版月份、期号以及主办单位;
(3)对于校内技术报告,系统记录了由学校分配的唯一ID。
3. 查询指定会议集(Proceedings)或某个期刊特定期(Edition) 的所有文章。会议集包含了发表在该会议(在某个特定时间段、特定地点召开)上的所有文章。期刊的每一期在特定时间发行,其中包含若干篇文章。
4.下载出版物。系统记录每个出版物被下载的次数。
5.查询引用了某篇出版物的所有出版物。在学术出版物中引用他人或早期的文献作为相关工作或背景资料是很常见的现象。用户也可以在系统中为某篇出版物注册引用通知,若有新的出版物引用了该出版物,系统将发送电子邮件通知该用户。
现在采用面向对象方法对该系统进行开发,得到系统的初始设计类图如图3-1所示。
【问题1】(9分)
根据说明中的描述,给出图3-1中C1~C9所对应的类名。
C1:Object
C2:User
C3:Student
C4:Faculty
C5:Staff
C6:Publication
C7:ConfPaper
C8:JournalArticle
C9:TechReport
【问题1】(4分)
根据说明中的描述,给出图3-1中类C6~C9的属性。
C6:题目,作者,出版年份
C7:会议名称,召开时间,召开地点
C8:期刊名称,出版月份,期号,主办单位
C9:ID
【问题3】 (2分)
图3-1中包含了哪种设计模式?实现的是该系统的哪个功能?
观察者模式,实现:引用他人学术出版物发送电子邮件通知该用户。
下图①②③④所示是UML(42)。现有场景:一名医生(Doctor)可以治疗多位病人(Patient),一位病人可以由多名医生治疗,一名医生可能多次治疗同一位病人。要记录哪名医生治疗哪位病人时,需要存储治疗(Treatment)的日期和时间。以下①②③④图中(43)。是描述此场景的模型。
(42) A.用例图 B.对象图 C.类图 D.协作图
(43) A.① B.② C.③ D.④
【答案】C C
【解析】类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;包含3个组成部分。类名、属性(attributes)、类提供的方法。类名不能省略,其他组成部分可以省略。对象图描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。
① 允许存在多个相同的元素数据,显然不合理。
② 根据试题描述,病人和医生之间应该有关联关系,显然该图不符合
③ 符合题目中的描述。
④ 只表达了医生和病人的关系,没有表达存储治疗的时间和日期,缺少一个关联类,因此该图也不符合。
在UML用例图中,参与者表示(39)。
(39)
A.人、硬件或其他系统可以扮演的角色
B.可以完成多种动作的相同用户
C.不管角色的实际物理用户
D.带接口的物理系统或者硬件设计
【答案】A
【解析】参与者是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象。
如下所示的UML图是(41),图中(Ⅰ)表示(42) ,(Ⅱ)表示(43)。
(41) A.序列图 B.状态图 C.通信图 D.活动图
(42) A.合并分叉 B.分支 C.合并汇合 D.流
(43) A.分支条件 B.监护表达式 C.动作名 D.流名称
【答案】D A B