零、UML 9图歌诀

零、UML 9图歌诀

类与对象加用例,
状态顺序活动矣,
协作构件再部署,
统一建模九图齐。

一、用例

什么是用例

系列事件谁发起?
人机系统都可以。
参与事件将如何?
使用场景即用例。

用例的包含
用例之中重复的,
抽取出来使独立。
包含进去几合一,
思路清晰好处理。

用例的扩充
已有扩充为新例,
额外步骤加进去。
这是重用又一法,
扩展派生出新例。

用例的泛化
子到父类为泛化,
参与行为都可以。
空心箭头加连线,
继承关系很明晰。

用例的分组
用例多了要分组,
层次类别才明晰。
相关打包包一起,
父子系统成体系。

用例分析
开始交谈进领域,
初步类图要获取。
注意名词新术语,   
相关动词也要记。
   
询问如何用系统?
侯选用例可获取。
都谁参与应列表,
看清用例谁发起。

逐步深入问下去,
不断发掘新用例。
有助界面之设计,
编程决策也得益。


用例的用途
预期行为来收集,
图形工具强有力。
其他类别相结合,
明确用户心中疑。

理解用户和领域,
用例高层先注意。
只重行为非实施,
系统边界可明晰。

用例图与文档
文档之中用例图,
每例N页来描述。
场景步骤要清晰,
上层注释不相符。

用例的细节追踪
发起与者加用例,
场景步骤写清晰。
前后条件莫忘记,
参与者里谁受益。


二、状态图
状态图
对象时序改状态,
展示变化状态图。
变化序列起终点,
对象单一莫疏忽。

圆角矩形表状态,
箭头实线表迁移。
实心圆点为起点,
牛眼圆圈为终点。

状态的转移细节:事件和动作
状态变化之行为,
引发变化之事件,
二者‘/’来分开,
都可加到转移线。

还有事件无触发,
活动结束无转移,
此类都叫无触发。
特殊情形要牢记。

状态的转移细节:保护条件
保护条件另细节,
满足条件才转移。
可以写进状态图,
写成布尔表达式。

子状态
状态之中有状态,
其中就叫子状态。
顺序并发两形式,
单一状态为母体。

顺序子状态
顺序子态较简单,
依次逐个来出现。

并发子状态
并发子态也不难,
两个状态同出现。
并发子态虚线分,
母子组成彼此间。

历史状态
历史状态也需知,
‘H’加圈做标记。
实线连回记忆态,
深浅故态可复忆。


消息与信号
对象之间要通信,
消息概念必须知。
触发也是发消息,
对象之间来传递。
能触发的叫信号,
信号为类可承继。


 三、顺序图

什么是顺序图
对象之间有交互,
发生起讫顺序图。
时间维度加进去,
时序通信靠此图。

对象
方框对象名下线,
实线箭头表消息。
垂直虚线表时间,
激活生命重顺序。

消息
同步、异步简单的,
三个类别皆消息。
实心半边与两边,
三类箭头三消息。

时间
垂直方向时间维,
自顶向下时间序。
对象下面生命线,
激活长度表时序。

四、协作图
协作也是表交互,
语义等价顺序图。
交互对象显整体,
空间组织布置图。

对象扩展协作图,
消息传递是为主。
箭头表示传消息,
发送指向接收的。

名称序号靠箭头,
接收消息操作的。
消息名称加序号,
冒号中间要隔起。

消息多发:
对象消息可多发,
有时消息重顺序。

返回结果
返回结果可表示,
变量操作赋值系。

主动对象
主动对象有权利,
面象其他法消息。
两个以上为并发,
主动边框给加黑,
强调作用请注意。

消息同步
等到回信才再发,
这种机制叫同步。
需要同步消息前,
再加消息要传递。
序号之间逗号分,
‘/’与消息相隔离。


五、活动图
过程步骤要表述,
可以使用活动图。
状态图形之扩展,
此类活动更突出。

圆角矩形表活动,
实心圆是起点图,
公牛眼形为终结,
依次活动最突出。

判定
条件引发活动列,
不同条件各自行。
表示方法有两种,
用或不用小菱形。
分支各自注条件,
不同行为分的清。

并发路径

信号
活动可以发信号,
信号接收活动兴。
发送凸角五边形,
接收凹角五边形。
二者输出与输入,
信号相关记得清。

泳道
可视维度能增加,
分别角色可视化。
把图分为平行段,
称为泳道形象化。

混合图
图符来自不同类,
有其长处无是非。
各种方式合一起,
综合长处非新类。

六、构件图
软件系统一单元,
驻留系统叫构件。
数据文件程序库,
潜在重用仔细算。

建模构件有好处,
利于开发与用户。
系统结构可清晰,
目标清楚都好办。
编制文档能明确,
便于重用才周全。

构件和接口
对象窗口即接口,   
信息隐蔽或封装
类的行为它体现,
成组操作记端详。


构件类型
部署构件是一类,
工业构件也一种。
执行构件另一类,
几个类别要分清。

构件图
大框是个大矩形,
左边2小套其中,
包含成员加上名,
细节信息更分明。

接口表示法

矩形框里注信息,
空心箭头来联系。
连接虚线到实现,
两类构件系一起。

还有一种表示法,
实线构件来联系。
表示接口小圆圈,
这个表示也牢记。

除了实现有依赖,
导入接口来联系。
构件与其用虚线,
加上箭头来表示。

七、部署图
部署图里有节点,
能否执行得分清。
节点表示立方体,
构件接口在框中。
节点之间可连线,
连接信息构造型。
关联类型几大类,
聚集依赖等等等。


