软件设计师下午题笔记(3)UML图分析

在这里整理一下我在真题中碰到的一些重难点。
记得有些散乱,但后天就要考试了~没时间做更细致的整理了,只要有用就好啦。

===================================================

(1)《include》和《extend》关系

《include》:表示包含关系
在这里插入图片描述
如上图:【登录】包含了【查询余额】和【查询使用记录】,则这几个用例的关系就是《include》
(一定要强调“包含关系”,这是《include》和《extend》的差异)
 

《extend》:表示拓展关系
在这里插入图片描述
如上图:当【充话费】后,可以选择是否【打印小票】,则这两个用例的关系就是《extend》
 

特别要注意箭头的指向:
《include》:箭头从【被包含的一方】发出,指向【包含的一方】
《extend》:箭头从【可有可无的一方】发出,指向【必须要有的一方】(请不要弄反方向了!!!!)

(2)用例描述:基本事件流、补充事件流

解题思路:
①先去题目说明中,找到介绍这个用例的一段

基本事件流:按时间先后顺序(事件发生顺序),写出一定会发生的事件(记得标注序号)
补充事件流:写出在本用例中,可以发生也可以不发生的事件(记得标注序号,以及要对应上基本事件流)

此处可以参考19年上半年的下午题3

(3)一定要清楚各种箭头的含义!

(1)虚线箭头:《include》包含、《extend》扩展
在这里插入图片描述
在这里插入图片描述

(2)实线空心箭头:泛化
泛化:父类与子类的关系(简单粗暴的理解)
在这里插入图片描述

(3)虚线箭头:依赖(什么字都没写,区分《include》和《extend》)
依赖关系:一个类需要另一个类的协助
java中,方法参数需要传入另一个类的对象,就表示依赖这个类
在这里插入图片描述

(4)实线空心菱形:聚合
聚合关系的特点:聚是一团火,散是满天星(部分可以聚合成一个整体,且部分可以脱离整体存在)
在这里插入图片描述

(5)实线实心菱形:组合
组合关系的特点:你亡我亡,you jump i jump(部分与整体的生命周期一致)
在这里插入图片描述
 

以上几种比较常见,下面再补充几个:
(6)实线箭头:关联(什么都没写)
表示类与类之间的连接,它使一个类知道另一个类的方法
在这里插入图片描述

 
(7)虚线空心箭头:实线
实线是一种类与接口的关系(实线类指向接口)
在这里插入图片描述
 

(3)各大设计模式的作用:

在这里插入图片描述
一定要熟悉各种设计模式的UML示意图和作用!
看到个帖子写的不错,分享一下:软件设计师设计模式历年下午题统计

凭个人经验,
下午题常考的UML图:
类图
活动图
用例图

下午题比较常考的几种模式有:
观察者模式(Observer)
(Composite)参考15年上半年
状态模式(State)
桥接模式(Bridge)

(4)类图挖空:想不到写什么类的时候,就再读一次题吧

一些会让人忽略的细节:
①连接类图的线上写了数字——再去题目中找一下这个数字的出现

可参考18年上半年下午题3.3
一开始真的想不到该填什么(因为整道题的核心是在说ETC收费系统的设计),所以自然而然地忽略了题目中出现的其他实体
后来看到连接C2和C3的线上标了6,去题目里找才发现题目里有一句话是说“龙门架下包括6条车道”,有了这个突破点,我才发现这个类图中填写的内容和ETC收费系统的核心不算很相关,它是一个描述高速硬件设施的类图

所以……为了不遗漏,最好还是多读几次题,而且把每个实体圈出来吧!

(5)图形符号

关于图形符号的考察一般考的是活动图,下面列几个常用的符号:

(1)判断
在这里插入图片描述
(2)同步条
在这里插入图片描述
在需要同时发生多个事件的时候使用。

(Finally)一些真题中出现的必背答案

(13上)简要说明选类的原则,以及对候选类集合删除的原则。
选择候选类时,通常考虑的是问题域中自然存在的名词。
具有下列特征的候选类需要删除:含义相近(冗余)、含义不明确的对象、暗示实现方式的、表示属性或特征、有动词含义的动词(表示行为和方法)

(10下)组合和聚合的区别?
在组合关系中,整体对象和部分对象具有同一的生存周期当整体对象不存在时,部分对象也不存在
而在聚合关系中,对整体对象和部分对象没有这样的要求。
 

(09下)泛化关系的内涵
泛化关系描述了一个参与者可以完成另一个参与者同样的任务,并可补充额外的角色功能。
(父类型通常是一个抽象泛化的参与者,可以完成子类型可完成的共同行为。
每个具体的子类继承它,可以完成父类型参与者同样的任务,并可以补充额外的角色功能。)
 

(09上)描述抽象泛化用例和继承它的子类型之间的关系
……是一个抽象泛化用例,具有其他事物类型共有的属性和行为,每个具体的事务类型继承它,并实现适合自己的特定的操作。

本文参考,感谢:
https://blog.csdn.net/tiger_ibm/article/details/19337971
https://blog.csdn.net/wglla/article/details/52225571

猜你喜欢

转载自blog.csdn.net/weixin_43616639/article/details/109516330