软件工程复习核心重点第九章面向对象分析-第一节面向对象分析的基本过程和需求陈述
目录
(软件工程复习核心重点)第九章面向对象分析-第一节:面向对象分析的基本过程和需求陈述
文章目录
[②:7
± \pm
± 2原则](#7_pm_2_32)
一:面向对象分析的基本过程
(1)定义
面向对象分析 :就是抽取和整理 用户需求 并建立问题域精确模型的过程
(2)3个子模型与5个层次
A:3个子模型
面向对象建模得到的模型包含系统的三个要素:
- 静态结构(对象模型) :解决任一问题,都需要从客观世界实体及实体间相互关系抽象出极有价值的对象模型
- 交互次序(动态模型) :当问题涉及交互作用和时序时,动态模型是重要的
- 数据变换(功能模型) :解决运算量很大的问题,则涉及重要的功能模型
B:5个层次
复杂问题的对象模型由5个层次组成: 主题层、类与对象层、结构层、属性层和服务层 。这5个层次一层比一层显现出对象模型的更多细节
①:主题
主题是 指导读者理解大型、复杂模型的一种机制 。即通过划分主题把一个大型、复杂的对象模型分解成 几个不同的概念范畴
②:7 ± \pm ± 2原则
心理研究表明,人类的短期记忆能力一般限于 一次记忆5~9个对象 ,面向对象从两个方面体现这条原则
- 控制可见性 :控制读者能见到的层次数目来控制可见性
- 指导读者注意力 :增加了主题层,可从高层次描述总体模型,并指导读者的注意力
③:面向对象分析顺序
- 寻找类与对象
- 识别结构
- 识别主题
- 定义属性
- 建立动态模型
- 建立功能模型
- 定义服务
④:建模要点
- 面向对象分析 不可能严格按照顺序线性进行
- 必须在反复分析中 对初始模型中不准确、不完整和错误 的内容加以扩充和更正
- 仔细研究 类似问题的分析结果 ,尽可能 重用 这些结果
二:需求陈述
(1)内容
- 阐明“ 做什么 ”而不是“怎样做”
- 描述 用户的需求 而不是提出解决问题的方法
- 指出哪些是 系统必要的性质 ,哪些是任选的性质
- 避免对 设计策略施加过多的约束 ,不描述系统的 内部结构
- 描 述系统性能 及 系统与外界环境交互协议
- 描述采用的 软件工程标准、模块构造准则、将来的扩充以及可维护性要求 等方面
(2)书写规范
- 做到 语法正确 ,而且应该 慎重选用名词、动词、形容词和同义词
- 必须把 需求与实现策略区分开 ,后者不是问题域的本质性质
- 需求陈述 可简可繁
- 避免出现具有 二义性的、不完整的、不一致 的内容