第3章 概要设计(总体设计).ppt

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 概要设计(总体设计)

软 件 工 程 第3章 概要设计(总体设计) 3.1 概要设计的任务 3.2 设计过程 3.3 设计原理 3.4 启发规则 3.5 描绘软件结构的图形工具 3.6 面向数据流的设计方法 补充:数据库设计步骤 §3.1 概要设计的任务 【基本目的】:是“系统应该如何实现?”,而不是“做什么”,因此,总体设计又称为概要设计或初步设计。 【设计内容】:划分出组成目标系统的物理元素——程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,黑盒子里的具体内容将在以后仔细设计。 【重要任务】:设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。 如何理解“概要设计”? 总体设计的好坏在根本上决定了软件系统的优劣。 无论哪个环节出了差错,都会把好事搞砸了。例如: 据说上帝把所有的女士都设计成天使,可是天使们在下凡的时候,有些人双脚先着地,有些人脸先着地。上帝的这一疏忽让很多女士伤透了心。所以我们在开发软件时,一定要吸取这个教训。 总体设计之源是软件需求。 软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的软件体系结构。 §3.2 设计过程 总体设计过程通常由两个主要阶段组成: 系统设计阶段,确定系统的具体实现方案; 结构设计阶段,确定软件结构。 比较全面的总体设计过程包括下述11个步骤: 1. 设想供选择的方案 在总体设计阶段开始时只有系统的逻辑模型,分析员有充分的自由分析比较不同的物理实现方案,一旦选出了最佳的方案,将能大大提高系统的性能/价格比。 另外,需求分析阶段得出的数据流图是总体设计的极好的出发点。 2. 选取合理的方案 从一系列供选择的方案中选取若干个合理的方案。至少选取低、中和高成本的三种方案。在判断哪些方案合理时,应该考虑在问题定义和可行性研究阶段确定的工程规模和目标,有时可能还需要进一步征求用户的意见。 对每个合理的方案分析员都应该准备下列4份资料: (1) 系统流程图; (2) 组成系统的物理元素清单; (3) 成本/效益分析; (4) 实现这个系统的进度计划。 3. 推荐最佳方案 分析员应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并为方案制定详细的实现计划和规范。制定详细实现计划的关键技术是本书第9章中将要介绍的工程网络。 方案只有通过审批才能进入总体设计过程的下一个重要阶段——结构设计。 4. 制定规范 在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。包括: 阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的条件,从而确定设计的目标,以及它们的优先顺序; 根据目标确定最合适的设计方法; 规定设计文档的编制标准; 规定编码的信息形式,与硬件,操作系统的接口规约,命名规则; 5. 功能分解 为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)。对程序(特别是复杂的大型程序)的设计,通常分为两个阶段完成: 结构设计:确定程序由哪些模块组成,以及这些模块之间的关系; 过程设计:确定每个模块的处理过程。 结构设计是总体设计阶段的任务,过程设计是详细设计阶段的任务。 为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。一般说来,经过分解之后应该使每个功能对大多数程序员而言都是明显易懂的。 功能分解导致数据流图的进一步细化,同时还应该用IPO图或其他适当的工具简要描述细化后每个处理的算法。 6. 设计软件结构 基于功能层次结构建立软件结构。 采用层次图或结构图设计方法,将系统按功能划分成模块的层次结构 确定每个模块的功能 建立与已确定的软件需求的对应关系 确定模块间的调用关系、接口 如果数据流图已经细化到适当的层次,则可以直接从数据流图映射出软件结构。 7.可靠性设计 可靠性设计也叫做质量设计 易于修改和易于维护。 8. 设计数据库 对用到数据库的应用软件系统,软件工程师应在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库(参考数据库课程)。 9. 制定测试计划 在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。 10. 书写文档 应该用正式的文档记录总体设计的结果,在这个阶段应该完成的文档通常有下述几种: (1) 系统说明书: 用系统流程图描绘的系统构成方案、对最佳方案的概括描述; 组成系统的物理元素清单,成本/效益分析; 精化的数据流图,用层次图或结构图描绘的软件结构; 用IPO图或其他工

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档