软件工程概论-电子教案--第4章-概要设计ppt课件

上传人:20****08 文档编号:240644616 上传时间:2024-04-27 格式:PPT 页数:107 大小:1.69MB
收藏 版权申诉 举报 下载
软件工程概论-电子教案--第4章-概要设计ppt课件_第1页
第1页 / 共107页
软件工程概论-电子教案--第4章-概要设计ppt课件_第2页
第2页 / 共107页
软件工程概论-电子教案--第4章-概要设计ppt课件_第3页
第3页 / 共107页
资源描述:

《软件工程概论-电子教案--第4章-概要设计ppt课件》由会员分享,可在线阅读,更多相关《软件工程概论-电子教案--第4章-概要设计ppt课件(107页珍藏版)》请在装配图网上搜索。

1、高职高专院校高职高专院校“十二五十二五”精品示范精品示范系列教材(软件技术专业群)系列教材(软件技术专业群)软件工程软件工程 2024/4/27 SoftwareEngineering高职高专院校“十二五”精品示范系列教材(软件技术专业群)2024/4/27 2结束返回第第4 4章章 概要设计概要设计4.1 4.1 4.1 4.1 软件设计过程软件设计过程软件设计过程软件设计过程4.2 4.2 4.2 4.2 概要设计的目标和任务概要设计的目标和任务概要设计的目标和任务概要设计的目标和任务4.3 4.3 4.3 4.3 概要设计原则概要设计原则概要设计原则概要设计原则4.4 4.4 4.4 4

2、.4 体系结构设计工具体系结构设计工具体系结构设计工具体系结构设计工具4.5 4.5 4.5 4.5 概要设计的启发式规则概要设计的启发式规则概要设计的启发式规则概要设计的启发式规则4.6 4.6 4.6 4.6 面向数据流的设计方法面向数据流的设计方法面向数据流的设计方法面向数据流的设计方法4.7 4.7 4.7 4.7 概要设计说明书概要设计说明书概要设计说明书概要设计说明书2023/7/31 从工程管理的角度来看,软件设计分两步完成。从工程管理的角度来看,软件设计分两步完成。从工程管理的角度来看,软件设计分两步完成。从工程管理的角度来看,软件设计分两步完成。n n 概要设计概要设计概要设

3、计概要设计,将软件需求转化为数据结构和软件的系统结构。,将软件需求转化为数据结构和软件的系统结构。,将软件需求转化为数据结构和软件的系统结构。,将软件需求转化为数据结构和软件的系统结构。n n 详细设计详细设计详细设计详细设计,即过程设计。通过对系统结构进行细化,得到,即过程设计。通过对系统结构进行细化,得到,即过程设计。通过对系统结构进行细化,得到,即过程设计。通过对系统结构进行细化,得到软件的详细数据结构和算法。软件的详细数据结构和算法。软件的详细数据结构和算法。软件的详细数据结构和算法。第4章 概要设计从工程管理角度看软件设计过程4.1 4.1 软件设计过程软件设计过程 从工程管理的角度

4、来看,软件设计分两步完成。第4章 概要设计 从从技技术术角角度度来来看看,软软件件设设计计包包括括数数据据设设计计、体体系系结结构构设计、接口设计、过程设计。设计、接口设计、过程设计。n数据设计数据设计将实体关系图中描述的对象和关系,以及数将实体关系图中描述的对象和关系,以及数据字典中描述的详细数据内容转化为数据结构的定义。据字典中描述的详细数据内容转化为数据结构的定义。n体系结构设计体系结构设计划分软件系统模块及模块之间的关系。划分软件系统模块及模块之间的关系。n接口设计是接口设计是根据数据流图定义软件内部各成份之间、根据数据流图定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间

5、的交互机软件与其它协同系统之间及软件与用户之间的交互机制。制。n过程设计过程设计则是把结构成份(模块)转换成软件的过程则是把结构成份(模块)转换成软件的过程性描述(即详细设计)。性描述(即详细设计)。4.1 软件设计过程第4章 概要设计 从技术角度来看,软件设计包括数据设计、体系结构设计、接把分析模型转换成软件的过程把分析模型转换成软件的过程4.1 软件设计过程第4章 概要设计数据字典数据字典数数据据流流图图实实体体关关系系图图状态转换图状态转换图加加工工规规格格说说明明控控制制规规 格格说说明明数数据据对对象象描描述述过程设计过程设计接口设计接口设计体系结构设计体系结构设计数据设计数据设计把

6、分析模型转换成软件的过程4.1 软件设计过程第4章 概要设软件设计是后续开发及软件维护工作的基础,没有设计的软件系统是一个不稳定的系统。第4章 概要设计4.1 4.1 软件设计过程软件设计过程软件设计是后续开发及软件维护工作的基础,没有设计的软件系统是目标系统的运行环境目标系统的运行环境在设计目标系统时,软件设计人员要充分认识和分析目标系统的运行环境,以便在设计时考虑运行的约束条件及系统接口。软、硬件环境目标系统管理员、用户上级系统同级系统下级系统支撑使用使用调用调用目标系统的运行环境目标系统的运行环境第4章 概要设计4.1 4.1 软件设计过程软件设计过程目标系统的运行环境软、硬件环境管理员

7、、用户上级系统同级系统下第4章 概要设计1.1.概要设计的目标概要设计的目标概要设计又称为总体设计,它的基本目的就是回答“概括地说系统应该如何实现”。软件设计的目标,就是为系统制定总的蓝图,权衡各种技术和实施方法的利弊,合理利用各种资源,精心规划出系统总的设计方案。这是一个将软件系统需求转换为目标系统体系结构的过渡过程。在该阶段,软件设计人员审查可行性研究报告、需求规格说明书,在此基础上将系统划分为层次结构和模块,决定各模块的功能、模块的调用关系。4.2 4.2 概要设计的目标和任务概要设计的目标和任务第4章 概要设计1.概要设计的目标4.2 概要设计的目标和任2024/4/27 9结束返回2

