房地产信息管理系统设计_第1页
房地产信息管理系统设计_第2页
房地产信息管理系统设计_第3页
房地产信息管理系统设计_第4页
房地产信息管理系统设计_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章第四章 系统设计系统设计 系统设计就是根据目标系统的逻辑模型建立系统设计就是根据目标系统的逻辑模型建立物理物理模型模型,即根据目标系统逻辑功能的要求,考,即根据目标系统逻辑功能的要求,考虑实际情况,详细地确定目标系统的结构和具体虑实际情况,详细地确定目标系统的结构和具体的的实施方案实施方案。回顾回顾:系统分析阶段的主要工作及程序:系统分析阶段的主要工作及程序: 系统初步调查;系统初步调查; 详细调查和需求分析;详细调查和需求分析; 提出新系统建议方案提出新系统建议方案提出新系统建议方案提出新系统建议方案:通过系统调查和分析,对现行系:通过系统调查和分析,对现行系统的工作流程、信息特征、处

2、理方法、存在问题等有了深入统的工作流程、信息特征、处理方法、存在问题等有了深入了解以后,就应提出系统建议方案,主要包括:了解以后,就应提出系统建议方案,主要包括:系统目标系统目标、系统规格系统规格、系统流程图系统流程图、系统数据处理方式系统数据处理方式、选定计算机类选定计算机类型型、经济效果评价经济效果评价等。等。系统流程图:系统流程图:系统流程图是将表达各个处理单位数据关系系统流程图是将表达各个处理单位数据关系的数据关系图综合起来,用以表达整个系统数据关系的总图。的数据关系图综合起来,用以表达整个系统数据关系的总图。它是在分析和研究现行系统工作流程图的基础上提出的它是在分析和研究现行系统工作

3、流程图的基础上提出的: 根根据输入数据可能产生的中间数据和最后输出信息,画出每个据输入数据可能产生的中间数据和最后输出信息,画出每个处理单位的数据关系图,加以归纳形成系统流程图。处理单位的数据关系图,加以归纳形成系统流程图。例如利用结构化系统分析方法建立例如利用结构化系统分析方法建立数据流图数据流图、数据词典数据词典。数据流图:数据流图:数据流图运用数据流图运用“数据流数据流”、“文件文件”和和“加工加工”等概等概念描述信息处理系统的各个处理环节及处理环节之间信息的传递念描述信息处理系统的各个处理环节及处理环节之间信息的传递关系,从而直观地反映出系统的各个组成部分和不同组成部分之关系,从而直观

4、地反映出系统的各个组成部分和不同组成部分之间的相互关系。间的相互关系。数据词典:数据词典:是关于数据信息的集合,是在数据流图的基础上,对是关于数据信息的集合,是在数据流图的基础上,对其中出现的每个数据流、加工、文件和数据项、外部项进行定义其中出现的每个数据流、加工、文件和数据项、外部项进行定义的工具。数据词典的作用也正是在软件分析和设计的过程中给人的工具。数据词典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。提供关于数据的描述信息。 第一节第一节 概述概述 系统设计的原则、任务和步骤系统设计的原则、任务和步骤第二节第二节 结构化设计方法结构化设计方法 总体设计总体设计 模块结

5、构图模块结构图第三节第三节 详细设计的工具详细设计的工具 详细设计详细设计第四节第四节 详细设计的主要工作详细设计的主要工作 代码设计、输出设计、输入设计代码设计、输出设计、输入设计 处理过程设计、数据存贮设计处理过程设计、数据存贮设计第五节第五节 系统设计说明书的组成系统设计说明书的组成本章主要内容本章主要内容第一节第一节 概述概述一、系统设计的原则一、系统设计的原则二、系统设计的任务和步骤二、系统设计的任务和步骤三、计算机设备的选择三、计算机设备的选择一、系统设计的原则一、系统设计的原则 系统设计的优劣直接影响到目标系统的质量和经济系统设计的优劣直接影响到目标系统的质量和经济效益,为了使所

6、设计的目标系统成为一个满足用户需效益,为了使所设计的目标系统成为一个满足用户需要的、具有较强生命力的系统,在系统设计时必须遵要的、具有较强生命力的系统,在系统设计时必须遵循以下原则:循以下原则: 简单性简单性 灵活性和适应性灵活性和适应性 一致性和完整性一致性和完整性 可靠性可靠性 经济性经济性简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 在达到预定的目标、具备所需要的功能的在达到预定的目标、具备所需要的功能的前提下,系统应当尽量简单。这样可减少处理前提下,系统应当尽量简单。这样可减少处理费用,提高系统效益,同时也便于管理。费用,提高系统效益,同

7、时也便于管理。简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 现代化企业的特点之一,就是其对外界环现代化企业的特点之一,就是其对外界环境的变化有很强的适应能力。作为企业的管理境的变化有很强的适应能力。作为企业的管理信息系统也必须具有相当的灵活性,以便适应信息系统也必须具有相当的灵活性,以便适应外界环境的不断变化。外界环境的不断变化。例例1:将各类参数:将各类参数(如利率、贴现率、如利率、贴现率、)放到文件放到文件而不是固定在程序中,同时在系统中提供修改而不是固定在程序中,同时在系统中提供修改参数的工具。参数的工具。例例2:菜单项可增减甚至定制:菜单

8、项可增减甚至定制例例3:某项功能放到:某项功能放到DLL中,需要变更时仅替中,需要变更时仅替换换DLL简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 一致性有利于子系统之间、多系统之间的联系一致性有利于子系统之间、多系统之间的联系与合作。因此,系统中信息与合作。因此,系统中信息编码编码、采集、信息通信、采集、信息通信要具备要具备一致性一致性,设计规范应标准。由于系统是作为,设计规范应标准。由于系统是作为一个统一的整体而存在的,所以系统的一个统一的整体而存在的,所以系统的功能功能应当尽应当尽量量完整完整。 例例1:学校的学工处、图书馆、医院、食堂等的

