软件工程第五章总体设计ppt培训课件

软件工程第五章总体设计ppt培训课件

ID:17935262

大小:1.20 MB

页数:105页

时间:2018-09-11

软件工程第五章总体设计ppt培训课件_第1页
软件工程第五章总体设计ppt培训课件_第2页
软件工程第五章总体设计ppt培训课件_第3页
软件工程第五章总体设计ppt培训课件_第4页
软件工程第五章总体设计ppt培训课件_第5页
资源描述:

《软件工程第五章总体设计ppt培训课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1软件工程2第五章总体设计设计过程设计原理启发规则描绘软件结构的图形工具面向数据流的设计方法35.1设计过程概要设计的任务◎设计实现软件的最佳方案◎设计软件体系结构41.设想供选择的方案在数据流程图的基础上,一个边界一个边界设想并列出供选择的方案。不评价这些供选择的方案5.1设计过程5通常,选取的这些方案中至少应包括低成本、中成本和高成本的三种方案类型。对每个合理方案要提供以下几方面资料:(1)系统流程图;(2)数据字典;(3)成本/效益分析;(4)实现这个系统的进度计划。5.1设计过程62.选取合理的方案从上一步得到

2、的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等成本和高成本的三种方案。根据系统分析确定的目标,来判断哪些方案是合理的。5.1设计过程73.推荐最佳方案综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并为最佳方案制定详细的实现计划。5.1设计过程84.功能分解对流程图进一步细化,进行功能分解5.1设计过程95.设计软件结构软件结构反映系统中模块的相互调用关系:顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,最下层的模块完成最具体的功能。软件结构通过层次图或结构图来描

3、绘,可以直接从数据流程图映射出软件结构。5.1设计过程10对于大型系统的设计,通常分为两个阶段:结构设计和过程设计。结构设计:确定系统由哪些模块组成,以及这些模块之间的相互关系。过程设计:确定每个模块的处理过程。其中,结构设计是总体设计阶段的任务,而过程设计则是详细设计阶段的任务。5.1设计过程116.数据库设计数据库的应用越来越广泛,目前大多数的系统都要用到数据库技术。数据库设计是一项专门的技术,包括模式设计、子模式设计、完整性和安全性设计和优化处理等。5.1设计过程127.制定测试计划在软件开发的早期阶段提前考虑软

4、件的测试计划是很有必要的。这样能促使软件设计人员在设计时注意到软件的测试问题,从而有利于提高软件的可测试性。5.1设计过程138.书写文档文档包括:系统说明用户手册测试计划详细的实现计划数据库设计结果5.1设计过程149.审查和复审后管理审查先技术审查5.1设计过程15软件设计准则模块化抽象逐步求精信息隐藏模块独立5.2软件设计准则161.模块化模块是由边界元素限定的相邻的程序元素(例如,数据说明,可执行的语句)的序列,而且有一个总体标识符来代表它。在高级语言中,模块具体表现为函数、子程序、过程等。一个模块具有输入/输

5、出(接口)、功能、内部数据和程序代码四个特征。模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。模块化与模块独立17当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本(工作量)确实减少了;但是,随着模块数目增加,设计模块间接口所需要的工作量也将增加。每个程序都相应地有一个最适当的模块数目M,使得系统的开发成本最小。图3.1模块化和软件成本的关系模块化与模块独立18人们在实践中认识到,在现实世界中一定事物、状态或过程之间总

6、存在着某些相似的方面(共性)。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。抽象(1)过程的抽象在软件工程中,从系统定义到实现,每进展一步都可以看做是对软件解决方法的抽象化过程的一次细化。(2)数据抽象在不同层次上描述数据对象的细节,定义与该数据对象相关的操作。20逐步求精定义:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。”原因Miller法则:一个人在任何时候都只能把注意力集中在7±2个知识块上求精要求设计者细化原始陈述,随着每

7、个后续求精(细化)步骤的完成而提供越来越多的细节。抽象与求精是一对互补的概念。21信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。实际上,应该隐藏的不是有关模块的一切信息,而是模块的实现细节。信息隐藏问题:“为了得到最好的一组模块,应该怎样分解软件”。22开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。模块独立有效的模块化(即具有独立的模块)的软件比较容易开发出来;独立的模块比较容易测试和维护。原因23⑴耦合(C

8、oupling)GreatdealofdependenceIndependentHighlycoupledLooselycoupledUncoupled耦合表示一个软件结构内各个模块之间的互连程度,应尽量选用松散耦合的系统24例1:A访问C的内部数据或不通过正常入口而转入C的内部。……ABCDA:……………………gotoC1…

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。