管理信息系统_第1页
管理信息系统_第2页
管理信息系统_第3页
管理信息系统_第4页
管理信息系统_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10讲系统设计(2)管理信息系统一、系统模块结构设计总体结构设计的主要内容之一是合理地进行模块的分解和定义,使一个个子系统设计转为若干个基本模块设计,并通过模块结构图把分解的模块按层次结构联系起来。模块与模块分解模块结构图模块结构的标准形式如何画模块结构图

数据流图的两种典型结构

“变换分析”和“事务分析”技术(一)模块的概念模块是组成系统的基本单位,它的特点是可以组合、分解和更换。系统中任何一个处理功能都可以看成是一个模块。根据模块功能具体化程度的不同,可以分为逻辑模块和物理模块。在系统逻辑模型中定义的处理功能可视为逻辑模块。物理模块是逻辑模块的具体化,可以是一个计算机程序、子程序或若干条程序语句,也可以是人工过程的某项具体工作。1、模块的四个要素输入和输出处理功能内部数据程序代码2、模块分解系统逻辑模型中数据流图中的模块是逻辑处理模块,模型中没有说明模块的物理构成和实现途径,同时也看不出模块的层次分解关系,为此在系统结构设计中要将数据流图上的各个逻辑处理模块进一步分解,用模块结构图确定系统的层次结构关系,并将系统的逻辑模型转变为物理模型。(1)划分模块的依据一个合理的子系统或模块划分,应该是子系统或模块内部联系强,子系统或模块间尽可能独立,接口明确、简单,尽量适应用户的组织体系,有适当的共用性。(2)模块分解的方式按逻辑划分按时间划分按过程划分按通信划分按职能划分子系统按职能、模块按逻辑划分所形成的系统(二)模块结构图含义模块结构图是把分解的一个个模块按层次结构联系起来的图。序号名称符号含义说明1模块表示一个功能模块,模块名称表住在方框的内部2预定义表是一个预先定义的模块,模块名称标注在方框的内部,预先定义模块是指不必在编程实现的模块,通常是应用程序中的一个程序。3调用表示模块与模块之间的调用关系,箭头部分指示被调用模块,箭尾部分指示调用模块。4数据表示模块与模块之间的数据流,数据项名称或编号标注在旁边。5控制信息表示模块与模块之间的控制流,控制变量的名称或编号标注在旁边。6判断分支表示模块内部包含有判断逻辑,根据判定结果调用哪些功能模块。7循环调用表示模块内部包含有循环调用某个或某些模块的功能。8转接模块结构图需要转接到另外一张纸上,或为了避免图上线条交叉时,都可使用转接符号,圆圈内加上标号。1、模块系统设计中所说的模块为物理模块,通常是指用一个名字就可以调用的一段程序语句。模块名通常由一个动词和一个作为宾语的名词组成。模块的名字应当能够表明该模块的功能。对于现成的模块,则以双纵边矩形框表示。模块的表示2、调用在模块结构图中,用联接两个模块的箭头表示调用,箭头总是由调用模块指向被调用模块,但是应该理解成被调用模块执行后又返回到调用模块。如果一个模块是否调用一个从属模块,决定于调用模块内部的判断条件,则该调用称为判断调用。如果一个模块通过其内部的循环功能来循环调用一个或多个从属模块,则该调用称为循环调用。模块调用3、数据当一个模块调用另一个模块时,调用模块可以把数据传送到被调用模块处供处理,而被调用模块又可以将处理的结果数据送回到调用模块。4、控制信息

为了指导程序下一步的执行,模块间有时还必须传送某些控制信息,例如,数据输入完成后给出的结束标志,文件读到末尾所产生的文件结束标志等。控制信息与数据的主要区别是前者只反映数据的某种状态,不必进行处理。在模块结构图中,用带实心圆点的箭头表示控制信息。例如,上图中“无此职工”所示。5、转接符号当模块结构图在一张图面上画不下,需要转接到另外一张纸上,或为了避免图上线条交叉时,都可使用转接符号,圆圈内加上标号,如图所示。转接符号的使用(三)模块结构图的标准形式一个系统的模块结构图有两种标准形式:变换型模块结构事务型模块结构1、变换型模块结构变换型模块结构描述的是变换型系统,变换型系统由三部分组成:输入数据加工(中心变换)输出变换型模块的功能是将输入的数据经过加工后输出。下图所示:变换型系统工作的顺序首先主模块受到控制,然后控制沿着结构逐层达到底层的输入模块,当底层模块输入数据A后,A由下至上逐层传送,逐步由“物理输入”变成“逻辑输入”C;在主控模块控制下,“逻辑输入”C经中心变换模块转换成“逻辑输出”D,D再由上至下逐层传送,逐步把“逻辑输出”变成“物理输出”E。