9、信:学校的学工处、图书馆、医院、食堂等的信息管理系统,确定学生身份采用统一的息管理系统,确定学生身份采用统一的“学号学号”(教职工也采用统一编码的方式,保证各子系统间(教职工也采用统一编码的方式,保证各子系统间的联系)。的联系)。例例2:身份证编码采用国家规定统一规范、土地分:身份证编码采用国家规定统一规范、土地分类采用国土资源局规定分类规范类采用国土资源局规定分类规范简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 只有可靠的系统,才能保证系统的质只有可靠的系统,才能保证系统的质量并得到用户的信任。因此,系统必须是稳量并得到用户的信任。因此,系统必

10、须是稳定的可靠的,否则就没有使用价值。定的可靠的,否则就没有使用价值。 例例1:程序运行结果可靠?:程序运行结果可靠?例例2:程序运行状态?数据量超过一定值:程序运行状态?数据量超过一定值死机、长时间等待死机、长时间等待例例3:突然断电,数据丢失?:突然断电,数据丢失?良好的数据良好的数据备份机制备份机制例例4:密码、数据安全?:密码、数据安全?银行卡银行卡简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 系统应该给用户带来相应的经济效益。系统应该给用户带来相应的经济效益。系统的投资和经营费用应当得到补偿。需要系统的投资和经营费用应当得到补偿。需要指

11、出的是,这种补偿有时是间接的或不能定指出的是,这种补偿有时是间接的或不能定量计算的。特别是对于管理信息系统,它的量计算的。特别是对于管理信息系统,它的效益当中,有很大一部分效益不能以货币来效益当中,有很大一部分效益不能以货币来商量。商量。 二、系统设计的任务和步骤二、系统设计的任务和步骤 系统设计的任务,是将分析阶段所获得的系统说明书,转换系统设计的任务,是将分析阶段所获得的系统说明书,转换成一个具体的计算机实现方案。成一个具体的计算机实现方案。 系统设计由总体设计和详细设计两部分组成。系统设计由总体设计和详细设计两部分组成。 总体设计总体设计也称初步设计或结构设计。在总体设计过程中要确也称初

12、步设计或结构设计。在总体设计过程中要确定系统模块结构,并画出模块结构图。定系统模块结构,并画出模块结构图。 详细设计详细设计是在总体设计基础上,确定每个模块内部的详细执是在总体设计基础上,确定每个模块内部的详细执行过程,包括局部数据组织、控制流、每一步的具体加工要求等。行过程,包括局部数据组织、控制流、每一步的具体加工要求等。1总体设计总体设计 也称初步设计或结构设计。在总体设计过程中要确定系统也称初步设计或结构设计。在总体设计过程中要确定系统模块结构,并画出模块结构图。模块结构,并画出模块结构图。 在总体设计阶段必须考虑以下几个问题:在总体设计阶段必须考虑以下几个问题: 如何将一个系统或子系

13、统划分成多个模块;如何将一个系统或子系统划分成多个模块; 如何确定模块间传送的数据及其调用关系;如何确定模块间传送的数据及其调用关系; 如何评价并改进模块结构的质量。如何评价并改进模块结构的质量。设计方法:结构化设计设计方法:结构化设计2详细设计详细设计 在总体设计基础上,详细设计是要确定每个模块内部的详细执在总体设计基础上,详细设计是要确定每个模块内部的详细执行过程,包括局部数据组织、控制流、每一步的具体加工要求等。行过程,包括局部数据组织、控制流、每一步的具体加工要求等。 方法:方法:详细设计的关键是用一种合适的方式来描述每个模块的详细设计的关键是用一种合适的方式来描述每个模块的执行过程,

14、常用的有流程图、问题分析图、执行过程,常用的有流程图、问题分析图、IPO图和过程设计语言。图和过程设计语言。3 系统设计阶段的结果系统设计阶段的结果v系统设计阶段的结果是系统设计说明书,系统设计阶段的结果是系统设计说明书,它主要由它主要由模块结构图和模块说明书模块结构图和模块说明书两部分两部分组成。模块结构图说明系统由哪些模块组组成。模块结构图说明系统由哪些模块组成和各模块间的联系情况,模块说明书则成和各模块间的联系情况,模块说明书则详细描述了每一模块的详细描述了每一模块的输入输出数据、功输入输出数据、功能、算法能、算法等。等。三、计算机设备的选择三、计算机设备的选择模块结构图设计完毕以后,模

15、块结构图设计完毕以后,总体设计总体设计的另一个任务就是的另一个任务就是选择适合于该系统的计算机设备,确定具体的配置方案。选择适合于该系统的计算机设备,确定具体的配置方案。一个管理信息系统的计算机设备的选择,主要应该根据一个管理信息系统的计算机设备的选择,主要应该根据用户环境的特点、性能的要求、投资的情况用户环境的特点、性能的要求、投资的情况等因素来确等因素来确定。既要考虑到当前系统的信息量和对各种数据的处理定。既要考虑到当前系统的信息量和对各种数据的处理功能,又要考虑到系统将来可能发展和扩展的功能。功能,又要考虑到系统将来可能发展和扩展的功能。具体说来,系统设备的配置应从以下方面来考虑:具体说

16、来,系统设备的配置应从以下方面来考虑:(1)客观条件的约束)客观条件的约束: 包括投资、原有机房条件、位置、开发包括投资、原有机房条件、位置、开发技术力量、系统运行和维护的技术力量。技术力量、系统运行和维护的技术力量。(2)处理方式)处理方式: 采取的是批处理还是实时处理方式。采取的是批处理还是实时处理方式。(3)终端需求数)终端需求数: 由联机数据输入量、屏幕显示量和地理位置由联机数据输入量、屏幕显示量和地理位置的需要,确定终端需求数。的需要,确定终端需求数。(4)联机存贮量)联机存贮量: 根据应用软件、系统软件的规模,管理信息根据应用软件、系统软件的规模,管理信息系统所存储的数据量和数据库

