SE-II-ch12-详细设计
12-详细设计 --- - 1. 详细设计基础 - 1.1. 什么是详细设计 - 1.2. 详细设计的输入 - 1.3. 从需求、体系结构设计到详细设计 - 1.4. 详细设计是从哪里开始的 - 1.4.1. 详细设计的上下文 - 1.4.2. 软件体系结构:构件之间的接口 - 1.4.3. 详细设计的输出 - 2. 结构化详细设计 - 2.1....
ASIMOV的老巢
12-详细设计 --- - 1. 详细设计基础 - 1.1. 什么是详细设计 - 1.2. 详细设计的输入 - 1.3. 从需求、体系结构设计到详细设计 - 1.4. 详细设计是从哪里开始的 - 1.4.1. 详细设计的上下文 - 1.4.2. 软件体系结构:构件之间的接口 - 1.4.3. 详细设计的输出 - 2. 结构化详细设计 - 2.1....
13-详细设计中的模块化与信息隐藏 --- - 1. 内聚和耦合 概念重要 - 2. 模块化与信息隐藏思想 - 2.1. 设计好的软件 - 2.1.1. Parnas 1972 - 2.1.2. Stevens 1974 - 2.1.3. Beohm 1976 - 2.2. 动机 - 2.3. 模块化与信息隐藏思想的发展 - 2.3.1. 背景 ...
14-面向对象的模块化 --- - 1. 模块化的原则(总结) - 2. 面向对象中的模块与耦合 - 2.1. 类 - 2.2. 模块 - 2.3. 耦合中的结构方法与OO方法 - 2.4. 降低耦合的设计原则 - 3. 访问耦合 - 3.1. 隐式耦合:Cascading Message 级联调用问题 - 3.1.1. 解决方案 — 引入局部变量 -...
15-面向对象的信息隐藏 --- - 1. 课前测试 - 2. 封装类的职责 - 2.1. 结构化设计中的信息隐藏 - 2.1.1. 信息隐藏 - 2.1.2. 设计细节应当被隐藏 - 2.2. 类的职责 - 2.2.1. 什么是职责? - 2.2.2. 职责来源于需求 - 2.2.3. 职责的体现 - 3. 类的封装 - 3.1....
16-设计模式 --- - 1. 可修改性及其基本实现机制 - 1.1. 如何实现可修改性? 重要 - 1.2. 如何将接口与实现的分离 -- Java视角 - 1.3. 实现接口(interface) - 1.4. 类图中的标志物的含义 - 1.5. 类图与依赖关系 - 1.6. 继承 - 1.7. 类图与依赖关系 - 1.8. 实现的可修改性 -...
软件构造 --- - 1. 部分名词解释 - 2. 什么是软件构造? - 2.1. SWEBOK2004 - 2.2. McConnell2004 - 2.3. Reeves 1992:软件构造是设计的延续 - 3. 软件构造活动 重要 - 3.1. 详细设计 - 3.2. 编程 - 3.2.1. 程序代码的典型质量 - 3.2.2. 编程的主要技术 -...
代码设计 --- - 1. 设计易读的代码 - 1.1. 代码规范 - 1.1.1. 布局格式 - 1.1.2. 命名 - 1.1.3. 注释 - 2. 设计易维护的代码 - 2.1. 小型任务 - 2.2. 复杂决策 - 2.3. 数据使用 - 2.4. 明确依赖关系 - 3. 设计可靠的代码 重要 - 3.1. 契约式设计 -...
19-软件测试 --- - 1. 考试题 - 2. Bug起源 - 2.1. 第一个Bug - 2.2. 千年虫病毒 - 2.3. 辐射机问题 - 2.4. 爱国者导弹防御1991 - 2.5. 奔腾处理器的浮点数bug - 2.6. 迪士尼的《狮子王动画故事书》 1994 - 3. 什么是对的软件? - 3.1. 你是否正确的构造了软件 - 3.2....
20-软件交付 --- - 1. 什么是软件交付 - 2. 安装与部署 - 2.1. 安装 - 2.2. 创建安装包的步骤 - 2.2.1. 确定安装环境 - 2.2.2. 列举安装清单 - 2.2.3. 设计和建立安装包 - 2.2.4. 测试安装包 - 2.3. 部署 - 2.4. 部署的步骤 - 2.4.1. 确定部署环境 -...
21-软件的维护与演化 --- - 1. 维护 - 1.1. 软件维护的主要工作是"修改" - 1.1.1. 维护是什么 - 1.1.2. 软件维护 - 1.2. 软件变更的常见情景 - [1.2.1. 软件维护类型划分[Lientz1980]](#121-软件维护类型划分lientz1980) - 1.2.2. 软件维护 - 1.3....