第六章系统总体设计
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)数据凝聚。模块内部包含若干处理,它们按一定的顺序执行,且前一处理所产生的输出数据,是后一处理的
[1]
热点关注:
广东自考成绩查询【小程序查分】图文流程方式
广东省2020年1月自考成绩于3月31日公布