1、信息科学与技术学院 闵笛软件工程第五章总体设计v5 . 1 设计过程 v5 . 2 设计原理 v5 . 3 启发规则 v5 . 4 描绘软件结构的图形工具v5 . 5 面向数据流的设计方法 v5 . 6 小结v 习题信息科学与技术学院 闵笛软件工程学习要求v 掌握: v1 、软件设计过程中应遵循的基本原理和相关概念; v2 、描绘软件结构的图形工具的运用; v3 、面向数据流设计方法概念;变换分析、事务分析法过程和应用。v 理解: v1 、典型的总体设计过程包括的步骤; v2 、设计中的启发式规则 ;信息科学与技术学院 闵笛软件工程重点和难点v 重点 :v 软件设计过程中应遵循的基本原理;v
2、面向数据流的设计方法v 难点 :v 变换分析、事务分析法的过程和应用信息科学与技术学院 闵笛软件工程软件设计的目标和任务v 软件需求:解决 “做什么 ”v 软件设计:解决 “怎么做 ”v 软件设计的任务: 以软件需求规格说明书为依据,着手实现软件的需求,并将设计的结果反映在 “设计规格说明书 ”文档中。v 软件设计的重要性: 是软件开发阶段的第一步,最终影响软件实现的成败和软件维护的难易程度。信息科学与技术学院 闵笛软件工程软件设计的两个阶段v 第一阶段:概要设计(总体设计)v 根据软件需求,设计软件系统结构和数据结构,确定程序的组成模块及模块之间的相互关系。v 回答 “概括地说,系统应该如何
3、实现? ”。v 其重要性是:站在全局高度,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。信息科学与技术学院 闵笛软件工程软件设计的两个阶段v 第二阶段:详细设计(过程设计)v 确定模块内部的算法和数据结构;选定某种过程的表达形式来描述各种算法;产生精确描述各模块程序过程的详细文档,并进行评审。信息科学与技术学院 闵笛软件工程将需求分析模型转换为软件设计v 软件结构设计以需求分析中得到的数据流图为基础而进行。信息科学与技术学院 闵笛软件工程第一个阶段总体设计的任务v 制定规范 v 设计软件系统结构(简称软件结构) v 处理方式设计v 数据结构及数据库设计 v 可靠性设计 v 编写概要设计文档v 概要设计评审信息科学与技术学院 闵笛软件工程 制定规范v 为软件开发小组制定在进行软件设计时,应该共同遵守的标准,以便协调组内各成员的工作。信息科学与技术学院 闵笛软件工程 软件结构设计v 包括:v 将系统按功能划分成模块v 确定每个模块的功能v 确定模块之间的调用关系v 确定模块之间的接口,即模块之间传递的信息v 评价模块结构的质量