登陆注册
8863000000062

第62章 系统设计(2)

功能凝聚→顺序凝聚→数据凝聚→过程凝聚→时间凝聚→逻辑凝聚→偶然凝聚①功能凝聚。如果一个模块内部的各个组成部分的处理动作都为执行同一功能而存在,且只执行单一功能,则称该模块为功能凝聚。这是一种最理想的凝聚方式,独立性最强。一般来说,这种模块可以用一个动词和一个简单的接受词来表示,如“打印订单”、“读库存文件”等。

②顺序凝聚。如果一个模块内部的各个处理功能密切相关,且要按顺序执行,前一个处理的输出直接作为下一个处理的输入,则称这种模块为顺序凝聚。凝聚程度为较好。

③数据凝聚。如果一个模块内部的各组成部分的处理功能是对相同的输入数据进行处理或产生相同的输出数据,则称这种模块为数据凝聚模块。凝聚程度为中上。

④过程凝聚。如果一个模块内部的各个组成部分的处理各不相同,但它们受同一控制流支配,决定它们的执行次序,则称这种模块为过程凝聚。凝聚程度为中等。

⑤时间凝聚。如果一个模块内部的各组成部分关系不大,但它们处理动作必须在同一段时间内执行,则称该模块为时间凝聚。例如,模块完成的各种初始化工作。凝聚程度为中等偏差。

⑥逻辑凝聚。如果一个模块是由若干个结构不同但具有逻辑相似关系的功能组合在一起,则称该模块为逻辑凝聚。调用这种模块时,常常需要设置一个功能控制开关。凝聚程度为较差。

⑦偶然凝聚。如果某一个模块是由若干个毫无关系的功能偶然地组合在一起构成,则称该模块偶然凝聚。凝聚程度为最低。

凝聚程度的高低标志着模块构成的质量,在模块分解时应尽量使其凝聚程度较高,其中。131。

表131模块凝聚程度的比较

凝聚形式凝聚可读性可修改性共用性

功能凝聚好好好好

顺序凝聚较好好好较好

数据凝聚中上较好较好不好

过程凝聚中等较好较好不好

时间凝聚中等偏差一般不好坏

逻辑凝聚较差不好坏坏

偶然凝聚最低坏坏坏

(2)模块耦合

模块耦合是衡量一个模块与其他模块在连接形式和接口复杂性方面相互作用关系的指标。模块耦合程度的高低直接影响系统的可修改性和可维护性。在一般情况下,耦合程度越低,说明模块间联系越简单,则模块的独立性就越强,维护、修改就越容易。

模块耦合可以划分为以下几种类型。

①数据耦合。数据耦合是指两个模块彼此之间通过参数交换信息且每一个参数仅仅为数据,它是系统中最理想的一种耦合。耦合程度为最低(图132)。

图132数据耦合

②特征耦合。特征耦合是指两个模块彼此之间通过相同的模块特征进行连接。

③控制耦合。控制耦合是指两个模块彼此之间传递的信息中有控制信息,传递的参数不仅仅有数据还有控制信息。控制耦合可以通过适当的转化,变成数据耦合,如图133所示。

图133控制耦合转化成数据耦合

④公共耦合。公共耦合是指两个模块彼此之间通过一个公共的数据区域传递信息,这种耦合方式会给数据的保护、维护等带来很大的困难。但是如果两个模块之间需要传递大量的数据,公共耦合可以作为一种补充形式替代数据耦合(见图134)。

图134公共耦合

⑤内容耦合。内容耦合是指一个模块直接与另一个模块的内容发生联系,即在一个模块执行过程中直接转移到另一个模块中运行。这种耦合程度最高,是最差的一种。内容耦合应尽量避免。

系统模块设计时应尽量使用数据耦合,必要时才使用控制耦合,对公共耦合的模块数进行限制,坚决不用内容耦合。

几种耦合形式的比较如表132所示。

