第4章 软件系统设计.ppt
文本预览下载声明
1.3 软件生存期(software life cycle) 第4章 软件系统设计 * * 结束 返回 练习 3、请将下列给出的 DFD 图转换成SC图 AB A B BC T3 T2 T1 CD DE EH FJ HK KL LM B1 B2 B3 C1 C2 C3 D E F G H J K L M 第4章 软件系统设计 * * 结束 返回 练习 4、请将下列给出的 DFD图导出它的SC图 1 2 3 4 16 5 6 7 8 9 10 12 15 14 13 11 a b c d e f g h i j k l n o p m * * 第4章 软件系统设计 * * 结束 返回 本章小结 软件设计是一个将软件需求转换为软件实现方案的过程,分为体系结构设计和详细设计两个阶段。 体系结构设计阶段主要完成对系统宏观结构的设计,详细设计阶段则完成系统内部实现细节的确定。 系统体系结构的设计应遵循相应的设计原则,特别是要保证模块的独立性。 第4章 软件系统设计 * * 结束 返回 4.4.3 软件模块结构的改进 2、消除重复功能,改善软件结构。 完全相似 局部相似 第4章 软件系统设计 * * 结束 返回 4.4.3 软件模块结构的改进 X Y R1 R2 物理 输入 相似部分 X Y R1 R2 R X+R1 Y+R2 R 相似模块的各种合并方案的示意图 图4.48 第4章 软件系统设计 * * 结束 返回 4.4.3 软件模块结构的改进 3、模块的作用范围应在控制范围之内。 作用范围:是一个与条件判定 相关联的所有模块。 控制范围:包括模块本身及其 所有的从属模块(即供它调用 的模块)。 第4章 软件系统设计 * * 结束 返回 4.4.3 软件模块结构的改进 模块的控制范围:包括模块本身及其所有的从 属模块(即供它调用的模块)。 A B D C E F G 图4.49 关于模块的控制范围示意图 第4章 软件系统设计 * * 结束 返回 4.4.3 软件模块结构的改进 模块的作用范围:是指受这个模块中的 判定所影响的模块 。 Top A B C D E G G D B C 控制 耦合 图4.50 第4章 软件系统设计 * * 结束 返回 图4.51 模块的作用域和控制域 例如,在图4.51中,模块C的控制域为模块C、E和F;若在模块C中存在一个对模块D、E和F均有影响的判定条件,即模块C的作用域为模块C、D、E和F(图中带阴影的模块),则显然模块C的作用域超出了其控制域。 由于模块D在模块C的作用域中,因此模块C对模块D的控制信息必然要通过上级模块B进行传递,这样不但会增加模块间的耦合性,而且会给模块的维护和修改带来麻烦(若要修改模块C,可能会对不在它控制域中的模块D造成影响)。 因此,软件设计时应使各个模块的作用域处于其控制域范围之内。若发现不符合此设计原则的模块,可通过下面的方法进行改进: ① 将判定位置上移。如将图4.51中的模块C中的判定条件上移到上级模块B中或将模块C整个合并到模块B中。 ② 将超出作用域的模块下移。如将图4.51中的模块D移至模块C的下一层上,使模块D处于模块C的控制域中。 第4章 软件系统设计 * * 结束 返回 4.4.3 软件模块结构的改进 对于一个理想SC图中的模块设计,所有受到一个判定影 响的模块应该都从属该判定所在的模块,最好位于作出判 定的那个模块本身及它的直接下属模块。 计算 实发工资 取得 工资数据 计时工人 实发工资 计薪工人 实发工资 编外人员 实发工资 计
显示全部