八、类

类图
类的表示用矩形,
属性操作在其中。
其间使用分隔线,
动静两类才分明。(属性和方法)

属性
附加信息可加入,
数据类型注清楚。

约束
花括号内为约束,
满足条件来标注。

附加注释
类的旁边可加注,
必要说明更清楚。

如何获取类
领域名词和术语,
分析知识来获取。
领域模型化为类,
名词动词都注意。

关系
类类之间有关联,
表示关联一实线。
实心箭头来指明,
角色方向线上边。

关联上的约束
关联之后有规则,
约束条件注清楚。
与或条件都可注,
加上标记才清楚。

关联实际也成类,   
也有属性和操作。
联系诸类用虚线,
彼此之间都关联。


关联之类有实例,
两者关系就叫链。
连线连接两相通,
链名下线加下边。

多重性
联系可以一对多,
多重关联要琢磨。
数字标记两边类,
再加星号还有或。

限定关联
关联多重要限定,
查找才能分的清。
限定ID小矩形,
多重之中一对一。

自身关联
类的关联和自己,
自身关联也关系。   
角色关联加方向,
关联线上做标记。

继承和泛化  
继承泛化也好懂,
父子特征有相同。
子类特征比父多,
父类泛泛更普通。

抽象类
抽象类别无实例,
子类实例才实际。

依赖
类中定义其他类,
依赖关系要知微。
   
聚集
一类分成几部分,
此种类型是聚集。
总分关系为特征,
整体部分关系体。

聚集上的约束
多个部分成一体,
约束关系就成立。
并列就是或关系,
空心箭头来表示。
彼此同级虚线连,
再加or字来标记。

组成
组成聚集强类型,
实心箭头也菱形。
正如桌子和桌腿,
此种类型记心中。

语境
类簇含类很常见,
其中局部放大看。
这是类的语境图,
层次关联好体现。

接口和实现
接口为了可重用,
虽然类别可不同。
相同操作不同类,
代码仍然能重用。

接口只是有操作,
没有属性是特征。
假如类也省属性,
二者区分构造型。

类与接口有关系,
关系名就叫实现。
图形表示很简单,
空心箭头实线连。

可见性
接口操作都可见,
他类调用才简单。
   
九、对象图
类的实例为对象,
名有下线外有框。
冒号隔开名列表,
匿名冒号省对象。

 

UML基础知识

体系结构有四层,
用户对象为第一。
再一层次模型层,
早期分析必处理。
描述语言第三层,
名字叫做元模型。
元元模型为第四,
逐步抽象建体系。

开发应用
问题小组理解好,
各类角色都不少。
良好通讯要畅通,
阶段交流不能少。

领域分析
客户领域各实体,
交谈分析要笔记。
名词建模成为类,
后降属性也或许。
动词也要都注意,
用例操作都或许。

识别协作系统
软件系统不孤立,
协作系统须注意。
节点通讯加新老,
各方配合部署齐。

获取需求
联合会议来开始,
各方人员提建议。
会议产品一包图,
高层领域之用例。
结果提交用户议,
得到认可再继续。
成本估算不能少,
具体情况自算计。

分析
初步需求获取后,
类图逐步要加细。
系统用法要理解,
高层用例先分析。
需要画出用例图,
依赖构造都要记。

充实用例再继续,
分出每个步骤序。
   
细化类图再充实,
关联对象和聚集。
   
展示对象状态变,
状态图出为目的。

对象交互要定义,
顺序协作图表意。

协作集成诸细节,
通信网络都注意。

数据库类要考虑,
包括物理和逻辑。
产品详细部署图,
分析好了转设计。


设计
   
细化对象图
对象图形要细化,
程序员来完成它。
检查操作活动图,
编码就要根据它。

开发构件图
程序员们是主力,
画出构件之关系。

制定部署计划
部署图在构件后,
系统协作与集成。
节点驻留何构件,
图里处处注分明。

开发用户界面
全部用例都完成,
考虑界面如何弄。
纸上原型先设计,
用户满意再换屏。
屏幕原型出快照,
这个步骤算完成。

测试设计
测试依据是用例,
测试专家来参与。
测试脚本写出来,
看看功能是否齐。

开始编制文档
文档编制有专人,
高层文档先认真。
高层结构先指定,
结构就是好成品。

开发
类图对象活动图,
再加构件是基础。
程序代码开始写,
阶段产品代码出。

代码测试
运行脚本来测试,
预期任务完成否。
产生信息前反馈,
各层测试不用愁。

界面及其连接代码测试
界面原型更靠近,
连接代码更类真。
界面功能要有效,
功能系统为产品。

完成文档
文档专家程序员,
并行工作写文档。
确保完成要及时,
交付用户不影响。

部署
编制备份和恢复计划   
周密计划事先有
系统崩溃要预防。

安装最终系统
最终系统到装机,
接近最后之目的。
安装完成再测试,
看看精化需不需。
测试结果为产品,
没有其他那么的。

 

 

双向关联:彼此属性中有对方的指针或者值。

单向关联:带箭头指向的一方可以被不带箭头一方进行引用。一般表示一种引用。

反身关联:自己引用自己,带着一个自己的引用。

 

依赖:只是在一个动作或者一个方法中需要用到的,需要把一个类中的头文件引入到另一个类中。(带箭头的虚线)

组合:整体和部分的关系。(带箭头的菱形实心),部份不能独立的使用。

类聚:整体和部分的关系。(带箭头的菱形空心),部分可以独立的使用。

引用值的方式:指针(*)引用(&)值

 

继承(泛化):三角箭头子类对父类功能的扩展。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章