软件设计师考试 --UML 基础部分
此部分主要是针对下午试题中的 UML 部分, 而不是对整个 UML 进行全面且细致的总结, 因此主要介绍了用例图, 类图, 顺序图 (时序图) 和协作图
思维导图
uml.PNG
概述
用例图
用例图. jpg
该用例图中有两个参与者, 图书管理员和读者.
用例中体现了包含关系 <<include>> 和扩展关系<<extend>>.
理解包含关系很简单, 父用例中包括多个子用例, 子用例是对父用例的细化;
而扩展关系则是对当前用例的扩展, 即在某种条件下会发生.
此外还有泛化关系, 指的是一般与特殊的意义. 比如查询图书, 可以有精确查询和模糊查询;
以及分组关系, 顾名思义, 对用例进行分组
类图
类图. jpg
这是一个说明层次的类图, 体现出了 Grades 类, website 类和 ReportCard 类的属性和行为接口, 但是没有具体的实线.
类之间的关系仅仅体现了依赖关系, 包括方法参数, 返回值等.
此外还有泛化关系, 即继承, 注意区分这里的泛化关系与用例的泛化关系的不同.
关联关系, 可细化为聚合关系和组合关系, 聚合关系侧重于整体与部分, 组合关系更加强调生命周期的关联.
实现关系, 即接口实现
顺序图
顺序图. jpg
在这张顺序图中有三个匿名对象, 消息传递上标有序号.
主要注意:
消息 3 4 5 是存在条件的 --b="lock", 条件成立才会执行
消息指向哪个对象, 表明该对象要执行这个方法. 可以理解为, 别人告诉我要做某件事, 然后我再去做
消息 3 是一个自调用
消息 4 5 是一个返回消息
协作图
协作图. jpg
这个协作图是对应上述顺序图. 主要表明了三个对象之间的结构
注: 以上内容整理自《UML 基础, 建模与设计实战》(此为亚马逊上这本书的购买地址), 文中用例图, 类图, 顺序图和协作图都来自这本书. 非常感谢作者杨弘平, 吕海华, 李波, 史江萍的工作成果.
来源: http://www.jianshu.com/p/a883a04cf721