表132模块耦合形式的比较

耦合形式影响可修改性可读性通用性

数据耦合弱好好好

特征耦合弱中中中

控制耦合中不好不好不好

公共耦合强不好差差

内容耦合最强差差差

以上讨论的模块凝聚和模块耦合有着密切的关系,是模块分解设计的两个方面。在一般情况下,如果模块的凝聚程度较高,则它们间的耦合程度就较低,反之亦然。另外,在系统结构中,由于存在对不同业务处理功能进行选择的需要,在某个模块中存在判断处理是难免的,因此在进行系统结构设计时,对于任意具有判断功能的模块,应注意其影响范围。

13.2.4模块的层次分解

1.模块的层次功能分解图———HIPO(HierarchyplusInputProcessOutput)图模块的层次功能分解图———HIPO图,是一种模块层次功能分解的重要技术。我们知道,任何功能模块都是由输入、处理和输出3个基本部分组成(IPO关系),HIPO方法正是以模块的这一特性及模块分解的层次性为基础,将一个大的功能模块逐层分解,得到系统的模块层次结构,然后再进一步把每个模块分解为输入、处理和输出的具体执行模块。通常,HIPO方法由以下3个基本图表组成。

①总体IPO图。这是对数据流程图上模块功能的初步细化,并为其提供输入变量表、处理功能和输出变量表。

②HIPO图。这是对顶层模块进行重复逐层分解,从而得到组成顶层模块的所有功能模块的层次结构关系图。

③IPO。HIPO

系,而模块间的调用关系和信息流的传递关系还没有充分表达,因此还要根据数据字典和HIPO图,进一步绘制更详细的HIPO图。

为了说明HIPO图方法及其基本内容,图135、图136和图137给出了某销售系统中“订单处理”模块的层次功能分解。

图135“订单处理”部分数据流程图

输入订单

查库存文件

1.确定能

否供货

2.处理

缺货单

3.处理可

供货订单

编辑备货单

打印备货单

图136“订单处理”的总体IPO图

图137“订单处理”的HIPO图

HIPO图既反映了系统的总体结构,又反映了系统各个模块之间的关系,所以是模块设计中一种重要的图形工具。

2.描述模块内部的处理过程和输入输出关系的图———IPO(InputProcessOutput)图IPO图是用于描述某个特定模块内部的处理过程和输入输出关系的图。IPO图是配合HIPO图详细说明每个模块的输入、输出数据和数据加工的重要工具。常用的IPO图的基本内容如表133所示。

表133IPO图的基本内容

系统名称:

模块名称:模块编号:

模块描述:

被调用模块:

调用模块:

输入参数:输入说明:

输出参数:输出说明:

变量说明:

使用的文件或数据库:

处理说明:

备注

::

IPO图的主体是处理说明部分,该部分可采用流程图、NS图、问题分析图和过程设计语言等工具进行描述。这几种方法各有其长处和不同的适用范围,在实际工作中究竟采用哪一种工具,需视具体的情况和设计者的习惯而定,选用的基本原则是能准确而简明地描述模块执行的细节。

在IPO图中,输入、输出数据来源于数据词典。变量说明是指模块内部定义的变量,与系统的其他部分无关,仅由本模块定义、存储和使用。备注是对本模块有关问题作必要的说明。

开发人员不仅可以利用IPO图进行模块设计,而且还可以利用它评价总体设计。用户和管理人员可利用IPO图编写、修改和维护程序。因而,IPO图是系统设计阶段的一种重要文档资料。

13.2.5系统结构图设计

系统结构图也称结构图或控制结构图,是HIPO图的进一步发展。它不仅表示了一个系统(功能模块)是层次分解关系,还表示了模块的调用关系和模块间数据流及控制流信息的传递关系,是结构化设计的另一种重要图表工具。

1.系统结构图的基本符号说明

系统结构图的基本符号说明如下。

