面向对象分析过程:
1. 获取客户对系统的需求
需求获取必须让客户与开发者充分地交流,这里介绍一种采用use case 来收集客户需求的技术。分析员首先标识使用该系统的不同的执行者,这些执行者代表使用该系统的不同的角色。每个执行者可以叙述他如何使用系统,或者说他需要系统提供什么功能。执行者提出的每一个使用场景(或功能)是系统的一个use case,一个use case 描述了系统的一种用法(或一个功能),所有执行进提出的所有use case 构成系统的完整需求。
2. 标识类和对象
在确定了系统的所有用例后,就可开始标识类以及类的属性和操作。采用CRC(class –responsibiltiy-collaborator)技术标识类和对象的方法。
3. 定义类的结构和层次
在确定了系统的类,就可定义类的结构和层次。类的结构主要有两种:一般与特殊结构(is a)和整体与部件结构(has a).
4. 建造对象-关系模型
对象-关系模型描述系统的静态结构,指出了类间的关系。
5.建立对象-行为模型
对象-行为模型描述了系统的动态行为,指明系统如何响应外部的事件或激励。
面向对象设计步骤:
1. 系统设计
a. 将分析模型划分成子系统;
b. 标识问题本身的并发性,并为子系统分配处理器;
c. 任务管理设计;
d. 数据管理设计;
e. 资源管理设计;
f. 人机界面设计;
g. 子系统间的通信;
2.对象设计
a.在过程级别设计每个操作;
b. 定义内部类
c. 为类属性设计内部数据结构
3.消息设计
使用对象间的协作和对象-关系模型,设计消息模型。
4.复审
对设计模型进行复审,并且在需要的时候进行迭代。
Use Case图中关系:
关系 | 说明 | 记号 |
关联 | 执行者与他所参与的一个use case 之间的通信路径 | —— |
扩展 | 扩展的用例到基本用例的一种关系,指出扩展的用例所定义的行为如何插入到基本用例所定义的行为中。扩展的用例通过模块化方式增量地修改基本用例。 | 《extend》 - -- -- -- à |
包含 | 从基本用例到另一个用例的一种关系,指出包含用例定义的行为被包含在基本用例所定义的行为中。 | 《include》 - -- -- -- à |
泛化 | 一个一般用例与一个特殊用例间的关系,特殊用例可继承一般用例的特征。 | —— |