软件设计师-18,下午题-UML建模
Joker2Yue用例图、类图、序列图、通信图、活动图、状态图、解题技巧、真题讲解
NULL
大纲
图
用例图
-
用例图:静态图,展现了一组用例、参与者以及它们之间的关系
-
用例图中的参与者是人、硬件或其他系统可以扮演的角色:用例是参与者完成的一系列操作。
-
主要考察参与者和用例的识别、用例之间的关系(包含include、扩展extend、泛化)
- 如图所示,登记外借信息用例包含用户登录用例,因为每次如果要登记外借信息,必然要先进行用户登录。而查询书籍信息的扩展是修改书籍信息,是因为每次查询书籍信息后,发现有错误才会修改,否则不修改,不是必要的操作。
- 因此,区分用例间的关系是包含还是扩展,关键在于是不是必须操作。
类图
-
主要考察填类名、多重度、类之间的联系(泛化、组合、聚合、实现、依赖)
-
多重度含义如下:
-
1
:表示一个集合中的一个对象对应另一个集合中1个对象。 -
0..*
:表示一个集合中的一个对象对应另一个集合中的0个或多个对象。 -
1..*
:表示一个集合中的一个对象对应另一个集合中的一个或多个对象。 -
*
:表示一个集合中的一个对象对应另一个集合中的多个对象。
-
-
含义
- 依赖:一个事物的语义依赖于另一个事物的语义的变化而变化
- 关联:是一种结构关系,描述了一组链,链是对象之间的连接。分为组合和聚合,都是部分和整体的关系,其中组合事物之间关系更强。两个类之间的关联,实际上是两个类所扮演角色的关联,因此,两个类之间可以有多个由不同角色标识的关联。
- 泛化:一般/特殊的关系,子类和父类之间的关系
- 实现:一个类元指定了另一个类元保证执行的契约。
-
理解聚合和组合都是部分和整体之间的关系,类之间大多考察这两种关系,必须记住其符号,且菱形一端为整体,表示其由另外的一端实体组成,可依据题意找出组成元素解题
-
依赖关系最弱,只要有部分相关就是依赖。泛化关系是父子关系:组合和聚合都是部分-整体关系,组合更强。
序列图
-
序列图:即顺序图,动态图,是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动。
-
主要考察填对象名、消息名,消息就是一个个箭头上传递的,对象作为实体在最上端
通信图
-
是顺序图的另一种表示方法,也是由对象和消息组成的图,只不过不强调时间顺序,只强调事件之间的通信,而且也没有固定的画法规则,和顺序图统称为交互图。主要考察填对象名、填消息。
活动图
-
活动图:动态图,是一种特殊的状态图展现了在系统内从一个活动到另一个活动的流程。
-
活动的分岔和汇合线是一条水平粗线。
-
主要考察填活动名称
状态图
-
主要描述状态之间的转换,主要考祭的就是填状态名、填状态转换的条件,具体如图所示。
-
转换可以通过事件触发器触发,事件触发后相应的监护条件会进行检查。状态图中转换和状态是两个独立的概念,如下:图中方框代表状态,箭头上的代表触发事件,实心圆点为起点和终点。
解题技巧
-
由前文介绍可知,考察UML建模就是考察多种图形,对这些图形的考察一般都是缺失一些关键点,而后要求考生补充图形。
-
要求认真审题,根据题干说明补齐类名、对象名或消息名等等。记住类图和对象图中的多重度(互相独立的分析,掌握表示方法)以及类之间的联系标识(多边形端为整体,直线端为个体)。
-
认真审题,审图,根据说明补漏,一般来说有以下几种题型:
- 补充用例图:主要考察补充用例名称、参与者、用例之间的关系。只要认真审题,根据题中描述核对,都可以轻松得出答案。
- 补充类图:主要考察补充类名称,需要根据类之间的关系以及多重度来判断。需要牢记类之间关系的图形符号,包括组合、聚合和继承的符号,并且观察符号上的多重度数字,与题目描述对应。
- 补充状态图:主要补充状态名称,根据题目描述可以轻松得出答案。
- 识别设计模式:掌握经典设计模式的特点,并结合英文等进行联想。