17、文件的辅助开销来估算出联机系统所存储的数据量和数据库文件的辅助开销来估算出联机存贮量需求,一般还得在此基础上加上一定的扩充余量。存贮量需求,一般还得在此基础上加上一定的扩充余量。(5)打印机)打印机: 根据系统输出量的要求和地理位置的情况决定打根据系统输出量的要求和地理位置的情况决定打印机的数量和型号。印机的数量和型号。(6)其他设备)其他设备: 若需要远程通信,则要考虑调制解调器、通信若需要远程通信,则要考虑调制解调器、通信控制器等设备。此外还有空调器、稳压电源或不间断电源等机控制器等设备。此外还有空调器、稳压电源或不间断电源等机房设备也需作相应考虑。房设备也需作相应考虑。(7)软件)软件:

18、 在确定硬件的同时就必须对相应的软件进行计划,在确定硬件的同时就必须对相应的软件进行计划,包括操作系统、高级语言和数据库系统等。包括操作系统、高级语言和数据库系统等。例例1:某系统:某系统例例2例例4:选择:选择GIS平台软件平台软件硬件:硬件: 服务器服务器 + 客户端客户端 输入:扫描仪、数字化仪输入:扫描仪、数字化仪 输出:打印机、绘图仪输出:打印机、绘图仪 存储:刻录机、磁带机、磁盘阵列存储:刻录机、磁带机、磁盘阵列 网络:服务器网络:服务器 + 其他网络设备其他网络设备 其他其他 软件:软件: 操作系统操作系统 数据库系统数据库系统 GIS平台或开发包平台或开发包 开发语言开发语言

19、第二节第二节 结构化设计方法结构化设计方法结构化设计结构化设计Structured Design,简称,简称SD是使用最广的一种设计方法,由美国是使用最广的一种设计方法,由美国IBM公司的公司的W. STEVENS, G. MYERS和和L. CONSTANTINE等人提等人提出。出。该方法该方法适合于软件系统的总体设计适合于软件系统的总体设计,通常与结构化分,通常与结构化分析析(SA)方法衔接起来使用。方法衔接起来使用。特点:特点:(1)相对独立、功能单一的模块结构)相对独立、功能单一的模块结构。结构化设计的。结构化设计的基本思想是将系统设计成由相对独立、单一功能的模基本思想是将系统设计成由

20、相对独立、单一功能的模块组成的结构。块组成的结构。 由于模块之间相对独立,每一模块就可以单独地由于模块之间相对独立,每一模块就可以单独地被理解、编写、测试、排错和修改。从而有效地防止被理解、编写、测试、排错和修改。从而有效地防止错误在模块之间扩散蔓延,提高了系统的质量错误在模块之间扩散蔓延,提高了系统的质量(可维护可维护性、可靠性等性、可靠性等),同时,系统研制工作也大大简化。,同时,系统研制工作也大大简化。特点:特点:(2)块内联系大、块间联系小)块内联系大、块间联系小。模块内部联系要大,。模块内部联系要大,模块之间联系要小,这是结构化设计中衡量模块之间联系要小,这是结构化设计中衡量相对独立

21、相对独立性能的标准。事实上,块内联系和块间联系是同一件性能的标准。事实上,块内联系和块间联系是同一件事的两个方面,系统中各组成成分之间是有联系的,事的两个方面,系统中各组成成分之间是有联系的,若把联系密切的成分组织在同一模块中,块内联系高若把联系密切的成分组织在同一模块中,块内联系高了,则块间联系也少了。反之,若把密切相关的一些了,则块间联系也少了。反之,若把密切相关的一些成分分散在各个模块中,势必造成很高的块间联系。成分分散在各个模块中,势必造成很高的块间联系。特点:特点:(3)采用模块结构图的描述方式。)采用模块结构图的描述方式。结构化设结构化设计方法使用的描述方式是模块结构图。模块结计方

22、法使用的描述方式是模块结构图。模块结构图不仅描述了系统的分层模块结构,清楚地构图不仅描述了系统的分层模块结构,清楚地表示了每个模块的功能,而且直观地反映了块表示了每个模块的功能,而且直观地反映了块内联系和块间联系等特性。内联系和块间联系等特性。步骤:步骤:第一步,建立一个满足系统说明书的初始结构图。第一步,建立一个满足系统说明书的初始结构图。第二步,对结构图作逐步改进。即在图中找出块间第二步,对结构图作逐步改进。即在图中找出块间联系和块内联系尚可改进之处,然后对有关部分做联系和块内联系尚可改进之处,然后对有关部分做适当修改和调整。适当修改和调整。一、模块结构图一、模块结构图二、模块结构的质量标

23、准二、模块结构的质量标准三、模块结构的标准形式三、模块结构的标准形式四、从数据流图导出初始结构图四、从数据流图导出初始结构图五、模块结构图的改进五、模块结构图的改进一、模块结构图一、模块结构图 是结构化设计中描述系统结构的图形工具,是结构化设计中描述系统结构的图形工具,由模块、调用、数据、由模块、调用、数据、控制和转接等五种基本符号组成控制和转接等五种基本符号组成。 作为一种文档,它必须严格地定义作为一种文档,它必须严格地定义模块名称、功能和接口,同时还应当在图上反映出设计思想。模块名称、功能和接口,同时还应当在图上反映出设计思想。1. 模块模块通常指用一个名字代表的可以被调用的一段程序代码通

