本文共 2051 字,大约阅读时间需要 6 分钟。
模型与建模
- 建模 重要的研发成果常常产自类比( analogy ),把不太理解的东西和一些已经较为理解、且十分类似的东西做比较,可以对这些不太理解的东西产生更深刻的理解,叫做建模
- 模型 建模产生的结果就是模型,模型是对现实的简化、对事物的一种抽象模型可以帮助人们更好地了解事物的本质,抓住问题的要害。在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握
- 建模是为了能够更好地理解正在开发的系统建模的四个目的:
- 帮助我们按照需要对系统进行可视化
- 允许我们详细说明系统的结构和行为
- 给出了一个指导我们构造系统的模板
- 对我们所做出的决策进行文档化
UML建模语言
- 统一了建模的描述方法,类似于工具包
- UML 常用符号
用例模型
- 参与者 代表位于系统之外并和系统进行交互的一类事物(人、物、其他软件子系统)
- 寻找参与者
- 谁使用系统? Who or what uses the system
- 谁安装系统、维护系统? Who installs the system? Who maintains the system
- 谁启动系统、关闭系统? Who starts and stops the system
- 谁从系统中获取信息,谁提供信息给系统? Who gets and provides information tothe system
- 在系统交互中,谁扮演了什么角色? What roles do they play in the interaction
- 系统会与哪些其他系统相关联? What other systems interact with this system
- 内/外部定时器Does anything happen at a fixed time?
- 用例 系统为响应参与者引发的一个事件而执行的一系列的处理/动作,并产生一种有价值的结果 还应该包括非正常情况下对软件系统动作的描述
- 用例图中的关系 参与者与用例之间:关联关系:用实线表示 参与者/参与者之间的关系:泛化关系:实线+空心箭头 用例之间的关系:泛化关系、含关系include、扩属关系extend
- 用例描述
- 用例模型 包括用例,参与者,用例图,用例描述,系统边界
活动图
活动图描述了在一个过程中,顺序的并行的活动及其关系
- 活动图的开始、结束、对象
- 分岔和汇总 同步帮是一条水平或垂直的粗线条
- 泳道 讲一个活动图中的活动分组,每组表示一个特定的类别,人或部门,负责完成组内的活动
类图
- 类图是一种静态视图
- 类图需要描述的问题:
- 有多少个类
- 每个类定义多少属性
- 每个类定义多少操作
- 类之间的关系
- 类之间的信息交互
- 类的图形表示
- 关联关系的修饰
- 多重性
- 例子
- 实心箭头表示组合关系,空心箭头表示聚合关系
顺序图
- 顺序图是一种动态的视图
- 用例图和活动图民古饿了用户的需求,类图为需求的实现给出了解决方案(静态)
- 已经设计好的类相互协作能否实现对应的功能(动态)
- 对象之间为实现某种功能必须进行的协作过程称为交互,信息是交互的基本概念,同步消息和异步消息的区别即消息接受者是否占用接口
- 顺序图和代码之间可以进行映射
public classs A{ private B myB = new B(); public void doone(){ myB,doTwo(); myB,doThree(); }
- 顺序图可以动态验证类模型的可行性
- 顺序图从上到下,反映了对象相互协作的时间顺序
通信图
- 顺序图和通信图都是交互图的一种
- 顺序图强调时间顺序,通信图强调对象之间的结构关系,通信图和顺序图在语义上是等价的
状态图
- 顺序图是对象的状态行为进行建模,有多个对象的参与
- 状态图,描述了单个对象的状态行为,从选定的角度,把要考察的实体看做一个整体
- 状态,是对象的生命周期中的一个条件或状况,在此期间,对象可以响应事件和执行活动。例如灯的亮灭
- 状态机,是一种行为,说明对象在他的生命周期中,响应事件所经历的状态序列以及他们对每个事件的相应
- 状态图,状态机可以用状态图可视化,状态图显示了一个状态机,强调从状态到状态的控制流
- 事件,对一个在时间和空间上占有一定位置的有意义的事情的描述
- UML对4种事件进行描述
- 迁移,在状态A,发生事件或满足一定条件,转到状态B
- 状态图的建模元素
- 状态图建模
- 选择对象
- 定义对象在生命周期中可能存在的状态(单个对象的不同状态)
- 每种状态下可以接受的事件及将要转去的状态
- 注意事项
- 不允许孤立的状态存在
- 不允许只进不出的状态迁移(“黑洞” )
- 不允许只出不进的状态迁移(“奇迹”)
- 不允许没有事件发生的迁移
- 例子
- 活动图,状态图,交互图对比
- 交互
- 状态机
- 活动图
- 强调从活动到活动的控制流,多个业务角色
- 状态图是强调对象潜在状态和状态之间的迁移
转载地址:http://dzksi.baihongyu.com/