
第四章结构化软件设计 。1.软件设计的概念 ●2.软件设计原则和影响设计的因素 ●3.结构化设计方法 ·4.设计复杳 ●5.数据设计 ●6.详细设计
1 第四章 结构化软件设计 ⚫ 1.软件设计的概念 ⚫ 2.软件设计原则和影响设计的因素 ⚫ 3.结构化设计方法 ⚫ 4.设计复查 ⚫ 5.数据设计 ⚫ 6.详细设计

1.软件设计的概念 ● 软件设计是以总体框架设计为起始点,根据用户的需 求先确定软件系统的总体结构和总的设计原则,用户 对总体设计满意后,对软件的实现算法和数据结构进 行细节设计。 ·软件设计包括总体设计和详细设计: ,用户从总体设计中只能知道系统做什么,而不能获得有关系 统如何工作的细节。 详细设计是解决系统具体怎样做的问题。与总体设计相比, 详细设计主要描述软件功能的具体实现方法、人机界面、输 入和输出,以及软件元素在网络上的布局等。也就是说,详 细设计是系统说明的一个技术层面上的描述,详细设计的结 2 果可以直接由程序员在实现阶段将它翻译成具体的程序语句
2 1. 软件设计的概念 ⚫ 软件设计是以总体框架设计为起始点,根据用户的需 求先确定软件系统的总体结构和总的设计原则,用户 对总体设计满意后,对软件的实现算法和数据结构进 行细节设计。 ⚫ 软件设计包括总体设计和详细设计: ➢ 用户从总体设计中只能知道系统做什么,而不能获得有关系 统如何工作的细节。 ➢ 详细设计是解决系统具体怎样做的问题。与总体设计相比, 详细设计主要描述软件功能的具体实现方法、人机界面、输 入和输出,以及软件元素在网络上的布局等。也就是说,详 细设计是系统说明的一个技术层面上的描述,详细设计的结 果可以直接由程序员在实现阶段将它翻译成具体的程序语句

1.软件设计的概念 ●用户需求 软件设计一软件的蓝图 软件设计 总体设计 详细设计 系统做什么 系统怎样做 3
3 1. 软件设计的概念 ⚫ 用户需求 软件的蓝图 ⚫ 软件设计 总体设计 详细设计 系统做什么 系统怎样做 软件设计

1.软件设计的概念 ●软件设计的最终目标: 以最低的成本,在最短的时间内,生产出可靠 性和可维护性俱佳软件的方案
4 1. 软件设计的概念 ⚫ 软件设计的最终目标: 以最低的成本,在最短的时间内,生产出可靠 性和可维护性俱佳软件的方案

1.软件设计的概念 ● 模块和模块化 ·独立性 。抽象 ·信息隐蔽 5
5 1. 软件设计的概念 ⚫ 模块和模块化 ⚫ 独立性 ⚫ 抽象 ⚫ 信息隐蔽

1.1模块和模块化 。模块:一般把用一个名字就可调用的一段程序 称为“模块” 模块具有三个基本属性: >功能:即指该模块要完成的任务(要做什么)。 ~逻辑:即描述模块为了完成任务,模块内部怎么做 (要怎么做)。 >状态:即使用该模块时的环境和条件(什么条件下 去做)。 6
6 1.1 模块和模块化 ⚫ 模块:一般把用一个名字就可调用的一段程序 称为“模块” 。 ⚫ 模块具有三个基本属性: ➢ 功能:即指该模块要完成的任务(要做什么)。 ➢ 逻辑:即描述模块为了完成任务,模块内部怎么做 (要怎么做)。 ➢ 状态:即使用该模块时的环境和条件(什么条件下 去做)

1.1模块和模块化 ●模块的外部特性(总体设计阶段的任务): 指模块的模块名、模块的输入输出参数,以 及它给程序乃至整个系统造成的影响。 。模块的内部特性(详细设计阶段的任务): 指完成其功能的程序代码和仅供该模块内部使 用的数据
7 1.1 模块和模块化 ⚫ 模块的外部特性(总体设计阶段的任务): 指模块的模块名、模块的输入/输出参数,以 及它给程序乃至整个系统造成的影响。 ⚫ 模块的内部特性(详细设计阶段的任务): 指完成其功能的程序代码和仅供该模块内部使 用的数据

1.1模块和模块化 ● 模块化:就是把整个系统划分成若干个模块, 每个模块完成一个子功能,将多个模块组织起 来实现整个系统的功能: ·模块化设计方法强调的是清楚地定义每个模块 的功能和它的输入/输出参数,而模块的实现 细节隐藏在各自的模块之中。 8
8 1.1 模块和模块化 ⚫ 模块化:就是把整个系统划分成若干个模块, 每个模块完成一个子功能,将多个模块组织起 来实现整个系统的功能。 ⚫ 模块化设计方法强调的是清楚地定义每个模块 的功能和它的输入/输出参数,而模块的实现 细节隐藏在各自的模块之中

1.1模块和模块化 ●模块化的优点: 模块的实现细节隐藏在各自模块之中,与其 它模块之间的关系可以是调用关系,因此,模 块化程序易于调试和修改。 。模块化的缺点: 随着模块规模的减小,模块的开发成本减少: 但是模块之间的接口变得复杂起来,使得模块 的集成成本增加。 9
9 1.1 模块和模块化 ⚫ 模块化的优点: 模块的实现细节隐藏在各自模块之中,与其 它模块之间的关系可以是调用关系,因此,模 块化程序易于调试和修改。 ⚫ 模块化的缺点: 随着模块规模的减小,模块的开发成本减少, 但是模块之间的接口变得复杂起来,使得模块 的集成成本增加

1.2独立性 软件设计中应保持模块的独立性原则,反映模 块独立性的有两个标准: ·耦合:指模块间相互关联的程度 ·内聚:衡量一个模块内部各个元素彼此结合 的紧密程度 10
10 1.2 独立性 软件设计中应保持模块的独立性原则,反映模 块独立性的有两个标准: ⚫ 耦合 :指模块间相互关联的程度 ⚫ 内聚 :衡量一个模块内部各个元素彼此结合 的紧密程度