软件建模概要
什么是软件建模?软件建模体现了软件设计的思想,在需求和实现之间架起了一座桥梁,通过模型指导软件系统的具体实现。模型不是软件的完备表示,而是所研究系统的一种抽象。
软件建模原则:
- 选择正确的模型,模型要和现实相联系;
- 从不同的视角,使用不同的模型去表达一个系统:外部视角,交互视角,结构化视角和行为视角。
软件建模方法:
- 结构化方法
- 面向对象方法
- 面向构件方法
- 面向服务方法
- 面向方面方法
- 模型驱动方法
- 形式化方法
软件建模工具UML特点:
- 面向对象
- 可视化,表达能力强
- 独立于过程
- 独立于程序设计语言
- 易掌握
UML内容组成
- 事物:基本的面向对象的构造块。最静态部分,代表概念上或物理上的元素,包括结构事物,行为事物,组织事物和辅助事物。
- 关系:事物之间的联系,包括关联,依赖,泛化和实现
- 图: 很多相关事物纪关系的组合。静态图(用例图,类图,对象图,组件图和部署图)和动态图(顺序图,合作图,状态图和活动图)
软件开发流程
需求分析—>概要设计—>详细设计—>编码阶段—>测试
用例图
概念:给出了一组用例,参与者以及他们之间的关系。以使用者如何使用系统案例为核心,既识别清楚价值客户群体,又描述了系统的对外接口功能,是静态图,描述了系统在干什么。
用例图关键元素
参与者(角色)
功能单元:角色与系统之间的一次交互
关系:包含,拓展,泛化
类图
概念:依据系统结构从静态观点描述系统的视图,它定义系统中的对象和类及类之间的关系,以及类的内部结构,及类的属性和操作。
关系类别:
- 实现:类与接口的关系,表示类是接口所有特征和行为的实现
- 依赖:一种使用的关系,有单项依赖和双向依赖
- 泛化:一种继承关系
- 关联:一种拥有的关系,它是一个类知道另一个类的属性和方法
- 聚合:整体与个体的关系
- 组合:整体与局部的关系
六种关系的强弱顺序
泛化>实现>组合>聚合>依赖>关联?
顺序图
描述不同对象之间相互协助完成预期行为的动态过程。直观形象,便于理解不同对象间的交互关系时序。主要绘图元素有:
- 将交互关系表示为一个二维图
- 纵向是时间轴,时间沿竖线向下延伸
- 横向轴代表在协作中各独立对象的类元角色
- 类元角色用生命线表述
- 消息用从一个生命线到另一个对象生命线的箭头表示
活动图
用于对目标对象计算流程和工作流程建模,本质是流程图,显示系统从一个活动到另一个活动的流程迁移,基本元素包括:
- 活动:执行步骤
- 活动流:不同活动间的控制流或者数据流
- 控制符:分支与并发
- 泳道:表达不同的活动分组
状态图
描述系统元素的状态条件和响应,反映了类对象可能具有的状态,以及引起状态变化的事件。主要包括:
- 状态
- 事件:信号事件,调用事件,改变事件和时间事件等
- 转换