结构化开发方法
结构化开发方法是一种面向数据流的开发方法。
指导思想:自顶向下,逐层分解。
适合数据处理领域的问题,不适合大规模、特别复杂的项目。
基本构成
- 结构化分析
产生数据流图 - 结构化设计
- 体系结构设计
定义软件主要结构元素及其关系。 - 数据设计
基于E-R图确定软件涉及的文件系统的结构及数据库表的结构。 - 接口设计
各模块外部接口以及各构件之间内部接口的设计。 - 过程设计
算法及内部数据结构的设计。
- 体系结构设计
- 结构化程序设计
耦合
耦合分类(由低到高排序)
- 非直接耦合
两个模块没有直接关系,完全是由主模块的控制和调度来实现的。 - 数据耦合
两个模块通过数据参数交换输入输出数据。 - 标记耦合
两个模块通过数据结构本身传递信息。 - 控制耦合
- 外部耦合
- 公共耦合
一组模块访问同一个公共数据环境。 - 内容耦合
一个模块访问另一个模块的内部数据,一个模块不通过正常入口转到另一个模块内部,两个模块有重复代码或一个模块有多个入口。
内聚分类
- 偶然内聚
模块内各个处理元素间没有任何联系。 - 逻辑内聚
模块内几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。 - 时间内聚
把需要同时执行的动作组合在一起形成的模块。 - 通信内聚
模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或者产生相同的输出数据。 - 过程内聚
一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行。 - 顺序内聚
模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一个功能元素的输出是下一个功能元素的输入。 - 功能内聚
最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。
可维护性评价指标
- 可理解
- 可测试
- 可修改
- 可靠性
- 可移植性
- 可使用性
- 效率