:表示一个处理模块,其名称在方框中。

:表示调用关系,箭头所指为被调用模块,箭尾部分是调用模块。

:表示模块间的数据传递关系,可以是数据元素,也可以是数据结构。

:表示模块间的信息传递关系。

:表示一个模块中包含的循环处理功能。

:表示一个模块中包括的判断处理功能,根据判断处理的结果信息,确定执行何种处理。

2.系统结构图的设计策略

所谓设计策略,是指将数据流程图转换成控制结构图的方法。下面介绍常用的两种设计策略,即转换中心分析和业务中心分析。

(1)转换中心分析

如果在数据流程图中,从同一个数据来源流入的数据流在系统中所经过的逻辑路径几乎都是相同的,而且存在着三类处理逻辑,第一类是执行输入功能,第二类是执行处理逻辑变换功能,第三类是执行输出功能,则可以采用转换中心分析方法。

转换中心分析法的基本思想是:首先根据数据流程图上的处理框找出主要的处理功能,即转换中心,把数据流程图划分为输入、处理和输出三大部分,从而就可以得到控制结构图的第一层模块分解图;在此基础上再重复进行逐层分解和优化,直至得到一个完整的控制结构图。整个过程分为以下三步:找出转换中心,确定主加工;设计转换结构的顶层,按输入、处理、输出等分支处理;自顶向下,逐步细化,设计各层模块。如图138和图139。

图138转换型数据流

图139以转换为中心的控制结构图

(2)业务中心分析

当进入系统的业务处理有若干种,需要根据判断处理模块的处理结果确定进行不同的业务处理时,转换中心分析就不再适用,必须采取业务中心分析法。

在进行业务中心分析法时,首先要分析数据流程图,确定结构类型,找出业务中心的位置和业务类型的标志,绘制出第一层模块,然后再重复逐层分解和优化,直到得到满意的控制结构图。业务中心分析的原则和步骤如下(如图1310和图1311所示):

图1310事务型数据流图图1311事务型转换结构图①分析数据流程图,确定事务来源;

②分析数据流程图,确定事务中心的系统结构;

③确定每一个事务的处理动作;

④合并相同处理功能的事务模块;

⑤对必要的事务处理功能模块进行分解;

⑥对处理功能相对独立的模块分层,组合分层控制结构图。

以上介绍了两种结构方法,在大多数系统结构设计中,两种方法是相互结合使用的。

3.过程结构图

,、

编程还有一定的困难,还要运用过程结构图进行结构化程序模块设计。

过程结构图,也称为程序结构图,是以控制结构图为基础,考虑具体程序特点和结构化编程的要求,用3种基本程序结构(顺序结构、条件结构、循环结构,详见14.2节),再加上一些公共模块来绘制的。过程结构图的设计方法是:自顶向下的模块设计,逐步分解为若干层次模块,对各层次模块编制程序结构图。图1312、图1313、图1314是“工资管理”的过程结构图设计举例。

过程结构图的设计步骤如下:

①系统功能分解;

②功能层次模块图生成;

③功能模块程序结构化分析;

④绘制各功能模块的程序结构图。

工资管理

输入数据计算工资打印工资表

图1312工资管理功能分解

工资管理

计算工资

应发工资

基本工资奖金

计算扣除

输入数据

输入

随机数据

输入

周期数据

打印工资表

打印

工资条

打印

汇总表

图1313“工资管理”的功能层次结构图

图1314“工资管理”的程序过程分解结构图

MIS系统通过过程结构图的进一步分解,考虑具体程序特点和结构化编程的要求,为程序员编写设计代码和程序代码奠定了基础。

13.3系统详细设计

详细设计的任务是要比较详细地设计每个模块的工作过程,进行过程描述。目标是为没有参加过系统分析和设计的程序员提供尽量详细的资料,使得他们仅利用这些资料就能设计出符合要求的程序。详细设计必须能够完成系统设计的所有剩余工作,这当然是理想的情况。在实际过程中,程序员往往有许多问题需要系统设计人员澄清,甚至重新设计,这种情况当然越少越好。