8、.2.概要设计的任务概要设计的任务概要设计的主要任务是把需求分析得到的概要设计的主要任务是把需求分析得到的DFDDFD转换转换为软件结构和数据结构。为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结数据结构设计包括数据特征的描述、确定数据的结构特性以及数据库的设计。构特性以及数据库的设计。第4章 概要设计4.2 4.2 概要设计的目标和任务概

9、要设计的目标和任务2023/7/31 概要设计的具体任务包括:概要设计的具体任务包括:(1)制定软件设计规范制定软件设计规范(2)软件体系结构设计软件体系结构设计(3)处理方式设计处理方式设计(4)数据结构设计数据结构设计(5)可靠性设计可靠性设计(6)编写概要设计说明书编写概要设计说明书(7)概要设计评审概要设计评审第4章 概要设计4.2 4.2 概要设计的目标和任务概要设计的目标和任务概要设计的具体任务包括:第4章 概要设计4.2 概要设计的目2024/4/27 11结束返回1.1.模块化模块化 一个软件系统可按功能不同划分成若干一个软件系统可按功能不同划分成若干功能模块功能模块。软件系统

10、的层次结构正是软件系统的层次结构正是模块化模块化的具体体现。的具体体现。把一个大而复杂的软件系统划分成易于理解的比较把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构,这些模块可以被组装起来以满足单纯的模块结构,这些模块可以被组装起来以满足整个问题的需求。整个问题的需求。4.3 4.3 概要设计原则概要设计原则第4章 概要设计概要设计要遵循的原则有:模块化;抽象;自顶向模块化;抽象;自顶向模块化;抽象;自顶向模块化;抽象;自顶向下,逐步细化;信息隐蔽;模块独立性。下,逐步细化;信息隐蔽;模块独立性。下,逐步细化;信息隐蔽;模块独立性。下,逐步细化;信息隐蔽;模块独立性。其中,模块独立性

11、是最核心的原则。2023/7/31 4.3 4.3 概要设计原则概要设计原则第4章 概要设计4.3 概要设计原则第4章 概要设计模块:是组成目标系统逻辑模型和物理模型的基本单位,它的特点是可以组合、分解和更换。系统中任何一个处理功能都可以看成是一个模块。根据模块功能具体化程度的不同,可以分为逻辑模块和物理模块。在系统逻辑模型中定义的处理功能可视为逻辑模块,物理模块是逻辑模块的具体化,可以是一个计算机程序、子程序或若干条程序语句,也可以是人工过程的某项具体工作。4.3 4.3 概要设计原则概要设计原则第4章 概要设计模块:是组成目标系统逻辑模型和物理模型的基本单位,它的特点是一个模块应具备以下4

12、个要素:(1)输入和输出:模块的输入来源和输出去向都是同一个调用者,即一个模块从调用者那里取得输入,进行加工后再把输出返回调用者。(2)处理功能:指模块把输入转换成输出所作的工作。(3)内部数据:指仅供该模块本身引用的数据。(4)程序代码:指用来实现模块功能的程序。前两个要素是模块的外部特性,即反映了模块的外貌。后两个要素是模块的内部特性。在结构化设计中,主要考虑的是模块的外部特性,其内部特性只作必要了解,具体的实现将在系统实施阶段完成。4.3 4.3 概要设计原则概要设计原则第4章 概要设计一个模块应具备以下4个要素:4.3 概要设计原则第4章 概要Meyer的良好模块设计标准:模块可分解性

13、:可将系统按问题子问题分解的原则分解成系统的模块层次结构。模块可组装性:可利用已有的设计构件组装成新系统,不必一切从头开始。模块可理解性:一个模块可不参考其他模块而被理解。模块连续性:对软件需求的一些微小变更只导致对某个模块的修改而整个系统不用大动。模块保护:将模块内出现异常情况的影响范围限制在模块内部。4.3 4.3 概要设计原则概要设计原则第4章 概要设计Meyer的良好模块设计标准:4.3 概要设计原则第4章 概问题复杂性、开发工作量和模块数之间的关系问题复杂性、开发工作量和模块数之间的关系:设设C(x)C(x)为问题为问题x x所对应的所对应的复杂度函数复杂度函数,E(x)E(x)为解

14、决问题为解决问题x x所需所需要的要的工作量函数工作量函数。对于两个问题。对于两个问题P1P1和和P2P2,如果:,如果:C(P1)C(P2)C(P1)C(P2)即问题即问题P1P1的复杂度比的复杂度比P2P2高,则显然有:高,则显然有:E(P1)E(P2)E(P1)E(P2)即解决问题即解决问题P1P1比比P2P2所需的工作量大。所需的工作量大。根据解决一般问题的经验,规律为:根据解决一般问题的经验,规律为:根据解决一般问题的经验,规律为:根据解决一般问题的经验,规律为:C(P1+P2)C(P1)+C(P2)C(P1+P2)C(P1)+C(P2)C(P1+P2)C(P1)+C(P2)C(P1

15、+P2)C(P1)+C(P2)即解决由多个问题复合而成的大问题的复杂度大于单独解决即解决由多个问题复合而成的大问题的复杂度大于单独解决即解决由多个问题复合而成的大问题的复杂度大于单独解决即解决由多个问题复合而成的大问题的复杂度大于单独解决各个问题的复杂度之和,则:各个问题的复杂度之和,则:各个问题的复杂度之和,则:各个问题的复杂度之和,则:E(P1+P2)E(P1)+E(P2)E(P1+P2)E(P1)+E(P2)E(P1+P2)E(P1)+E(P2)E(P1+P2)E(P1)+E(P2)4.3 4.3 概要设计原则概要设计原则第4章 概要设计问题复杂性、开发工作量和模块数之间的关系:4.3

