系统设计系统模块结构设计详细讲述.pptx

上传人:莉*** 文档编号:77431904 上传时间:2023-03-14 格式:PPTX 页数:61 大小:556.63KB
返回 下载 相关 举报
系统设计系统模块结构设计详细讲述.pptx_第1页
第1页 / 共61页
系统设计系统模块结构设计详细讲述.pptx_第2页
第2页 / 共61页
点击查看更多>>
资源描述

《系统设计系统模块结构设计详细讲述.pptx》由会员分享,可在线阅读,更多相关《系统设计系统模块结构设计详细讲述.pptx(61页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、(一)模块与模块分解模块是组成系统的基本单位,它的特点是可以组合、分解和更换。系统中任何一个处理功能都可以看成是一个模块。根据模块功能具体化程度的不同,可以分为逻辑模块和物理模块。在系统逻辑模型中定义的处理功能可视为逻辑模块。物理模块是逻辑模块的具体化,可以是一个计算机程序、子程序或若干条程序语句,也可以是人工过程的某项具体工作。1、概述第1页/共61页(一)模块与模块分解2、模块的四个要素输入和输出输入和输出处理功能处理功能内部数据内部数据程序代码程序代码第2页/共61页(一)模块与模块分解3、模块分解系统逻辑模型中数据流图中的模块是逻辑处理模块,模型中没有说明模块的物理构成和实现途径,同时

2、也看不出模块的层次分解关系,为此在系统结构设计中要将数据流图上的各个逻辑处理模块进一步分解,用模块结构图确定系统的层次结构关系,并将系统的逻辑模型转变为物理模型。第3页/共61页(一)模块与模块分解3、模块分解(1)划分模块的依据 一个合理的子系统或模块划分,应该是子系统或模块内部联系强,子系统或模块间尽可能独立,接口明确、简单,尽量适应用户的组织体系,有适当的共用性。第4页/共61页(一)模块与模块分解3、模块分解(2)模块分解的方式q 按逻辑划分:把相类似的处理逻辑功能放在一个模块里。q 按时间划分q 按过程划分q 按通信划分 按职能划分第5页/共61页按职能划分按职能划分子系统、按逻辑划

3、分子系统、按逻辑划分模块模块所形成的系统所形成的系统第6页/共61页(二)模块结构图模块结构图是把分解的一个个模块按层次结构联系起来的图。模块结构图是结构化设计中描述系统结构的图形工具。作为一种文档,它必须严格地定义模块的名字、功能和接口,同时还应当在模块结构图上反映出结构化设计的思想。第7页/共61页序号序号名称名称符符 号号含含 义义 说说 明明1 1模块模块表示一个功能模块,模块名称标注在方框的内部表示一个功能模块,模块名称标注在方框的内部2 2预定义预定义表示一个预先定义的模块,模块名称标注在方框的内部,预先定义表示一个预先定义的模块,模块名称标注在方框的内部,预先定义模块是指不必在编

4、程实现的模块,通常是应用程序中的一个程序。模块是指不必在编程实现的模块,通常是应用程序中的一个程序。3 3调用调用表示模块与模块之间的调用关系,箭头部分指示被调用模块,箭尾表示模块与模块之间的调用关系,箭头部分指示被调用模块,箭尾部分指示调用模块。部分指示调用模块。4 4数据数据表示模块与模块之间的数据流,数据项名称或编号标注在旁边。表示模块与模块之间的数据流,数据项名称或编号标注在旁边。5 5控制信息控制信息表示模块与模块之间的控制流,控制变量的名称或编号标注在旁边。表示模块与模块之间的控制流,控制变量的名称或编号标注在旁边。6 6判断分支判断分支表示模块内部包含有判断逻辑,根据判定结果调用

5、哪些功能模块。表示模块内部包含有判断逻辑,根据判定结果调用哪些功能模块。7 7循环调用循环调用表示模块内部包含有循环调用某个或某些模块的功能。表示模块内部包含有循环调用某个或某些模块的功能。8 8转接转接模块结构图需要转接到另外一张纸上,或为了避免图上线条交叉时,模块结构图需要转接到另外一张纸上,或为了避免图上线条交叉时,都可使用转接符号,圆圈内加上标号。都可使用转接符号,圆圈内加上标号。第8页/共61页(二)模块结构图1、模块 系统设计中所说的模块为物理模块,通常是指用一个名字就可以调用的一段程序语句。用长方形框表示一个模块,对于现成的模块,则以双纵边矩形框表示。长方形中间标上模块名,模块名

6、通常由一个动词和一个作为宾语的名词组成。模块的名字应当能够表明该模块的功能。模块的表示模块的表示第9页/共61页(二)模块结构图2、调用q在模块结构图中,用联接两个模块的箭头表示调用,箭头总是由调用模块指向被调用模块,但是应该理解成被调用模块执行后又返回到调用模块。q如果一个模块是否调用一个从属模块,决定于调用模块内部的判断条件,则该调用称为判断调用。如果一个模块通过其内部的循环功能来循环调用一个或多个从属模块,则该调用称为循环调用。模块调用模块调用第10页/共61页(二)模块结构图3、数据当一个模块调用另一个模块时,调用模块可以把数据传送到被调用模块处供处理,而被调用模块又可以将处理的结果数

7、据送回到调用模块。第11页/共61页(二)模块结构图4、控制信息为了指导程序下一步的执行,模块间有时还必须传送某些控制信息,例如,数据输入完成后给出的结束标志,文件读到末尾所产生的文件结束标志等。控制信息与数据的主要区别是前者只反映数据的某种状态,不必进行处理。第12页/共61页(二)模块结构图5、转接符号当模块结构图在一张图面上画不下,需要转接到另外一张纸上,或为了避免图上线条交叉时,都可使用转接符号,圆圈内加上标号,如图所示。转接符号的使用转接符号的使用第13页/共61页(三)模块结构图的标准形式 一个系统的模块结构图有两种标准形式:q变换型模块结构事务型模块结构第14页/共61页(三)模

8、块结构图的标准形式1、变换型模块结构变换型模块结构描述的是变换型系统,变换型系统由三部分组成:输入数据加工(中心变换)输出变换型模块的功能是将输入的数据经过加工后输出。第15页/共61页变换型系统工作的顺序:变换型系统工作的顺序:首先主模块受到控制,然后控制沿着结构逐层达到底层的输入模块,当底层模块首先主模块受到控制,然后控制沿着结构逐层达到底层的输入模块,当底层模块输入数据后,由下至上逐层传送,逐步由输入数据后,由下至上逐层传送,逐步由“物理输入物理输入”变成变成“逻辑输入逻辑输入”C C;在主控模块控制下,在主控模块控制下,“逻辑输入逻辑输入”经中心变换模块转换成经中心变换模块转换成“逻辑

9、输出逻辑输出”D D,D D再由上至下逐层传送,逐步把再由上至下逐层传送,逐步把“逻辑输出逻辑输出”变成变成“物理输出物理输出”E E。这里的这里的“逻辑输入逻辑输入”和和“逻辑输出逻辑输出”分别为系统主处理的输入数据流和输出数分别为系统主处理的输入数据流和输出数据流,而据流,而“物理输入物理输入”和和“物理输出物理输出”是指系统输入端和系统输出端的数据。是指系统输入端和系统输出端的数据。第16页/共61页(三)模块结构图的标准形式2、事务型模块结构事务型系统由三层组成:事务层操作层细节层 事务型模块的功能是对接收的事务,按其类型选择某一类事务处理。第17页/共61页事务型系统工作的顺序:事务

10、型系统工作的顺序:主模块将按事务的类型选择调用某一事务处理模块,主模块将按事务的类型选择调用某一事务处理模块,事务处理模块又调用若干个操作模块,而每个操作模块又调用若干个细节模块。事务处理模块又调用若干个操作模块,而每个操作模块又调用若干个细节模块。在实际系统中,由于不同的事务可能有共同的操作,而不同操作又可能有共同在实际系统中,由于不同的事务可能有共同的操作,而不同操作又可能有共同的细节,因此事务型系统的操作模块和细节模块可以达到一定程度的共享。的细节,因此事务型系统的操作模块和细节模块可以达到一定程度的共享。变换型和事务型模块结构都有较高的模块内聚和较低的块间耦合,因此便于修变换型和事务型

11、模块结构都有较高的模块内聚和较低的块间耦合,因此便于修改和维护。在管理信息系统中,经常将这两种结构结合使用。改和维护。在管理信息系统中,经常将这两种结构结合使用。第18页/共61页(四)如何画初始的模块结构图 下面介绍通过“变换分析”和“事务分析”技术,导出“变换型”和“事务型”初始结构图的方法。q变换分析q事务分析q混合结构的分析第19页/共61页(四)如何画初始的模块结构图1、数据流图的两种典型结构系统分析阶段,我们采用结构化分析方法得到了由数据流图、数据字典和加工说明等组成的系统的逻辑模型。现在,可根据一些规则从数据流图导出系统初始的模块结构图。管理信息系统的数据流图通常也可分为两种典型

12、的结构:变换型结构和事务型结构。第20页/共61页(四)如何画初始的模块结构图1、数据流图的两种典型结构q变换型结构:变换型结构的数据流图呈一种线性状态,它所描述的工作可表示为:输入、主处理、输出。第21页/共61页(四)如何画初始的模块结构图1、数据流图的两种典型结构事务型结构:事务型结构的数据流图则呈束状形,即一束数据流平行流入或流出,可能同时有几个事务要求处理。第22页/共61页(四)如何画初始的模块结构图1、数据流图的两种典型结构上述两种典型的数据流图结构分别可通过“变换分析”和“事务分析”技术,导出“变换型”和“事务型”初始的模块结构图。这两种方法的思想是首先设计顶层模块,然后自顶向

13、下,逐步细化,最后得到一个满足数据流图所表示的用户要求的系统的模块结构图,即系统的物理模型。第23页/共61页(四)如何画初始的模块结构图 2、“变换分析”技术 因为变换型结构由输入,主处理和输出三部分组成,所以从变换型结构的数据流图导出变换型模块结构图,可分三步进行。q找出系统的主加工q设计顶层模块和第一层模块设计中、下层模块第24页/共61页(1)找出系统的主加工为了处理方便,先不考虑数据流图中的一些支流,如出错处理等。为了处理方便,先不考虑数据流图中的一些支流,如出错处理等。通常在数据流图中多股数据流的汇合处理往往是系统的主加工。通常在数据流图中多股数据流的汇合处理往往是系统的主加工。若

14、没有明显的汇合处,则可先确定哪些数据流是逻辑输入和逻辑输出,若没有明显的汇合处,则可先确定哪些数据流是逻辑输入和逻辑输出,从而获得主加工。从而获得主加工。第25页/共61页(2)设计顶层模块和第一层模块顶层模块:首先在与主加工对应的位置上画出主模块首先在与主加工对应的位置上画出主模块,主模块的功能就是整个系统主模块的功能就是整个系统要做的工作,主模块又称为主控制模块。要做的工作,主模块又称为主控制模块。主模块是模块结构图的主模块是模块结构图的“顶顶”。现在我们就可按现在我们就可按“自顶向下,逐步细化自顶向下,逐步细化”的思想来画模块结构图顶下的的思想来画模块结构图顶下的各层了。每一层均需按输入

15、、变换、输出等分支来处理。各层了。每一层均需按输入、变换、输出等分支来处理。第26页/共61页为每一个逻辑输入画一个输入模块,其功能是向主模块提供数据。为每一个逻辑输出画一个输出模块,其功能是把主模块提供的数据输出。为主处理画一个变换模块,其功能是把逻辑输入变换成逻辑输出。至此,结构图第一层就完成了。在作图时应注意主模块与第一层模块之间传送的数据,要与数据流图相对应。(2 2)设计顶层模块和第一层模块第一层模块第27页/共61页(3)设计中层模块和下层模块因为输入模块的功能是向调用它的模块提供数据,所以它自已也需要一个数因为输入模块的功能是向调用它的模块提供数据,所以它自已也需要一个数据来源。

16、此外,输入模块必须向调用模块提供所需的数据,因此它应具有变换据来源。此外,输入模块必须向调用模块提供所需的数据,因此它应具有变换功能,能够将输入数据按模块的要求进行变换后,再提交该调用模块。从而,功能,能够将输入数据按模块的要求进行变换后,再提交该调用模块。从而,要为每个输入模块设计两个下层模块,其中一个是输入模块,另一个是变换模要为每个输入模块设计两个下层模块,其中一个是输入模块,另一个是变换模块。块。第28页/共61页同理,也为每个输出模块设计两个下层模块,一个是变换模块,将同理,也为每个输出模块设计两个下层模块,一个是变换模块,将调用模块所提供的数据变换成输出的形式,另一个是输出模块,将

17、变调用模块所提供的数据变换成输出的形式,另一个是输出模块,将变换后的数据输出。该过程由顶向下递归进行,直到系统的物理输入端换后的数据输出。该过程由顶向下递归进行,直到系统的物理输入端或物理输出端为止。或物理输出端为止。每设计出一个新模块,应同时给它起一个能反映模块功能的名字。每设计出一个新模块,应同时给它起一个能反映模块功能的名字。第29页/共61页(四)如何画初始的模块结构图3、“事务分析”技术 当数据流图呈现“束状”结构时,应采用事务分析的设计方法。就步骤而言该方法与变换分析方法大部分类似,主要差别在于由数据流图到模块结构的影射方式不同。第30页/共61页进行事务分析时,通常采用以下四步:

18、确定以事务为中心的结构,包括找出事务中心和事务来源。如图所示的典型事确定以事务为中心的结构,包括找出事务中心和事务来源。如图所示的典型事务型数据流结构为例,是事务中心,则为事务来源。务型数据流结构为例,是事务中心,则为事务来源。按功能划分事务,将具备相同功能的事务分为同一类,建立事务模块。按功能划分事务,将具备相同功能的事务分为同一类,建立事务模块。为每个事务处理模块建立全部的操作层模块。其建立方法与变换分析方法类似,为每个事务处理模块建立全部的操作层模块。其建立方法与变换分析方法类似,但事务处理模决可以共享某些操作模块。但事务处理模决可以共享某些操作模块。若有必要,则为操作层模块定义相应的细

19、节模块,并尽可能使细节模块被多个若有必要,则为操作层模块定义相应的细节模块,并尽可能使细节模块被多个操作模块共享。操作模块共享。A AX X第31页/共61页下图是一个以事务为中心的数据流图,显然,加工“确定事务类型”是它的事务中心,由该数据流图经事务分析可得到的模块结构图如图所示。第32页/共61页4 4、混合结构的分析、混合结构的分析在规模较大的实际系统中,其数据流图往往是变换型和在规模较大的实际系统中,其数据流图往往是变换型和事务型的混合结构。此时可把变换分析和事务分析应用事务型的混合结构。此时可把变换分析和事务分析应用在同一数据流图的不同部分。在同一数据流图的不同部分。例如,可以以例如

20、,可以以“变换分析变换分析”为主,为主,“事务分析事务分析”为辅进为辅进行设计。先找出主处理,设计出结构图的上层,然后根行设计。先找出主处理,设计出结构图的上层,然后根据数据流图各部分的结构特点,适当选用据数据流图各部分的结构特点,适当选用“变换分析变换分析”或或“事务分析事务分析”就可得出初始结构图的某个方案。就可得出初始结构图的某个方案。第33页/共61页其中第一层是用变换分析得到的,而模块其中第一层是用变换分析得到的,而模块“使使b b变成变成d”d”及下层模块和模块及下层模块和模块“变变d d为为g”g”及下层模块则是采用事务分析得到的。及下层模块则是采用事务分析得到的。变换型和事务型

21、混合结构的变换型和事务型混合结构的模块结构图模块结构图第34页/共61页课堂练习课堂练习:1.1.将下面给定的数据流图转换为相应的初始模块结构图将下面给定的数据流图转换为相应的初始模块结构图xy第35页/共61页课堂练习课堂练习:2.2.将下面给定的数据流图转换为相应的初始模块结构将下面给定的数据流图转换为相应的初始模块结构图图第36页/共61页(五)模块结构图的改进1、模块耦合和内聚的概念q一个模块内部的联系称为块内联系,穿越模块边界的联系称为块间联系。q耦合是表示模块之间联系的程度;内聚则用来表示模块内部各成分之间的联系程度。紧密耦合表示模块之间联系非常强,松散耦合表示模块之间联系比较弱,

22、非耦合则表示模块之间无任何联系,是完全独立的。模块设计的标准:高内聚低耦合。第37页/共61页(五)模块结构图的改进2、模块的耦合方式q 数据耦合q 控制耦合 非法耦合第38页/共61页(1)数据耦合如果两个模块之间的通信信息是若干数据项,则这种耦合方式称为数据耦合。例如,为了计算实发工资,“计算工资”模块必须把工资总额和扣款数传输给“计算实发工资”模块,而“计算实发工资”模块在算出实发工资后又送回到“计算工资”模块。这种耦合对系统的影响比较小,是一种较好的耦合方式,但为了减少接口的复杂性,应尽量防止传输不必要的数据。2、模块的耦合方式第39页/共61页(2)控制耦合如果两个模块之间传输的信息

23、是控制信息,则该耦合称为控制耦合。传送的控制信息可分成两类,一类是判定参数,调用模块通过该判定参数控制被调用模块的工作方式,若判定参数出错则导致被调用模块按另一种方式工作。另一种是地址参数,调用模块直接转向被调用模块内部的某一些地址,这时若改动一个模块则必将影响另一模块。因为控制耦合方式的耦合程度较高,应尽量避免采用地址参数的方式。2、模块的耦合方式第40页/共61页(3)非法耦合 两个模块之间,不经过调用关系,彼此直接使用或修改对方的数据。2、模块的耦合方式第41页/共61页(五)模块结构图的改进3、模块的内聚方式q功能内聚q顺序内聚q通信内聚q过程内聚q逻辑内聚巧合内聚耦合度耦合度 性能性

24、能低低 好好高高 坏坏第42页/共61页(1)功能内聚功能内聚表示模块中各成分的联系是功能性的,即一个模块执行一个功能,且完成该功能所必须的全部成分都包含在模块中。例如,计算工资、打印月报表等。由于这类模块的功能明确、模块间的耦合简单,所以便于维护。我们在系统设计时应力求按功能划分模块。3、模块的内聚方式第43页/共61页(2)顺序内聚顺序内聚是指模块中各成分有顺序关系,某一成分的输出是另一成分的输入。例如,“录入和汇总”模块、“统计和打印”模块都是顺序内聚模块。顺序内聚的模块中有可能包含几个功能,因而会给维护带来不便。3、模块的内聚方式第44页/共61页(3)通信内聚通信内聚是指模块中各成分

25、引用或产生共同的数据。例如报表打印模块,各成分都从若干共同的数据来源接收数据,然后转换、汇总并打印出各种报表。3、模块的内聚方式第45页/共61页(4)过程内聚过程内聚是指一个模块内各组成部分的处理动作各不相同,彼此也没有什么关系,但他们受同一个控制流支配,决定他们的执行次序。过程内聚是由一段公共的处理过程组合成的模块。例如,把处理过程中的所有循环部分,判定部分和顺序执行部分划分到一个模块,则它们都是过程内聚的,过程内聚的内部结构一般是由程序流程图直接演变出来的。显然,采用过程内聚时,模块间的耦合度比较高。3、模块的内聚方式第46页/共61页(5)逻辑内聚q逻辑内聚是指模块各成分的逻辑功能是相

26、似的。例如,把系统中与“输出”有关的操作抽取出来组成一个模块,包括将数据在屏幕上显示、从打印机上打印、拷贝到磁盘上等,则该模块就是逻辑内聚的。逻辑内聚的内聚程度稍强于巧合内聚,但仍不利于修改和维护。3、模块的内聚方式第47页/共61页(6)巧合内聚巧合内聚是指模块各成分之间毫无联系整个模块如同一盘散沙,不易修改或维护。3、模块的内聚方式第48页/共61页(五)模块结构图的改进4、耦合和内聚的关系q一般说来,在系统中各模块的内聚越大,则模块间的耦合越小。但这种关系并不是绝对的。q耦合小使得模块间尽可能相对独立,从而各模块可以单独开发和维护。内聚大使得模块的可理解性和维护性大大增强。第49页/共6

27、1页(六)在改进模块结构图时还应注意的问题q 作用范围与控制范围q 模块的扇入和扇出数q 模块分解和模块的大小q 消除重复的功能q 补充、完善和修改第50页/共61页(六)在改进模块结构图时还应注意的问题1、作用范围与控制范围一个判定的作用范围是指所有受这个判定影响的模块。按照规定:若模块中只有一小部分加工依赖于某个规定,则该模块仅仅本身属于这个判定的作用范围;若整个模块的执行取决于这个判定,则该模块的调用模块也属于这个判定作用范围。一个模块的控制范围是指模块本身及其所有的下属模块。M MA AG GB BC CD DF FE E第51页/共61页(六)在改进模块结构图时还应注意的问题分析判定

28、的作用范围和模块的控制范围之间的关系,可以较好地处理系统的模块关系,合理地分解模块。因此,在分解模块时应该满足以下要求:判定的作用范围应该在判定所在模块的控制范围之内;判定所在模块在模块层次结构中的位置不能太高;根据以上两点可知,最理想的模块分解是判定范围由判定所在模块及其直接下层模块组成。第52页/共61页顶1顶122(a)(b)作用范围和控制范围的四种关系第53页/共61页顶XY12顶XY12(c)(d)作用范围和控制范围的四种关系第54页/共61页(六)在改进模块结构图时还应注意的问题当出现作用范围不在控制范围之内时,可以用以下措施纠正:把判定所在的模块合并至上层模块中,或从低层模块移到

29、高层模块使判定的位置提高;把受判定影响的模块移到模块控制范围之内。第55页/共61页练习题:请同学们讨论下图模块设计存在问题并改正顶顶1 12 2顶顶1 12 2图图 1 1图图 2 2第56页/共61页(六)在改进模块结构图时还应注意的问题2、模块的扇入和扇出数模块的扇入数是指有多少个上级模块直接调用该模块。扇出数是指某个模块直接控制或调用的模块树目。B BC CD DA AA AB BC CD D如图中模块的扇入数等于如图中模块的扇入数等于3 3。如果一个规模很小的底层模块的扇入数为。如果一个规模很小的底层模块的扇入数为1 1,则可以把它合并到它的上层模块中去。若它的扇入数较大,就不能向上

30、,则可以把它合并到它的上层模块中去。若它的扇入数较大,就不能向上合并,否则将导致对该模块做多次编码和排错。合并,否则将导致对该模块做多次编码和排错。如图中模块如图中模块的扇出数等于的扇出数等于3 3。对扇出数过低。对扇出数过低(1(1或或2)2)的模块,也应进行检的模块,也应进行检查。一般,模块的扇出数应在查。一般,模块的扇出数应在7 7以内。以内。第57页/共61页(六)在改进模块结构图时还应注意的问题3、模块分解和模块的大小模块的大小是模块分解时要考虑的一个重要问题。模块多大最好?有许多不同的观点。模块自顶向下的分解,主要按功能来进行,也就是说一个模块最好一个功能。同时要注意模块间的接口关

31、系以较为简单为宜。从经验上讲,为了提高可读性和方便修改,一个基本模块的程序量在10 100个语句之间。第58页/共61页(六)在改进模块结构图时还应注意的问题4、消去重复功能设计过程中若发现几个模块的功能是相似的,则应设法消去其中的重复功能。因为同一功能的程序段多次出现,不仅浪费了编码时间,而且会给调试和维护带来困难。第59页/共61页(六)在改进模块结构图时还应注意的问题5、补充、完善和修改 在系统分析阶段,加工说明中所反映的用户要求(例如出错处理,过程信息以及种种限制等)不可能完全在数据流图中反映。然而,在系统设计阶段的系统模块结构图中,必须体现出用户的所有要求。因此,由数据流图导出的初始模块结构图必须进行补充、完善,还要根据模块分解的原则进行修改,才能达到用户的要求。第60页/共61页感谢您的观看!第61页/共61页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