软考中级-软件设计师-下午题【UML】

本题主要考察用例图和类图

用例图:用例图是一种UML(统一建模语言)的图形化工具,主要用来描述系统的功能需求,以及系统与外部参与者之间的交互关系。

用例图的主要元素主要有以下几种:

·参与者(Actor):表示系统的外部或用户的角色,用一个小人形符号表示;

·用例(Use Case):表示系统提供的一个功能或服务,用一个椭圆形符号表示;

·关联(Association):表示参与者和用例之间的通信或连接关系,用一条实线表示;

·泛化(Generalization):表示参与者或用例之间的继承或抽象关系,用一条带空心三角箭头的实线表示;

·包含(Include):表示一个用例包含另一个用例作为其子功能或必要条件,用一条带箭头的虚线表示,并标注<<include>>字样;

·扩展(Extend):表示一个用例在某些条件下扩展另一个用例作为其附加功能或可选条件,用一条带箭头的虚线表示,并标注<<entend>>字样

区分泛化、包含和扩展:泛化相当于是某个类的特例,例如登陆操作可以泛化出微信登陆和QQ登陆,用带空心三角的箭头由特例指向大类

包含相当于是某个用例包含了另一个的行为,例如在登陆过程中包含输入账号和输入密码,用箭头由基础用例指向包含用例

扩展用例是在特定条件出现时,才会被执行的用例,例如在登陆过程中忘了密码会进行密码找回,用虚线箭头由扩展用例指向基础用例

类图:在UML类图中,类使用包含类名、属性和方法,且用带有分割线的矩形来表示,比如下图表示一个Employee类,包含name、age和address这三个属性,以及work()方法

类之间的关系:

·继承:继承关系,是对象间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系。在UML类图中,泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类。在代码实现时,使用面向对象的继承机制来实现泛化关系。例如Student类和Teacher类都是Person的子类

·实现关系:实现关系是接口与类之间的关系,在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有抽象操作。在UML类图中,实现使用带空心三角的虚线箭头表示,箭头从实现类指向接口。例如车和船都实现了接口中的移动方法。

·关联关系:关联关系是对象间的一种引用关系,用于表示一类对象与另一类对象之间的联系。关联关系是类与类之间最常用的一种关系,分为关联、聚合和组合。关联又分为单向、双向和自关联(自关联没有考过,这里不多做介绍)

·聚合:聚合关系是关联关系的一种,是强关联关系,是整体和部分之间的关系。聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但对成员对象可以脱离整体对象而独立存在。例如,学校与老师的关系,学校包含老师,但如果学校停办了,老师依然存在。在UML类图中,聚合关系可以用带空心菱形的实线来表示,指向整体。

·组合:组合表示类之间整体与部分的关系,但他是一种更强的聚合关系。在组合关系中,整体对象可以控制部分对象的生命周期,一旦整体不存在,部分对象也将不存在,部分对象不能脱离整体对象而存在。在UML类图中,用带实心菱形的实线表示,菱形指向整体。

·依赖:依赖关系是一种使用关系,它是对象之间耦合度最弱的一种关联方式,是临时性的关联。在代码中,某个类的方法通过局部变量、方法的参数或对静态方法的调用来访问另一个类中的某些方法来完成一些职责。使用虚线箭头指向被依赖的类,如司机驾驶汽车。

2023年 上半年真题

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

[问题1](6分)
根据说明中的描述,给出图3-2中的C1-C8所对应的类名。
[间题2](5分)
根据说明中的描述,给出图2的类CI-C4的关键属性。
[问题3](4分)
在该系统的开发过程中遇到了新的要求用户能够在系统中对其所关注的数字资源注册他引通知,若该资源的他引次数发生变化,系候可以及时通知该用户,为了实现这个新的要求,可以在图2所系的类图中增加哪种设计模式?用150字以内文字解释选择该模式的原因。