16、概要设计原2024/4/27 17结束返回模块大小、模块数目与费用的关系模块大小、模块数目与费用的关系模块大小、模块数目与费用的关系模块大小、模块数目与费用的关系 4.3 4.3 概要设计原则概要设计原则第4章 概要设计2023/7/31 2024/4/27 18结束返回如果模块是相互独立的,当模块变得越小,每个模如果模块是相互独立的,当模块变得越小,每个模如果模块是相互独立的,当模块变得越小,每个模如果模块是相互独立的,当模块变得越小,每个模块花费的工作量越少;但当模块数增加时,模块间块花费的工作量越少;但当模块数增加时,模块间块花费的工作量越少;但当模块数增加时,模块间块花费的工作量越少;

17、但当模块数增加时,模块间的联系也随之增加,把这些模块联接起来的工作量的联系也随之增加,把这些模块联接起来的工作量的联系也随之增加,把这些模块联接起来的工作量的联系也随之增加,把这些模块联接起来的工作量(接口成本接口成本接口成本接口成本)也随之增加。也随之增加。也随之增加。也随之增加。因此,存在一个模块个数因此,存在一个模块个数因此,存在一个模块个数因此,存在一个模块个数M M M M,它使得总的开发成本,它使得总的开发成本,它使得总的开发成本,它使得总的开发成本达到最小。达到最小。达到最小。达到最小。实践证明,一般人们能够同时考虑的问题个数为实践证明,一般人们能够同时考虑的问题个数为实践证明,

18、一般人们能够同时考虑的问题个数为实践证明,一般人们能够同时考虑的问题个数为72727272,因此,一个软件项目划分,因此,一个软件项目划分,因此,一个软件项目划分,因此,一个软件项目划分5-95-95-95-9个模块较好。个模块较好。个模块较好。个模块较好。4.3 4.3 概要设计原则概要设计原则第4章 概要设计2023/7/31 n模块分割方法:横向分割,根据输入、处理、输出等功能的不同来分割模块。纵向分割,根据系统对信息处理过程中不同的阶段来分割模块。4.3 4.3 概要设计原则概要设计原则第4章 概要设计模块分割方法:4.3 概要设计原则第4章 概要设计2024/4/27 20结束返回2

19、.2.抽象抽象人类在认识复杂现象的过程中使用的最强有力的思维工具是抽象。人们在实践中认识到,现实世界中一定事物、状态或过程之间总存在着某些相似的方面(共性)。抽象就是抽出事物的本质特性而暂时不考虑它们的细节。这样可以集中精力分析事物的主要问题,而细节问题靠进一步细化。在软件工程过程中,从系统定义到实现,每进展一步都可以看做是对软件解决方案的抽象化过程的一次细化。而在从概要设计到详细设计的过程中,抽象化的层次逐次降低。当产生源程序代码时到达最低的抽象层次。4.3 4.3 概要设计原则概要设计原则第4章 概要设计2023/7/31 2024/4/27 21结束返回 将软件的体系结构按自顶向下方式,

20、对各个层次将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个计语言的语句能够实现为止,从而最后确立整个软件的体系结构软件的体系结构。3.3.自顶向下,逐步细化自顶向下,逐步细化4.3 4.3 概要设计原则概要设计原则第4章 概要设计2023/7/31 4.3 4.3 概要设计原则概要设计原则第4章 概要设计系统结构图4.3 概要设计原则第4章 概要设计系统结构图2024/4/27 23结束返回4.4.信息隐蔽信息隐蔽信息隐蔽信息隐蔽是指一个模块的实现细节对于其它模块是指一个模块

21、的实现细节对于其它模块来说是隐蔽的。就是说,模块中所包含的信息来说是隐蔽的。就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息(包括数据和过程)不允许其它不需要这些信息的模块使用。的模块使用。通过信息隐蔽,可定义和实施对模块的过程细节通过信息隐蔽,可定义和实施对模块的过程细节和局部数据结构的存取限制。如定义公共变量和和局部数据结构的存取限制。如定义公共变量和私有变量。私有变量。4.3 4.3 概要设计原则概要设计原则第4章 概要设计2023/7/31 2024/4/27 24结束返回4.3 4.3 概要设计原则概要设计原则第4章 概要设计5.5.模块独立性模块独立性n模块独立

22、性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它模块的接口是简单的。度量模块独立性有两个准则。即模块间的耦合和模块的内聚。耦合:耦合是模块间互相联系的紧密程度的度量。它取决于各个模块之间接口的复杂程度,一般由模块之间的调用方式、传递信息的类型和数量来决定。内聚:内聚是一个模块内部各个元素彼此结合的紧密程度的度量。2023/7/31 2024/4/27 25结束返回块间耦合:耦合性是程序结构中各个模块之间相互关联的块间耦合:耦合性是程序结构中各个模块之间相互关联的度量,它取决于各个模块之间接口的复杂程度、调用模块度量,它取决于各个模块之间接口的复杂程度、调用模块的方式以及

23、哪些信息通过接口。的方式以及哪些信息通过接口。高高低低内容内容耦合耦合公共公共耦合耦合控制控制耦合耦合标记耦合外部外部耦合耦合数据耦合非直接耦合弱弱 强强耦合性耦合性模块独立性模块独立性耦合性耦合性第4章 概要设计4.3 4.3 概要设计原则概要设计原则2023/7/31 非直接耦合:也称偶然耦合,是指两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。非直接耦合的模块独立性最强。主控模块被调用模块1被调用模块2耦合非直接耦合非直接耦合非直接耦合非直接耦合第4章 概要设计4.3 4.3 概要设计原则概要设计原则非直接耦合:也称偶然耦合,是指两个模块之间没有直接关系,它

24、们2024/4/27 27结束返回数据耦合:一个模块访问另一个模块时,彼此之间通过参数交换信息,且局限于数据信息(非控制信息)。一个好的软件系统,都需要进行各种数据的传输,某些模块的输出数据作为另一模块的输入数据。第4章 概要设计4.3 4.3 概要设计原则概要设计原则2023/7/31 标记耦合:一组模块通过参数表传递记录信息,这组模块共享了该记录,就是标记耦合。传递的记录是某一数据结构的子结构,而不是简单变量。在软件设计时应尽量避免这种耦合。第4章 概要设计4.3 4.3 概要设计原则概要设计原则模块A模块B数据结构标记耦合标记耦合标记耦合标记耦合标记耦合:一组模块通过参数表传递记录信息,