这里的“逻辑输入”和“逻辑输出”分别为系统主处理的输入数据流和输出数据流,而“物理输入”和“物理输出”是指系统输入端和系统输出端的数据。2、事务型模块结构事务型系统由三层组成:事务层操作层细节层事务型模块的功能是对接收的事务,按其类型选择某一类事务处理。如图所示:事务型系统工作的顺序:主模块将按事务的类型选择调用某一事务处理模块,事务处理模块又调用若干个操作模块,而每个操作模块又调用若干个细节模块。在实际系统中,由于不同的事务可能有共同的操作,而不同操作又可能有共同的细节,因此事务型系统的操作模块和细节模块可以达到一定程度的共享。变换型和事务型模块结构都有较高的模块内聚和较低的块间耦合,因此便于修改和维护。在管理信息系统中,经常将这两种结构结合使用。(四)如何画初始的模块结构图下面介绍通过“变换分析”和“事务分析”技术,导出“变换型”和“事务型”初始结构图的方法。变换分析事务分析混合结构的分析1、数据流图的两种典型结构系统分析阶段,我们采用结构化分析方法得到了由数据流图、数据字典和加工说明等组成的系统的逻辑模型。现在,可根据一些规则从数据流图导出系统初始的模块结构图。管理信息系统的数据流图通常也可分为两种典型的结构:变换型结构和事务型结构。变换型结构:

变换型结构的数据流图呈一种线性状态,它所描述的工作可表示为:输入、主处理、输出。事务型结构:

事务型结构的数据流图则呈束状形,即一束数据流平行流入或流出,可能同时有几个事务要求处理。上述两种典型的数据流图结构分别可通过“变换分析”和“事务分析”技术,导出“变换型”和“事务型”初始的模块结构图。这两种方法的思想是首先设计顶层模块,然后自顶向下,逐步细化,最后得到一个满足数据流图所表示的用户要求的系统的模块结构图,即系统的物理模型。

2、变换分析

因为变换型结构由输入,主处理和输出三部分组成,所以从变换型结构的数据流图导出变换型模块结构图,可分三步进行。找出系统的主加工设计顶层模块和第一层模块设计中、下层模块(1)找出系统的主加工为了处理方便,先不考虑数据流图中的一些支流,如出错处理等。通常在数据流图中多股数据流的汇合处理往往是系统的主加工。若没有明显的汇合处,则可先确定哪些数据流是逻辑输入和逻辑输出,从而获得主加工。(2)设计顶层模块和第一层模块顶层模块:首先在与主加工对应的位置上画出主模块,主模块的功能就是整个系统要做的工作,主模块又称为主控制模块。主模块是模块结构图的“顶”,现在我们就可按“自顶向下,逐步细化”的思想来画模块结构图顶下的各层了。每一层均需按输入、变换、输出等分支来处理。模块结构图第一层的画法如下:第一层模块①为每一个逻辑输入画一个输入模块,其功能是向主模块提供数据。②为每一个逻辑输出画一个输出模块,其功能是把主模块提供的数据输出。③为主处理画一个变换模块,其功能是把逻辑输入变换成逻辑输出。至此,结构图第一层就完成了。在作图时应注意主模块与第一层模块之间传送的数据,要与数据流图相对应。(3)设计中层模块和下层模块因为输入模块的功能是向调用它的模块提供数据,所以它自已也需要一个数据来源。此外,输入模块必须向调用模块提供所需的数据,因此它应具有变换功能,能够将输入数据按模块的要求进行变换后,再提交该调用模块。从而,要为每个输入模块设计两个下层模块,其中一个是输入模块,另一个是变换模块。同理,也为每个输出模块设计两个下层模块,一个是变换模块,将调用模块所提供的数据变换成输出的形式,另一个是输出模块,将变换后的数据输出。该过程由顶向下递归进行,直到系统的物理输入端或物理输出端为止。每设计出一个新模块,应同时给它起一个能反映模块功能的名字3、事务分析的步骤

当数据流图呈现“束状”结构时,应采用事务分析的设计方法。就步骤而言该方法与变换分析方法大部分类似,主要差别在于由数据流图到模块结构的影射方式不同。进行事务分析时,通常采用以下四步:确定以事务为中心的结构,包括找出事务中心和事务来源。如图所示的典型事务型数据流结构为例,A是事务中心,X则为事务来源。(2)按功能划分事务,将具备相同功能的事务分为同一类,建立事务模块。(3)为每个事务处理模块建立全部的操作层模块。其建立方法与变换分析方法类似,但事务处理模决可以共享某些操作模块。(4)若有必要,则为操作层模块定义相应的细节模块,并尽可能使细节模块被多个操作模块共享。例如,下图是一个以事务为中心的数据流图,显然,加工“确定事务类型”是它的事务中心,由该数据流图经事务分析可得到的模块结构图如图所示。4、混合结构的分析

