1 结构化开发
结构化方法总的指导思想是自顶向下、逐层分解,它的基本原则是功能的分解与抽象。它是软件工程中最早出现的开发方法,特别适合于数据处理领域的问题,但是不适合解决大规模的、特别复杂的项目,且难以适应需求的变化。
- 结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。
- 结构化分析是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析工作。
- 结构化设计是根据模块独立性准则、软件结构化优化准则将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。
- 结构化程序设计使用3种基本控制结构构造程序,任何程序都可以由顺序、选择和重复3种基本控制结构构造。
2 耦合
2.1 定义
模块之间的相对独立性的度量, 耦合取决于模块之间接口的复杂度、调用模块的方式以及通过接口的信息类型。
2.2 种类
- 无直接耦合:模块之间没有任何关系
- 数据耦合:模块之间传递的是简单数据值
- 标记耦合:传递的是数据结构
- 控制耦合:传递的是控制变量
- 外部耦合:通过软件之外的环境廉洁
- 公共耦合:通过公共数据环境相互作用
- 内容耦合:一个模块之间使用另外一个模块的内部数据,或通过非正常入口转入另一个模块内部时

3 内聚
3.1 定义
一个模块内部各个元素彼此结合的紧密程度的度量
3.2 种类
- 偶然内聚:模块内各元素毫无关系
- 逻辑内聚:模块内执行若干个逻辑相似的功能,通过参数确定该模块完成哪一个功能。
- 时间内聚:需要同时执行的动作组合在一起形成的模块
- 过程内聚:一个模块完成多个任务,这些任务必须按指定的过程执行。
- 通信内聚:模块内的各个处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据
- 顺序内聚:一个模块中的各个处理元素都密切相关与同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入
- 功能内聚:模块所有元素共同作用完成一个功能,缺一不可

4 设计原则
- 分解-协调
- 自顶向下
- 信息隐蔽、抽象
- 一致性
- 明确性。避免病态接口,降低耦合度
- 高内聚、低耦合
- 模块之间的扇入系数和扇出系数合理
- 模块的规模适当
- 模块的作用范围要在其控制范围之内

5 系统文档
- 用户与分析人员
-
- 可行性研究报告、总体规划报告、系统开发报告和系统方案说明书
- 开发人员与项目管理人员
-
- 系统开发计划(工作任务分解表、PERT图、甘特图和预算分配表)、系统开发月报以及系统开发总结报告
- 测试人员与开发人员
-
- 系统方案说明书、系统开发合同、系统设计说明书和测试计划
- 开发人员和用户在系统运行期间沟通
-
- 开发人员和维护人员
-


6 数据流图
数据流图也称数据流程图(DFD),它是一种便于用户理解、分析系统数据流程的图形工具,用于功能建模。
6.1 数据流图的基本图形元素
包括数据流、加工、数据存储和外部实体。数据流、加工和数据存储用于构建软件系统内部的数据处理模型;外部实体表示存在于系统之外的对象,用来帮助用户理解系统数据的来源和去向。
- 实体(E): 当前系统之外的人、物、外部系统
- 数据存储(D):存储加工的输出数据和提供加工的输入数据
-
- 加工( P ):将输入数据加工得到输出数据
-
-
-
-
- 数据流:
它的起点和终点必须有一个是加工

6.2 做题技巧
- 先去看父子图平衡,就是看父图中的数据流,子图中是否缺失
- 再看每个处理是不都有输入和输出
- 最后根据文字信息看具体缺啥
7 数据字典