25、这组模块共享了该2024/4/27 29结束返回控制耦合:如果一个模块通过传送控制信息来控制另一模块的功能,就是控制耦合。控制耦合属于中等程度的耦合,它增加了系统的复杂性。第4章 概要设计控制耦合控制耦合4.3 4.3 概要设计原则概要设计原则2023/7/31 外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。第4章 概要设计模块A模块B模块CPublic N外部耦合4.3 4.3 概要设计原则概要设计原则外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结公共耦合:若一组模块都访问同一个公共数据环境,则它们之间

26、的耦合就称为公共耦合。公共数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。公共耦合的复杂程度随耦合模块的个数增加而显著增加。若只是两模块间有公共数据环境,则公共耦合有两种情况:松散的公共耦合和紧密的公共耦合。4.3 4.3 概要设计原则概要设计原则第4章 概要设计公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦2024/4/27 32结束返回松散的公共耦合:一个模块往公共数据区传送数据,而另一个模块从公共数据区接收数据。紧密的公共耦合:两个模块既往公共数据区传送数据,又从公共数据区接收数据。公共数据区公共数据区AB 公共数据区公共数据区AB松散的公共耦合松散的公共耦合

27、紧密的公共耦合紧密的公共耦合第4章 概要设计4.3 4.3 概要设计原则概要设计原则2023/7/31 2024/4/27 33结束返回 内容耦合 如果发生下列情形之一,则两个模块之间就发如果发生下列情形之一,则两个模块之间就发生了内容耦合生了内容耦合:一个模块直接访问另一个模块的内部数据;一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一模块内部;一个模块不通过正常入口转到另一模块内部;两个模块有一部分程序代码重迭;两个模块有一部分程序代码重迭;一个模块有多个入口。一个模块有多个入口。第4章 概要设计4.3 4.3 概要设计原则概要设计原则2023/7/31 第4章 概要设

28、计内容耦合内容耦合4.3 4.3 概要设计原则概要设计原则第4章 概要设计内容耦合4.3 概要设计原则软件设计应追求尽可能松散耦合,避免强耦软件设计应追求尽可能松散耦合,避免强耦合,这样模块间的联系就越小,模块的独立合,这样模块间的联系就越小,模块的独立性就越强,对模块的测试、维护就越容易。性就越强,对模块的测试、维护就越容易。因此建议:因此建议:尽量使用数据耦合,少用控制耦尽量使用数据耦合,少用控制耦合,限制公共耦合,完全不用内容偶合。合,限制公共耦合,完全不用内容偶合。第4章 概要设计4.3 4.3 概要设计原则概要设计原则软件设计应追求尽可能松散耦合,避免强耦合,这样模块间的联系就202

29、4/4/27 36结束返回模块模块内聚内聚低偶然内偶然内聚聚逻辑逻辑内聚内聚过程过程内聚内聚通信通信内聚内聚时间时间内聚内聚信息信息内聚内聚功能功能内聚内聚高强弱内聚性内聚性模块独立性模块独立性模块内聚性模块内聚性模块模块内聚分为内聚分为7 7级级:4.3 4.3 概要设计原则概要设计原则第4章 概要设计2023/7/31 2024/4/27 37结束返回偶然内聚:偶然内聚:当模块内部各元素之间没有联系,或者即使有联当模块内部各元素之间没有联系,或者即使有联系也很松散。则称这种模块为偶然内聚模块。系也很松散。则称这种模块为偶然内聚模块。偶然内聚存在很大缺点,它不利于程序的修改与维护。偶然内聚存

30、在很大缺点,它不利于程序的修改与维护。4.3 4.3 概要设计原则概要设计原则第4章 概要设计偶然内聚偶然内聚2023/7/31 2024/4/27 38结束返回调用模块判定读一个记录写一个记录被调用模块逻辑内聚逻辑内聚4.3 4.3 概要设计原则概要设计原则第4章 概要设计逻辑内聚逻辑内聚:如果一个模块中包如果一个模块中包含多个逻辑上相关的功能,每含多个逻辑上相关的功能,每次被调用时,根据传递给该模次被调用时,根据传递给该模块的判定参数来确定模块应执块的判定参数来确定模块应执行的功能,称作逻辑内聚。行的功能,称作逻辑内聚。逻辑内聚模块中各功能存在着逻辑内聚模块中各功能存在着某种相关的联系,但

31、它执行的某种相关的联系,但它执行的不是一种功能,而是多种功能,不是一种功能,而是多种功能,这样往往增加了软件修改和维这样往往增加了软件修改和维护的难度。护的难度。2023/7/31 n时时间间内内聚聚:如果一个模块所包含的任务必须在同一时间内执行称作时间内聚。如初始化模块,对各种变量、数据、栈和寄存器等都在开始执行前期的同一时间段内执行。4.3 4.3 概要设计原则概要设计原则第4章 概要设计变量赋初值变量赋初值初始化寄存器初始化寄存器初始化栈初始化栈时间内聚时间内聚时间内聚:如果一个模块所包含的任务必须在同一时间内执行称作时n过过程程内内聚聚:如果一个模块内的处理是相关的,而且必须以特定次序

32、执行,则称为过程内聚。例如,把流程图中的循环部分、判定部分、计算部分分例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,则每个模块都是过程内聚模块。成三个模块,则每个模块都是过程内聚模块。主模块循环模块判定模块计算模块过程内聚过程内聚4.3 4.3 概要设计原则概要设计原则第4章 概要设计过程内聚:如果一个模块内的处理是相关的,而且必须以特定次序执4.3 4.3 概要设计原则概要设计原则第4章 概要设计通信内聚通信内聚通信内聚通信内聚:如果一个模块各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称为通信内聚。4.3 概要设计原则第4章 概要设计通信内聚通信内聚:如果一20

