简介
如下是《代码之殇》阅读中关于软件设计的阅读笔记整理。
软件设计的维度
| 外部 | 内部 | |
|---|---|---|
| 静态 | 项目管理规范书 应用程序编程接口定义 |
开发规范书 测试驱动开发 |
| 动态 | 用例 应用范例和角色扮演 |
顺序图 状态图、流程图、威胁和故障建模 |
高层设计步骤
- 应用范例和角色扮演
- 在一个较高层次上描述客户是如何和我们的软件交互的
- 项目管理规范书
- 描述一些外部的困扰,包括需求、对话框、菜单、屏幕、数据集合和其他功能
- 开发规范书 (设计文档或架构文档)
- 类的层次和关系
- 组件栈和关系
- 其他需要在较高层次描述实现结构的东西
- 状态图、流程图、威胁和故障建模
- 描述并控制系统中组件和对象之间的复杂交互
每个步骤都应有一个有限而明确的范围。
不是所有步骤在设计时都是必须的。
外部象限具有很宽的受众,内部象限则针对技术人员。
善用UML
威胁和故障建模通过重用“组件关系图”,会比较容易。