第二节系统设计的方法 结构化设计是将一个大系统划分为若干个功能 模块,每个功能模块再划分为若干个子模块,自 顶向下,层层分解,完成系统的全部功能。 模块究竞如何划分,到目前为止,没有一个 严格的、绝对的标准,好的模块划分方法不是唯 的,同一个问题由不同的设计人员考虑,可能 得到不同的结果。但是评价模块结构图模块划分 的质量高低,也就是评价标准,主要看模块的划 分是否符合下面四项基本原则
结构化设计是将一个大系统划分为若干个功能 模块,每个功能模块再划分为若干个子模块,自 顶向下,层层分解,完成系统的全部功能。 模块究竟如何划分,到目前为止,没有一个 严格的、绝对的标准,好的模块划分方法不是唯 一的,同一个问题由不同的设计人员考虑,可能 得到不同的结果。但是评价模块结构图模块划分 的质量高低,也就是评价标准,主要看模块的划 分是否符合下面四项基本原则。 第二节 系统设计的方法
第二节系统设计的方法 模块划分的四项基本原则: (1)模块间的独立性 (2)模块间的低耦合性 ①数据耦合:两个模块之间是调用关系,相互传 递的信息以参数形式给出。它是模块耦合性最弱 的一种形式。 ②特征耦合:两个模块都与同一数据结构有关, 这种状态可以转化为数据耦合
模块划分的四项基本原则: ⑴ 模块间的独立性 ⑵ 模块间的低耦合性 ① 数据耦合:两个模块之间是调用关系,相互传 递的信息以参数形式给出。它是模块耦合性最弱 的一种形式。 ② 特征耦合:两个模块都与同一数据结构有关, 这种状态可以转化为数据耦合。 第二节 系统设计的方法
第二节系统设计的方法 (2)模块间的低耦合性 ③控制耦合:上级模块向下属模块传递的数据, 控制了下属模块的内部逻辑,下属模块做出判断 向上级模块反馈 开关标识”或者“逻辑状 太” ④公共耦合:一些模块需引用全局变量,使得使 用全局变量的模块相互依赖,相互影响 ⑤内容耦合:一个模块对另一模块内容作直接引 用,也许通过非正常入口进入另一模块,或对另 模块的内容作直接的修改。这样的耦合关系使 得模块间的联系过分紧密,常常给后期的开发和
⑵ 模块间的低耦合性 ③ 控制耦合:上级模块向下属模块传递的数据, 控制了下属模块的内部逻辑,下属模块做出判断, 向上级模块反馈一个“开关标识”或者“逻辑状 态” 。 ④ 公共耦合:一些模块需引用全局变量,使得使 用全局变量的模块相互依赖,相互影响。 ⑤ 内容耦合:一个模块对另一模块内容作直接引 用,也许通过非正常入口进入另一模块,或对另 一模块的内容作直接的修改。这样的耦合关系使 得模块间的联系过分紧密,常常给后期的开发和 维护工作带来不便。 第二节 系统设计的方法
第二节系统设计的方法 (3)模块的高内聚性 指一个模块的内部各处理步骤之间的联系程度,联系 紧密则为聚合性高。在进行模块划分时,可能遇到的 模块聚合有以下几种: ①功能聚合:一个模块内各组成部分为执行同一功能而 存在,并且只执行一种功能。 ②顺序聚合:一个模块内部各组成部分中,前一个处理 动作产生的输出,是后一个处理动作的输入数据 ③通讯聚合:模块内部各组成部分的处理功能都能使用 同一输入数据或相同的输出数据
⑶ 模块的高内聚性 指一个模块的内部各处理步骤之间的联系程度,联系 紧密则为聚合性高。在进行模块划分时,可能遇到的 模块聚合有以下几种: ①功能聚合:一个模块内各组成部分为执行同一功能而 存在,并且只执行一种功能。 ②顺序聚合:一个模块内部各组成部分中,前一个处理 动作产生的输出,是后一个处理动作的输入数据。 ③通讯聚合:模块内部各组成部分的处理功能都能使用 同一输入数据或相同的输出数据。 第二节 系统设计的方法
第二节系统设计的方法 (3)模块的高内聚性 ④过程聚合:模块内各组成部分的处理动作,虽不相同 但没有什么联系,且都受同一控制源的支配。 ⑤时间聚合:模块内各组成部分的处理动作只和时间有 关 ⑥逻辑聚合:模块内各组成部分的处理动作在逻辑上相 似,但其功能彼此无关,也不相同。 ⑦机械聚合:模块内各组成部分的处理动作彼此没有任 何关系。 聚合性既然表示了模块内部各个处理步骤间的联系 紧密程度,也就反映了模块内部各个处理步骤组合强 度。图2.14给出几种聚合性的强弱比较
⑶ 模块的高内聚性 ④过程聚合:模块内各组成部分的处理动作,虽不相同, 但没有什么联系,且都受同一控制源的支配。 ⑤时间聚合:模块内各组成部分的处理动作只和时间有 关。 ⑥逻辑聚合:模块内各组成部分的处理动作在逻辑上相 似,但其功能彼此无关,也不相同。 ⑦机械聚合:模块内各组成部分的处理动作彼此没有任 何关系。 聚合性既然表示了模块内部各个处理步骤间的联系 紧密程度,也就反映了模块内部各个处理步骤组合强 度。图2.14给出几种聚合性的强弱比较。 第二节 系统设计的方法