33、24/4/27 42结束返回信息内聚信息内聚:这种模块能完成多个功能,各个功能都在同一数这种模块能完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。据结构上操作,每一项功能有一个唯一的入口点。符符 号号 表表 查找查找登录登录删除删除修改修改信息内聚信息内聚第4章 概要设计4.3 4.3 概要设计原则概要设计原则2023/7/31 2024/4/27 43结束返回第五章软件设计功能内聚:功能内聚:如果一个模块内所有成分都完成同一如果一个模块内所有成分都完成同一个功能,则称这样的模块为功能内聚模块。个功能,则称这样的模块为功能内聚模块。功能内聚是内聚程度最高的模块,也就

34、是独立性功能内聚是内聚程度最高的模块,也就是独立性最强的模块。最强的模块。软件设计中应该注意:力求做到高内聚,尽量少软件设计中应该注意:力求做到高内聚,尽量少用中内聚,绝对不用低内聚。用中内聚,绝对不用低内聚。4.3 4.3 概要设计原则概要设计原则第4章 概要设计2023/7/31 2024/4/27 44结束返回常用的软件体系结构设计工具有常用的软件体系结构设计工具有结构图(结构图(SCSC)和层)和层次图加输入次图加输入/处理处理/输出图(输出图(HIPOHIPO)。)。1.1.结构图结构图在结构化设计方法中,软件结构常常采用20世纪70年代中期由Yourdon等人提出的结构图(SC,S

35、tructure Chart)来表示。结构图能够描述软件系统的模块层次结构,清楚地反映出程序中各模块之间的调用关系和联系。4.4 4.4 体系结构设计工具体系结构设计工具 第4章 概要设计2023/7/31 2024/4/27 45结束返回结构图中的基本符号结构图中的基本符号ABC第4章 概要设计ABC符号含义用于表示模块,方框中标明模块的名称直线或带箭头直线,用于描述模块之间的调用关系表示信息传递,箭头尾部为空心圆表示传递的信息是数据,实心圆则表示传递的是控制信息,箭头上标明信息的名称菱形表示模块A选择调用模块B或模块C圆弧表示模块A循环调用模块B和模块C2023/7/31 2024/4/2

36、7 46结束返回SCSC图中的主要内容图中的主要内容第4章 概要设计4.4 4.4 体系结构设计工具体系结构设计工具 2023/7/31 系统结构图系统结构图4.4 4.4 体系结构设计工具体系结构设计工具 第4章 概要设计系统结构图4.4 体系结构设计工具 第4章 概要设计扇出与扇入:扇出表明了该模块可以控制的下级模块的数目。扇入表明了共有多少个模块调用该模块。4.4 4.4 体系结构设计工具体系结构设计工具 第4章 概要设计扇出与扇入:扇出表明了该模块可以控制的下级模块的数目。扇入表深度与宽度:深度是指在软件结构中控制的层数。层数越多,程序越复杂,程序的可理解性也就随之下降。宽度表示软件结

37、构中同一层次上的模块总数的最大值。宽度越大,系统越复杂。如上图所示的软件结构图中,深度为5,宽度为8。4.4 4.4 体系结构设计工具体系结构设计工具 第4章 概要设计深度与宽度:深度是指在软件结构中控制的层数。层数越多,程序越2024/4/27 50结束返回4.4 4.4 体系结构设计工具体系结构设计工具 HIPO(Hierarchy Plus Input/Processing/Output)图是IBM公司在20世纪70年代发展起来的用于描述软件体系结构的图形工具。它实质上是在描述软件总体模块结构的层次图(H图)的基础上,加入了用于描述每个模块输入/输出数据和处理功能的IPO图,因此它的中文

38、全名为层次图加输入/处理/输出图。2.HIPO2.HIPO2.HIPO2.HIPO图图图图第4章 概要设计2023/7/31 (1 1)层次图()层次图(Hierarchy ChartHierarchy Chart)层次图表明各功能模块的隶属关系,它是自顶向下逐层分解得到的一个树型结构。其顶层模块是整个系统的名称,第二层是对系统功能的分解,继续分解可得到第三层、第四层等。为了使H图更具有可追踪性,可以为除顶层以外的其他矩形框加上能反映层次关系的编号。4.4 4.4 体系结构设计工具体系结构设计工具 第4章 概要设计(1)层次图(Hierarchy Chart)4.4 体系结2024/4/27

39、52结束返回工资计算系统的工资计算系统的H H图图 2023/7/31 2024/4/27 53结束返回(2 2)IPOIPO图图IPO图是输入、处理、输出图,它能够方便、清晰地描绘出模块的数据输入、数据加工和数据输出之间的关系。与层次图中每个矩形框相对应,IPO图描述该矩形框所代表的模块的具体处理细节,作为对层次图中内容的补充说明。在图中左边的框中列出模块涉及的所有输入数据,中间列出主要的数据加工,右边列出处理后产生的输出数据;图中的箭头用于指明输入数据、加工和输出结果之间的关系。4.4 4.4 体系结构设计工具体系结构设计工具 第4章 概要设计2023/7/31 2024/4/27 54结

40、束返回 计算工资模块的计算工资模块的IPOIPO图图4.4 4.4 体系结构设计工具体系结构设计工具 第4章 概要设计2023/7/31 2024/4/27 55结束返回4.5 4.5 概要设计的启发式规则概要设计的启发式规则启发式规则是根据软件体系结构设计经验对概要设计原则进行的进一步补充和说明。(1)(1)提高模块独立性提高模块独立性为了提高软件中各个模块的独立性,提高程序的可读性、可测试性和可维护性,在软件体系结构设计时应尽可能采用高内聚、低耦合的模块。如最好实现功能内聚;尽量只使用数据耦合,限制公共耦合的使用,避免控制耦合的使用,杜绝内容耦合的出现。第4章 概要设计2023/7/31