24、常指用一个名字代表的可以被调用的一段程序代码(程序块)。(程序块)。例:(例:(1)函数调用)函数调用 (2)过程调用)过程调用 一个模块一般要具备以下要素:一个模块一般要具备以下要素:(1)输入和输出。)输入和输出。模块的输入来源和输出去向都是同一个模块的输入来源和输出去向都是同一个调用者,即一个模块从调用者那儿取得输入,进行加工后再调用者,即一个模块从调用者那儿取得输入,进行加工后再把输出返回调用者。把输出返回调用者。(2)功能。)功能。指模块把输入转换成输出所做的工作。指模块把输入转换成输出所做的工作。(3)内部数据。)内部数据。指仅供该模块本身引用的数据。指仅供该模块本身引用的数据。(

25、4)程序代码。)程序代码。指用来实现模块功能的程序。指用来实现模块功能的程序。 前两个要素是模块的外部特性,即反映了模块的外貌。前两个要素是模块的外部特性,即反映了模块的外貌。后两个要素是模块的内部特性。在结构化设计中。首先关心后两个要素是模块的内部特性。在结构化设计中。首先关心的是外部特性,其内部特性只做必要了解。的是外部特性,其内部特性只做必要了解。外部数据外部数据外表功能外表功能内部数据内部数据内部功能内部功能2. 调用调用 在模块结构图中,用连接两个模在模块结构图中,用连接两个模块的箭头表示调用,箭头由调用模块指块的箭头表示调用,箭头由调用模块指向被调用模块。含义应理解为被调用模向被调

26、用模块。含义应理解为被调用模块执行后又返回到调用模块。块执行后又返回到调用模块。 如果一个模块是否调如果一个模块是否调用一个从属模块,决定于用一个从属模块,决定于调用模块内部的判断条件,调用模块内部的判断条件,则该调用称为模块间的则该调用称为模块间的判判断调用断调用,采用菱形符号表,采用菱形符号表示。示。 如果一个模块通过其内部的循环功能来循环调用如果一个模块通过其内部的循环功能来循环调用一个或多个从属模块,则该调用称为一个或多个从属模块,则该调用称为循环调用循环调用,用弧形,用弧形箭头表示。箭头表示。3. 数据数据 当一个模块调用另一个模块时,当一个模块调用另一个模块时,调用模块可以把数据传

27、送到被调用模调用模块可以把数据传送到被调用模块处供处理,而被调用模块又可以将块处供处理,而被调用模块又可以将处理的结果数据送回到调用模块。处理的结果数据送回到调用模块。 模块间传送的数据,用与调用箭模块间传送的数据,用与调用箭头平行的带空心圆的箭头表示,并在头平行的带空心圆的箭头表示,并在旁边标上数据名。旁边标上数据名。4. 控制信息控制信息 为了指导程序下一步的执行,模块间有时还必须传为了指导程序下一步的执行,模块间有时还必须传送某些控制信息送某些控制信息,控制信息与数据的主要区别是前者只反,控制信息与数据的主要区别是前者只反映数据的某种状态,不必进行处理。图中用带实心圆点的映数据的某种状态

28、,不必进行处理。图中用带实心圆点的箭头表示控制信息。箭头表示控制信息。 例,数据输入中的结束标志,例,数据输入中的结束标志, 文件结束标志。文件结束标志。5. 转接符号转接符号 当模块结构图当模块结构图在一张图面上画不下在一张图面上画不下,需要转接到另,需要转接到另外一张纸上,或为了外一张纸上,或为了避免图上线条交叉时避免图上线条交叉时,都可使用转接,都可使用转接符号。符号。“计算工资程序计算工资程序”的模块结构图示例,的模块结构图示例,4个模块个模块“模块结构图模块结构图”与与“框图框图” 的关系的关系 一个软件系统具有过程性一个软件系统具有过程性(处理动作的顺序处理动作的顺序)和层次性和层

29、次性(系统的各组成部分的管辖范围系统的各组成部分的管辖范围)特征。特征。模块结构图描述的模块结构图描述的是系统的层次性,而通常的是系统的层次性,而通常的“框图框图”则描述的是系统的过则描述的是系统的过程性。程性。“模块结构图模块结构图”与与 “数据流图数据流图”的关系的关系 数据流图是从数据在系统中的流动情况来考虑系统数据流图是从数据在系统中的流动情况来考虑系统的,而模块结构图则从功能的层次关系上来考察系统。的,而模块结构图则从功能的层次关系上来考察系统。前者从数据流着眼,后者从控制层次着眼。模块结构图前者从数据流着眼,后者从控制层次着眼。模块结构图是由一个总的抽象的系统功能出发,逐步加入具体

30、的实是由一个总的抽象的系统功能出发,逐步加入具体的实现方法,最后获得一个物理模型。现方法,最后获得一个物理模型。二、模块结构的质量标准二、模块结构的质量标准 在结构化设计中,采用自顶向下,逐步细化的方法在结构化设计中,采用自顶向下,逐步细化的方法将系统分解成为一些相对独立、功能单一的模块。评价模将系统分解成为一些相对独立、功能单一的模块。评价模块质量的标准是块质量的标准是“耦合小,内聚大耦合小,内聚大”。 耦合是表示模块之间联系的程度耦合是表示模块之间联系的程度。紧密耦合表。紧密耦合表示模块之间联系非常强,松散耦合表示联系比较弱,示模块之间联系非常强,松散耦合表示联系比较弱,非耦合则表示模块之