总的来说,详细设计包括:代码设计、数据存储设计、处理过程设计和集成调试等的设计。

13.3.1代码设计

代码是一个或一组有序的、易于被计算机和人识别与处理的符号。编码就是用数字或字母代表事物。通过编码,可以建立统一的经济信息语言,有利于提高通用化水平,使资源共享;有利于采用集中化措施以节约人力,加快处理速度,也便于检索方法的统一。

1.代码设计的原则和功能

1)代码设计的原则

代码设计的基本原则如下。

①标准化。尽可能采用国际标准、国家标准,暂无国标者使用部标,以减少今后系统更新和维护的工作量,方便信息的交换和共享。

②唯一性。每个代码所代表的实体必须是唯一的。

③合理性。编码的方法必须合理,必须与分类体系相适应。

④可扩充性。编码要留有足够的位置,以适应今后变化的需要。

⑤简单性。代码结构应尽量简单,长度尽量短,以方便输入,提高处理效率。

⑥适用性。尽可能反映分类对象的特点,做到表意直观,使用户易于了解、掌握。

⑦规范化。代码结构、类型、编码格式必须一致。

2)代码的功能

代码具有以下功能。

(1)鉴别功能

这是代码最基本的特性,任何代码都必须具有这种基本特性。在一个信息分类编码标准中,一个代码只能唯一标识一个分类对象,而一个分类对象只能有唯一的代码。

(2)分类

(、、),,

又可以作为分类对象类别的标识,这是利用计算机进行分类统计的基础。

(3)排序

同类推荐
  • 语文新课标课外读物——傲慢与偏见

    语文新课标课外读物——傲慢与偏见

    现代中、小学生不能只局限于校园和课本,应该广开视野,广长见识,广泛了解博大的世界和社会,不断增加丰富的现代社会知识和世界信息,才有所精神准备,才能迅速地长大,将来才能够自由地翱翔于世界蓝天。否则,我们将永远是妈妈怀抱中的乖宝宝,将永远是温室里面的豆芽菜,那么,我们将怎样走向社会、走向世界呢?
  • 指导学生身心健康发展故事集—自立成就好人生

    指导学生身心健康发展故事集—自立成就好人生

    学生时代,是一个充满理想的季节,也是人体发育的转折关键期,这一时期,如何正确认识和对待自己的生理变化,怎样面对生活和生理的各种烦恼,是决定青少年身心是否健康的关键。
  • 职业教育主体性教学体系论

    职业教育主体性教学体系论

    该书以主体教育理论为指导,从职业教育的教学实际出发,以促进学生主体发展为主线,在教育理论与实践的结合上对职业教育的主体性教学体系进行了架构。这是国内职业教育界一本颇具原创性的有关职业教育教学论的专著,既为具有职业教育特色的教学论建设作出了贡献,又为职业教育教学管理工作者、教育教学研究人员和职业院校一线的同仁们开展职业教育教学改革提供了一种崭新的思路和借鉴。这是一本值得一读的好书。
  • 学校知识类活动组织策划(上)

    学校知识类活动组织策划(上)

    文化的内涵非常丰富,其本义则是“以文教化”,表示对人的性情的陶冶,品德的教养,属于精神领域的范畴。所以,我们学习文化知识,就是为了不断提高个人的文化素质修养。
  • 语文新课标课外必读第十辑——动物故事

    语文新课标课外必读第十辑——动物故事

    国家教育部颁布了最新《语文课程标准》,统称新课标,对中、小学语文教学指定了阅读书目,对阅读的数量、内容、质量以及速度都提出了明确的要求,这对于提高学生的阅读能力,培养语文素养,陶冶情操,促进学生终身学习和终身可持续发展,对于提高广大人民的文学素养具有极大的意义。