41、2024/4/27 56结束返回(2)(2)模块大小要适中模块大小要适中程序中模块的规模过大,会增加程序的复杂性,降低程序的可读性;而模块规模过小,势必会导致程序中的模块数目过多,增加接口的数量和成本。模块的适当规模没有严格的规定,但普遍的观点是模块中的语句最好保持在50-150行之间。为了使模块的规模适中,在保证模块独立性的前提下,可对程序中规模过小的模块进行合并或对规模过大的模块进行分解。第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则2023/7/31 (3)(3)模块应具有高扇入和适当的扇出模块应具有高扇入和适当的扇出若模块的扇出过大,则会使该模块的调用控制过于

42、复杂。根据实践经验,模块的平均扇出通常为3或4为好。模块的扇入越大,则说明共享该模块的上级模块数越多,或者说该模块在程序中的重用性越高,这正是程序设计所追求的目标之一。在一个好的软件结构中,模块应具有较高的扇入和适当的扇出。但绝不能为了单纯追求高扇入或合适的扇出而破坏了模块的独立性。第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则(3)模块应具有高扇入和适当的扇出第4章 概要设计4.5 概扇出扇入结构的调整扇出扇入结构的调整第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则扇出扇入结构的调整第4章 概要设计4.5 概要设计的启发式规2024/4/2

43、7 59结束返回软件结构图示例软件结构图示例软件结构图示例软件结构图示例第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则一个良好的软件结构,通常顶层的扇出数较大,中间层的扇出数较小,底层的扇入数较大,即瓮瓮形形结构,如图所示。2023/7/31 2024/4/27 60结束返回 (4)(4)软件结构中的深度和宽度不宜过大软件结构中的深度和宽度不宜过大 对宽度影响最大的因素是模块的扇出,模块可以调用的下级模块数越多,软件结构的宽度就越大。软件结构中的深度和宽度是相互对立的两个方面,降低深度会引起宽度的增加,而降低宽度又会带来深度的增加。因此,设计软件结构时要在深度和宽度之

44、间作出平衡和折衷。第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则2023/7/31 2024/4/27 61结束返回(5 5)模块的作用域应处于控制域之内)模块的作用域应处于控制域之内模块的作用域是指受该模块内判定条件影响的所有模块范围。模块的控制域是指该模块本身以及所有该模块的下属模块(包括该模块可以直接调用的下级模块和可以间接调用的更下层的模块)。第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则2023/7/31 2024/4/27 62结束返回第4章 概要设计模块的作用域和控制域模块的作用域和控制域 C的控制域C的作用域4.5 4.5 概

45、要设计的启发式规则概要设计的启发式规则2023/7/31 n例如,在上图中,模块C的控制域为模块C、E和F;若在模块C中存在一个对模块D、E和F均有影响的判定条件,即模块C的作用域为模块C、D、E和F(图中带阴影的模块),则显然模块C的作用域超出了其控制域。n由于模块D在模块C的作用域中,因此模块C对模块D的控制信息必然要通过上级模块B进行传递,这样不但会增加模块间的耦合性,而且会给模块的维护和修改带来麻烦(若要修改模块C,可能会对不在它控制域中的模块D造成影响)。第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则例如,在上图中,模块C的控制域为模块C、E和F;若在模块C

46、中软件设计时应使各个模块的作用域处于其控制域范围之内。若发现不符合此设计原则的模块,可通过下面的方法进行改进:n 将判定位置上移。如将图中的模块C中的判定条件上移到上级模块B中或将模块C整个合并到模块B中。n 将超出作用域的模块下移。如将图中的模块D移至模块C的下一层上,使模块D处于模块C的控制域中。第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则软件设计时应使各个模块的作用域处于其控制域范围之内。若发现不模块的控制域与作用域模块的控制域与作用域模块的控制域与作用域2024/4/27 66结束返回(6)(6)(6)(6)尽量降低模块的接口复杂度尽量降低模块的接口复杂度尽

47、量降低模块的接口复杂度尽量降低模块的接口复杂度由于复杂的模块接口是导致软件出现错误的主要原因之一,因此在软件设计中应尽量使模块接口简单清晰,如减少接口传送的信息个数以及确保实参和形参的一致性和对应性等。降低模块的接口复杂度,可以提高软件的可读性,减少出现错误的可能性,并有利于软件的测试和维护。第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则2023/7/31 (7 7)设计单入口、单出口的模块)设计单入口、单出口的模块这条规则要求在软件设计时不要使模块间出现内容耦合。这条规则要求在软件设计时不要使模块间出现内容耦合。如果软件在模块调用时是从顶部进入模块并且从底部退出如果

48、软件在模块调用时是从顶部进入模块并且从底部退出来,这样的软件比较容易理解,也容易维护。来,这样的软件比较容易理解,也容易维护。第4章 概要设计4.5 4.5 概要设计的启发式规则概要设计的启发式规则程序入口程序出口(7)设计单入口、单出口的模块第4章 概要设计4.5 概要设(8 8)模块功能应该可以预测)模块功能应该可以预测如果把一个模块当做一个黑盒子,只要输入相同如果把一个模块当做一个黑盒子,只要输入相同的数据就会产生相同的结果,这个模块的功能就的数据就会产生相同的结果,这个模块的功能就是可以预测的。是可以预测的。2024/4/27 68第4章 概要设计相同的输入相同的输出4.5 4.5 概

49、要设计的启发式规则概要设计的启发式规则(8)模块功能应该可以预测2023/7/31 2024/4/27 69结束返回面向数据流的设计方法定义了一些不同的“映射”,利用这些映射可以把数据流图变换成软件结构图。任何软件系统都可以用数据流图表示,所以面向数据流的设计方法理论上可以设计任何软件的结构。通常所说的结构化设计(SD)方法,也就是基于数据流的设计方法。4.6 4.6 面向数据流的设计方法面向数据流的设计方法第4章 概要设计目标系统的目标系统的DFDDFD SD SD目标系统的目标系统的SCSC面向数据流设计设计2023/7/31 2024/4/27 70结束返回结构化设计(SD,Struct

50、ure Design)方法,它是基于模块化、自顶向下、逐步细化等结构化程序设计技术的一种软件体系结构设计方法。4.6.1 SD4.6.1 SD方法实施的步骤:方法实施的步骤:1.1.首先研究、分析和审查数据流图。首先研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流的加工过程,对于发现的问题及时解决。2.2.然后根据数据流图确定数据处理的类型。然后根据数据流图确定数据处理的类型。典型的数据流有两种类型:变换流和事务流。针对两种不同类型分别进行分析处理。4.6 4.6 面向数据流的设计方法面向数据流的设计方法第4章 概要设计2023/7/31 3.3.由数据流图推导出系统的初始结构图。由

