文档介绍:第五章第五章总体设计总体设计 2 软件工程 - 2010 - 第五章总体设计第五章内容概要第五章内容概要??软件设计过程软件设计过程??软件设计原理软件设计原理??启发规则启发规则??描绘软件结构的图形工具描绘软件结构的图形工具??面向数据流的设计方法面向数据流的设计方法??软件体系结构软件体系结构★★ 3 软件工程 - 2010 - 第五章总体设计软件设计的本质软件设计的本质 4 软件工程 - 2010 - 第五章总体设计??过去软件设计曾被狭隘地认为是过去软件设计曾被狭隘地认为是““编程序编程序””或或““写代写代码码””,致使软件设计没有发挥它重要的作用,导致,致使软件设计没有发挥它重要的作用,导致软件系统结构稳定性极差: 软件系统结构稳定性极差: 软件设计的本质软件设计的本质 5 软件工程 - 2010 - 第五章总体设计??软件设计是软件开发过程中承前启后的工软件设计是软件开发过程中承前启后的工作,它依据软件需求规格说明书建立软件作,它依据软件需求规格说明书建立软件设计方案,作为下一步程序编码的依据设计方案,作为下一步程序编码的依据; ; ??是在软件开发中形成质量的地方:设计提是在软件开发中形成质量的地方:设计提供了可用于质量评估的软件表示; 供了可用于质量评估的软件表示; ??是将需求准确转换为完整的软件产品或系是将需求准确转换为完整的软件产品或系统的唯一办法; 统的唯一办法; 软件设计的本质软件设计的本质 6 软件工程 - 2010 - 第五章总体设计软件设计过程软件设计过程开发阶段的信息流开发阶段的信息流 7 软件工程 - 2010 - 第五章总体设计??概要设计概要设计:将软件需求转化为数据结构和:将软件需求转化为数据结构和软件的系统结构,即系统的模块划分。软件的系统结构,即系统的模块划分。??详细设计详细设计:通过对系统的结构表示(每个:通过对系统的结构表示(每个模块的内部工作)进行细化,得到软件的模块的内部工作)进行细化,得到软件的详细的数据结构和算法。详细的数据结构和算法。软件设计过程软件设计过程 8 软件工程 - 2010 - 第五章总体设计??总体设计过程通常由两个主要阶段组成: 总体设计过程通常由两个主要阶段组成: ??系统设计阶段系统设计阶段:确定系统的具体实现方案; :确定系统的具体实现方案; ??结构设计阶段结构设计阶段:确定软件结构。:确定软件结构。??典型的总体设计过程包括以下典型的总体设计过程包括以下 9 9个步骤个步骤: : 软件设计过程软件设计过程 9 软件工程 - 2010 - 第五章总体设计 1. : 设想供选择的方案: ??需求分析阶段得出的数据流图是总体设计的需求分析阶段得出的数据流图是总体设计的极好的出发点。极好的出发点。??设想供选择的方案的一种常用的方法是,设设想供选择的方案的一种常用的方法是,设想把数据流图中的处理分组的各种可能的方想把数据流图中的处理分组的各种可能的方法,抛弃在技术上行不通的分组方法法,抛弃在技术上行不通的分组方法( (例如, 例如, 组内不同处理的执行时间不相容组内不同处理的执行时间不相容) ),余下的分,余下的分组方法代表可能的实现策略,并且可以启示组方法代表可能的实现策略,并且可以启示供选择的物理系统。供选择的物理系统。软件设计过程软件设计过程 10 软件工程 - 2010 - 第五章总体设计 2. : 选取合理的方案: ??从一系列方案中选取若干个合理的方案从一系列方案中选取若干个合理的方案, ,通常通常至少选取低成本、中等成本和高成本的至少选取低成本、中等成本和高成本的 3 3种方种方案案??对每个合理的方案分析员都应该准备下列对每个合理的方案分析员都应该准备下列 4 4份份资料: 资料: (1) (1) 系统流程图; 系统流程图; (2) (2) 组成系统的物理元素清单; 组成系统的物理元素清单; (3) (3) 成本/效益分析; 成本/效益分析; (4) (4) 实现这个系统的进度计划; 实现这个系统的进度计划; 软件设计过程软件设计过程