在规模较大的实际系统中,其数据流图往往是变换型和事务型的混合结构,如图所示。此时可把变换分析和事务分析应用在同一数据流图的不同部分。例如,可以以“变换分析”为主,“事务分析”为辅进行设计。二、模块结构图的改进模块结构的质量标准在改进结构图时还应注意的问题(一)模块结构的质量标准内聚(凝聚)和耦合模块的耦合方式模块的内聚方式1、模块耦合和内聚的概念一个模块内部的联系称为块内联系,穿越模块边界的联系称为块间联系。耦合是表示模块之间联系的程度;内聚则用来表示模块内部各成分之间的联系程度。紧密耦合表示模块之间联系非常强,松散耦合表示模块之间联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。模块设计的标准:高内聚低耦合2、模块的耦合方式

数据耦合

控制耦合

非法耦合公共耦合内容耦合(1)数据耦合如果两个模块之间的通信信息是若干数据项,则这种耦合方式称为数据耦合。例如,为了计算实发工资,“计算工资”模块必须把工资总额和扣款数传输给“计算实发工资”模块,而“计算实发工资”模块在算出实发工资后又送回到“计算工资”模块。这种耦合对系统的影响比较小,是一种较好的耦合方式,但为了减少接口的复杂性,应尽量防止传输不必要的数据。(2)控制耦合如果两个模块之间传输的信息是控制信息,则该耦合称为控制耦合。传送的控制信息可分成两类,一类是判定参数,调用模块通过该判定参数控制被调用模块的工作方式,若判定参数出错则导致被调用模块按另一种方式工作。另一种是地址参数,调用模块直接转向被调用模块内部的某一些地址,这时若改动一个模块则必将影响另一模块。因为控制耦合方式的耦合程度较高,应尽量避免采用地址参数的方式。(3)公共耦合多个模块访问同一个全局变量,或者多个模块访问统一全局性的数据结构(4)内容耦合两个模块之间,不经过调用关系,彼此直接使用或修改对方的数据。3、模块的内聚方式功能内聚顺序内聚通信内聚过程内聚逻辑内聚巧合内聚耦合度性能低好高坏(1)功能内聚功能内聚表示模块中各成分的联系是功能性的,即一个模块执行一个功能,且完成该功能所必须的全部成分都包含在模块中。例如,计算工资、打印月报表等。由于这类模块的功能明确、模块间的耦合简单,所以便于维护。我们在系统设计时应力求按功能划分模块。(2)顺序内聚顺序内聚是指模块中各成分有顺序关系,某一成分的输出是另一成分的输入。例如,“录入和汇总”模块、“统计和打印”模块都是顺序内聚模块。顺序内聚的模块中有可能包含几个功能,因而会给维护带来不便。(3)通信内聚通信内聚是指模块中各成分引用或产生共同的数据。例如报表打印模块,各成分都从若干共同的数据来源接收数据,然后转换、汇总并打印出各种报表。(4)过程内聚过程内聚是指一个模块内各组成部分的处理动作各不相同,彼此也没有什么关系,但他们受同一个控制流支配,决定他们的执行次序。过程内聚是由一段公共的处理过程组合成的模块。例如,把处理过程中的所有循环部分,判定部分和顺序执行部分划分到一个模块,则它们都是过程内聚的,过程内聚的内部结构一般是由程序流程图直接演变出来的。显然,采用过程内聚时,模块间的耦合度比较高。(5)逻辑内聚逻辑内聚是指模块各成分的逻辑功能是相似的。例如,把系统中与“输出”有关的操作抽取出来组成一个模块,包括将数据在屏幕上显示、从打印机上打印、拷贝到磁盘上等,则该模块就是逻辑内聚的。逻辑内聚的内聚程度稍强于巧合内聚,但仍不利于修改和维护。(6)巧合内聚巧合内聚是指模块各成分之间毫无联系整个模块如同一盘散沙,不易修改或维护。4、耦合和内聚的关系一般说来,在系统中各模块的内聚越大,则模块间的耦合越小。但这种关系并不是绝对的。耦合小使得模块间尽可能相对独立,从而各模块可以单独开发和维护。内聚大使得模块的可理解性和维护性大大增强。(二)在改进结构图时还应注意的问题作用范围与控制范围模块的扇入和扇出数模块分解和模块的大小消除重复的功能补充、完善和修改1、作用范围与控制范围

分析判定的作用范围和模块的控制范围之间的关系,可以较好地处理系统的模块关系,合理地分解模块。因此,在分解模块时应该满足以下要求:判定的作用范围应该在判定所在模块的控制范围之内判定所在模块在模块层次结构中的位置不能太高

根据以上两点可知,最理想的模块分解是判定范围由判定所在模块及其直接下层模块组成。一个判定的作用范围是指所有受这个判定影响的模块。按照规定:若模块中只有一小部分加工依赖于某个规定,则该模块仅仅本身属于这个判定的作用范围;若整个模块的执行取决于这个判定,则该模块的调用模块也属于这个判定作用范围。一个模块的控制范围是指模块本身及其所有的下属模块。MAGBCDFE当出现作用范围不在控制范围之内时,可以用以下措施纠正:把判定所在的模块合并至上层模块中,或从低层模块移到高层模块使判定的位置提高;把受判定影响的

温馨提示

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

评论

0/150

提交评论