31、间无任何联系,是完全独立的。非耦合则表示模块之间无任何联系,是完全独立的。耦合小就是模块间尽可能相对独立,从而各模块可以耦合小就是模块间尽可能相对独立,从而各模块可以单独开发和维护。单独开发和维护。 内聚是表示模块内部各成分之间的联系程度内聚是表示模块内部各成分之间的联系程度。内聚大就使得模块的可理解性和维护性大大增强。内聚大就使得模块的可理解性和维护性大大增强。1. 模块的耦合方式模块的耦合方式 数据耦合数据耦合 控制耦合控制耦合 非法耦合非法耦合(1)数据耦合)数据耦合 如果两个模块之间的通信信息是若干如果两个模块之间的通信信息是若干数据项,则这种耦合方式称为数据耦合。数据项,则这种耦合方

32、式称为数据耦合。这种耦合对系统的影响比较小,是一种较这种耦合对系统的影响比较小,是一种较好的耦合方式,但为了减少接口的复杂性,好的耦合方式,但为了减少接口的复杂性,应尽量防止传输不必要的数据。应尽量防止传输不必要的数据。例:例:FLOAT Calculate_SUM(FLOAT A, FLOAT B);(2)控制耦合)控制耦合 如果两个模块之间传输的信息是控制信如果两个模块之间传输的信息是控制信息,则该耦合称为控制耦合。息,则该耦合称为控制耦合。传送的控制信息可分为:判定参数(调用模块通过该传送的控制信息可分为:判定参数(调用模块通过该判定参数控制被调用模块的工作方式);地址参数判定参数控制被

33、调用模块的工作方式);地址参数(调用模块直接转向被调用模块内部的某一地址)(调用模块直接转向被调用模块内部的某一地址)例:例:CALCULATE_SUM(A,B,MODE);MODE = 1,2,N表示表示N种计算模式,如要求返回整数、种计算模式,如要求返回整数、2位小数、位小数、%形式数值等。注意,此时如果主模块中的形式数值等。注意,此时如果主模块中的MODE含义变化,则需对应修改被调用的模块。含义变化,则需对应修改被调用的模块。(3)非法耦合)非法耦合 主要是指两个模块之间,不经过调主要是指两个模块之间,不经过调用关系,彼此直接使用或修改对方的数用关系,彼此直接使用或修改对方的数据。据。这

34、是最差的耦合方式,在结构化设计时不允许出这是最差的耦合方式,在结构化设计时不允许出现这种情况。从程序设计角度看,应做到各模块现这种情况。从程序设计角度看,应做到各模块只使用自身的局部变量,尽量不使用全局变量,只使用自身的局部变量,尽量不使用全局变量,模块之间必不可少的数据联系都必须以参数形式模块之间必不可少的数据联系都必须以参数形式明确指定。明确指定。2. 模块的内聚方式模块的内聚方式 巧合内聚巧合内聚 逻辑内聚逻辑内聚 过程内聚过程内聚 通信内聚通信内聚 顺序内聚顺序内聚 功能内聚功能内聚(1)巧合内聚:)巧合内聚:模块各成分之间毫无联系,不易模块各成分之间毫无联系,不易修改或维护;修改或维

35、护;(2)逻辑内聚:)逻辑内聚:模块各成分的逻辑功能是相似的。模块各成分的逻辑功能是相似的。如系统中与如系统中与“输出输出”有关的操作抽取出来组成一个有关的操作抽取出来组成一个模块,包括将数据在屏幕、打印机上输出及拷贝到模块,包括将数据在屏幕、打印机上输出及拷贝到磁盘上,则该模块就是逻辑内聚的;磁盘上,则该模块就是逻辑内聚的;(3)过程内聚)过程内聚:是由一段公共的处理过程组合成的:是由一段公共的处理过程组合成的模块。如一个框图中的所有循环部分、判定部分和计模块。如一个框图中的所有循环部分、判定部分和计算部分划分成三个模块,则它们都是过程内聚的;算部分划分成三个模块,则它们都是过程内聚的;(4

36、)通信内聚)通信内聚:指模块中各成分引用或产生共同的:指模块中各成分引用或产生共同的数据。例报表打印模块,各成分都从若干共同的数据数据。例报表打印模块,各成分都从若干共同的数据来源接收数据,然后转换、汇总并打印出各种报表;来源接收数据,然后转换、汇总并打印出各种报表;(5)顺序内聚)顺序内聚:指模块中各成分有顺序关系,某一成:指模块中各成分有顺序关系,某一成分的输出是另一成分的输入;分的输出是另一成分的输入;(6)功能内聚)功能内聚:表示模块中各成分的联系是功能性的,:表示模块中各成分的联系是功能性的,即一个模块执行一个功能,且完成该功能所必须的全即一个模块执行一个功能,且完成该功能所必须的全

37、部成分都包含在模块中。这类模块的功能明确、模块部成分都包含在模块中。这类模块的功能明确、模块间的耦合简单,便于维护,系统设计时应力求按功能间的耦合简单,便于维护,系统设计时应力求按功能划分模块。划分模块。三、模块结构的标准形式三、模块结构的标准形式1. 变换型结构变换型结构2. 事务型结构事务型结构1. 变换型变换型变换型系统由输入、数据加工(中心变换)和输出变换型系统由输入、数据加工(中心变换)和输出组成,它的功能是组成,它的功能是将输入的数据经过加工后输出将输入的数据经过加工后输出。从主模块沿着模块结构逐层达到底层的输入模块,当底层模块输从主模块沿着模块结构逐层达到底层的输入模块,当底层模

38、块输入数据入数据A后,后,A由下至上逐层传送,逐步由物理输入变成逻辑输由下至上逐层传送,逐步由物理输入变成逻辑输入入C,接着在主控模块控制下,接着在主控模块控制下,C经中心变换模块转换成逻辑输经中心变换模块转换成逻辑输出出D,D再由上至下逐层传送,逐步把逻辑输出变成物理输出再由上至下逐层传送,逐步把逻辑输出变成物理输出E。注:上面结构图的功能简单理解为注:上面结构图的功能简单理解为“ 输入输入A处理处理输出输出E ”注:上面结构图的功能简单理解为注:上面结构图的功能简单理解为“ 输入输入X1,Y1处理处理输出输出Z2,S3 ”2. 事务型事务型事务型系统由三层组成:事务型系统由三层组成: 事务

