面向对象分析 | 软件工程10
面向对象分析的基本过程
面向对象建模得到的模型包含系统的3个要素:
- 1.静态结构(对象模型)
- 2.交互次序(动态模型)
- 3.数据变换(功能模型)
复杂问题(大型系统)的对象模型通常由下述5个层次组成:
- 1.主题层
- 2.类与对象层
- 3.结构层
- 4.属性层
- 5.服务层
UML简介

建立对象模型
建立对象模型是面向对象建模中重要部分!
强调围绕对象而不是功能来构造系统。
采用UML类图描述对象模型
图形符号+语义规则
步骤
- 1.确定类与对象
- 2.确定关联
- 3.划分主题
- 4.确定属性
- 5.识别继承关系
- 6.反复修改
- 7.建立动态模型
类相关概念
类图

类间基本关系表示

建立行为模型(动态模型)
行为模型考查每个对象在自己生命周期中的行为规则,也是由事件引发的一系列的状态变化过程。在UML中通常有以下几种图来建立动态模型。
- 1.消息时序图
- 2.活动图
- 3.状态转换图
消息时序图
Message Sequence Chart
元角色——小矩形框加一条虚线竖线来表示。
类或对象——矩形框
生命线——从上到下按照时间序
消息(某个对象操作的规格说明)——箭头指向操作所属对象。
动作——被调用的操作或对变量值的改变,表示为实体执行线上的带标记的矩形。
例子


适用条件
UML顺序图一般用于:当明确了用户的“需求”,通过类图确定了解决问题的静态方案,在编代码之前检验一下类图的方案是否能实现所需要的功能。
活动图
活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。


活动图和流程图的区别
(1)流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理过程之间有严格的顺序和时间关系。而活动图描述的是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。
(2)活动图能够表示并发活动的情形,而流程图不行。
(3)活动图是面向对象的,而流程图是面向过程的。
状态图
状态图和活动图、顺序图类似,也属于行为建模。
状态图主要针对单个实体的动态行为建模。
选择单个对象——从选定的角度,把要考察的实体看成一个整体。(一个软件系统?一个子系统?一个模块?一个构件?一个类?)
状态图的概念

实例 图书管理系统-图书的状态图

建立功能模型(用例图)
主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。也相当于一个顶层数据流图。
帮助开发团队以一种可视化的方式理解系统的功能需求。
使用用例模型代替传统的功能说明,能够更好地获取用户需求,明确指出系统应该“做什么”!
简单的用例图

构成用例图的要素

用例之间的关系