51、数据流图推导出系统的初始结构图。4.4.利用启发式规则改进系统初始结构图,直到得利用启发式规则改进系统初始结构图,直到得到符合要求的结构图为止。到符合要求的结构图为止。5.5.修订和补充数据字典。修订和补充数据字典。4.6 4.6 面向数据流的设计方法面向数据流的设计方法第4章 概要设计3.由数据流图推导出系统的初始结构图。4.6 面向数据流的设2024/4/27 72结束返回变换流:变换流:信息沿数据通信息沿数据通路,先通过物理输入,路,先通过物理输入,由系统变换为逻辑输入,由系统变换为逻辑输入,然后通过变换中心处理,然后通过变换中心处理,再将信息的逻辑输出变再将信息的逻辑输出变换为物理输出

52、。具有这换为物理输出。具有这种特性的信息流称为变种特性的信息流称为变换流。换流。4.6 4.6 面向数据流的设计方法面向数据流的设计方法第4章 概要设计变换流变换流 2023/7/31 事务流 事务流:信息沿数据通路到达一个处理中心(事务中心),然后根据信息的类型来决定从若干动作序列中选择一个来执行,这样的信息流称为事务流。一个事务流由输入、处理和若干动作路径组成。4.6 4.6 面向数据流的设计方法面向数据流的设计方法第4章 概要设计事务流 事务流:信息沿数据通路到达一个处理中心(事务中心),从从DFDDFD图导出图导出SCSC图的过程图的过程第4章 概要设计开 始细化修改SRS中的DFD图

53、判断DFD图的结构类型是变换型吗?F事务分析变换分析细化完善SC 图T对SC 图进行评审结束导出初始的SC 图从DFD图导出SC图的过程第4章 概要设计开 始细化修改SR2024/4/27 75结束返回在软件的需求分析阶段,数据流是软件开发人员在软件的需求分析阶段,数据流是软件开发人员考虑问题的出发点和基础。数据流从系统的输入考虑问题的出发点和基础。数据流从系统的输入端到输出端,要经历一系列的变换或处理。用来端到输出端,要经历一系列的变换或处理。用来表现这个过程的数据流图表现这个过程的数据流图(DFD)(DFD)实际上就是软件实际上就是软件系统的逻辑模型。系统的逻辑模型。面向数据流的设计要解决

54、的任务,就是在上述需面向数据流的设计要解决的任务,就是在上述需求分析的基础上,将求分析的基础上,将DFDDFD图映射成软件系统结构图映射成软件系统结构图图SCSC图。图。4.6 4.6 面向数据流的设计方法面向数据流的设计方法第4章 概要设计2023/7/31 变换型数据流图4.6 4.6 面向数据流的设计方法面向数据流的设计方法第4章 概要设计变换型数据流图由变换型数据流图由输入、变换(主加工)和输出输入、变换(主加工)和输出三部分构成。三部分构成。变换型数据处理工作过程大致分为三步,即变换型数据处理工作过程大致分为三步,即取得数据取得数据、变变换数据换数据和和给出数据给出数据。相应地,。相

55、应地,变换型系统结构图变换型系统结构图由由输入输入、中心变换中心变换和和输出输出三部分组成。三部分组成。4.6.2 4.6.2 变换分析变换分析(1)(1)变换型系统结构图变换型系统结构图变换型数据流图4.6 面向数据流的设计方法第4章 概要设计变2024/4/27 77结束返回变换型系统结构图4.6 面向数据流设计方法(SD)第4章 概要设计2023/7/31 2024/4/27 78结束返回变换分析变换分析-将具有变换型变换型的DFDDFD图导出为SCSC图变换变换变换变换分析分析分析分析将输入模块将输入模块将输入模块将输入模块CiCiCiCi、变换模块、变换模块、变换模块、变换模块CtC

56、tCtCt、输出模块、输出模块、输出模块、输出模块CoCoCoCo组组组组装在主控模块装在主控模块装在主控模块装在主控模块CmCmCmCm下,获得完整的下,获得完整的下,获得完整的下,获得完整的SCSCSCSC图。图。图。图。在数据流图上区分系统的逻辑输入、在数据流图上区分系统的逻辑输入、在数据流图上区分系统的逻辑输入、在数据流图上区分系统的逻辑输入、逻辑输出和变换中心部分,并标出它们的逻辑输出和变换中心部分,并标出它们的逻辑输出和变换中心部分,并标出它们的逻辑输出和变换中心部分,并标出它们的边界。边界。边界。边界。进行一级分解,设计系统模块结构的进行一级分解,设计系统模块结构的进行一级分解,

57、设计系统模块结构的进行一级分解,设计系统模块结构的顶层和第一层。顶层和第一层。顶层和第一层。顶层和第一层。进行二级分解,设计中、下层模块。进行二级分解,设计中、下层模块。进行二级分解,设计中、下层模块。进行二级分解,设计中、下层模块。第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法2023/7/31 2024/4/27 79结束返回在在DFDDFDDFDDFD图上标出逻辑输入、逻辑输出和变换中心的边界图上标出逻辑输入、逻辑输出和变换中心的边界A Ae eB BaC CbD Dc cE EdP PQQR RWWU UV Vwwu uvrp变换中心变换中心c,e 逻辑输入w

