《软件工程导论ch》PPT课件

《软件工程导论ch》PPT课件

ID:45708137

大小:962.50 KB

页数:53页

时间:2019-11-16

《软件工程导论ch》PPT课件_第1页
《软件工程导论ch》PPT课件_第2页
《软件工程导论ch》PPT课件_第3页
《软件工程导论ch》PPT课件_第4页
《软件工程导论ch》PPT课件_第5页
资源描述:

《《软件工程导论ch》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章总体设计一.软件设计经过需求分析,从得到的系统逻辑模型(软件需求规格说明书)中知道了“系统必须做什么?”。1.软件设计的任务是在需求分析的基础上,针对给定的问题,给出软件解决方案,即确定“怎么做?”的问题。2.软件设计采用的方法有多种,如结构化设计、面向数据结构的设计、面向对象的设计等。我们将主要讨论结构化设计。3.结构化设计方法又分为总体设计与详细设计。4.总体设计是设计软件的模块结构及确定系统的模块之间的关系,也称黑盒设计。黑盒中内容的详细描述是详细设计的任务。概述---总体设计的任务和内容2021/7/

2、241第5章总体设计二.总体设计的任务1.总体设计又称概要设计,它的主要任务是:确定系统的模块及其模块之间的关系,完成软件结构的设计。即把系统的功能需求分配给软件结构,形成软件模块结构图。如图:2.软件模块结构图中符号的含义及特征:(1)软件模块结构图中,矩形框表示功能单元;(2)连结上下层模块的线段表示它们之间的调用关系;(3)处于较高层的是控制模块,处于较低层的是从属模块;(4)一个模块可以调用一个或多个下属模块;(5)一个下属模块可以被一个或多个控制模块所调用;(6)每一个模块,通过外部特征予以标识,即给出每

3、一个模块的名字、输入和输出。2021/7/242第5章总体设计三.总体设计的内容总体设计是从系统的功能出发,把数据流图或数据结构转换为软件结构,同时在不同的划分方案上,选择最佳的方案。内容:1.将软件系统划分为模块;2.决定每一个模块的功能;3.确定模块之间的关系;4.确定模块之间的接口,即相互之间传递的参数。2021/7/243第5章总体设计5.1设计过程设想供选择的方案选取合理的方案推荐最佳方案功能分解设计软件结构设计数据库制定测试计划书写文档审查和复审2021/7/244第5章总体设计一.模块1.模块:数据说

4、明、可执行语句等程序对象的集合,可以单独命名且可通过名字来访问。如汇编语言中的子程序,Pascal语言中的过程,C语言中的函数等。2.模块具有输入和输出(参数传递)、功能、内部数据结构(局部变量)和程序代码四个特性。3.输入、输出和功能是模块的外部特性;内部数据结构和程序代码是模块的内部特性。4.软件结构设计仅需要了解该模块的外部特性。5.2.1模块化5.2设计原理2021/7/245第5章总体设计二.模块化设计1.模块化设计:按规定的原则将一个大型软件划分为一个个较小的、相对独立但又相关的模块。2.模块化设计的优

5、点(1)将问题简化,划分模块,使每一个模块,完成单一功能;(2)可以独立地进行模块的编码测试,便于软件开发工作的组织;(3)把每一个模块要解决的问题局限在有限的范围,减少出错机会;(4)便于纠错;(5)便于对特定的模块进行优化处理;(6)一个模块多次重复使用,利于提高软件产品的利用率;(7)程序易于理解;(8)利于估计工作量和开发成本。2021/7/246第5章总体设计图5.1模块化和软件成本2021/7/247第5章总体设计5.2.2抽象5.2.3逐步求精5.2.4信息隐藏和局部化5.2.5模块独立1.耦合2.内

6、聚2021/7/248第5章总体设计1.模块的独立性(1)模块具有独立的功能;(2)每一个模块和其它模块没有过多的相互联系和作用。2.判断模块独立性的标准:耦合和内聚。(1)耦合:是对软件内部模块间联系的量度,耦合的强弱取决于:A.模块之间接口的复杂程度;B.一个模块对另一个模块的引用;C.一个模块向另一个模块传递的数据量;D.一个模块施加到另一个模块的控制数量。(2)内聚:从功能角度对模块内部聚合能力的量度,内聚强度取决于模块内部各个成分(语句和程序段)之间相互关联的强度。2021/7/249第5章总体设计量度类

7、型含义弱耦合非直接耦合两个模块独立工作而不需要另一个模块的存在数据耦合两个模块之间通过参数传递(基本类型)数据特征耦合/标记耦合两个模块至少有一个通过界面传递的公共参数,包含内部结构。如:字符串或记录//使用部分参数中耦合控制耦合一个模块在界面上传递一个信号控制另一个模块,接收信号的模块的动作根据信号值进行调整较强耦合外部耦合两个或多个模块共同引用一个全局变量公共耦合/公共环境耦合两个或多个模块共同引用一个全局数据项(或数据结构)。一个模块直接修改或操作另一个模块(包括两种可能:一个送数据,一个取数据使用;每个模块

8、即可送数据,又可取数据)强耦合内容耦合一个模块访问或修改另一个模块的内部数据;一个模块不通过正常入口而跳转到另一个模块的内部;两模块有部分代码重叠;一个模块有多个入口。2021/7/2410第5章总体设计例1.模块“计算应扣款”把“用水量”和“用电量”分别传递给“计算水费”与“计算电费”两个模块(传递基本类型的数据),然后从它们取得“水费”与“电费”,这上下

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

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

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