试题三
【问题1】试题分析
类名可以通过类图中类之间的关系获得线索。C2与类 Proceeding 之间是聚合关系,这是一种整体关与部分类之间的关系,结合题干可知 C2 就是会议论文(Conference Paper)。 C3 与类 Ediion 是聚合关系,结合愿干描述“同一期号的论文被收录在一本期刊(Ediion)中.”,可知C3 是期刊论文(JouralAricle). C1 与类键像数据库 (MinorDB)是聚合关系,再看题干“镜像数据库(MinorDB)资源.提供学术發源(Rcsource)的浏览.”,C1又与C2、C3、C4是关联关系,也就是CI“拥有”C2、C3、C4,因此 CI 就是学术资源 (Rcsource),C4 是学位论文(Thesis)。在图3-1中,用户可以检索资源,方式可以是按照资源的题名检索(Search by Title),按照作者名称检票(Search by Author),按照来源检索(Searchby Source),恰好对应类图中的“Search”、“Search by Tidle”、“Search By author”、 “Search By Source”这几个类,所以CS5就是系统用户(User),C6~C8(次序不限)分别为在校学生(Student)、教师(Teacher)、其他在职人员(Staff)。
参考答案.
C1: Resource(或学术资源);C2: Conference Paper(或会议论文);C3:Joural Artice(或期刊论文);C4:Thesis(或学位论文);C5:User(或系统用户)C6:Student(或在校学生);C7: Teacher(或教师);C8:Staff(或其他在职人员)。
【问题2】试题解析
题干已经给了提示信息,如“系统中存储了每个学术资源的题名、作者、发表时间,”。对于:C1来说,“作者”与“发表时间”是其关键属性。同理其他类的关键属性也是从题干中找答案。
参考答案
C1:题名、作者、发表时间;C2:题名、作者、发表时间、会议名称,召开时间;C3:题名、作者、发表时间、期刊名称、期号;C4:题名、作者、发表时间、毕业学校、专业。
【问题3】试题解析
“若该资源的他引次数发生变化,系候可以及时通知该用户.”,对于这种需求,我们自然而然地会想到现察者模式。现察者模式定义了对象间的一种一对多依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。发生改变的对象称为观察目标,被通知的对象称为观察者。一个现察日标可以对应多个观察者。这里资源就是被观察者;用户就是观察者。
参考答案
观察者模式。观察者模式定义对象间的一对多的关联关系,当一个对象的状态发生改变时,所有依赖他的对象都得到通知并自动更新。

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软考中级-数据库系统工程师考试资料dbsm.doc 是一份关于数据库系统工程师考试的资料。它主要包括以下方面的内容:数据库系统的基本概念、数据建模、关系数据库的设计与实现、数据库安全、数据库备份与恢复、数据库性能优化等方面的知识点。 其中,数据库系统的基本概念主要介绍了数据库系统的基本组成部分和基本术语,包括数据库、数据库管理系统、数据模型、数据结构和数据库应用等方面的内容。数据建模部分主要是介绍了数据建模的基本概念和各种数据建模方法,如实体关系模型、面向对象模型、UML等;关系数据库的设计与实现主要是介绍了关系模型的基本概念和关系数据库的设计与实现方法,包括ER模型转换为关系模型、关系模型的完整性约束等方面的内容。 在数据库安全方面,该资料主要提供了数据库安全的基本原则和常见安全控制手段,如用户认证、权限管理、加密技术、审计和监控等;数据库备份与恢复方面主要介绍了数据库备份与恢复的基本原理和常用备份和恢复技术,如完全备份、增量备份、差量备份等;数据库性能优化方面主要介绍了数据库性能优化的基本思路和常见性能问的解决方法,如查询优化、索引优化、SQL优化等方面的内容。 总的来说,软考中级-数据库系统工程师考试资料dbsm.doc 提供了数据库系统工程师考试所需的基本知识点和技能要求。对于准备参加该考试的人员来说,这份资料是一份非常有用的参考资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值