《信息系统设计的任务课件》由会员分享,可在线阅读,更多相关《信息系统设计的任务课件(97页珍藏版)》请在金锄头文库上搜索。
1、信息系统设计的任务信息系统设计的任务(InformationSystemAnalysisandDesignInformationSystemAnalysisandDesign) 信息管理与信息系统教研室本章要点系统设计的任务应用程序体系结构的设计(结构化方法)数据库设计系统控制设计输入设计输出设计用户界面设计系统设计的任务在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型的设计。主要是解决“怎样做”的问题。系统模型分为逻辑模型和物理模型。系统模型分为逻辑模型和物理模型。 逻辑模型逻辑模型 逻辑模型主要确定逻辑模型主要确定逻辑模型主要确定逻辑模型主要确定系统做什么,在系统系统做什么,在系统
2、系统做什么,在系统系统做什么,在系统分析阶段提出。分析阶段提出。分析阶段提出。分析阶段提出。物理模型物理模型 物理模型则主要解物理模型则主要解物理模型则主要解物理模型则主要解决怎样做的问题,在系决怎样做的问题,在系决怎样做的问题,在系决怎样做的问题,在系统设计阶段提出。统设计阶段提出。统设计阶段提出。统设计阶段提出。6.16.1系统设计的概述系统设计的概述l系统设计概念:系统设计又称为物理设计,是开发MIS的第二阶段。该阶段系统开发人员将逻辑模型转换为目标系统的物理模型 。系统设计通常可分为两个阶段进行,第一阶段是总体设计,其任务是设计系统的框架和概貌,并向用户单位和领导部门作详细报告并认可;
3、第二阶段详细设计。该阶段的成果:系统设计说明书 系统设计的主要内容:系统设计的主要内容:1、总体设计:系统模块结构设计、计算机物理系统的配置方案设计 、信息系统流程图其任务是划分子系统,确定子系统的模块结构,并画出模块结构图 解决计算机软硬件系统的配置、通信网络系统的配置、机房设备的配置等问题 考虑哪些处理功能可以合并,或进一步分解,然后把有关的处理看成是系统流程图中的一个处理功能。系统设计的主要内容:系统设计的主要内容:1)系统模块结构设计功能模块结构图及设计接口系统设计的主要内容:系统设计的主要内容:2)系统物理配置方案设计包括计算机处理方式、软硬件设备选择、通信网络的选择和设计以及数据库
4、管理系统的选择等系统设计的主要内容:系统设计的主要内容:3)设计信息系统流程图信息系统流程图表示的是计算机的处理流程,而并不像数据流程图那样还反映了人工操作那一部分。绘制信息系统流程图的前提是已经确定了系统的边界、人一机接口和数据处理方式。从数据流程图到信息系统流程图还应考虑哪些处理功能可以合并,或进一步分解,然后把有关的处理看成是系统流程图中的一个处理功能。2、代码设计代码设计就是通过设计合适的代码形式,使其作为数据的一个组成部分,用以代表客观存在的实体、实物和属性,以保证它的唯一性便于计算机处理。系统设计的主要内容:系统设计的主要内容:3、数据存储设计文件组织和设计根据系统分析得到的数据关
5、系集和数据字典,再结合系统处理流程图,就可以确定出数据文件的结构和进行数据库设计。系统设计的主要内容:系统设计的主要内容:系统设计的主要内容:系统设计的主要内容:4、输入输出设计l输入/输出设计主要是对以纪录为单位的各种输入输出报表格式的描述,另外,对人机对话各式的设计和输入输出装置的考虑也在这一步完成。l设计的出发点是保证输出达到用户的要求,正确及时地将有用的信息提供给需要它的用户。l输入数据的正确性决定了整个系统工作的质量,要遵循“使用方便,操作简单,便于录入,数据准确”的原则。 系统设计的主要内容:系统设计的主要内容:5、处理流程设计处理流程设计是通过系统处理流程图的形式,将系统对数据处
6、理过程和数据在系统存储介质间的转换情况详细地描述出来。系统设计的主要内容:系统设计的主要内容:6、系统设计说明书 : 系统设计说明书应当全面准确地阐述系统在实施过程中采用的手段、方法、技术标准以及相应的环境要求。另外,系统建设的标准化问题也是系统设计说明书中应阐述的重要内容。 系统总体设计方案代码设计方案输入和输出设计方案文件设计方案程序模块说明书6.1系统需求定义的目标不同的开发方法对系统设计过程的技术支持不同,所形成的设计模式也不同。1.关联图2.DFD片段、详细DFD3.过程定义、数据定义1.场景图2.顺序图、状态图3.其他OO模型事件和事件列表事件和事件列表事件事件类图类图用例图用例图
7、ER ER 图图关联图关联图结结构构化化方方法法面面向向对对象象方方法法模块结构图模块结构图关系数据库模式关系数据库模式包图包图设计类图设计类图OOOO数据库模式数据库模式网络平面图用户界面、系统控制伪码6.2应用程序体系结构设计结构化设计思想系统性。就是在功能结构设计时,全面考虑各方面情况。自顶向下分解步骤。将系统分解为子系统,各子系统功能总和为上层系统的总的功能,再将子系统分解为功能模块,下层功能模块的实现上层的模块功能。层次性。上面的分解是按层分解的,同一个层次是同样由抽象到具体的程度。各层具有可比性。管理信息系统的各子系统可以看作是系统目标下层的功能。上层功能包括(或控制)下层功能,愈
8、上层功能愈笼统,愈下层功能愈具体。功能分解的过程就是一个由抽象到具体、由复杂到简单的过程。6.2.1模块的定义模块的定义程序设计:模块是一个计算机程序中可识别的具有特定功能的程序片段结构化设计:模块式组成系统的具有一定功能的基本单位,系统中任何一个处理功能都可以是模块。功能模块可以根据具体情况分得大一点或小一点。分解得最小的功能模块可以是一个程序中的每个处理过程,而较大的功能模块则可能是完成某一任务的一组程序。6.2.1模块的特征模块的特征1.功能特征2.逻辑特征3.状态特征在模块结构图中,只表示其功能名称以及完成该功能所需的数据和产生的数据,不体现内部逻辑。6.2.1模块化模块化把一个复杂的
9、系统分解为多个功能较单一的功能模块的方法称作模块化。模块化是一种重要的设计思想,它把一个复杂的系统分解为一些规模较小、功能较简单的、更易于建立和修改的部分。p各个模块具有相对独立性,可以分别加以设计实现;p模块之间的相互关系(如信息交换、调用关系)通过一定的方式予以说明。各模块在这些关系的约束下共同构成一个统一的整体,完成系统的功能。6.2.1模块与模块化模块的独立性用系统功能模块结构图最后一层的功能模块是否具有独立性来判断系统功能是否被充分地分解。所谓的模块独立性指的是每个模块只能完成一个相对独立的特定子功能,并且和其他模块之间的关系很简单,和其他模块之间没有过多的相互作用。模块化的重要性模
10、块化(即具有独立的模块)设计的软件比较容易开发出来,而且特别适合许多人分工合作开发同一个软件;独立的模块比较容易测试和维护。相对来说,修改独立的模块需要的工作量比较小,错误传播范围也比较小,需要扩充功能时比较容易“插入”模块。 系统逻辑模型中数据流图中的模块是逻辑处系统逻辑模型中数据流图中的模块是逻辑处理模块,模型中没有说明模块的物理构成和理模块,模型中没有说明模块的物理构成和实现途径,同时也看不出模块的层次分解关实现途径,同时也看不出模块的层次分解关系,为此在系统结构设计中要将数据流图上系,为此在系统结构设计中要将数据流图上的各个逻辑处理模块进一步分解,用模块结的各个逻辑处理模块进一步分解,
11、用模块结构图确定系统的层次结构关系,并将系统的构图确定系统的层次结构关系,并将系统的逻辑模型转变为物理模型。逻辑模型转变为物理模型。6.2.1模块的分解 按逻辑划分:把相类似的处理逻辑功能放在一个模块里。按逻辑划分:把相类似的处理逻辑功能放在一个模块里。 按时间划分按时间划分 按过程划分按过程划分 按通信划分按通信划分 按职能划分按职能划分6.2.1划分模块的方式按职能划分按职能划分子系统、按逻辑划分子系统、按逻辑划分模块模块所形成的系统所形成的系统模块结构图是把分解的一个个模块按层次结构联系起来的图。模块结构图是结构化设计中描述系统结构的图形工具。作为一种文档,它必须严格地定义模块的名字、功
12、能和接口,同时还应当在模块结构图上反映出结构化设计的思想。6.2.1模块结构图6.2.1模块结构图示例协同数据发布系统 工资管理信息系统建立主文件更新主文件建立扣款文件 计算和打印数据录入数据维护菜单表单建立主处理文件更新计算打印工资汇总表打印工资单数据录入数据维护6.2.1模块结构图示例6.2.1模块结构图模块的四个要素1.输入和输出2.处理功能3.内部数据4.程序代码序号序号名称名称符符 号号含含 义义 说说 明明1 1模块模块表示一个功能模块,模块名称标注在方框的内部表示一个功能模块,模块名称标注在方框的内部2 2预定义预定义表示一个预先定义的模块,模块名称标注在方框的内部,预表示一个预
13、先定义的模块,模块名称标注在方框的内部,预先定义模块是指不必在编程实现的模块,通常是应用程序中先定义模块是指不必在编程实现的模块,通常是应用程序中的一个程序。的一个程序。3 3调用调用表示模块与模块之间的调用关系,箭头部分指示被调用模块,表示模块与模块之间的调用关系,箭头部分指示被调用模块,箭尾部分指示调用模块。箭尾部分指示调用模块。4 4数据数据表示模块与模块之间的数据流,数据项名称或编号标注在旁表示模块与模块之间的数据流,数据项名称或编号标注在旁边。边。5 5控制信息控制信息表示模块与模块之间的控制流,控制变量的名称或编号标注表示模块与模块之间的控制流,控制变量的名称或编号标注在旁边。在旁
14、边。6 6判断分支判断分支表示模块内部包含有判断逻辑,根据判定结果调用哪些功能表示模块内部包含有判断逻辑,根据判定结果调用哪些功能模块。模块。7 7循环调用循环调用表示模块内部包含有循环调用某个或某些模块的功能。表示模块内部包含有循环调用某个或某些模块的功能。8 8转接转接模块结构图需要转接到另外一张纸上,或为了避免图上线条模块结构图需要转接到另外一张纸上,或为了避免图上线条交叉时,都可使用转接符号,圆圈内加上标号。交叉时,都可使用转接符号,圆圈内加上标号。6.2.1模块结构图模块:模块是可以组合、分解和更换的单元,是组成系统、异于处理的基本单位。调用:在模块结构图中,用连接两个模块的箭头表示
15、调用。箭头总是由调用模块指向被调用模块,但是应该理解成被调用模块执行后又返回到调用模块。6.2.1模块结构图的基本含义数据:当一个模块调用另一个模块时,调用模块可以把数据传送到被调用模块处处理,而别调用模块又可以将处理的结果送回调用模块。在模块之间传送的数据,使用与调用箭头平行的带空心圆的箭头表示,并在旁边标上数据名。获得线性获得线性方程组解方程组解计算线性计算线性方程组解方程组解无解无解6.2.1模块结构图的基本含义控制信息:为了指导程序下一步的执行,模块间有时还必须传送某些控制信息。例如,数据输入完成后给出的结束标志,文件读到末尾产生的文件结束标志等。控制信息与数据的主要区别是前者只反映数
16、据的某种状态,不必进行处理。在模块结构图中,用带实心圆的箭头表示控制信息。转接符号:当模块结构图在一张图上画不下,需要转接到另外一张纸上,或者为了避免图上线条交叉时,都可以使用转接符号。 数据:当一个模块调用另一个模块时,调用模块可以把数据传送到被调用模块处处理,而别调用模块又可以将处理的结果送回调用模块。在模块之间传送的数据,使用与调用箭头平行的带空心圆的箭头表示,并在旁边标上数据名。获得线性获得线性方程组解方程组解计算线性计算线性方程组解方程组解无解无解6.2.1模块结构图的基本含义构成最终系统的每一个主要的程序对应于按时间划分的子系统,每个系统都应有相应的模块结构图,每个程序对应于按事件
17、划分的DFD中的一个过程。有DFD转换为MSC图的方法有两种1.1.事务分析法事务分析法2.2.变换分析法变换分析法 6.2.2模块结构图的构造过程事务型系统由三层组成:事务层操作层细节层事务型模块的功能是对接收的事务,按其类型选择某一类事务处理。6.2.2事务型模块结构图事务型系统工作的顺序:事务型系统工作的顺序:主模块将按事务的类型选择调用某一事务处理模块,主模块将按事务的类型选择调用某一事务处理模块,事务处理模块又调用若干个操作模块,而每个操作模块又调用若干个细节模块。事务处理模块又调用若干个操作模块,而每个操作模块又调用若干个细节模块。 在实际系统中,由于不同的事务可能有共同的操作,而
18、不同操作又可能有共同在实际系统中,由于不同的事务可能有共同的操作,而不同操作又可能有共同的细节,因此事务型系统的操作模块和细节模块可以达到一定程度的共享。的细节,因此事务型系统的操作模块和细节模块可以达到一定程度的共享。事务分析事务分析1事务分析事务分析2变换型模块结构描述的是变换型系统,变换型系统由三部分组成:输入数据加工(中心变换)输出变换型模块的功能是将输入的数据经过加工后输出。6.2.2变换型模块结构图变换型系统工作的顺序:变换型系统工作的顺序:首先主模块受到控制,然后控制沿着结构逐层达到底层的输入模块,当底层模块首先主模块受到控制,然后控制沿着结构逐层达到底层的输入模块,当底层模块输
19、入数据后,由下至上逐层传送,逐步由输入数据后,由下至上逐层传送,逐步由“物理输入物理输入”变成变成“逻辑输入逻辑输入”C C;在主控模块控制下,在主控模块控制下, “逻辑输入逻辑输入”经中心变换模块转换成经中心变换模块转换成“逻辑输出逻辑输出”D D,D D再由上至下逐层传送,逐步把再由上至下逐层传送,逐步把“逻辑输出逻辑输出”变成变成“物理输出物理输出”E E。 这里的这里的“逻辑输入逻辑输入”和和“逻辑输出逻辑输出”分别为系统主处理的输入数据流和输出数分别为系统主处理的输入数据流和输出数据流,而据流,而“物理输入物理输入”和和“物理输出物理输出”是指系统输入端和系统输出端的数据。是指系统输
20、入端和系统输出端的数据。变换分析变换分析下图是一个以事务为中心的数据流图,显然,加工下图是一个以事务为中心的数据流图,显然,加工“确定事务确定事务类型类型”是它的事务中心。是它的事务中心。课堂练习课堂讲解缺货通缺货通知单知单 销售销售订单订单处理处理订单订单 顾客顾客仓库仓库采购采购办办备货单备货单 进货通知单进货通知单 采购采购办办经理经理统计表统计表 课堂练习试着绘制出变换型的销售管理系统的模块结构图。试着绘制出变换型的销售管理系统的模块结构图。“销售订单处理销售订单处理”功能的结构图功能的结构图订订单单订订单单已处已处理订理订单单销售订单处理销售订单处理输入输入处理处理输出输出输输入入订
21、订单单确定确定能否能否供货供货处理处理缺货缺货订单订单处理处理可供可供货订货订单单打印打印课堂讲解统统计计表表(五)模块结构图的改进(五)模块结构图的改进1 1、模块耦合和内聚的概念一个模块内部的联系称为块内联系,穿越模块边界的联系称为块间联系。耦合是表示模块之间联系的程度;内聚则用来表示模块内部各成分之间的联系程度。紧密耦合表示模块之间联系非常强,松散耦合表示紧密耦合表示模块之间联系非常强,松散耦合表示模块之间联系比较弱,非耦合则表示模块之间无任模块之间联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。何联系,是完全独立的。模块设计的标准:高内聚低耦合。模块设计的标准:高内聚低耦合。
22、(五)模块结构图的改进(五)模块结构图的改进2 2、模块的耦合方式 数据耦合数据耦合 控制耦合控制耦合 非法耦合非法耦合(1 1)数据耦合如果两个模块之间的通信信息是若干数据项,则这种耦合方式称为数据耦合。例如,为了计算实发工资,例如,为了计算实发工资,“计算工资计算工资”模块必须把工资模块必须把工资总额和扣款数传输给总额和扣款数传输给“计算实发工资计算实发工资”模块,而模块,而“计算实计算实发工资发工资”模块在算出实发工资后又送回到模块在算出实发工资后又送回到“计算工资计算工资”模模块。块。这种耦合对系统的影响比较小,是一种较好的耦合方式,这种耦合对系统的影响比较小,是一种较好的耦合方式,但
23、为了减少接口的复杂性,应尽量防止传输不必要的数据。但为了减少接口的复杂性,应尽量防止传输不必要的数据。2、模块的耦合方式、模块的耦合方式(2 2)控制耦合如果两个模块之间传输的信息是控制信息,则该耦合称为控制耦合。传送的控制信息可分成两类,一类是判定参数,调用模传送的控制信息可分成两类,一类是判定参数,调用模块通过该判定参数控制被调用模块的工作方式,若判定块通过该判定参数控制被调用模块的工作方式,若判定参数出错则导致被调用模块按另一种方式工作。参数出错则导致被调用模块按另一种方式工作。另一种是地址参数,调用模块直接转向被调用模块内部另一种是地址参数,调用模块直接转向被调用模块内部的某一些地址,
24、这时若改动一个模块则必将影响另一模的某一些地址,这时若改动一个模块则必将影响另一模块。块。因为控制耦合方式的耦合程度较高,应尽量避免采用地因为控制耦合方式的耦合程度较高,应尽量避免采用地址参数的方式。址参数的方式。2、模块的耦合方式、模块的耦合方式(3)非法耦合两个模块之间,不经过调用关系,彼此直接使用或修改对方的数据。2、模块的耦合方式、模块的耦合方式(五)模块结构图的改进(五)模块结构图的改进3 3、模块的内聚方式功能内聚顺序内聚通信内聚过程内聚时间内聚逻辑内聚偶然内聚耦合度耦合度 性能性能低低 好好高高 坏坏(1 1)偶然内聚巧合内聚是指模块各成分之间毫无联系整个巧合内聚是指模块各成分之
25、间毫无联系整个模块如同一盘散沙,不易修改或维护。模块如同一盘散沙,不易修改或维护。3、模块的内聚方式、模块的内聚方式(2 2)逻辑内聚逻辑内聚是指模块各成分的逻辑功能是相似的。逻辑内聚是指模块各成分的逻辑功能是相似的。例如,把系统中与例如,把系统中与“输出输出”有关的操作抽取出有关的操作抽取出来组成一个模块,包括将数据在屏幕上显示、来组成一个模块,包括将数据在屏幕上显示、从打印机上打印、拷贝到磁盘上等,则该模块从打印机上打印、拷贝到磁盘上等,则该模块就是逻辑内聚的。就是逻辑内聚的。逻辑内聚的内聚程度稍强于巧合内聚,但仍不逻辑内聚的内聚程度稍强于巧合内聚,但仍不利于修改和维护。利于修改和维护。3
26、、模块的内聚方式、模块的内聚方式(3 3)过程内聚过程内聚是指一个模块内各组成部分的处理动作各不相同,彼过程内聚是指一个模块内各组成部分的处理动作各不相同,彼此也没有什么关系,但他们受同一个控制流支配,决定他们此也没有什么关系,但他们受同一个控制流支配,决定他们的执行次序。的执行次序。过程内聚是由一段公共的处理过程组合成的模块。过程内聚是由一段公共的处理过程组合成的模块。q例如,把系统中所有的输出抽取到一个模块中,即一个模例如,把系统中所有的输出抽取到一个模块中,即一个模块可以产生各种类型的全部输出。块可以产生各种类型的全部输出。显然,采用过程内聚时,模块间的耦合度比较高。显然,采用过程内聚时
27、,模块间的耦合度比较高。3、模块的内聚方式、模块的内聚方式(4 4)时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。例如初始化模块和终止模块。初始化模块要为间段内执行。例如初始化模块和终止模块。初始化模块要为所有变量赋初值,对所有介质上的文件置初态,初始化寄存所有变量赋初值,对所有介质上的文件置初态,初始化寄存器和栈等,因此要求在程序开始执行的最初一段时间内,模器和栈等,因此要求在程序开始执行的最初一段时间内,模块中
28、所有功能全部执行一遍。块中所有功能全部执行一遍。时间内聚模块比逻辑内聚模块的内聚程度又稍高一些。因为时间内聚模块比逻辑内聚模块的内聚程度又稍高一些。因为时间内聚模块中所有各部分都要在同一时间段内执行,它的时间内聚模块中所有各部分都要在同一时间段内执行,它的内部逻辑更简单,存在的开关内部逻辑更简单,存在的开关(或判定或判定)转移更少。转移更少。3、模块的内聚方式、模块的内聚方式(5 5)通信内聚又称数据内聚,通信内聚是指模块中各成分引用或产生共同又称数据内聚,通信内聚是指模块中各成分引用或产生共同的数据。的数据。例如报表打印模块,各成分都从若干共同的数例如报表打印模块,各成分都从若干共同的数据来
29、源接收数据,然后转换、汇总并打印出各据来源接收数据,然后转换、汇总并打印出各种报表。种报表。3、模块的内聚方式、模块的内聚方式(1 1)功能内聚功能内聚表示模块中各成分的联系是功能性的,即一个模块执行一个功能,且完成该功能所必须的全部成分都包含在模块中。例如,计算工资、打印月报表等。由于这类模例如,计算工资、打印月报表等。由于这类模块的功能明确、模块间的耦合简单,所以便于块的功能明确、模块间的耦合简单,所以便于维护。我们在系统设计时应力求按功能划分模维护。我们在系统设计时应力求按功能划分模块。块。3、模块的内聚方式、模块的内聚方式(2 2)顺序内聚顺序内聚是指模块中各成分有顺序关系,某一成分的
30、输出是另一成分的输入。q例如,例如,“录入和汇总录入和汇总”模块、模块、“统计和打印统计和打印”模块都是顺序内聚模块。顺序内聚的模块中有可模块都是顺序内聚模块。顺序内聚的模块中有可能包含几个功能,因而会给维护带来不便。能包含几个功能,因而会给维护带来不便。3、模块的内聚方式、模块的内聚方式(五)模块结构图的改进(五)模块结构图的改进4 4、耦合和内聚的关系一般说来,在系统中各模块的内聚越大,则模块一般说来,在系统中各模块的内聚越大,则模块间的耦合越小。但这种关系并不是绝对的。间的耦合越小。但这种关系并不是绝对的。耦合小使得模块间尽可能相对独立,从而各模块耦合小使得模块间尽可能相对独立,从而各模
31、块可以单独开发和维护。可以单独开发和维护。内聚大使得模块的可理解性和维护性大大增强。内聚大使得模块的可理解性和维护性大大增强。(六)改进模块结构图时还应注意的问题(六)改进模块结构图时还应注意的问题 作用范围与控制范围 模块的扇入和扇出数 模块分解和模块的大小 消除重复的功能 补充、完善和修改(六)改进模块结构图时还应注意的问题(六)改进模块结构图时还应注意的问题1 1、作用范围与控制范围一个判定的一个判定的作用范围作用范围是指所有受是指所有受这个判定影响的模块。按照规这个判定影响的模块。按照规定:若模块中只有一小部分加定:若模块中只有一小部分加工依赖于某个规定,则该模块工依赖于某个规定,则该
32、模块仅仅本身属于这个判定的作用仅仅本身属于这个判定的作用范围;若整个模块的执行取决范围;若整个模块的执行取决于这个判定,则该模块的调用于这个判定,则该模块的调用模块也属于这个判定作用范围。模块也属于这个判定作用范围。一个模块的一个模块的控制范围控制范围是指模块本是指模块本身及其所有的下属模块。身及其所有的下属模块。M MA AG GB BC CD DF FE E(六)改进模块结构图时还应注意的问题(六)改进模块结构图时还应注意的问题分析判定的作用范围和模块的控制范围之间的关系,可以较好地处理系统的模块关系,合理地分解模块。因此,在分解模块时应该满足以下要求:判定的作用范围应该在判定所在模块的控
33、制范围之内;判定的作用范围应该在判定所在模块的控制范围之内;判定所在模块在模块层次结构中的位置不能太高;判定所在模块在模块层次结构中的位置不能太高;根据以上两点可知,最理想的模块分解是判定范围由判定所在模块及其直接下层模块组成。顶顶1顶顶122(a)不在范围之内)不在范围之内(b)位置太高)位置太高作用范围和控制范围的四种关系作用范围和控制范围的四种关系顶顶XY12顶顶XY12(c)合适的判定)合适的判定(d)理想的设计)理想的设计作用范围和控制范围的四种关系作用范围和控制范围的四种关系(六)改进模块结构图时还应注意的问题(六)改进模块结构图时还应注意的问题当出现作用范围不在控制范围之内时,可
34、以用以下措施纠正:把判定所在的模块合并至上层模块中;把判定所在的模块合并至上层模块中;把受判定影响的模块移到模块控制范围之内;把受判定影响的模块移到模块控制范围之内;把判定模块上移到较高的位置。把判定模块上移到较高的位置。练习题:讨论下图模块设计存在问题并改正练习题:讨论下图模块设计存在问题并改正顶顶1 12 2顶顶1 12 2图图 1 1图图 2 2(六)改进模块结构图时还应注意的问题(六)改进模块结构图时还应注意的问题2 2、模块的扇入和扇出数模块的扇入数是指有多少个上级模块直接调用该模块。模块的扇入数是指有多少个上级模块直接调用该模块。 扇出数是指某个模块直接控制或调用的模块树目。扇出数
35、是指某个模块直接控制或调用的模块树目。B BC CD DA AA AB BC CD D如图中模块的扇入数等于如图中模块的扇入数等于3 3。如果一个规模很小的底层模块的扇入数为。如果一个规模很小的底层模块的扇入数为1 1,则可以把它合并到它的上层模块中去。若它的扇入数较大,就不能向上,则可以把它合并到它的上层模块中去。若它的扇入数较大,就不能向上合并,否则将导致对该模块做多次编码和排错。合并,否则将导致对该模块做多次编码和排错。如图中模块如图中模块的扇出数等于的扇出数等于3 3。对扇出数过低。对扇出数过低(1(1或或2)2)的模块,也应进行检的模块,也应进行检查。一般,模块的扇出数应在查。一般,
36、模块的扇出数应在7 7以内。以内。汽车配件公司信息系统模块结构图实例采购管理模块的分解模块结构图实例会计帐务模块的分解模块结构图实例现货销售模块的分解模块结构图实例编制营业报表模块的分解模块结构图实例查询销售信息模块的分解模块结构图实例向供应商供货模块的分解到货管理模块的分解模块结构图实例查询采购信息模块的分解请问这个销售管理系统模块结构图的深度和宽度是多少?模块结构图实例(六)改进模块结构图时还应注意的问题(六)改进模块结构图时还应注意的问题3、模块分解和模块的大小模块的大小是模块分解时要考虑的一个重要问题。模块多大模块的大小是模块分解时要考虑的一个重要问题。模块多大最好?有许多不同的观点。
37、模块自顶向下的分解,主要按最好?有许多不同的观点。模块自顶向下的分解,主要按功能来进行,也就是说一个模块最好一个功能。同时要注功能来进行,也就是说一个模块最好一个功能。同时要注意模块间的接口关系以较为简单为宜。从经验上讲,为了意模块间的接口关系以较为简单为宜。从经验上讲,为了提高可读性和方便修改,一个基本模块的程序量在提高可读性和方便修改,一个基本模块的程序量在1010100100个语句之间。个语句之间。(六)改进模块结构图时还应注意的问题(六)改进模块结构图时还应注意的问题4 4、消去重复功能设计过程中若发现几个模块的功能是相功能设计过程中若发现几个模块的功能是相似的,则应设法消去其中的重复
38、功能。因似的,则应设法消去其中的重复功能。因为同一功能的程序段多次出现,不仅浪费为同一功能的程序段多次出现,不仅浪费了编码时间,而且会给调试和维护带来困了编码时间,而且会给调试和维护带来困难。难。(六)改进模块结构图时还应注意的问题(六)改进模块结构图时还应注意的问题5 5、补充、完善和修改在系统分析阶段,加工说明中所反映的用户要求(例在系统分析阶段,加工说明中所反映的用户要求(例如出错处理,过程信息以及种种限制等)不可能完全如出错处理,过程信息以及种种限制等)不可能完全在数据流图中反映。然而,在系统设计阶段的系统模在数据流图中反映。然而,在系统设计阶段的系统模块结构图中,必须体现出用户的所有
39、要求。因此,由块结构图中,必须体现出用户的所有要求。因此,由数据流图导出的初始模块结构图必须进行补充、完善,数据流图导出的初始模块结构图必须进行补充、完善,还要根据模块分解的原则进行修改,才能达到用户的还要根据模块分解的原则进行修改,才能达到用户的要求。要求。模块结构设计是管理信息系统总体设计的重要内容,为了使所设计的系统有合理的结构和良好的维护性,模块结构设计应遵循“高内聚,低耦合,精分解,高扇入,低扇出”的原则。6.2.3模块结构图设计原则描述模块内部处理逻辑的方法有:流程图结构化英语伪码6.2.4模块的详细设计系统流程图系统流程图是传统的描述工具,通常用它表达系统的执行过程。它用图形符号
40、描述了所有的输入/输出和与之有关的处理,同时也包括对所有文件的建立过程。系统流程图也表达了数据在系统中的流向。但是,它着重表达的是数据在系统中传输时所通过的存储介质和工作站点,与物理技术有着密切的关系。系统流程图既表示信息联系,又表示信息处理的逻辑顺序,还反映了人机关系,但不考虑加工方法和人-机对话过程。系统流程图使用的符号输入/输出人工操作预处理人工输入通信联结处理辅助处理联机处理显示联结文件脱机储存磁带判断离页联结符卡片纸带直接访问存储器磁盘端点库存系统的流程图编辑事务配件报表事务历史入库单出库单新品单报废单库存历史修正文件编辑后的事务供应商联机处理联机处理供应商配件库存配件错误系统流程图
41、系统流程图的特点系统流程图表达了数据在系统中的流向和使用的计算机设备、编辑原始单据、文件调用和修正、产生报表和后备磁带文件等。它侧重于系统的物理组成和信息处理的顺序,无法指出系统软件结构和每个模块的功能,因此也就无法评审这个系统是否满足用户的信息需求,也不可能知道这个系统的大小以及是否易于维护和修改等。HIPO技术HIPO技术是用图形方法表达一个系统的输入和输出功能以及模块的层次。HIPO(HierarchyplusInput/process/Output)技术包含两个方面的内容:1.H图,用此图表示自顶向下分解所得系统的模块层次结构,H图又可称为模块层次图。2.IPO图(输入-处理-输出图)
42、,此图描述分层图中一个模块的输入、输出和处理内容。应用HIPO技术可以进行系统设计、评价,在系统实施之前加工、修改已设计的系统。HIPO图清晰易懂,可以使用户、管理人员和其他系统建设者很方便地理解软件系统的结构,也有利用程序的编写和系统的维护。HIPO技术实例以库存管理系统为例,对其中的数据加工“修改库存数据”功能应用HIPO技术进行模块结构设计。修改库存数据提取库房收发数据提取原有库存数据处理收发数据刷新库存记录H图中一个方形的方块代表一个模块,方块内可写出标识此模块的处理功能或模块名。模块间的调用关系,用联结两模块的直线表示。第二轮H图修改库存数据提取库房收发数据提取原有库存数据处理收发数
43、据刷新库存记录增加在库数减少在库数增加记录删除记录第二轮H图修改库存数据提取库房收发数据提取原有库存数据处理收发数据刷新库存记录增加在库数减少在库数增加记录删除记录IPOIPO图图IPO图是图形化表格。它描述分层图中每一个模块的输入图是图形化表格。它描述分层图中每一个模块的输入/输出关输出关系、处理内容、本模块的内部数据和模块间的调用关系,是系统设计的系、处理内容、本模块的内部数据和模块间的调用关系,是系统设计的重要成果,是系统实施阶段编制程序设计任务书和进行程序设计的出发重要成果,是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。系统设计中,每一模块都要有相应的点和依据。系统设计
44、中,每一模块都要有相应的IPO图作为设计结果的图作为设计结果的描述。描述。IPO图 系统名:制图者: 模块名:日 期:由下列模块调用:调用下列模块:输入:输出:处理内容:内部数据元素:备注:IPOIPO图例图例IPO图 系统名:库存管理图者:白XX 模块名:处理收发数据日 期:1/5/98由下列模块调用:修改库存数据调用下列模块:增加在库数、减少在库数、增加记录、删除记录输入:(由修改库存数据模块提供)库存收发数据、库存数据输出:(由修改库存数据模块接收)修改后的库存数据、无效收发数据处理内容:如库房收入,则调用增加在库数模块;如库房发出,则调用减少在库数模块;如增加库存文件记录,则调用增加记
45、录模块;如删除文件记录,则调用删除记录模块。否则,按无效数据处理内部数据元素:备注:HIPO图H图(分层图)表示了系统的模块层次结构,但它只能一般地看到各模块间的关系。模块间的具本通信与控制关系、数据流在模块之间的流动状况,分层图没有明确描述。逐个查阅IPO图,对于复杂的系统如随烟海,无法看清全局情况。p系统的吞吐量系统的吞吐量p系统的响应时间系统的响应时间 p系统的可靠性系统的可靠性 p集中式还是分布式集中式还是分布式 p地域范围地域范围 p数据管理方式数据管理方式 每秒钟执行的作业数称为系每秒钟执行的作业数称为系统的吞吐量。系统的吞吐量越大,统的吞吐量。系统的吞吐量越大,则系统的处理能力就越强。则系统的处理能力就越强。从用户向系统发出一个作业请求从用户向系统发出一个作业请求开始,经系统处理后,给出应答结果开始,经系统处理后,给出应答结果的时间称为系统的响应时间。它与的时间称为系统的响应时间。它与CPUCPU运算速度和通讯线路的传递速率运算速度和通讯线路的传递速率等有关。等有关。系统的可靠性可以用连续工作时间系统的可靠性可以用连续工作时间表示。表示。局域网或者广域网。局域网或者广域网。数据库管理系统。数据库管理系统。物理配置方案的设计依据956.3面向对象设计模型包图带有方法的设计类图方法逻辑(伪码)