软件工程概论电子教案第4章 概要设计ppt课件.ppt
《软件工程概论电子教案第4章 概要设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程概论电子教案第4章 概要设计ppt课件.ppt(107页珍藏版)》请在三一办公上搜索。
1、高职高专院校“十二五”精品示范系列教材(软件技术专业群)软件工程,2022/11/22,Software Engineering,2022/11/22 2,结束,返回,第4章 概要设计,4.1 软件设计过程4.2 概要设计的目标和任务4.3 概要设计原则4.4 体系结构设计工具4.5 概要设计的启发式规则4.6 面向数据流的设计方法4.7 概要设计说明书,从工程管理的角度来看,软件设计分两步完成。 概要设计,将软件需求转化为数据结构和软件的系统结构。 详细设计,即过程设计。通过对系统结构进行细化,得到软件的详细数据结构和算法。,第4章 概要设计,从工程管理角度看软件设计过程,4.1 软件设计过
2、程,从技术角度来看,软件设计包括数据设计、体系结构设计、接口设计、过程设计。数据设计将实体关系图中描述的对象和关系,以及数据字典中描述的详细数据内容转化为数据结构的定义。体系结构设计划分软件系统模块及模块之间的关系。接口设计是根据数据流图定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间的交互机制。过程设计则是把结构成份(模块)转换成软件的过程性描述(即详细设计)。,4.1 软件设计过程,第4章 概要设计,把分析模型转换成软件的过程,4.1 软件设计过程,第4章 概要设计,软件设计是后续开发及软件维护工作的基础,没有设计的软件系统是一个不稳定的系统。,第4章 概要设计,4.1 软件
3、设计过程,目标系统的运行环境在设计目标系统时,软件设计人员要充分认识和分析目标系统的运行环境,以便在设计时考虑运行的约束条件及系统接口。,第4章 概要设计,4.1 软件设计过程,第4章 概要设计,1.概要设计的目标概要设计又称为总体设计,它的基本目的就是回答“概括地说系统应该如何实现”。软件设计的目标,就是为系统制定总的蓝图,权衡各种技术和实施方法的利弊,合理利用各种资源,精心规划出系统总的设计方案。这是一个将软件系统需求转换为目标系统体系结构的过渡过程。在该阶段,软件设计人员审查可行性研究报告、需求规格说明书,在此基础上将系统划分为层次结构和模块,决定各模块的功能、模块的调用关系。,4.2
4、概要设计的目标和任务,2022/11/22 9,结束,返回,2.概要设计的任务概要设计的主要任务是把需求分析得到的DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性以及数据库的设计。,第4章 概要设计,4.2 概要设计的目标和任务,概要设计的具体任务包括:(1)制定软件设计规范(2)软件体系结构设计(3)处理方式设计(4)数据结构设计(5)可靠性设计(6)编写概要设计说明书(7)概要设计评审,第4章 概要设计,4.2 概要设计的目标和任务,20
5、22/11/22 11,结束,返回,1.模块化,一个软件系统可按功能不同划分成若干功能模块。软件系统的层次结构正是模块化的具体体现。把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构,这些模块可以被组装起来以满足整个问题的需求。,4.3 概要设计原则,第4章 概要设计,概要设计要遵循的原则有:模块化;抽象;自顶向下,逐步细化;信息隐蔽;模块独立性。其中,模块独立性是最核心的原则。,4.3 概要设计原则,第4章 概要设计,模块:是组成目标系统逻辑模型和物理模型的基本单位,它的特点是可以组合、分解和更换。系统中任何一个处理功能都可以看成是一个模块。根据模块功能具体化程度的不同,可以分为逻辑
6、模块和物理模块。在系统逻辑模型中定义的处理功能可视为逻辑模块,物理模块是逻辑模块的具体化,可以是一个计算机程序、子程序或若干条程序语句,也可以是人工过程的某项具体工作。,4.3 概要设计原则,第4章 概要设计,一个模块应具备以下4个要素:(1)输入和输出:模块的输入来源和输出去向都是同一个调用者,即一个模块从调用者那里取得输入,进行加工后再把输出返回调用者。(2)处理功能:指模块把输入转换成输出所作的工作。(3)内部数据:指仅供该模块本身引用的数据。(4)程序代码:指用来实现模块功能的程序。前两个要素是模块的外部特性,即反映了模块的外貌。后两个要素是模块的内部特性。在结构化设计中,主要考虑的是
7、模块的外部特性,其内部特性只作必要了解,具体的实现将在系统实施阶段完成。,4.3 概要设计原则,第4章 概要设计,Meyer的良好模块设计标准:模块可分解性:可将系统按问题子问题分解的原则分解成系统的模块层次结构。模块可组装性:可利用已有的设计构件组装成新系统,不必一切从头开始。模块可理解性:一个模块可不参考其他模块而被理解。模块连续性:对软件需求的一些微小变更只导致对某个模块的修改而整个系统不用大动。模块保护:将模块内出现异常情况的影响范围限制在模块内部。,4.3 概要设计原则,第4章 概要设计,问题复杂性、开发工作量和模块数之间的关系:设C(x)为问题x所对应的复杂度函数,E(x)为解决问
8、题x所需要的工作量函数。对于两个问题P1和P2,如果: C(P1)C(P2)即问题P1的复杂度比P2高,则显然有: E(P1)E(P2)即解决问题P1比P2所需的工作量大。根据解决一般问题的经验,规律为: C(P1+P2)C(P1)+C(P2)即解决由多个问题复合而成的大问题的复杂度大于单独解决各个问题的复杂度之和,则: E(P1+P2) E(P1)+E(P2),4.3 概要设计原则,第4章 概要设计,2022/11/22 17,结束,返回,模块大小、模块数目与费用的关系,4.3 概要设计原则,第4章 概要设计,2022/11/22 18,结束,返回,如果模块是相互独立的,当模块变得越小,每个
9、模块花费的工作量越少;但当模块数增加时,模块间的联系也随之增加,把这些模块联接起来的工作量(接口成本)也随之增加。因此,存在一个模块个数M,它使得总的开发成本达到最小。实践证明,一般人们能够同时考虑的问题个数为72,因此,一个软件项目划分5-9个模块较好。,4.3 概要设计原则,第4章 概要设计,模块分割方法:横向分割,根据输入、处理、输出等功能的不同来分割模块。 纵向分割,根据系统对信息处理过程中不同的阶段来分割模块。,4.3 概要设计原则,第4章 概要设计,2022/11/22 20,结束,返回,2.抽象人类在认识复杂现象的过程中使用的最强有力的思维工具是抽象。人们在实践中认识到,现实世界
10、中一定事物、状态或过程之间总存在着某些相似的方面(共性)。抽象就是抽出事物的本质特性而暂时不考虑它们的细节。这样可以集中精力分析事物的主要问题,而细节问题靠进一步细化。在软件工程过程中,从系统定义到实现,每进展一步都可以看做是对软件解决方案的抽象化过程的一次细化。而在从概要设计到详细设计的过程中,抽象化的层次逐次降低。当产生源程序代码时到达最低的抽象层次。,4.3 概要设计原则,第4章 概要设计,2022/11/22 21,结束,返回,将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个软件的体系结构。,3.自顶向下,逐
11、步细化,4.3 概要设计原则,第4章 概要设计,4.3 概要设计原则,第4章 概要设计,系统结构图,2022/11/22 23,结束,返回,4.信息隐蔽信息隐蔽是指一个模块的实现细节对于其它模块来说是隐蔽的。就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。 通过信息隐蔽,可定义和实施对模块的过程细节和局部数据结构的存取限制。如定义公共变量和私有变量。,4.3 概要设计原则,第4章 概要设计,2022/11/22 24,结束,返回,4.3 概要设计原则,第4章 概要设计,5.模块独立性模块独立性是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其
12、它模块的接口是简单的。度量模块独立性有两个准则。即模块间的耦合和模块的内聚。耦合: 耦合是模块间互相联系的紧密程度的度量。它取决于各个模块之间接口的复杂程度,一般由模块之间的调用方式、传递信息的类型和数量来决定。内聚:内聚是一个模块内部各个元素彼此结合的紧密程度的度量。,2022/11/22 25,结束,返回,块间耦合:耦合性是程序结构中各个模块之间相互关联的度量,它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。,耦合性,第4章 概要设计,4.3 概要设计原则,非直接耦合:也称偶然耦合,是指两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。非
13、直接耦合的模块独立性最强。,第4章 概要设计,4.3 概要设计原则,2022/11/22 27,结束,返回,数据耦合: 一个模块访问另一个模块时,彼此之间通过参数交换信息,且局限于数据信息(非控制信息)。一个好的软件系统,都需要进行各种数据的传输,某些模块的输出数据作为另一模块的输入数据。,第4章 概要设计,4.3 概要设计原则,标记耦合: 一组模块通过参数表传递记录信息,这组模块共享了该记录,就是标记耦合。传递的记录是某一数据结构的子结构,而不是简单变量。在软件设计时应尽量避免这种耦合。,第4章 概要设计,4.3 概要设计原则,2022/11/22 29,结束,返回,控制耦合:如果一个模块通
14、过传送控制信息来控制另一模块的功能,就是控制耦合。控制耦合属于中等程度的耦合,它增加了系统的复杂性。,第4章 概要设计,控制耦合,4.3 概要设计原则,外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。,第4章 概要设计,4.3 概要设计原则,公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。公共耦合的复杂程度随耦合模块的个数增加而显著增加。若只是两模块间有公共数据环境,则公共耦合有两种情况:松散的公共耦合和紧密的公共耦合。,4.
15、3 概要设计原则,第4章 概要设计,2022/11/22 32,结束,返回,松散的公共耦合:一个模块往公共数据区传送数据,而另一个模块从公共数据区接收数据。紧密的公共耦合:两个模块既往公共数据区传送数据,又从公共数据区接收数据。,松散的公共耦合,紧密的公共耦合,第4章 概要设计,4.3 概要设计原则,2022/11/22 33,结束,返回,内容耦合 如果发生下列情形之一,则两个模块之间就发生了内容耦合: 一个模块直接访问另一个模块的内部数据; 一个模块不通过正常入口转到另一模块内部; 两个模块有一部分程序代码重迭; 一个模块有多个入口。,第4章 概要设计,4.3 概要设计原则,第4章 概要设计
16、,内容耦合,4.3 概要设计原则,软件设计应追求尽可能松散耦合,避免强耦合,这样模块间的联系就越小,模块的独立性就越强,对模块的测试、维护就越容易。因此建议:尽量使用数据耦合,少用控制耦合,限制公共耦合,完全不用内容偶合。,第4章 概要设计,4.3 概要设计原则,2022/11/22 36,结束,返回,模块内聚,模块内聚性,模块内聚分为7级:,4.3 概要设计原则,第4章 概要设计,2022/11/22 37,结束,返回,偶然内聚:当模块内部各元素之间没有联系,或者即使有联系也很松散。则称这种模块为偶然内聚模块。偶然内聚存在很大缺点,它不利于程序的修改与维护。,4.3 概要设计原则,第4章 概
17、要设计,偶然内聚,2022/11/22 38,结束,返回,逻辑内聚,4.3 概要设计原则,第4章 概要设计,逻辑内聚:如果一个模块中包含多个逻辑上相关的功能,每次被调用时,根据传递给该模块的判定参数来确定模块应执行的功能,称作逻辑内聚。逻辑内聚模块中各功能存在着某种相关的联系,但它执行的不是一种功能,而是多种功能,这样往往增加了软件修改和维护的难度。,时间内聚:如果一个模块所包含的任务必须在同一时间内执行称作时间内聚。如初始化模块,对各种变量、数据、栈和寄存器等都在开始执行前期的同一时间段内执行。,4.3 概要设计原则,第4章 概要设计,变量赋初值初始化寄存器初始化栈,时间内聚,过程内聚:如果
18、一个模块内的处理是相关的,而且必须以特定次序执行,则称为过程内聚。 例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,则每个模块都是过程内聚模块。,4.3 概要设计原则,第4章 概要设计,4.3 概要设计原则,第4章 概要设计,通信内聚,通信内聚:如果一个模块各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为通信内聚。,2022/11/22 42,结束,返回,信息内聚:这种模块能完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。,信息内聚,第4章 概要设计,4.3 概要设计原则,2022/11/22 43,结束,返回,第五章 软件设计,功能内聚
19、:如果一个模块内所有成分都完成同一个功能,则称这样的模块为功能内聚模块。功能内聚是内聚程度最高的模块,也就是独立性最强的模块。软件设计中应该注意:力求做到高内聚,尽量少用中内聚,绝对不用低内聚。,4.3 概要设计原则,第4章 概要设计,2022/11/22 44,结束,返回,常用的软件体系结构设计工具有结构图(SC)和层次图加输入/处理/输出图(HIPO)。1.结构图在结构化设计方法中,软件结构常常采用20世纪70年代中期由Yourdon等人提出的结构图(SC,Structure Chart)来表示。结构图能够描述软件系统的模块层次结构,清楚地反映出程序中各模块之间的调用关系和联系。,4.4
20、体系结构设计工具,第4章 概要设计,2022/11/22 45,结束,返回,结构图中的基本符号,第4章 概要设计,2022/11/22 46,结束,返回,SC图中的主要内容,第4章 概要设计,4.4 体系结构设计工具,系统结构图,4.4 体系结构设计工具,第4章 概要设计,扇出与扇入:扇出表明了该模块可以控制的下级模块的数目。扇入表明了共有多少个模块调用该模块。,4.4 体系结构设计工具,第4章 概要设计,深度与宽度:深度是指在软件结构中控制的层数。层数越多,程序越复杂,程序的可理解性也就随之下降。宽度表示软件结构中同一层次上的模块总数的最大值。宽度越大,系统越复杂。如上图所示的软件结构图中,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程概论电子教案第4章 概要设计ppt课件 软件工程 概论 电子 教案 概要 设计 ppt 课件

链接地址:https://www.31ppt.com/p-1420231.html