学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页> 管理系统中计算机应用 > 自考“管理系统中计算机应用”笔记(17)

自考“管理系统中计算机应用”笔记(17)

2007年06月25日    来源:   字体:   打印
成绩查询

  第六章:系统总体设计

  6.l 系统总体结构设计

  6.1.1 系统总体结构设计的任务

  系统总体结构设计的任务,是根据系统分析的逻辑模型设计应用软件系统的物理结构。 系统物理模型必须符合逻辑模型,能够完成逻辑模型所规定的信息处理功能,这是物理设计的基本要求。

  系统应具有可修改性,即易读,易于进行查错、改错、可以根据环境的变化和用户的要求进行各种改变和改进。系统是否具有可修改性,对于系统开发和维护影响极大。据统计,在系统生命周期中各阶段的应用软件费用及人力投入大体分布如下:

  系统开发:20%

  系统维护:80%

  6.1.2 结构化设计的基本思想

  1.结构化设计的要点

  系统是否具有可修改性与其结构有着密切的关系。“结构化设计” 的构想,成为系统设计的基本思想。其要点如下:

  (1)模块化。

  (2)由顶向下,逐步求精。系统划分模块的工作应按层次进行:①把整个系统看做一个模块,然后把它按功能分解成若干第一层模块,它们各担负一定的局部功能,共同完成整个系统的功能。②每个第一层模块又可以进一步分解成为更简单一些的第二层模块,越下层的模块,其功能越具体、越简单。

  (3)上层模块分解为下层模块,有三种不同的结构形式,即顺序结构、选择结构和循环结构。

  控制结构图也称为软件结构图或模块结构图,它表示出一个系统的层次分解关系、模块调用关系、模块之间数据流和控制信息流的传递关系,它是系统物理结构的主要工具。

  2.控制结构图的基本符号和规定

  (1)每个模块有自身的任务,只有接收到上级模块的调用命令时才能执行。

  (2)模块之间的通信只限于其直接上、下级模块,任何模块不能直接与其他上下级模块或同级模块发生通信联系。

  (3)若有某模块要与非直接上、下级的其他模块发生通信联系,必须通过其上级模块进行传递。

  (4)模块调用顺序为自上而下。在控制结构图中,把一个系统分解为若干模块,实质上是把一件比较抽象、其物理内容不大确定的任务,分解为若干件比较具体的、物理内容比较确定的任务。

  控制结构图既可以反映系统整体结构,又能反映系统的细节,能准确反映各组成部分(各模块) 及它们之间的联系。

  6.1.3 模块分解的规则

  1.模块独立性

  所谓两个模块彼此完全独立,是指其中任一模块在运行时,与另一个模块存在无关。独立性只是一个相对的概念。具有独立功能而且和其他模块之间相互作用少的模块,称为独立性高的模块。

  保证模块独立性高是设计一个系统的关键,它具有以下优点:

  (1)系统容易开发。系统开发往往由若干人分工合作完成,由于模块之间联系少,接口简单,可以简化合作者之间的协调工作。

  (2)系统可*性高。模块之间的相互影响小,当一个模块出错时,产生波动效应的概率低,从而提高了系统的可*性。

  (3)系统容易维护。在对一个模块进行修改和维护时,不必担心其他模块的内部是否会受到影响。

  要衡量模块自身联系是否紧密、与外部的联系是否合理,需引入模块凝聚、模块耦合的概念。

  2.模块凝聚

  模块凝聚是用以衡量一个模块内部自身功能的内在联系是否紧密的指标,也是衡量模块质量好坏的重要标准。模块按凝聚程度的高低可分为以下五级:

  (1)偶然凝聚。一个模块内部各组成部分的处理彼此无关,偶然地组合在一起,这是一种组织得更差的模块,凝聚程度更低。

  (2)逻辑凝聚。一个模块内部各组成部分的处理逻辑相似,但功能却彼此不同。这种模块通常包含一个选择控制和若干彼此独立的处理功能。先执行选择功能,再根据选择的结果,控制执行不同的处理功能。由于它的逻辑途径比较复杂,修改困难,因此凝聚程度较差。

  (3)时间凝聚。这是指若干处理由于执行时间彼此有关,集中在一起组成的模块。如初始化模块,各处理内容必须在特定时间内执行,而各处理内容彼此无关,故凝聚程度较差。时间凝聚的模块通常要影响到其他许多模块的运行,因此与其他模块之间联系多,修改比较困难。

  (4)数据凝聚。模块内部包含若干处理,它们按一定的顺序执行,且前一处理所产生的输出数据,是后一处理的输入数据,这称为数据凝聚模块。这种模块可较明确表述其功能,内部结构较密切,与其他模块联系一般较少,凝聚性较好。

  (5)功能凝聚。一个模块只执行一个明确的功能,即上级模块调用它时,它只完成一项确定的任务。这种模块独立性强、便于修改。凝聚程度高,是结构化设计模块的理想目标。一个模块的内部凝聚程度。

  3.模块耦合

  模块间的信息联系方式,称为模块的耦合,它是衡量模块间结构性能的重要指标。耦合有三种类型:

  (1)数据耦合。两个模块间通过调用关系传递被处理的数据称为数据耦合。

  (2)控制耦合。两个模块间通过调用关系,不仅传递数据,还传递对运行过程有影响的控制信号。下层模块执行校验功能,校验结果的控制信号传回上层模块,以控制其他模块的运行。如数据正确,调用正常处理模块;如数据异常,或遇到文件尾等不同情况时,调用不同处理模块,这种耦合使一个模块的执行直接影响到接受该控制信号的模块的运行。这对于系统的修改工作是不利的,特别是对自下向上传递的控制信号,影响面更大。因此,应当尽量将这种耦合减少到更低限度。

  (3)非法耦合。一个模块与另一个模块内部发生联系,即一个模块中的某些内容在另一模块中以某种方式被引用,称为非法耦合。例如,不经过调用关系,直接使用或修改另一模块中的数据,将控制选择指向另一模块中的某一标号(节、过程) 等。

  模块间数据耦合是更正常的方式,为保持模块的独立性,模块之间互相传递的数据要尽量少;要努力避免控制耦合,特别是避免自下而上传递控制信号;应消除任何形式的非法耦合。

  6.1.4 控制结构图的绘制

  绘制控制结构图的依据是数据流程图。绘制控制结构图,首先是将上层数据流程图映射为上层控制结构图,由顶层数据流程图开始,逐级下推。

  每一层数据流程图(DFD) 中的“处理功能”,映射为相应层次控制结构图中的“模块”;而DFD中流人“处理功能” 的数据流映射为输入模块的数据流,DFD中流出“处理功能”的数据流映射成从“模块”中输出的数据流。能结构;另一方面应按照模块分解的规则,将凝聚程度低的、或具有控制耦合、非法耦合的结构进行分解。

  低层次模块结构的分解,一方面可参照低层次数据流程图的功

  分解时采用以下两种不同的方式:

  1.以转换为中心结构的分解

  如果待分解的模块是一个数据凝聚的模块,即内部包含若干顺序执行且对某些数据进行转换处理,称为以转换为中心的结构。这种模块可分解为输入、处理、输出三大部分。

  2.以业务为中心结构的分解

  待分解的模块要处理几项逻辑上相似的业务,即它是一个逻辑凝聚的模块。这种模块可以将之分解为一个检查业务类型的模块和一个调度模块,根据不同的业务类型,调度模块调用不同的下层模块,进行不同的处理。

  以上两种分解方式常常要混合使用,以达到模块凝聚程度高、模块之间独立性强、易于修改的目的。

新人有礼