39、层事务层 操作层操作层 细节层细节层它的功能是它的功能是对所接收的事务按其类型进行处理对所接收的事务按其类型进行处理。工作时,主模块将按事务的类型选择调用某一事务处理模块,事工作时,主模块将按事务的类型选择调用某一事务处理模块,事务处理模块又调用若干个操作模块,每个操作模块又调用若干个务处理模块又调用若干个操作模块,每个操作模块又调用若干个细节模块。在实际系统中,由于不同的事务可能有共同的操作,细节模块。在实际系统中,由于不同的事务可能有共同的操作,而不同操作又可能有共同的细节,因此事务型系统的操作摸决和而不同操作又可能有共同的细节,因此事务型系统的操作摸决和细节模块可能有一定程度的共享。细节

40、模块可能有一定程度的共享。四、从数据流图导出初始结构图四、从数据流图导出初始结构图数据流图(运用数据流图(运用“数据流数据流”、“文件文件”和和“加工加工”等概等概念描述信息处理系统的各个处理环节及处理环节之间信念描述信息处理系统的各个处理环节及处理环节之间信息的传递关系,系统分析阶段使用)息的传递关系,系统分析阶段使用)初始模块结构图(初始模块结构图(系统设计阶段系统设计阶段)方法方法: 根据数据流图的结构(与模块结构类似,同样有变根据数据流图的结构(与模块结构类似,同样有变换型、事务型两种典型结构)而定。换型、事务型两种典型结构)而定。变换型结构的数据流图变换型结构的数据流图呈一种线性状态

41、,它所描述的工作呈一种线性状态,它所描述的工作可表示为:输入、主处理、输出。可表示为:输入、主处理、输出。事务型结构的数据流图事务型结构的数据流图则呈束状形,即一束数据流平行流则呈束状形,即一束数据流平行流入或流出,可能同时有几个事务要求处理。入或流出,可能同时有几个事务要求处理。数据流图数据流图初始模块结构图初始模块结构图 方法方法两种典型的结构分别通过两种典型的结构分别通过“变换分析变换分析”和和“事务分析事务分析”技术,导出技术,导出“变换型变换型”和和“事务型事务型”初始的模块结构图。初始的模块结构图。这两种方法都是首先设计顶层模块,然后自顶向下,逐这两种方法都是首先设计顶层模块,然后

42、自顶向下,逐步细化,最后得到一个满足数据流图所表示的用户要求步细化,最后得到一个满足数据流图所表示的用户要求的系统模块结构图。的系统模块结构图。 1. 变换分析变换分析步骤:步骤: 找出系统的主加工;找出系统的主加工; 设计顶层模块和第一层模块设计顶层模块和第一层模块 ; 设计中、下层模块设计中、下层模块找出系统的主加工:找出系统的主加工:通常在数据流图中多股数据流的汇合处。若没有明显的汇合处,通常在数据流图中多股数据流的汇合处。若没有明显的汇合处,则可先确定哪些数据流是逻辑输入和逻辑输出,从而获得主加工则可先确定哪些数据流是逻辑输入和逻辑输出,从而获得主加工(从物理输入端一步步向系统中间移动

43、,直至到达这样一个数据流,它再不能被(从物理输入端一步步向系统中间移动,直至到达这样一个数据流,它再不能被作为系统的输入,则其前一个数据流就是系统的逻辑输入。类似地,从物理输出作为系统的输入,则其前一个数据流就是系统的逻辑输入。类似地,从物理输出端一步步向系统中间移动,则离物理输出端最远的,但仍可视为系统输出的那个端一步步向系统中间移动,则离物理输出端最远的,但仍可视为系统输出的那个数据流就是逻辑输出。逻辑输入和逻辑输出之间的加工就是主加工)数据流就是逻辑输出。逻辑输入和逻辑输出之间的加工就是主加工)设计顶层模块和第一层模块:设计顶层模块和第一层模块:首先在与主加工对应的位置上画出主模块,按输

44、入、变换、输出等首先在与主加工对应的位置上画出主模块,按输入、变换、输出等分支来处理结构图的第一层,同时注意主模块与第一层模块之间传分支来处理结构图的第一层,同时注意主模块与第一层模块之间传送的数据应与数据流图相对应:送的数据应与数据流图相对应:为每一个逻辑输入画一个输入模块,其功能是向主模块提供数据;为每一个逻辑输入画一个输入模块,其功能是向主模块提供数据;为每一个逻辑输出画一个输出模块,其功能是把主模块提供的数据输出;为每一个逻辑输出画一个输出模块,其功能是把主模块提供的数据输出;为主处理画一个变换模块,其功能是把逻辑输入变换成逻辑输出。为主处理画一个变换模块,其功能是把逻辑输入变换成逻辑

45、输出。设计中、下层模块:设计中、下层模块:为每个输入模块设计为每个输入模块设计两个两个下层模块,其中一个是下层模块,其中一个是输入输入模块,模块,另一个是另一个是变换变换模块模块(注,输出实际上传递到了上层)(注,输出实际上传递到了上层)。同理,也为每个输出模块设计两个下层模块,一个是变换同理,也为每个输出模块设计两个下层模块,一个是变换模块,另一个是输出模块模块,另一个是输出模块(输入由上层传入)(输入由上层传入)。该过程由顶向。该过程由顶向下递归进行,直到系统的物理输入端或物理输出端为止。下递归进行,直到系统的物理输入端或物理输出端为止。2. 事务分析事务分析当数据流图呈当数据流图呈“束状

46、束状”时,采用事务分析方法:时,采用事务分析方法:(1)确定事务中心)确定事务中心。(2)按功能划分事务)按功能划分事务,将具备相同功能的事务,分为同一,将具备相同功能的事务,分为同一类,建立事务模块。类,建立事务模块。(3)为每个事务处理模块建立全部的操作层模块)为每个事务处理模块建立全部的操作层模块。(4)若有必要,则为操作层模块定义相应的)若有必要,则为操作层模块定义相应的细节模块细节模块,并,并尽可能使细节模块被多个操作模块共享。尽可能使细节模块被多个操作模块共享。确定事务中心确定事务中心按功能划分事务,建立事务模块按功能划分事务,建立事务模块建立操作层模块建立操作层模块五、模块结构图

