详细设计基础

12-详细设计的基础

详细设计出发点:

软件详细设计应该在软件体系结构设计之后进行,以需求开发的结果和软件体系结构的结果为出发点。

软件设计的上下文

目的:实现所有功能性需求和非功能性需求 。

结果:详细设计文档和详细设计原型代码。

面向对象设计的两个过程:

1)设计模型建立

通过职责建立静态模型:

①抽象对象的职责:属性职责表示对象的状态;方法职责表示对象的行为;

image-20220829213717053

②抽象类之间的关系:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

③添加辅助类:如接口类、启动类、容器类。

通过协作建立动态模型:

①抽象对象之间的协作:使用顺序图和状态图来表示对象之间的协作;

image-20220829213820520

②明确对象的创建;

③选择合适的控制风格:

集中式:做决策的只有一个对象,所有其他对象都只和这个中心控制对象进行交互。

委托式:多个决策者分别承担一定职责来共同实现大的职责。

分散式:没有明确的决策者,每个对象承担相对较小的职责。

image-20220829224147151

2)设计模式重构

①根据模块化思想重构,目标为高内聚低耦合。

②根据信息隐藏的思想重构,目标为隐藏职责实现和变更。

③利用设计模式重构。

类间协作的集成测试

类间协作通常以协作图作为线索开发模块内部的集成测试用例。

可以使用自顶向下,自底向上继承。

类间协作的桩程序通常被称为MockObject,不同于 stub,Mock 的测试代码更简单。


详细设计基础
http://example.com/2022/06/15/计算机基础/软件工程/12-详细设计的基础/
作者
PALE13
发布于
2022年6月15日
许可协议