您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 6第六章系统总体设计
1第六章系统总体设计第六章是关于系统总体设计的基本知识。主要分为系统总体结构设计、数据库设计、数据库的物理实现和代码设计四节的内容。学习本章需要了解系统总体设计的目标任务和工作内容,掌握系统总体设计的结构化方法和主要图形工具,并能够使用VisualFoxPro数据库管理系统建立和操纵数据库。本章也是这门课程的重点章节之一。在历年考试中,本章考核的内容以各种题型出现过,其中包括实际应用的部分。当然还包括对VisualFoxPro的基本操作。本章在笔试中占5-15分左右。系统分析报告经过专家和用户的评审、批准后,开发工作进入系统设计阶段。系统设计阶段的主要目的是确定新系统的物理实施方案。系统设计阶段有如下主要活动:(1)系统总体设计:其中包括应用软件系统总体结构设计、数据库设计、计算机及网络系统配置方案设计。(2)系统详细设计:其中包括代码设计、用户界面设计、计算机处理过程设计。(3)编写系统设计报告。本章主要是系统总体设计,第七章讲系统详细设计和编写系统设计报告。6.l系统总体结构设计6.1.1系统总体结构设计的任务系统总体结构设计的任务,是根据系统分析的逻辑模型设计应用软件系统的物理结构。系统物理模型必须符合逻辑模型,能够完成逻辑模型所规定的信息处理功能,这2是物理设计的基本要求。系统应具有可修改性,即易读,易于进行查错、改错、可以根据环境的变化和用户的要求进行各种改变和改进。系统是否具有可修改性,对于系统开发和维护影响极大。据统计,在系统生命周期中各阶段的应用软件费用及人力投入大体分布如下:系统开发:20%系统维护:80%(2007.04,单选16)在系统生命周期中,系统维护所占用的费用及人力投入比例大约是()A.80%B.50%C.35%D.15%(2004.10,单选22)在应用系统总体结构设计中,要着重解决的问题是使系统具有()A.可读性B.可重用性C.可移植性D.可修改性6.1.2结构化设计的基本思想1.结构化设计的要点系统是否具有可修改性与其结构有着密切的关系。由于“波动效应”的存在,对某个模块的改动可能要修改整个系统,对于组成部分有复杂联系的大系统,各部分间错综复杂的联系是造成修改工作难于进行的主要原因。因此必须设计一种合理的物理结构,将波动效应降到最低限度,才能提高系统的可修改性。1974年美国的W.Stevens等首先提出了“结构化设计”的构想。“结构化设计”的构想,成为系统设计的基本思想。其要点如下:(1)模块化。模块是结构化系统的基本元素。从逻辑上看,模块就是处理功能;3从物理上看,它是可用一个名字来表示的一组程序。(2)由顶向下,逐步求精。系统划分模块的工作应按层次进行:①把整个系统看做一个模块,然后把它按功能分解成若干第一层模块,它们各担负一定的局部功能,共同完成整个系统的功能。②每个第一层模块又可以进一步分解成为更简单一些的第二层模块,越下层的模块,其功能越具体、越简单。(3)上层模块分解为下层模块,有三种不同的结构形式,即顺序结构、选择结构和循环结构。如课本P158图6-2(07.10,简答39,将上层模块分解为下层模块时,可以有三种不同的结构形式,请写出三种结构形式的名称并画出各自的控制结构图。)控制结构图也称为软件结构图或模块结构图,它表示一个系统的层次分解关系、模块调用关系、模块之间数据流和控制信息流的传递关系,它是系统物理结构的主要工具。(2007.04,单选15)构成结构化系统的基本元素是()A.程序B.字段C.模块D.接口(2006.10,单选16)造成复杂系统修改工作难于进行的主要原因是()A.业务流程B.层次结构C.外部环境D.波动效应(2005.4,单选33;2003.10.单选31)描述系统物理模型的主要工具是()A.N-S图B.数据流程图C.E-R图D.控制结构图(2004.4,单选19)结构化设计思想的要点不包括()A.模块化B.自顶向下,逐步求精C.自底向上D.模块分解时只采用顺序、选择和循环三种基本结构方式2.控制结构图的基本符号和规定控制结构图中采用的符号,见课本P159页图6-4,在历年考试中多次考过选择题。4模块之间的调用,如课本P159图6-3,按以下规则进行:(1)每个模块有自身的任务,只有接收到上级模块的调用命令时才能执行。(2)模块之间的通信只限于其直接上、下级模块,任何模块不能直接与其他上下级模块或同级模块发生通信联系。(3)若有某模块要与非直接上、下级的其他模块发生通信联系,必须通过其上级模块进行传递。(4)模块调用顺序为自上而下。在控制结构图中,把一个系统分解为若干模块,实质上是把一件比较抽象、其物理内容不大确定的任务,分解为若干件比较具体的、物理内容比较确定的任务。控制结构图既可以反映系统整体结构,又能反映系统的细节,能准确反映各组成部分(各模块)及它们之间的联系。(2007.10,单选16)以下对模块功能的描述中,正确的是()A.上层模块的任务比较具体B.下层模块的任务比较抽象C.非直接上下级模块间不能通信D.模块调用的顺序是自上而下(2004.4,单选25)在规范的控制结构图中,同级模块间的通信()A.可直接进行B.可通过这些模块的直接上级模块来直接传递C.必须通过这些模块的下级模块来传递D.必须通过这些模块的上级模块进行传递6.1.3模块分解的规则1.模块独立性所谓两个模块彼此完全独立,是指其中任一模块在运行时,与另一个模块存在无关。5独立性只是一个相对的概念。具有独立功能而且和其他模块之间相互作用少的模块,称为独立性高的模块。保证模块独立性高是设计一个系统的关键,它具有以下优点:(1)系统容易开发。系统开发往往由若干人分工合作完成,由于模块之间联系少,接口简单,可以简化合作者之间的协调工作。(2)系统可靠性高。模块之间的相互影响小,当一个模块出错时,产生波动效应的概率低,从而提高了系统的可靠性。(3)系统容易维护。在对一个模块进行修改和维护时,不必担心其他模块的内部是否会受到影响。模块独立程度可以由两个定性指标衡量,即:为保证模块相对独立,应使模块内部自身联系紧密,而模块外部互相之间的信息联系要尽可能减少,这是设计物理模型的两项重要原则。(07.4,简答39,简述模块独立性的优点和设计模块的基本原则。)要衡量模块自身联系是否紧密、与外部的联系是否合理,需引入模块凝聚、模块耦合的概念。2.模块凝聚模块凝聚是用以衡量一个模块内部自身功能的内在联系是否紧密的指标,也是衡量模块质量好坏的重要标准。模块按凝聚程度的高低可分为以下五级:(1)偶然凝聚。一个模块内部各组成部分的处理彼此无关,偶然地组合在一起,这是一种组织得最差的模块,凝聚程度最低。(2)逻辑凝聚。一个模块内部各组成部分的处理逻辑相似,但功能却彼此不同。这种模块通常包含一个选择控制和若干彼此独立的处理功能。先执行选择功能,再根据选择的结果,控制执行不同的处理功能。由于它的逻辑途径比较复杂,修改困难,因此6凝聚程度较差。(3)时间凝聚。这是指若干处理由于执行时间彼此有关,集中在一起组成的模块。如初始化模块,各处理内容必须在特定时间内执行,而各处理内容彼此无关,故凝聚程度较差。时间凝聚的模块通常要影响到其他许多模块的运行,因此与其他模块之间联系多,修改比较困难。(4)数据凝聚。模块内部包含若干处理,它们按一定的顺序执行,且前一处理所产生的输出数据,是后一处理的输入数据,这称为数据凝聚模块。这种模块可较明确表述其功能,内部结构较密切,与其他模块联系一般较少,凝聚性较好。(5)功能凝聚。一个模块只执行一个明确的功能,即上级模块调用它时,它只完成一项确定的任务。这种模块独立性强、便于修改。凝聚程度高,是结构化设计模块的理想目标。一个模块的内部凝聚程度,可由p162的图6—5的判定树来表示(2007.04,单选19)在比较模块独立性时,凝聚程度最高的是()A.逻辑凝聚B.数据凝聚C.功能凝聚D.时间凝聚(2004.10,单选20)工资管理模块包含输入工资变动数据,计算工资、汇总工资、输出工资等功能,它的凝聚类型属于()A.偶然凝聚B.时间凝聚C.数据凝聚D.功能凝聚(2004.4,单选20)如果一个模块执行两个功能,且各功能的处理内容无关,这种模块的凝聚类型不是()A.功能凝聚B.数据凝聚C.时间凝聚D.不能确定3.模块耦合模块间的信息联系方式,称为模块的耦合,它是衡量模块间结构性能的重要指标。耦合有三种类型:(1)数据耦合。两个模块间通过调用关系传递被处理的数据称为数据耦合,如p1627图6-6(a)所示.(2)控制耦合。两个模块间通过调用关系,不仅传递数据,还传递对运行过程有影响的控制信号。下层模块执行校验功能,校验结果的控制信号传回上层模块,以控制其他模块的运行。如数据正确,调用正常处理模块;如数据异常,或遇到文件尾等不同情况时,调用不同处理模块,这种耦合使一个模块的执行直接影响到接受该控制信号的模块的运行。这对于系统的修改工作是不利的,特别是对自下向上传递的控制信号,影响面更大。因此,应当尽量将这种耦合减少到最低限度。数据和控制耦合如P162图6-6(b)。(3)非法耦合。一个模块与另一个模块内部发生联系,即一个模块中的某些内容在另一模块中以某种方式被引用,称为非法耦合。例如,不经过调用关系,直接使用或修改另一模块中的数据,将控制选择指向另一模块中的某一标号(节、过程)等。模块间数据耦合是最正常的方式,为保持模块的独立性,模块之间互相传递的数据要尽量少;要努力避免控制耦合,特别是避免自下而上传递控制信号;应消除任何形式的非法耦合。(2007.10,单选18)在系统总体设计中,模块间的控制耦合应()A.全部采用B.尽可能多用C.尽可能少用D.全部不用6.1.4控制结构图的绘制绘制控制结构图的依据是数据流程图。绘制控制结构图,首先是将上层数据流程图映射为上层控制结构图,由顶层数据流程图开始,逐级下推。每一层数据流程图(DFD)中的“处理功能”,映射为相应层次控制结构图中的“模块”;而DFD中流人“处理功能”的数据流映射为输入模块的数据流,DFD中流出“处理功能”的数据流映射成从“模块”中输出的数据流。低层次模块结构的分解,一方面可参8照低层次数据流程图的功能结构;另一方面应按照模块分解的规则,将凝聚程度低的、或具有控制耦合、非法耦合的结构进行分解。低层次模块结构的分解,一方面可参照低层次数据流程图的功能结构;另一方面应按照模块分解的规则,将凝聚程度低的、或具有控制耦合、非法耦合的结构进行分解。分解时采用两种不同的方式:以转换为中心结构的分解、以业务为中心结构的分解。1.以转换为中心结构的分解如果待分解的模块是一个数据凝聚的模块,即内部包含若干顺序执行且对某些数据进行转换处理,称为以转换为中心的结构。这种模块可分解为输入、处理、输出三大部分。应用:以转换为中心结构的模块的分解。(2006.10,应用题42)根据数据计算的数据流图画出以转换为中心的控制结构图。【答疑】2.以业务为中心结构的分解待分解的模块要处理几项逻辑上相似的业务,即它是一个逻辑凝聚的模块。这种模块可以将之分解为一个检查业务类型的模块和一个调度模块,根据不同的业务类型,调度模块调用不同的下层模块,进行不同的处理。以上两种分解方式常常要混合使用,以达到模块凝聚程度高、模块之间独立性强、易于修改的目的。9(2007.10,单选17)需要采用以业务为中心方式分解的模块类型是()A.数据凝聚B.逻辑凝聚C.功能凝聚D.时间凝聚(2005.4,单选38)在模块分解时,如果待分解的是一个逻辑凝聚的模块,它可以分解为一个检查业务类型的模块和一个()A.输入模块B.输出模块C.调度模块D.处理模块6.2数据库设计6.2.1数据库设计的要求和步骤1.数据库设计的要求数据库设计的目标是建立一个合适的数据模型。这个数据模型应当是:(1)满足用户要求:既能合理地组织用户需要的所有数据,又能支持用户对数据的所有处理功能。(2)满足某个数据库管理系统的要求:能够在数据库管理系统中实现。(3)具有较高的范式:数据完整性好、效益高,便于理解和维护,
本文标题:6第六章系统总体设计
链接地址:https://www.777doc.com/doc-2896020 .html