面向对象分析 | 软件工程10

1,074 阅读3分钟

面向对象分析的基本过程

面向对象建模得到的模型包含系统的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)活动图是面向对象的,而流程图是面向过程的。

状态图

状态图和活动图、顺序图类似,也属于行为建模。

状态图主要针对单个实体的动态行为建模。

选择单个对象——从选定的角度,把要考察的实体看成一个整体。(一个软件系统?一个子系统?一个模块?一个构件?一个类?)

状态图的概念

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

建立功能模型(用例图)

主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。也相当于一个顶层数据流图。

帮助开发团队以一种可视化的方式理解系统的功能需求。

使用用例模型代替传统的功能说明,能够更好地获取用户需求,明确指出系统应该“做什么”!

简单的用例图

构成用例图的要素

用例之间的关系