47、的改进五、模块结构图的改进在系统分析阶段,加工说明中所反映的用户要求在系统分析阶段,加工说明中所反映的用户要求(例如,出例如,出错处理,过程信息以及种种限制等错处理,过程信息以及种种限制等)不能完全在数据流图反不能完全在数据流图反映。映。然而,在系统设计阶段的系统模块结构图中,然而,在系统设计阶段的系统模块结构图中,必须体现出用必须体现出用户的所有要求户的所有要求。因此,由数据流图导出的初始模块结构图必须进行因此,由数据流图导出的初始模块结构图必须进行补充和修补充和修改改,才能达到上述要求。,才能达到上述要求。对初始模块结构图进行补充和修改,应注意以下问题对初始模块结构图进行补充和修改,应注意

48、以下问题: 1模块的扇入和扇出数模块的扇入和扇出数 2模块的大小模块的大小 3除重复的功能除重复的功能1模块的扇入和扇出数模块的扇入和扇出数扇入数:扇入数:指模块的直接上层模块的个数。指模块的直接上层模块的个数。扇出数:扇出数:指一个模块拥有的直接下层模块的个数。指一个模块拥有的直接下层模块的个数。 如果一个规模很小的底层模块的扇入数为如果一个规模很小的底层模块的扇入数为1,则可以把它,则可以把它合并到它的上层模块中去;合并到它的上层模块中去; 若它的扇入数较大,就不能向上合并,否则将导致对该模若它的扇入数较大,就不能向上合并,否则将导致对该模块做多次编码和排错。块做多次编码和排错。 如果一个

49、模块具有多功能,应考虑做进一步分解。如果一个模块具有多功能,应考虑做进一步分解。 反之,对某个扇出数过低的模块,也应进行检查(是否可反之,对某个扇出数过低的模块,也应进行检查(是否可以并入下层)以并入下层)。2模块的大小模块的大小为了提高可读性和方便修改,一个基本模块的程序量以能为了提高可读性和方便修改,一个基本模块的程序量以能印在一张打印纸上印在一张打印纸上(或者能够在一屏上显示或者能够在一屏上显示)为宜。为宜。此外,模块的功能也是决定模块大小的一个重要出发点。此外,模块的功能也是决定模块大小的一个重要出发点。有时即使语句数量远超出上述范围,也不应生硬地将它们有时即使语句数量远超出上述范围,

50、也不应生硬地将它们分成几个小模块分成几个小模块,例如,对一个复杂数学公式的计算模块,例如,对一个复杂数学公式的计算模块。3除重复的功能除重复的功能设计过程中若发现几个模块的功能是相似的,则应设法消去其设计过程中若发现几个模块的功能是相似的,则应设法消去其中的重复功能中的重复功能。因为同一功能的程序段多次出现,不仅浪费了。因为同一功能的程序段多次出现,不仅浪费了编码时间,而且会给调试和维护带来困难。编码时间,而且会给调试和维护带来困难。 例如,假设图例如,假设图(a)中模块中模块Q1和和Q2具有类似的功能但又不完全相具有类似的功能但又不完全相同。首先对同。首先对Q1和和Q2进行分析,找出重复部分

