- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 总体设计 开始考虑“How” 关键问题:“概括地说,系统应该如何实现?”。 但仍属高层设计(确定黑盒关系) 两个主要阶段:系统设计-具体实现方案 结构设计-软件结构 4.1 总体设计的过程 1.设想供选择的方案 在数据流程图的基础上,一个边界一个边界设想并列出供选择的方案。 不评价这些供选择的方案。 2.选取合理的方案 从上一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等成本和高成本的三种方案。每个合理的方案应配备下列4份资料: ⑴系统流程图 ⑵组成系统的物理元素清单 ⑶成本/效益分析 ⑷进度计划 4.1总体设计的过程 3.推荐最佳方案 综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并为最佳方案制定详细的实现计划。 4.功能分解 结构设计-模块组成、模块关系; 过程设计-模块处理过程,详细设计阶段; 对流程图进一步细化,进行功能分解; 4.1总体设计的过程 5.设计软件结构 软件结构反映系统中模块的组成及相互调用关系:顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,最下层的模块完成最具体的功能。 软件结构通过层次图或结构图来描绘,可以直接从数据流程图映射出软件结构。 6.数据库设计 模式设计:确定逻辑数据库结构; 子(外)模式设计:用户使用的数据视图; 完整性和安全性设计: 优化: 4.1总体设计的过程 7.制定测试计划 8.书写文档 系统说明:概要设计说明书 用户手册 测试计划 详细的实现计划 数据库设计结果:数据库设计说明书 9.审查和复审 先技术审查 后管理审查 4.2 软件设计的概念和原理 一、模块化 1.模块:数据说明、可执行语句等程序对象的集合, 如过程、函数、子程序等。 2.模块化:把程序划分成若干个模块,每个模块完 成一个子功能,把这些模块集总起来组 成一个整体,可以完成指定的功能满足 问题的要求。 4.2 软件设计的概念和原理 3.模块化的理论根据 设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x需要的工作量。对于两个问题P1和P2,如果:C(P1)C(P2),则显然有: E(P1)E(P2) 根据人类解决一般问题的经验,有: C(P1+P2)C(P1)+C(P2) 进而获得:E(P1+P2)E(P1)+E(P2) 4.2 软件设计的概念和原理 模块化与软件成本 4.2 软件设计的概念和原理 二、抽象 抽出事务的本质特性而忽略细节,分层理解问题,自顶向下层层加细。 当我们考虑任何问题的解决方案时,可以给出许多抽象级别。在最高的抽象级别中,解决方案使用问题环境的语言来进行概括性术语描述,在低一些的抽象级别中,会有更加面向过程的倾向;最后,在最低的抽象层次用可以直接实现的方式叙述问题的解法。 在软件工程中,从系统定义到实现,每进展一步都可以看做是对软件解决方法的抽象化过程的一次细化。 4.2 软件设计的概念和原理 三、逐步求精 逐步求精:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。” 事实上,可以把逐步求精看作是一项把一个时期内必须解决的种种问题按优先级排序的技术。逐步求精方法确保每个问题都将被解决,而且每个问题都将在适当的时候被解决,但是,在任何时候一个人都不需要同时处理7个以上知识块。 逐步求精最初是一种自顶向下的设计策略。按照这种设计策略,程序的体系结构是通过逐步精化处理过程的层次而设计出来的。通过逐步分解对功能的宏观陈述而开发出层次结构,直至最终得出用程序设计语言表达的程序。 抽象与求精是一对互补的概念。抽象使得设计者能够说明过程和数据,同时却忽略低层细节。事实上,可以把抽象看作是一种通过忽略多余的细节同时强调有关的细节,而实现逐步求精的方法。求精则帮助设计者在设计过程中逐步揭示出低层细节。这两个概念都有助于设计者在设计演化过程中创造出完整的设计模型。 4.2 软件设计的概念和原理 四、信息隐蔽和局部化 信息隐蔽原理:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。 局部化的概念和信息隐蔽概念是密切相关的。所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。 “隐藏”意味着有效的模块化可以通过定义一组独立的模块而实现,这些独立的模
您可能关注的文档
最近下载
- 单相整流电路建模与仿真.doc VIP
- 2025年监理工程师之监理概论考试题库及答案(名师系列).docx VIP
- 2025年监理工程师之监理概论押题练习试卷B卷附答案 .pdf VIP
- 2025年监理工程师之监理概论考试题库及完整答案(必刷).docx VIP
- 2025年监理工程师之监理概论押题练习试卷A卷附答案 .pdf VIP
- 2025年-2025年监理工程师之监理概论题库附答案(基础题) .pdf VIP
- 2025年-2025年监理工程师之监理概论通关题库(附带答案).pdf VIP
- 四年级语文下册第二单元单元整体教学设计.docx
- 天津华宁KTC101系统说明书.pdf
- AI在小学数学教学中的应用教学研究课题报告.docx
文档评论(0)