案例场景
某高校图书馆购买了若干学术资源的镜像数据库(MirrorDB)资源,现要求开发一套数字图书馆(Digital Library )系统,面向校内用户(User)提供学术资源(Resource)的浏览、检索和下载服务,系统的主要要求描述如下:
(1)系统中存储了每个镜像数据库的基本信息,包括:数据库名称、访问地址、数据库属性以及数据库简介等信息,用户进入某个镜像数据库后,可以浏览、检索以及下载其中的学术资源。
(2)学术资源包括会议论文(Conference Paper )、期刊论文(Journal Article)以及学位论文(Thesis)等。系统中存储了每个学术资源的题名、作者、发表时间,来源(哪个镜像数据库),被引次数、下载次数等信息。对于会议论文,还需记录会议名
称、召开时间以及召开地点;同一次会议的论文被收录在会议集(Proceeding)中。对于期刊论文,还需记录期刊名称、出版月份、期号以及主办单位;同一期号的论文被收录在一本期刊(Edition)中。对于学位论文,记录了学位类别(博士/硕士)、毕业学校、专业以及指导教师。
会议集包含发表在该会议(在某个特定时间段、特定地点召开)上的所有文章。期刊的每一期在特定时间发行,其中包含若干篇文章.
(3)系统用户(User)包括在校学生(Student)、教师(Teacher)以及其他在职人员(Staff)。用户使用学校的统一身份认证登录系统后,使用系统提供的各项服务。
(4)系统提供多种资源检索的方式,主要包括:按照资源的题名检索(Search By Title)、按照作者名称检索(Search ByAuthor)、按照来源检索(Search By Source)等。
(5)用户可以下载资源,系统记录每个资源被下载的次数。
现采用面向对象分析与设计方法开发该系统,得到如图3-1所示的用例图以及图3-2所示的初始类图。


[问题1](8分)
根据说明中的描述,给出图3-2中的C1~C8所对应的类名。
[问题2](4分)
根据说明中的描述,给出图3-2中的类C1~C4的关键属性。
[问题3](3分)
在该系统的开发过程中遇到了新的要求:用户能够在系统中对其所关注的数字资源注册他引通知,若该资源的他引次数发生变化,系统可以及时通知该用户。为了实现这个新的要求,可以在图3-2所示的类图中增加哪种设计模式?用150字以内文字解释选择该模式的原因。
参考答案:
[问题1]
C1: ResourceC2:ConferencePaper C3: JouralArticle C4:Thesis C5:UserC6--C8不限顺序C6:StudentC7:Teacher
C8: Staff
[问题2]
C1:题名、作者、发表时间、来源、被引次数、下载次数
C2:会议名称、召开时间、召开地点
C3:期刊名称、出版月份、期号、主办单位
C4:学位类别、毕业学校、专业、指导教师
[问题3]
观察者模式
观察者模式定义对象间的一对多的关系,当一个对象的状态发生改变、所有依赖于它的对象都将得到通知并自动更新。符合系统需求。
软考备考资料免费领取
去领取
专注在线职业教育24年