软件工程第五章总体设计.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件工程第五章总体设计.ppt》由会员分享,可在线阅读,更多相关《软件工程第五章总体设计.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程第五章总体设计现在学习的是第1页,共64页第五章第五章 总体设计总体设计l软件设计的重要性l设计过程 l软件总体设计 l设计基本原理 l体系结构设计 l结构化设计 lIDEF0图设计方法 l软件结构优化 现在学习的是第2页,共64页总体设计总体设计l总体设计的基本目标就是概要地回答系统应该如何实现。所以设计在任何工程产品或系统中,是开发阶段的第一步。设计(design)可以定义为应用各种技术和原理,对一个设备、一个过程或一个系统,作出足够详细的决策,使之有可能在物理上得以实现的过程。现在学习的是第3页,共64页总体设计总体设计l系统的总体设计是在前面系统分析的基础上,为后期将要构造的系
2、统实体建立一个模型(model)或表达式(representation)。构造这样的模型需要有开发人员的直觉和以前开发这类实体经验的判断、开发方法的采用、产品质量的准则,是一个综合的过程。而且经过多次的重复,直到最终拿出最后的设计模型。现在学习的是第4页,共64页5.1 软件设计的重要性软件设计的重要性 l软件设计处于软件工程过程的技术核心地位 图5-1 软件设计与软件工程现在学习的是第5页,共64页5.1 软件设计的重要性软件设计的重要性l软件设计的重要性还反映在质量上。图5-2 设计的重要性 现在学习的是第6页,共64页5.2 设计过程设计过程l软件设计是一个把需求转换为软件表达式的过程。
3、这个表达式过程一般情况下是分为两步走。l从软件工程的角度讲是分为总体设计和详细设计。l总体设计主要是把需求转换为数据结构和软件体系结构,而详细设计主要集中在体系结构表达式的细化,从而产生详细的数据结构和软件的算法表达式。现在学习的是第7页,共64页5.2.1 软件设计的发展软件设计的发展 l早期的设计工作中,着重在开发模块化程序模块所需要的准则,以及按照自顶向下(top-down)的方式逐步细化软件体系结构上。l接着,设计定义的过程方面逐渐发展成为一种叫做结构化编程(structured programming)的原则。l之后,提出了把数据流和数据结构翻译成设计定义的方法。l近年来,则建立采用
4、OO的设计方法。l总结过去软件设计的发展,可以归纳为是一个持续发展的过程。现在学习的是第8页,共64页5.2.2设计活动间的关系设计活动间的关系l总体设计和详细设计除了必须有先进的设计技术外,还要有同步的管理技术支持。如图5-3所示图5-3 设计技术和管理方面之间的关系现在学习的是第9页,共64页5.2.3 设计与软件质量设计与软件质量l在整个设计过程中,设计每一步的质量都要进行正式的技术评审(formal technical reviews)。要按照设计准则对于设计表达式的质量的评价。我们这里给出下列软件设计原则:l(1)设计应当模块化(modular),也就是说,软件应被逻辑地划分为能完成
5、特定功能和子功能的构件。l(2)设计应形成具有独立功能特征的模块(如子程序或过程)。现在学习的是第10页,共64页软件设计原则软件设计原则(续续)l(3)设计应使模块之间和与外剖环境之间接口的复杂性尽量地减少。l(4)设计应该有一个分层的组织结构,这样人们可对软件各个构件进行理性的控制。l(5)设计应有性质不同的可区分的数据和过程表达式。l(6)设计应利用软件需求分析中得到的信息和可重复的方法。现在学习的是第11页,共64页5.3 软件总体设计软件总体设计l需求分析阶段所形成的数据流图是软件总体设计的基础。我们要从可供选择的方案中选取合理的方案,为每一个方案准备一份系统流程图,列出系统组成的物
6、理元素,进行效益分析,制定实现方案的进度。我们要从合理的方案中选择一个最佳的方案向用户推荐。l当用户接受方案后,就要为这个最佳的方案设计软件结构,一般情况下,这个软件结构要通过反复修改使之合理。l同时还要进行必要的数据库设计。在分布式系统中还要进行网络设计。l另外,还要制定测试计划和确定测试要求。l在详细设计前一定要进行软件总体设计。现在学习的是第12页,共64页5.3.1 总体设计基本任务总体设计基本任务l1.软件系统结构设计l(1)采用某种设计方法,将一个复杂的系统按功能划分成模块。l(2)确定每个模块的功能。l(3)确定模块之间的调用关系。l(4)确定模块之间的接口,即模块之间传递的信息
7、。l(5)评价模块结构的质量。现在学习的是第13页,共64页总体设计基本任务总体设计基本任务(续续)l2.数据结构及数据库设计l1)数据结构的设计l2)数据库的设计l(1)概念设计l(2)逻辑设计l(3)物理设计l3.网络系统设计现在学习的是第14页,共64页总体设计基本任务总体设计基本任务(续续)l4.软件总体设计文档l总体设计说明书的主要内容如下:l(1)引言:编写目的,背景,定义,参考资料。l(2)总体设计:需求规定,运行环境,基本设计概念和处理流程,结构。l(3)接口设计:用户接口,外部接口,内部接口。l(4)运行设计:运行模块组合,运行控制,运行时间。l(5)系统数据结构设计:逻辑结
8、构设计,物理结构设计,数据结构与程序的关系。l(6)系统出错处理设计:出错信息,补救措施,系统恢复设计。l5.评审现在学习的是第15页,共64页5.4 设计基本原理设计基本原理l软件设计要回答下列问题:l(1)使用什么样的准则才能把软件划分成为各个单独的构件?l(2)怎样把功能或数据结构的细节从软件概念表达式中分离出来?l(3)定义软件设计的技术质量有统一的准则吗?现在学习的是第16页,共64页设计基本原理设计基本原理l5.4.1 抽象抽象l5.4.2 细化l5.4.3 模块化模块化现在学习的是第17页,共64页5.4.4 软件体系结构软件体系结构 l软件总体设计的主要任务就是软件结构的设计。
9、软件体系结构(software architecture)包含了计算机程序的两个重要特性:l(1)过程构件(模块)的层次结构。l(2)数据结构。现在学习的是第18页,共64页软件的需求分析到设计的转换图软件的需求分析到设计的转换图图5-5 结构化演化现在学习的是第19页,共64页不同结构的表示不同结构的表示l从下图可以看出,一个问题可以有多种可供选择的结构。选择某种结构又由软件设计方法来决定。现在学习的是第20页,共64页5.4.5 程序结构程序结构l程序结构(program structure)给出了程序构件(模块)的组织(通常叫分层),这种组织包含了控制的层次。l程序结构可以用许多不同的符
10、号来表示。l1 树形结构图。l2 Warnier-Orr图l3 Jackson图 现在学习的是第21页,共64页5.4.6 数据结构数据结构l数据结构(data structure)定义是一种数据各元素之间逻辑关系的表达式。l一个数据结构的组织和复杂性只受设计者创造性的限制。但是典型的数据结构可以组成更复杂的结构造块。l数据结构可以给出不同层次的抽象。现在学习的是第22页,共64页5.4.7 软件过程软件过程图5-9 一个模块内的过程现在学习的是第23页,共64页软件过程软件过程图5-10 过程的分层现在学习的是第24页,共64页5.5 体系结构设计体系结构设计l软件体系结构设计(archit
11、ectural design)的主要目标是设计一个模块化的程序结构。体系结构设计融合了程序结构和数据结构,接口定义能使数据流经程序。要给出各个模块之间的控制关系。现在学习的是第25页,共64页5.5.1 软件结构图软件结构图 l软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。l软件结构往往用树状或网状结构的图形来表示。软件工程中,一般采用结构图(Structure Chart)简称SC)的工具来表示软件结构。l 现在学习的是第26页,共64页结构图的主要内容结构图的主要内容l(1)模块l(2)模块的控制关系l(3)模块间的信息传递l(4)两个附加符号:表
12、示模块有选择调用或循环调用l(5)结构图的形态特征l包括 深度 宽度 扇出 扇入现在学习的是第27页,共64页画结构图应注意的事项画结构图应注意的事项 l同一名字的模块在结构图中仅出现一次。l调用关系只能从上到下。l不严格表示模块的调用次序,习惯上从左到右。有时为了减少连线的交叉,适当地调整同一层模块左右位置,以保持结构图的清晰性。现在学习的是第28页,共64页5.5.2扇出和扇入与深度和宽度扇出和扇入与深度和宽度l深度表示控制的层数,宽度表示同一层上控制的最大模块数目。l扇出是被某一模块直接控制的模块数目的度量,扇入则是对某一给定模块被多少个模块直接控制的度量。l一个系统的大小和系统的复杂程
13、度在一定程度上可以用深度和宽度表示。l高层模块应有较高的扇出,低层模块特别是底层模块应有较高的扇入。现在学习的是第29页,共64页扇出和扇入与深度和宽度扇出和扇入与深度和宽度l扇出实际上是对问题解的分解。分解过程中需要考虑的问题就是,前面是否已经有一个模块与当前所需要的模块功能相同或相似。若完全相同,则可以共享;若功能类似,则应区分哪些部分相同,这样可以把相同的部分分离出来成为单独的模块,如图5-14至516。现在学习的是第30页,共64页扇出和扇入与深度和宽度扇出和扇入与深度和宽度 图514 分解对扇入的可能性 图515分解对扇入的可能性 图516分解对扇入的可能性 现在学习的是第31页,共
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 第五 总体 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内