软件设计师:结构化开发方法
模块化
模块独立
软件模块应尽量做到高内聚、低耦合,提高模块的独立性
耦合性
- 无直接耦合:没有直接关系
- 数据耦合:传递简单的数据值
- 标记耦合:传递数据结构
- 控制耦合:传递控制变量
- 外部耦合:软件之外的环境联结
- 公共耦合:公共数据环境
- 内容耦合:通过非正常入口/直接访问内部数据
内聚性
- 偶然(巧合)内聚:无任何联系
- 逻辑内聚:逻辑上相似
- 时间内聚:同时执行的动作组合
- 过程内聚:按指定过程执行
- 通信内聚:在同一数据结构
- 顺序内聚:顺序执行
- 功能内聚:共同完成一个功能
系统结构设计原则
模块的作用范围在控制范围之内(很重要常考)
模块规模越小越好(这是错误说法,很重要常考)
系统文档
数据流图
- 外部实体:E
- 数据存储:D
- 加工:P
- 数据流:箭头
数据流的起点或终点必须有一个是加工
- 父图子图平衡
- 加工输入数据流、输出数据流至少有一个
- 数据守恒
例题
判断依据:
- 数据流的两端必须有一个是加工
- 加工既有输入数据流又有输出数据流
- 数据流名称在上午题中不能重名
ERD即E-R图
数据字典
数据字典有以下4类条目:数据流、数据项、数据存储、基本加工
常用加工逻辑描述方法:结构化语言、判定表、判定树