十、面向对象分析
面向对象分析的基本过程
面向对象分析就是抽取和整理用户需求并建立问题域精确模型的过程。
步骤:
- 分析需求陈述(多次与用户协商,快速建立计算机原型系统)
- 深入理解用户需求,抽象出目标系统的本质属性,并用模型准确表示
目的:
全面深入地理解问题域和用户的真实需求,建立问题域的精确模型。
3个结构5个层次
3个结构:静态结构、交互次序和数据变换。
复杂问题的对象模型由下述五层次组成:主题层、类与对象层、结构层、属性层和服务层。
面向对象分析的主要活动:
- 找出类与对象
- 识别结构
- 识别主题
- 定义属性
- 定义服务
上述过程可以大体上按照下列顺序执行:
a. 寻找类与对象;
b. 识别结构;
c. 识别主题;
d. 定义属性;
e. 建立动态模型;
f. 建立功能模型;
g. 定义服务。
建模要点:
a. 面向对象分析不可能严格按照顺序线性进行。
b. 必须在反复分析中对初始模型中不准确、不完整和错误的内容加以扩充和更正。
c. 仔细研究类似问题的分析结果,尽可能重用这些结果。
需求陈述
内容
(1) 阐明“做什么”而不是“怎样做"。
(2) 描述用户的需求而不是提出解决问题的方法。
(3) 指出哪些是系统必要的性质,哪些是任选的性质。
(4) 避免对设计策略施加过多的约束,不描述系统的内部结构。
(5) 描述系统性能及系统与外界环境交互协议。
(6) 描述釆用的软件工程标准、模块构造准则、将来的扩充以及可维护性要求等方面。
书写规范
(1) 做到语法正确,而且应该慎重选用名词、动词、形容词和同义词。
(2) 必须把需求与实现策略区分开,后者不是问题域的本质性质。
(3) 需求陈述可简可繁。
(4) 避免出现具有二义性的、不完整的、不一致的内容。
建立对象模型
面向对象分析的首要工作,是建立问题域的对象模型。对象模型描述了现实世界中的“类与对象”以及它们之间的关系,表示了目标系统的静态数