热门推荐
  • 明辰幻境

    明辰幻境

    人固有一死,或重于泰山,或轻于鸿毛。胜者成王,败者为寇,是不可更改的变故。同样,故人去世,敌方死亡亦有真情假意存在。处处勾心斗角,尔虞我诈,却又不知疲倦。到底是一将成名万骨枯,还是在劫难逃?是背叛;是离愁;是真情;是命运。究竟能否做到醉卧美人膝,醒掌天下权?时间,也许会回答。喜怒哀乐的交加,悲欢离合的故事,意想不到的结果,究竟是人定胜天,又或是人算终不如天算。
  • 误惹新娘:总裁忒嚣张

    误惹新娘:总裁忒嚣张

    新婚夜,他说,我不会爱你,更不会碰你。但是婚后,他却……他说,米医生,对于前列腺疾病,还是需要身体力行锻炼比较好。
  • 无毒一身清

    无毒一身清

    本书从最简单的日常作息、饮食、运动等方面入手,介绍了多种健康、实用、有效的排毒方法,并结合中西自然疗法,详细介绍了刮痧、按摩、香熏、瑜伽等辅助排毒方法。
  • 我机器是个人类

    我机器是个人类

    裴阳,被均衡系统选择为地球文明的均衡者。但是,他失去了人类的肉体,只能寄居在机器中。而所谓的宇宙均衡,却是一个残酷的文明灭亡计划。没用的系统,不确定的任务,诡异的文明……。他不得不背负地球文明存活的重任。以一个机器形态,去寻找这个宇宙的真相。
  • 重生之辉煌时刻

    重生之辉煌时刻

    叶辰本是混迹在娱乐圈的一条咸鱼。虽然没有资源成不了明星。但是影视学院毕业的他,靠同学介绍跑跑龙套,还和女朋友开了一家小型的艺考培训机构。倒是吃喝不愁。就在给女朋友过生日的那天,一切都改变了。。。。。。
  • 傲笑星河

    傲笑星河

    一位满腹经纶却不得志的少年,在祭奠自己的母亲时被一道雷电击中,灵魂被带入反空间,经历种种奇遇和意外重生在了一个与原来世界平行的宇宙中。幸运的是,身边的亲人竟然与他前世的记忆相重合,而他也开始了自己不一样的人生。带着高等文明智脑传授的知识的他,会带领人类如何发展,在茫茫宇宙中又会闯荡出怎样的精彩人生,尽请看本人科幻长篇《傲笑星河》。新人新作,求各位大大多点击、收藏、推荐,在书评中提出您的建议和见解。
  • 重撩危机

    重撩危机

    曾经的我明媚张扬,不曾想也会有堕入黑暗的一面
  • 亡灵法师修仙记

    亡灵法师修仙记

    一位有着非凡亡灵魔法天赋的天才被嫉恨出卖,受到光明教会的旷世极刑-“灵花葬”而死,却意外重生到一个刚刚死亡的平凡武者身上。在这个没有了丝毫曾经熟悉的魔法元素,无处不充盈着天地灵气的世界。一宗宗诡异莫测的术法,一场场濒临生死的战斗,一幅幅波澜壮阔的画面正在徐徐展开。重获新生的他又将如何在这万族争道的世界让人族获得一席之地,如何才能一窥力量的巅峰?“早晚有一天,我会踏破诸天位面,找到你们,哪怕你们遁入轮回。”
  • 从科学角度分析亡灵法术

    从科学角度分析亡灵法术

    重生在一个魔法世界,精神有些问题的人的新生活,作者喜欢对事物追根究底,对西幻的很多法术怎么运作一直有疑惑,特地自己开个脑洞来写。
  • 亲爱的陌生人

    亲爱的陌生人

    《亲爱的陌生人》的主人公演绎了一个破茧成蝶、凤凰涅槃的美丽传奇。