51、,如果这部分可进行分析,找出重复部分,如果这部分可以构成一个内聚较强的单独模块,我们就将其分离出来构成一以构成一个内聚较强的单独模块,我们就将其分离出来构成一个公共的下层模块个公共的下层模块(图图 (b)进一步,如果分离后剩下的部分进一步,如果分离后剩下的部分Q1,Q2所含语句很少,且功所含语句很少,且功能也很简单,则可合并到它们各自的调用模块中去能也很简单,则可合并到它们各自的调用模块中去(图图(c)(d) 第三节第三节 详细设计的工具详细设计的工具详细设计的任务,就是详细设计的任务,就是在总体设计所建立的系统模块结构的基在总体设计所建立的系统模块结构的基础上,给出模块的实现方法的细节,对模

52、块的输入、输出和处础上,给出模块的实现方法的细节,对模块的输入、输出和处理过程作详细描述,理过程作详细描述,从而在程序设计阶段可以把这个描述直接从而在程序设计阶段可以把这个描述直接“翻译翻译”成用某种程序设计语言书写的程序。成用某种程序设计语言书写的程序。描述程序处理过程的工具称为详细设计的工具描述程序处理过程的工具称为详细设计的工具,它们可分,它们可分为图形、表格和语言三类。不论是哪种工具,它们的基本为图形、表格和语言三类。不论是哪种工具,它们的基本功能都是能提供对设计的确切描述。功能都是能提供对设计的确切描述。详细设计不仅仅要求从逻辑上正确地实现每个模块的功能,详细设计不仅仅要求从逻辑上正

53、确地实现每个模块的功能,而且要求设计出的处理过程尽可能简明易懂。而且要求设计出的处理过程尽可能简明易懂。结构化程序结构化程序设计设计是实现这个目标的有效技术,其描述工具有是实现这个目标的有效技术,其描述工具有控制流程控制流程图图(FC)、问题分析图、问题分析图(PAD)、过程设计语言等、过程设计语言等。一、结构化程序设计一、结构化程序设计二、控制流程图二、控制流程图(FC) 三、问题分析图三、问题分析图(PAD) 四、四、IPO图图(输入输入-加工加工-输出输出)五、过程设计语言五、过程设计语言(PDL)一、结构化程序设计一、结构化程序设计结构定理结构定理(鲍赫门、加柯皮尼(鲍赫门、加柯皮尼,

54、1996证明):任何程序结构都证明):任何程序结构都可以用顺序、选择和循环这三种基本结构来表示。可以用顺序、选择和循环这三种基本结构来表示。 结构化程序设计结构化程序设计(Structured Programming,简称,简称SP) :一般认为,结构化程序设计是一种设计程序的技术,它采一般认为,结构化程序设计是一种设计程序的技术,它采用用自顶向下自顶向下逐步求精的设计方法和逐步求精的设计方法和单入口单出口单入口单出口的控制技的控制技术。按照这个思想,对于一个执行过程模糊不清的模块,术。按照这个思想,对于一个执行过程模糊不清的模块,可以采用顺序、选择和循环方式对该过程进行分解。可以采用顺序、选

55、择和循环方式对该过程进行分解。 二、控制流程图二、控制流程图(FC)控制流程图控制流程图(FLOW CHART,简称,简称FC),又称框图,是最常,又称框图,是最常用的程序细节描述工具之一,它包括三种基本成分:用的程序细节描述工具之一,它包括三种基本成分: 处理步骤处理步骤(用矩形框表示用矩形框表示); 条件判断条件判断(用菱形框表示用菱形框表示); 控制流控制流(用箭头表示用箭头表示)。条件?条件?补充说明补充说明初始化的前提是?初始化的前提是?框图的特点是框图的特点是清晰易懂,便于掌握清晰易懂,便于掌握。主要缺点:主要缺点:箭头是框图中的一个隐患箭头是框图中的一个隐患,人们可以使用框图,人

56、们可以使用框图中的箭头实现向任何位置的转移中的箭头实现向任何位置的转移(即即GOTO语句语句),如果使,如果使用不当时,框图就可能非常难懂,而且无法进行维护。用不当时,框图就可能非常难懂,而且无法进行维护。三、问题分析图三、问题分析图(PAD) 问题分析图(问题分析图(Problem Analysis Diagram,简称,简称PAD)也是)也是一种支持结构化程序设计的图形工具,问题分析图仅仅具有一种支持结构化程序设计的图形工具,问题分析图仅仅具有顺顺序、选择和循环序、选择和循环这三种基本成分,正好与结构化程序设计中的这三种基本成分,正好与结构化程序设计中的基本结构相对应。基本结构相对应。 P

57、AD与与FC的比较的比较?有无问题?有无问题?问题分析图的一个独特之处在于:以问题分析因为基础,按照问题分析图的一个独特之处在于:以问题分析因为基础,按照一个机械的变换规则就可编写出计算机程序。该规则称为一个机械的变换规则就可编写出计算机程序。该规则称为“走走树树”(TREE WALK):顺着问题分析图所呈的树形结构移动,依:顺着问题分析图所呈的树形结构移动,依次将遇到的次将遇到的PAD基本成分变换成相应的程序结构。基本成分变换成相应的程序结构。 问题分析图有着逻辑结构清晰、图形标准化及与人们所熟问题分析图有着逻辑结构清晰、图形标准化及与人们所熟悉的控制流程图比较相似等优点,更重要的是它引导设

58、计悉的控制流程图比较相似等优点,更重要的是它引导设计人员使用结构化程序设计方法,从而提高了程序的质量。人员使用结构化程序设计方法,从而提高了程序的质量。同时,通过比较确定的规则可以由问题分析图直接产生程同时,通过比较确定的规则可以由问题分析图直接产生程序,有利于程序设计的自动化。序,有利于程序设计的自动化。四、四、IPO图图IPO图是输入图是输入-加工加工-输出输出(INPUT-PROCESS-OUTPUT)图的简图的简称,它是由美国称,它是由美国IBM公司发起并逐渐完善起来的一种工具。在公司发起并逐渐完善起来的一种工具。在系统的模块结构图形成过程中,产生了大量的模块,开发者应系统的模块结构图

59、形成过程中,产生了大量的模块,开发者应为每一个模块写一份说明。为每一个模块写一份说明。IPO图就是用来表述每个模块的输图就是用来表述每个模块的输入、输出数据和数据加工的重要工具。入、输出数据和数据加工的重要工具。IPO图的主体是图的主体是算法说明部分算法说明部分,该部分可采用多种方法(如,该部分可采用多种方法(如判定表、判定树、控制流程图、问题分析图、过程设计语言判定表、判定树、控制流程图、问题分析图、过程设计语言等)进行描述,只要能够准确而简明地描述模块执行细节就等)进行描述,只要能够准确而简明地描述模块执行细节就可以。可以。IPO图中的图中的输入、输出数据输入、输出数据来源于数据词典。来源

60、于数据词典。局部数据项局部数据项是指个别模块内部使用的数据,与系统的其他部是指个别模块内部使用的数据,与系统的其他部分无关,仅由本模块定义、存贮和使用。分无关,仅由本模块定义、存贮和使用。注释注释是对本模块有关问题做必要的说明。是对本模块有关问题做必要的说明。五、过程设计语言五、过程设计语言(PDL)过程设计语言过程设计语言 PROCESS DESIGN LANGUAGE PROGRAM DESIGN LANGUAGE PROGRAM DESCRIPTION LANGUAGE简称简称PDL过程设计语言用于描述模块中算法和加工的具体细节,以便在过程设计语言用于描述模块中算法和加工的具体细节,以便

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论