- 1、本文档共97页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 结构化软件设计 通过软件设计将用户的需求变为实现软件的“蓝图”。蓝图只描述软件的整体框架,也叫做总体设计。总体设计之后,就要对软件进行详细设计,通过对软件设计的不断细化,形成一个可以实施的设计方案。 软件设计的最终目标是要取得最佳方案。“最佳”是指在所有候选方案中,能够以最低的成本,在最短的时间内,生产出可靠性和可维护性俱佳软件的方案。 5.1 软件设计过程 软件设计是以总体框架设计为起始点,根据用户的需求先确定软件系统的总体结构和总的设计原则,用户对总体设计满意后,对软件的实现算法和数据结构进行细节设计。 用户从总体设计中只能知道系统做什么,而不能获得有关系统如何工作的细节。 详细设计 详细设计是解决系统具体怎样做的问题。 与总体设计相比,详细设计主要描述软件功能的具体实现方法、人机界面、输入和输出,以及软件元素在网络上的布局等。 也就是说,详细设计是系统说明的一个技术层面上的描述,详细设计的结果可以直接由程序员在实现阶段将它翻译成具体的程序语句。 典型总体设计过程(1) (1)设想供选择的方案。 需求分析得到的数据流程图是总体设计的出发点,设计者根据数据流程图中某些处理的逻辑关系,将相关的处理归并在一起,形成子系统。 不同的子系统组合产生不同的系统实现方案,对每种合理的方案都应该准备下列四份资料:系统流程图、组成系统的元素清单、成本/效益分析、实现这个方案的进度计划。 设计人员给出对每种方案的评价。 典型总体设计过程(2) (2)推荐最佳方案。 (3)功能分解,确定软件结构。 设计人员结合算法描述仔细分析数据流程图中的每个处理,如果一个处理的功能过于复杂,应该把它适当地分解成比较简单的功能,功能分解导致数据流程图的进一步细化。 细化之后,通常一个模块只完成一个适当的功能,每个模块对大多数程序员而言都是易于理解的。 典型总体设计过程(3) (4)设计软件结构。设计人员把模块组织成层次结构,顶层模块调用它的下层模块,每个下层模块再调用更下层的模块,最下层的模块完成最具体的功能。这样自顶向下实现一个完整的功能。 (5)数据设计。确定实现系统所必须的数据、数据之间的关系、存储数据的实体。 (6)制定测试计划。 典型总体设计过程(4) (7)书写文档。 总体设计规格说明书:包括系统实现方案,软件结构设计,简要的模块说明,模块间的接口关系说明,数据和数据结构说明、文件设计说明和数据库设计说明。需求、功能和模块三者之间的交叉参照关系表等等。 用户手册:根据总体设计结果,完善需求分析阶段编写的用户手册。 测试计划:包括测试策略,测试方案,预期的测试结果,测试进度、计划等等。 典型总体设计过程(5) (8)设计审查和复审。对总体设计的结果进行技术审查,在技术审查通过之后再由使用部门的负责人从管理角度进行复审。 详细设计过程: 详细设计每个软件模块的实现算法和内部数据结构。 详细设计每个用户界面,包括操作命令。 详细设计输入输出数据的内容和格式。 详细设计程序的错误处理方法,并且列出一个错误处理清单表。 上述内容构成了详细设计文档。 典型总体设计过程(6) (9)评审详细设计。主要检查算法的正确性、易理解和可实现性;数据结构的简洁性、灵活性。 开发阶段的信息流 5.2 软件设计原则和影响设计的因素 软件设计是一项创造性工作,以往的设计经验和良好的设计灵感、以及对质量的深刻理解都会对设计产生影响。 软件设计过程是一系列迭代的步骤,设计者自顶向下、由粗至细逐步构造系统。 设计人员的理解力和喜好、文化背景、信仰、价值观等其他方面的问题影响软件设计。如果没有一致的规范约束,有可能导致设计的系统无法满足要求。 软件设计原则(1) (1)多样化设计。一名好的设计师应该考虑设计的替代方案,通常应该提供多种设计方案可供评审和选择。 (2)设计可回溯到需求。软件设计中的每个元素可能会对应到多个需求,也可能一个需求对应多个软件元素。为了使软件满足用户的需求,设计师一定要保证设计的可回溯性。 (3)充分利用已有的模块。一个复杂的软件通常是由一系列模块组成,很多模块可能在以前的系统中已经开发过了,如果这些模块设计的好,具有良好的可复用性,那么,在设计新软件时应该尽可能使用已有的模块。 软件设计原则(2) (4)设计应该表现出一致性和规范性。在设计开始之前,设计小组应该定义设计风格和设计规范,保证不同的设计人员设计出风格一致的软件。 (5)设计的易修改性。软件开发的整个过程中都存在着变化,变化是永恒的,因此,软件设计时必须要考虑到设计的易修改性。 (6)容错性设计。不管多么完善的软件都可能有潜在的问题,所以,设计人员应该为软件进行容错性设计,当软件遇到异常数据、事件或操作时,软件不至于彻底崩溃。 软件设计原则(3) (7)设计的粒
您可能关注的文档
- 别让野田烟雾弹迷住了眼.doc
- 论文化产业和其运作规律.doc
- 企业图书管理制度研究资料汇编探究.doc
- 察情观态析情态.doc
- 912新能源产业相关知名协会.docx
- 金竹山中心学校校园文化建设方案汇编.doc
- 莫让文化低了高度 如皋中学考生 范勇平探究.doc
- 锂电池100问汇编.doc
- 竹脚手架安装及拆除方案.doc
- 发动机不熄火论文介绍.doc
- 2025年金肯职业技术学院单招职业适应性测试题库带答案.docx
- 2025年钦州幼儿师范高等专科学校单招综合素质考试题库完美版.docx
- 2025年钟山职业技术学院单招职业适应性考试题库参考答案.docx
- 2025年金华职业技术学院单招职业技能测试题库附答案.docx
- 2025年闽南理工学院单招职业技能测试题库审定版.docx
- 2025年闽南理工学院单招综合素质考试题库审定版.docx
- 2025年闽南理工学院单招职业倾向性考试题库汇编.docx
- 2025年闽南理工学院单招职业倾向性考试题库推荐.docx
- 2025年闽北职业技术学院单招综合素质考试题库1套.docx
- 2025年长沙轨道交通职业学院单招职业技能考试题库一套.docx
文档评论(0)