58、,u 逻辑输出具有变换型数据流图第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法2023/7/31 2024/4/27 80结束返回CmCiCtCoc,ec,ewu,wu,顶层第一层第一级分解后的第一级分解后的SCSC图图第4章 概要设计 完成第一级分解完成第一级分解4.6 4.6 面向数据流的设计方法面向数据流的设计方法2023/7/31 2024/4/27 81结束返回 完成第二级分解完成第二级分解对逻辑输入的分解对逻辑输入的分解EDCiCBAabdec第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法CiGet CGet EB to CA t

59、o BD to EaecRead DGet BRead Ac,eabbbcded2023/7/31 2024/4/27 82结束返回Co对输出的分解对输出的分解WUVvuwCtQPRec,prw,u 对变换中心加工的分解对变换中心加工的分解 prw,u第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法2023/7/31 2024/4/27 83结束返回将输入模块将输入模块CiCi、变换模块、变换模块CtCt、输出模块、输出模块CoCo组装在一组装在一起,获得完整的起,获得完整的SCSCSCSC图。图。CiCBAEDCtQPR从变换分析导出的初始从变换分析导出的初始SCSC

60、图图CoWUVCm c,ew,uw,uc,e第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法2023/7/31 汽车汽车数字仪表板系统的数据流图数字仪表板系统的数据流图例,根据汽车仪表板的数据流图转换软件结构图的过程。汽车数字仪表板系统的数据流图例,根据汽车仪表板的数据流图转换划分输入、输出边界的数据流图划分输入、输出边界的数据流图输入输入变换变换输出输出划分输入、输出边界的数据流图输入变换输出第一级分解第一级分解第一级分解数字仪表板系统的第一级分解数字仪表板系统的第一级分解第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法数字仪表板系统的第一级分

61、解第4章 概要设计4.6 面向数据流软件工程概论-电子教案-第4章-概要设计ppt课件分解后的分解后的输入结构输入结构第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法分解后的输入结构第4章 概要设计4.6 面向数据流的设计方法分解后分解后的变换结构的变换结构第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法分解后的变换结构第4章 概要设计4.6 面向数据流的设计方法分解后分解后的输出结构的输出结构第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法分解后的输出结构第4章 概要设计4.6 面向数据流的设计方法细化后的数字仪表板系统

62、软件结构图细化后的数字仪表板系统软件结构图对上述三个模块进行分析细化(分解或合并)后组装在一起,即形成如下的软件体系结构图:第4章 概要设计细化后的数字仪表板系统软件结构图对上述三个模块进行分析细化(2024/4/27 93结束返回运用变换分析建立系统的运用变换分析建立系统的SCSC时需注意以下几点:时需注意以下几点:在设计模块的次序时,应对一个模块的全部在设计模块的次序时,应对一个模块的全部在设计模块的次序时,应对一个模块的全部在设计模块的次序时,应对一个模块的全部下属模块都设计完成后,再转向另一个模块下属模块都设计完成后,再转向另一个模块下属模块都设计完成后,再转向另一个模块下属模块都设计

63、完成后,再转向另一个模块的下层模块进行设计。的下层模块进行设计。的下层模块进行设计。的下层模块进行设计。在设计下层模块时,应考虑模块的耦合和内在设计下层模块时,应考虑模块的耦合和内在设计下层模块时,应考虑模块的耦合和内在设计下层模块时,应考虑模块的耦合和内聚问题,以提高聚问题,以提高聚问题,以提高聚问题,以提高SCSCSCSC图的设计质量。图的设计质量。图的设计质量。图的设计质量。注意注意注意注意“黑盒黑盒黑盒黑盒”技术的使用(即只考虑模块的功能技术的使用(即只考虑模块的功能技术的使用(即只考虑模块的功能技术的使用(即只考虑模块的功能而不考虑内部实现的细节)。而不考虑内部实现的细节)。而不考虑

64、内部实现的细节)。而不考虑内部实现的细节)。第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法2023/7/31 2024/4/27 94结束返回4.6.3 4.6.3 4.6.3 4.6.3 事务分析事务分析事务分析事务分析第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法“事务事务”引起、触发或启动某一动作引起、触发或启动某一动作或一串动作的任何数据、控或一串动作的任何数据、控制信号、事件或状态的变化。制信号、事件或状态的变化。2023/7/31 2024/4/27 95结束返回第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计

65、方法事务分析与变换分析一样,也是事务分析与变换分析一样,也是从分析数据流图从分析数据流图开始开始,自顶向下自顶向下,逐步分解逐步分解,建立系统结构图。,建立系统结构图。在事务型数据流图中,它接受一项事务,根据在事务型数据流图中,它接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。理单元,然后给出结果。在事务型系统结构图中,事务中心模块按所接在事务型系统结构图中,事务中心模块按所接受的事务的类型,选择某一事务处理模块执行。受的事务的类型,选择某一事务处理模块执行。每个事务处理模块可能要调用若干个操作模块,每个事务处理模块可

66、能要调用若干个操作模块,而操作模块又可能调用若干细节模块而操作模块又可能调用若干细节模块。2023/7/31 2024/4/27 96结束返回事务分析主要任务是实现事务型的数据流图到软件事务分析主要任务是实现事务型的数据流图到软件结构图的转换。实现这种转换,可以通过以下几个结构图的转换。实现这种转换,可以通过以下几个设计步骤来进行。设计步骤来进行。(1 1)确定事务中心。)确定事务中心。(2 2)将事务型数据流图转换为仅有高层模块的结)将事务型数据流图转换为仅有高层模块的结构图。构图。(3 3)进一步分解结构图的接收模块和发送模块。)进一步分解结构图的接收模块和发送模块。第4章 概要设计4.6 4.6 面向数据流的设计方法面向数据流的设计方法2023/7/31 事务分析的映射方法事务分析的映射方法 事务中心事务中心ABTCFDGEHJ输入流输入流输出流输出流 I事务分析的映射方法 事务中心ABTCFDGEHJ输入流输出流2024/4/27 98结束返回变换分析是软件系统结构设计的主要方法,任何变换分析是软件系统结构设计的主要方法,任何类型的数据流图都可以转换成软件结构图。类型的数据流图

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!