第04章结构化设计part1.ppt

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

传统的软件工程方法学采用结构化设计(Structured Design,SD)技术,完成软件设计工作,通常把软件设计工作划分为概要设计和详细设计这样两个阶段。 软件设计在软件工程过程中处于技术核心地位,而且不依赖于所使用的软件过程模型和程序设计语言。 本章讲授结构化设计的原理和工具。 通过软件设计将用户的需求变为实现软件的“蓝图”。蓝图只描述软件的整体框架,也叫做概要设计。概要设计之后,就要对软件进行详细设计,通过对软件设计的不断细化,形成一个可以实施的设计方案。 软件设计的最终目标是要取得最佳方案。“最佳”是指在所有候选方案中,能够以最低的成本,在最短的时间内,生产出可靠性和可维护性俱佳软件的方案。 软件设计是以总体框架设计为起始点,根据用户的需求先确定软件系统的总体结构和总的设计原则,用户对总体设计满意后,对软件的实现算法和数据结构进行细节设计。 用户从总体设计中只能知道系统做什么,而不能获得有关系统如何工作的细节。 详细设计 详细设计是解决系统具体怎样做的问题。 与概要设计相比,详细设计主要描述软件功能的具体实现方法、人机界面、输入和输出,以及软件元素在网络上的布局等。 也就是说,详细设计是系统说明的一个技术层面上的描述,详细设计的结果可以直接由程序员在实现阶段将它翻译成具体的程序语句。 4.1 结构化设计与结构化分析的关系 软件设计必须依据对软件的需求来进行,结构化分析的结果为结构化设计提供了最基本的输入信息。 软件设计过程中的信息流。 由数据模型、功能模型和行为模型清楚地表示的软件需求被传送给软件设计者,他们使用适当的设计方法完成数据设计、体系结构设计、接口设计和过程设计。 数据设计把分析阶段创建的信息域模型转变成实现软件所需要的数据结构。 体系结构设计确定了程序的主要结构元素(即程序构件)之间的关系。 接口设计的结果描述了软件内部、软件与协作系统之间以及软件与使用者之间的通信方式。 过程设计程序体系结构中的结构元素,变换成对软件序构件的过程性描述。 典型总体设计过程 (1)设想供选择的方案。 需求分析得到的数据流程图是总体设计的出发点,设计者根据数据流程图中某些处理的逻辑关系,将相关的处理归并在一起,形成子系统。 不同的子系统组合产生不同的系统实现方案,对每种合理的方案都应该准备下列四份资料:系统流程图、组成系统的元素清单、成本/效益分析、实现这个方案的进度计划。 设计人员给出对每种方案的评价。 (2)推荐最佳方案。 (3)功能分解,确定软件结构。 设计人员结合算法描述仔细分析数据流程图中的每个处理,如果一个处理的功能过于复杂,应该把它适当地分解成比较简单的功能,功能分解导致数据流程图的进一步细化。 细化之后,通常一个模块只完成一个适当的功能,每个模块对大多数程序员而言都是易于理解的。 (4)设计软件结构。设计人员把模块组织成层次结构,顶层模块调用它的下层模块,每个下层模块再调用更下层的模块,最下层的模块完成最具体的功能。这样自顶向下实现一个完整的功能。 (5)数据设计。确定实现系统所必须的数据、数据之间的关系、存储数据的实体。 (6)制定测试计划。 (7)书写文档。 总体设计规格说明书:包括系统实现方案,软件结构设计,简要的模块说明,模块间的接口关系说明,数据和数据结构说明、文件设计说明和数据库设计说明。需求、功能和模块三者之间的交叉参照关系表等等。 用户手册:根据总体设计结果,完善需求分析阶段编写的用户手册。 测试计划:包括测试策略,测试方案,预期的测试结果,测试进度、计划等等。 (8)设计审查和复审。对总体设计的结果进行技术审查,在技术审查通过之后再由使用部门的负责人从管理角度进行复审。 详细设计过程: 详细设计每个软件模块的实现算法和内部数据结构。 详细设计每个用户界面,包括操作命令。 详细设计输入输出数据的内容和格式。 详细设计程序的错误处理方法,并且列出一个错误处理清单表。 上述内容构成了详细设计文档。 开发阶段的信息流 软件设计原则 (1)多样化设计。一名好的设计师应该考虑设计的替代方案,通常应该提供多种设计方案可供评审和选择。 (2)设计可回溯到需求。软件设计中的每个元素可能会对应到多个需求,也可能一个需求对应多个软件元素。为了使软件满足用户的需求,设计师一定要保证设计的可回溯性。 (3)充分利用已有的模块。一个复杂的软件通常是由一系列模块组成,很多模块可能在以前的系统中已经开发过了,如果这些模块设计的好,具有良好的可复用性,那么,在设计新软件时应该尽可能使用已有的模块。 软件设计原则 (4)设计应该表现出一致性和规范性。在设计开始之前,设计小组应该定义设计风格和设计规范,保证不同的设计人员设计出风格一致

文档评论(0)

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

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

1亿VIP精品文档

相关文档