《房地产信息管理系统设计模板只是课件.ppt》由会员分享,可在线阅读,更多相关《房地产信息管理系统设计模板只是课件.ppt(141页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、房地房地产产信息管理系信息管理系统设计统设计模板模板回顾回顾:系统分析阶段的主要工作及程序:系统分析阶段的主要工作及程序:系统初步调查;系统初步调查;详细调查和需求分析;详细调查和需求分析;提出新系统建议方案提出新系统建议方案提出新系统建议方案提出新系统建议方案:通过系统调查和分析,对现行系:通过系统调查和分析,对现行系统的工作流程、信息特征、处理方法、存在问题等有了深入统的工作流程、信息特征、处理方法、存在问题等有了深入了解以后,就应提出系统建议方案,主要包括:了解以后,就应提出系统建议方案,主要包括:系统目标系统目标、系统规格系统规格、系统流程图系统流程图、系统数据处理方式系统数据处理方式
2、、选定计算机类选定计算机类型型、经济效果评价经济效果评价等。等。系统流程图:系统流程图:系统流程图是将表达各个处理单位数据关系系统流程图是将表达各个处理单位数据关系的数据关系图综合起来,用以表达整个系统数据关系的总图。的数据关系图综合起来,用以表达整个系统数据关系的总图。它是在分析和研究现行系统工作流程图的基础上提出的它是在分析和研究现行系统工作流程图的基础上提出的:根根据输入数据可能产生的中间数据和最后输出信息,画出每个据输入数据可能产生的中间数据和最后输出信息,画出每个处理单位的数据关系图,加以归纳形成系统流程图。处理单位的数据关系图,加以归纳形成系统流程图。例如利用结构化系统分析方法建立
3、例如利用结构化系统分析方法建立数据流图数据流图、数据词典数据词典。数据流图:数据流图:数据流图运用数据流图运用“数据流数据流”、“文件文件”和和“加工加工”等概等概念描述信息处理系统的各个处理环节及处理环节之间信息的传递念描述信息处理系统的各个处理环节及处理环节之间信息的传递关系,从而直观地反映出系统的各个组成部分和不同组成部分之关系,从而直观地反映出系统的各个组成部分和不同组成部分之间的相互关系。间的相互关系。数据词典:数据词典:是关于数据信息的集合,是在数据流图的基础上,对是关于数据信息的集合,是在数据流图的基础上,对其中出现的每个数据流、加工、文件和数据项、外部项进行定义其中出现的每个数
4、据流、加工、文件和数据项、外部项进行定义的工具。数据词典的作用也正是在软件分析和设计的过程中给人的工具。数据词典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。提供关于数据的描述信息。第一节第一节 概述概述 系统设计的原则、任务和步骤系统设计的原则、任务和步骤第二节第二节 结构化设计方法结构化设计方法 总体设计总体设计 模块结构图模块结构图第三节第三节 详细设计的工具详细设计的工具 详细设计详细设计第四节第四节 详细设计的主要工作详细设计的主要工作 代码设计、输出设计、输入设计代码设计、输出设计、输入设计 处理过程设计、数据存贮设计处理过程设计、数据存贮设计第五节第五节 系统设
5、计说明书的组成系统设计说明书的组成本章主要内容本章主要内容第一第一节 概述概述一、系统设计的原则一、系统设计的原则二、系统设计的任务和步骤二、系统设计的任务和步骤三、计算机设备的选择三、计算机设备的选择一、系一、系统设计的原的原则 系统设计的优劣直接影响到目标系统的质量和经济系统设计的优劣直接影响到目标系统的质量和经济效益,为了使所设计的目标系统成为一个满足用户需效益,为了使所设计的目标系统成为一个满足用户需要的、具有较强生命力的系统,在系统设计时必须遵要的、具有较强生命力的系统,在系统设计时必须遵循以下原则:循以下原则:简单性简单性 灵活性和适应性灵活性和适应性 一致性和完整性一致性和完整性
6、 可靠性可靠性 经济性经济性简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 在达到预定的目标、具备所需要的功能的在达到预定的目标、具备所需要的功能的前提下,系统应当尽量简单。这样可减少处理前提下,系统应当尽量简单。这样可减少处理费用,提高系统效益,同时也便于管理。费用,提高系统效益,同时也便于管理。简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 现代化企业的特点之一,就是其对外界环现代化企业的特点之一,就是其对外界环境的变化有很强的适应能力。作为企业的管理境的变化有很强的适应能力。作为企业的管理信息系统
7、也必须具有相当的灵活性,以便适应信息系统也必须具有相当的灵活性,以便适应外界环境的不断变化。外界环境的不断变化。例例1:将各类参数:将各类参数(如利率、贴现率、如利率、贴现率、)放到文件放到文件而不是固定在程序中,同时在系统中提供修改而不是固定在程序中,同时在系统中提供修改参数的工具。参数的工具。例例2:菜单项可增减甚至定制:菜单项可增减甚至定制例例3:某项功能放到:某项功能放到DLL中,需要变更时仅替中,需要变更时仅替换换DLL简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 一致性有利于子系统之间、多系统之间的联系一致性有利于子系统之间、多系统之
8、间的联系与合作。因此,系统中信息与合作。因此,系统中信息编码编码、采集、信息通信、采集、信息通信要具备要具备一致性一致性,设计规范应标准。由于系统是作为,设计规范应标准。由于系统是作为一个统一的整体而存在的,所以系统的一个统一的整体而存在的,所以系统的功能功能应当尽应当尽量量完整完整。例例1:学校的学工处、图书馆、医院、食堂等的信:学校的学工处、图书馆、医院、食堂等的信息管理系统,确定学生身份采用统一的息管理系统,确定学生身份采用统一的“学号学号”(教职工也采用统一编码的方式,保证各子系统间(教职工也采用统一编码的方式,保证各子系统间的联系)。的联系)。例例2:身份证编码采用国家规定统一规范、
9、土地分:身份证编码采用国家规定统一规范、土地分类采用国土资源局规定分类规范类采用国土资源局规定分类规范简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 只有可靠的系统,才能保证系统的质只有可靠的系统,才能保证系统的质量并得到用户的信任。因此,系统必须是稳量并得到用户的信任。因此,系统必须是稳定的可靠的,否则就没有使用价值。定的可靠的,否则就没有使用价值。例例1:程序运行结果可靠?:程序运行结果可靠?例例2:程序运行状态?数据量超过一定值:程序运行状态?数据量超过一定值死机、长时间等待死机、长时间等待例例3:突然断电,数据丢失?:突然断电,数据丢失?良
10、好的数据良好的数据备份机制备份机制例例4:密码、数据安全?:密码、数据安全?银行卡银行卡简单性简单性灵活性和适应性灵活性和适应性一致性和完整性一致性和完整性可靠性可靠性经济性经济性 系统应该给用户带来相应的经济效益。系统应该给用户带来相应的经济效益。系统的投资和经营费用应当得到补偿。需要系统的投资和经营费用应当得到补偿。需要指出的是,这种补偿有时是间接的或不能定指出的是,这种补偿有时是间接的或不能定量计算的。特别是对于管理信息系统,它的量计算的。特别是对于管理信息系统,它的效益当中,有很大一部分效益不能以货币来效益当中,有很大一部分效益不能以货币来商量。商量。二、系二、系统设计的任的任务和步和
11、步骤 系统设计的任务,是将分析阶段所获得的系统说明书,转换系统设计的任务,是将分析阶段所获得的系统说明书,转换成一个具体的计算机实现方案。成一个具体的计算机实现方案。系统设计由总体设计和详细设计两部分组成。系统设计由总体设计和详细设计两部分组成。总体设计总体设计也称初步设计或结构设计。在总体设计过程中要确也称初步设计或结构设计。在总体设计过程中要确定系统模块结构,并画出模块结构图。定系统模块结构,并画出模块结构图。详细设计详细设计是在总体设计基础上,确定每个模块内部的详细执是在总体设计基础上,确定每个模块内部的详细执行过程,包括局部数据组织、控制流、每一步的具体加工要求等。行过程,包括局部数据
12、组织、控制流、每一步的具体加工要求等。1总体设计总体设计 也称初步设计或结构设计。在总体设计过程中要确定系统模也称初步设计或结构设计。在总体设计过程中要确定系统模块结构,并画出模块结构图。块结构,并画出模块结构图。在总体设计阶段必须考虑以下几个问题:在总体设计阶段必须考虑以下几个问题:如何将一个系统或子系统划分成多个模块;如何将一个系统或子系统划分成多个模块;如何确定模块间传送的数据及其调用关系;如何确定模块间传送的数据及其调用关系;如何评价并改进模块结构的质量。如何评价并改进模块结构的质量。设计方法:结构化设计设计方法:结构化设计2详细设计详细设计 在总体设计基础上,详细设计是要确定每个模块
13、内部的详细执在总体设计基础上,详细设计是要确定每个模块内部的详细执行过程,包括局部数据组织、控制流、每一步的具体加工要求等。行过程,包括局部数据组织、控制流、每一步的具体加工要求等。方法:方法:详细设计的关键是用一种合适的方式来描述每个模块的详细设计的关键是用一种合适的方式来描述每个模块的执行过程,常用的有流程图、问题分析图、执行过程,常用的有流程图、问题分析图、IPO图和过程设计语言。图和过程设计语言。3 系系统设计阶统设计阶段的段的结结果果v系系统设计阶段的段的结果是系果是系统设计说明明书,它,它主要由主要由模模块结构构图和模和模块说明明书两部分两部分组成。成。模模块结构构图说明系明系统由
14、哪些模由哪些模块组成和各模成和各模块间的的联系情况,模系情况,模块说明明书则详细描述了描述了每一模每一模块的的输入入输出数据、功能、算法出数据、功能、算法等。等。三、三、计算机算机设备的的选择模块结构图设计完毕以后,模块结构图设计完毕以后,总体设计总体设计的另一个任务就是的另一个任务就是选择适合于该系统的计算机设备,确定具体的配置方案。选择适合于该系统的计算机设备,确定具体的配置方案。一个管理信息系统的计算机设备的选择,主要应该根据一个管理信息系统的计算机设备的选择,主要应该根据用户环境的特点、性能的要求、投资的情况用户环境的特点、性能的要求、投资的情况等因素来确等因素来确定。既要考虑到当前系
15、统的信息量和对各种数据的处理定。既要考虑到当前系统的信息量和对各种数据的处理功能,又要考虑到系统将来可能发展和扩展的功能。功能,又要考虑到系统将来可能发展和扩展的功能。具体说来,系统设备的配置应从以下方面来考虑:具体说来,系统设备的配置应从以下方面来考虑:(1)客观条件的约束)客观条件的约束:包括投资、原有机房条件、位置、开发包括投资、原有机房条件、位置、开发技术力量、系统运行和维护的技术力量。技术力量、系统运行和维护的技术力量。(2)处理方式)处理方式:采取的是批处理还是实时处理方式。采取的是批处理还是实时处理方式。(3)终端需求数)终端需求数:由联机数据输入量、屏幕显示量和地理位置由联机数
16、据输入量、屏幕显示量和地理位置的需要,确定终端需求数。的需要,确定终端需求数。(4)联机存贮量)联机存贮量:根据应用软件、系统软件的规模,管理信息根据应用软件、系统软件的规模,管理信息系统所存储的数据量和数据库文件的辅助开销来估算出联机系统所存储的数据量和数据库文件的辅助开销来估算出联机存贮量需求,一般还得在此基础上加上一定的扩充余量。存贮量需求,一般还得在此基础上加上一定的扩充余量。(5)打印机)打印机:根据系统输出量的要求和地理位置的情况决定打根据系统输出量的要求和地理位置的情况决定打印机的数量和型号。印机的数量和型号。(6)其他设备)其他设备:若需要远程通信,则要考虑调制解调器、通信若需
17、要远程通信,则要考虑调制解调器、通信控制器等设备。此外还有空调器、稳压电源或不间断电源等机控制器等设备。此外还有空调器、稳压电源或不间断电源等机房设备也需作相应考虑。房设备也需作相应考虑。(7)软件)软件:在确定硬件的同时就必须对相应的软件进行计划,在确定硬件的同时就必须对相应的软件进行计划,包括操作系统、高级语言和数据库系统等。包括操作系统、高级语言和数据库系统等。例例1:某系统:某系统例例2例例4:选择:选择GIS平台软件平台软件硬件:硬件:服务器服务器+客户端客户端 输入:扫描仪、数字化仪输入:扫描仪、数字化仪 输出:打印机、绘图仪输出:打印机、绘图仪 存储:刻录机、磁带机、磁盘阵列存储
18、:刻录机、磁带机、磁盘阵列 网络:服务器网络:服务器+其他网络设备其他网络设备 其他其他 软件:软件:操作系统操作系统 数据库系统数据库系统 GIS平台或开发包平台或开发包 开发语言开发语言 第二第二节 结构化构化设计方法方法结构化设计结构化设计Structured Design,简称,简称SD是使用最广的一种设计方法,由美国是使用最广的一种设计方法,由美国IBM公司的公司的W.STEVENS,G.MYERS和和L.CONSTANTINE等人提等人提出。出。该方法该方法适合于软件系统的总体设计适合于软件系统的总体设计,通常与结构化分,通常与结构化分析析(SA)方法衔接起来使用。方法衔接起来使用
19、。特点:特点:(1)相对独立、功能单一的模块结构)相对独立、功能单一的模块结构。结构化设计的。结构化设计的基本思想是将系统设计成由相对独立、单一功能的模基本思想是将系统设计成由相对独立、单一功能的模块组成的结构。块组成的结构。由于模块之间相对独立,每一模块就可以单独地由于模块之间相对独立,每一模块就可以单独地被理解、编写、测试、排错和修改。从而有效地防止被理解、编写、测试、排错和修改。从而有效地防止错误在模块之间扩散蔓延,提高了系统的质量错误在模块之间扩散蔓延,提高了系统的质量(可维护可维护性、可靠性等性、可靠性等),同时,系统研制工作也大大简化。,同时,系统研制工作也大大简化。特点:特点:(
20、2)块内联系大、块间联系小)块内联系大、块间联系小。模块内部联系要大,。模块内部联系要大,模块之间联系要小,这是结构化设计中衡量模块之间联系要小,这是结构化设计中衡量相对独立相对独立性能的标准。事实上,块内联系和块间联系是同一件性能的标准。事实上,块内联系和块间联系是同一件事的两个方面,系统中各组成成分之间是有联系的,事的两个方面,系统中各组成成分之间是有联系的,若把联系密切的成分组织在同一模块中,块内联系高若把联系密切的成分组织在同一模块中,块内联系高了,则块间联系也少了。反之,若把密切相关的一些了,则块间联系也少了。反之,若把密切相关的一些成分分散在各个模块中,势必造成很高的块间联系。成分
21、分散在各个模块中,势必造成很高的块间联系。特点:特点:(3)采用模块结构图的描述方式。)采用模块结构图的描述方式。结构化设结构化设计方法使用的描述方式是模块结构图。模块结计方法使用的描述方式是模块结构图。模块结构图不仅描述了系统的分层模块结构,清楚地构图不仅描述了系统的分层模块结构,清楚地表示了每个模块的功能,而且直观地反映了块表示了每个模块的功能,而且直观地反映了块内联系和块间联系等特性。内联系和块间联系等特性。步骤:步骤:第一步,建立一个满足系统说明书的初始结构图。第一步,建立一个满足系统说明书的初始结构图。第二步,对结构图作逐步改进。即在图中找出块间联第二步,对结构图作逐步改进。即在图中
22、找出块间联系和块内联系尚可改进之处,然后对有关部分做适当系和块内联系尚可改进之处,然后对有关部分做适当修改和调整。修改和调整。一、模块结构图一、模块结构图二、模块结构的质量标准二、模块结构的质量标准三、模块结构的标准形式三、模块结构的标准形式四、从数据流图导出初始结构图四、从数据流图导出初始结构图五、模块结构图的改进五、模块结构图的改进一、模一、模块结构构图 是结构化设计中描述系统结构的图形工具,是结构化设计中描述系统结构的图形工具,由模块、调用、数据、由模块、调用、数据、控制和转接等五种基本符号组成控制和转接等五种基本符号组成。作为一种文档,它必须严格地定义作为一种文档,它必须严格地定义模块
23、名称、功能和接口,同时还应当在图上反映出设计思想。模块名称、功能和接口,同时还应当在图上反映出设计思想。1.模模块通常指用一个名字代表的可以被调用的一段程序代码通常指用一个名字代表的可以被调用的一段程序代码(程序块)。(程序块)。例:(例:(1)函数调用)函数调用 (2)过程调用)过程调用 一个模块一般要具备以下要素:一个模块一般要具备以下要素:(1)输入和输出。)输入和输出。模块的输入来源和输出去向都是同一个模块的输入来源和输出去向都是同一个调用者,即一个模块从调用者那儿取得输入,进行加工后再调用者,即一个模块从调用者那儿取得输入,进行加工后再把输出返回调用者。把输出返回调用者。(2)功能。
24、)功能。指模块把输入转换成输出所做的工作。指模块把输入转换成输出所做的工作。(3)内部数据。)内部数据。指仅供该模块本身引用的数据。指仅供该模块本身引用的数据。(4)程序代码。)程序代码。指用来实现模块功能的程序。指用来实现模块功能的程序。前两个要素是模块的外部特性,即反映了模块的外貌。前两个要素是模块的外部特性,即反映了模块的外貌。后两个要素是模块的内部特性。在结构化设计中。首先关心后两个要素是模块的内部特性。在结构化设计中。首先关心的是外部特性,其内部特性只做必要了解。的是外部特性,其内部特性只做必要了解。外部数据外部数据外表功能外表功能内部数据内部数据内部功能内部功能2.调用用 在模块结
25、构图中,用连接两个模在模块结构图中,用连接两个模块的箭头表示调用,箭头由调用模块指块的箭头表示调用,箭头由调用模块指向被调用模块。含义应理解为被调用模向被调用模块。含义应理解为被调用模块执行后又返回到调用模块。块执行后又返回到调用模块。如果一个模块是否调如果一个模块是否调用一个从属模块,决定于用一个从属模块,决定于调用模块内部的判断条件,调用模块内部的判断条件,则该调用称为模块间的则该调用称为模块间的判判断调用断调用,采用菱形符号表,采用菱形符号表示。示。如果一个模块通过其内部的循环功能来循环调用如果一个模块通过其内部的循环功能来循环调用一个或多个从属模块,则该调用称为一个或多个从属模块,则该
26、调用称为循环调用循环调用,用弧形,用弧形箭头表示。箭头表示。3.数据数据 当一个模块调用另一个模块时,当一个模块调用另一个模块时,调用模块可以把数据传送到被调用模调用模块可以把数据传送到被调用模块处供处理,而被调用模块又可以将块处供处理,而被调用模块又可以将处理的结果数据送回到调用模块。处理的结果数据送回到调用模块。模块间传送的数据,用与调用箭模块间传送的数据,用与调用箭头平行的带空心圆的箭头表示,并在头平行的带空心圆的箭头表示,并在旁边标上数据名。旁边标上数据名。4.控制信息控制信息 为了指导程序下一步的执行,模块间有时还必须传为了指导程序下一步的执行,模块间有时还必须传送某些控制信息送某些
27、控制信息,控制信息与数据的主要区别是前者只反,控制信息与数据的主要区别是前者只反映数据的某种状态,不必进行处理。图中用带实心圆点的映数据的某种状态,不必进行处理。图中用带实心圆点的箭头表示控制信息。箭头表示控制信息。例,数据输入中的结束标志,例,数据输入中的结束标志,文件结束标志。文件结束标志。5.转接符号接符号 当模块结构图当模块结构图在一张图面上画不下在一张图面上画不下,需要转接到另,需要转接到另外一张纸上,或为了外一张纸上,或为了避免图上线条交叉时避免图上线条交叉时,都可使用转接,都可使用转接符号。符号。“计算工资程序计算工资程序”的模块结构图示例,的模块结构图示例,4个模块个模块“模块
28、结构图模块结构图”与与“框图框图”的关系的关系 一个软件系统具有过程性一个软件系统具有过程性(处理动作的顺序处理动作的顺序)和层次性和层次性(系统的各组成部分的管辖范围系统的各组成部分的管辖范围)特征。特征。模块结构图描述的模块结构图描述的是系统的层次性,而通常的是系统的层次性,而通常的“框图框图”则描述的是系统的过则描述的是系统的过程性。程性。“模块结构图模块结构图”与与“数据流图数据流图”的关系的关系 数据流图是从数据在系统中的流动情况来考虑系统数据流图是从数据在系统中的流动情况来考虑系统的,而模块结构图则从功能的层次关系上来考察系统。的,而模块结构图则从功能的层次关系上来考察系统。前者从
29、数据流着眼,后者从控制层次着眼。模块结构图前者从数据流着眼,后者从控制层次着眼。模块结构图是由一个总的抽象的系统功能出发,逐步加入具体的实是由一个总的抽象的系统功能出发,逐步加入具体的实现方法,最后获得一个物理模型。现方法,最后获得一个物理模型。二、模二、模块结构的构的质量量标准准 在结构化设计中,采用自顶向下,逐步细化的方法在结构化设计中,采用自顶向下,逐步细化的方法将系统分解成为一些相对独立、功能单一的模块。评价模将系统分解成为一些相对独立、功能单一的模块。评价模块质量的标准是块质量的标准是“耦合小,内聚大耦合小,内聚大”。耦合是表示模块之间联系的程度耦合是表示模块之间联系的程度。紧密耦合
30、表示。紧密耦合表示模块之间联系非常强,松散耦合表示联系比较弱,非模块之间联系非常强,松散耦合表示联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。耦耦合则表示模块之间无任何联系,是完全独立的。耦合小就是模块间尽可能相对独立,从而各模块可以单合小就是模块间尽可能相对独立,从而各模块可以单独开发和维护。独开发和维护。内聚是表示模块内部各成分之间的联系程度内聚是表示模块内部各成分之间的联系程度。内。内聚大就使得模块的可理解性和维护性大大增强。聚大就使得模块的可理解性和维护性大大增强。1.模模块的耦合方式的耦合方式 数据耦合数据耦合 控制耦合控制耦合 非法耦合非法耦合(1)数据耦合)数据耦合
31、如果两个模块之间的通信信息是若干如果两个模块之间的通信信息是若干数据项,则这种耦合方式称为数据耦合。数据项,则这种耦合方式称为数据耦合。这种耦合对系统的影响比较小,是一种较这种耦合对系统的影响比较小,是一种较好的耦合方式,但为了减少接口的复杂性,好的耦合方式,但为了减少接口的复杂性,应尽量防止传输不必要的数据。应尽量防止传输不必要的数据。例:例:FLOAT Calculate_SUM(FLOAT A,FLOAT B);(2)控制耦合)控制耦合 如果两个模块之间传输的信息是控制信如果两个模块之间传输的信息是控制信息,则该耦合称为控制耦合。息,则该耦合称为控制耦合。传送的控制信息可分为:判定参数(
32、调用模块通过该传送的控制信息可分为:判定参数(调用模块通过该判定参数控制被调用模块的工作方式);地址参数判定参数控制被调用模块的工作方式);地址参数(调用模块直接转向被调用模块内部的某一地址)(调用模块直接转向被调用模块内部的某一地址)例:例:CALCULATE_SUM(A,B,MODE);MODE=1,2,N表示表示N种计算模式,如要求返回整数、种计算模式,如要求返回整数、2位小数、位小数、%形式数值等。注意,此时如果主模块中的形式数值等。注意,此时如果主模块中的MODE含义变化,则需对应修改被调用的模块。含义变化,则需对应修改被调用的模块。(3)非法耦合)非法耦合 主要是指两个模块之间,不
33、经过调主要是指两个模块之间,不经过调用关系,彼此直接使用或修改对方的数用关系,彼此直接使用或修改对方的数据。据。这是最差的耦合方式,在结构化设计时不允许出这是最差的耦合方式,在结构化设计时不允许出现这种情况。从程序设计角度看,应做到各模块现这种情况。从程序设计角度看,应做到各模块只使用自身的局部变量,尽量不使用全局变量,只使用自身的局部变量,尽量不使用全局变量,模块之间必不可少的数据联系都必须以参数形式模块之间必不可少的数据联系都必须以参数形式明确指定。明确指定。2.模模块的内聚方式的内聚方式 巧合内聚巧合内聚 逻辑内聚逻辑内聚 过程内聚过程内聚 通信内聚通信内聚 顺序内聚顺序内聚 功能内聚功
34、能内聚(1)巧合内聚:)巧合内聚:模块各成分之间毫无联系,不易模块各成分之间毫无联系,不易修改或维护;修改或维护;(2)逻辑内聚:)逻辑内聚:模块各成分的逻辑功能是相似的。模块各成分的逻辑功能是相似的。如系统中与如系统中与“输出输出”有关的操作抽取出来组成一个有关的操作抽取出来组成一个模块,包括将数据在屏幕、打印机上输出及拷贝到模块,包括将数据在屏幕、打印机上输出及拷贝到磁盘上,则该模块就是逻辑内聚的;磁盘上,则该模块就是逻辑内聚的;(3)过程内聚)过程内聚:是由一段公共的处理过程组合成的:是由一段公共的处理过程组合成的模块。如一个框图中的所有循环部分、判定部分和计模块。如一个框图中的所有循环
35、部分、判定部分和计算部分划分成三个模块,则它们都是过程内聚的;算部分划分成三个模块,则它们都是过程内聚的;(4)通信内聚)通信内聚:指模块中各成分引用或产生共同的:指模块中各成分引用或产生共同的数据。例报表打印模块,各成分都从若干共同的数据数据。例报表打印模块,各成分都从若干共同的数据来源接收数据,然后转换、汇总并打印出各种报表;来源接收数据,然后转换、汇总并打印出各种报表;(5)顺序内聚)顺序内聚:指模块中各成分有顺序关系,某一成:指模块中各成分有顺序关系,某一成分的输出是另一成分的输入;分的输出是另一成分的输入;(6)功能内聚)功能内聚:表示模块中各成分的联系是功能性的,:表示模块中各成分
36、的联系是功能性的,即一个模块执行一个功能,且完成该功能所必须的全即一个模块执行一个功能,且完成该功能所必须的全部成分都包含在模块中。这类模块的功能明确、模块部成分都包含在模块中。这类模块的功能明确、模块间的耦合简单,便于维护,系统设计时应力求按功能间的耦合简单,便于维护,系统设计时应力求按功能划分模块。划分模块。三、模三、模块结构的构的标准形式准形式1.变换型结构变换型结构2.事务型结构事务型结构1.变换型型变换型系统由输入、数据加工(中心变换)和输出变换型系统由输入、数据加工(中心变换)和输出组成,它的功能是组成,它的功能是将输入的数据经过加工后输出将输入的数据经过加工后输出。从主模块沿着模
37、块结构逐层达到底层的输入模块,当底层模块输从主模块沿着模块结构逐层达到底层的输入模块,当底层模块输入数据入数据A后,后,A由下至上逐层传送,逐步由物理输入变成逻辑输入由下至上逐层传送,逐步由物理输入变成逻辑输入C,接着在主控模块控制下,接着在主控模块控制下,C经中心变换模块转换成逻辑输出经中心变换模块转换成逻辑输出D,D再由上至下逐层传送,逐步把逻辑输出变成物理输出再由上至下逐层传送,逐步把逻辑输出变成物理输出E。注:上面结构图的功能简单理解为注:上面结构图的功能简单理解为“输入输入A处理处理输出输出E”注:上面结构图的功能简单理解为注:上面结构图的功能简单理解为“输入输入X1,Y1处理处理输
38、出输出Z2,S3”2.事事务型型事务型系统由三层组成:事务型系统由三层组成:事务层事务层 操作层操作层 细节层细节层它的功能是它的功能是对所接收的事务按其类型进行处理对所接收的事务按其类型进行处理。工作时,主模块将按事务的类型选择调用某一事务处理模块,事工作时,主模块将按事务的类型选择调用某一事务处理模块,事务处理模块又调用若干个操作模块,每个操作模块又调用若干个务处理模块又调用若干个操作模块,每个操作模块又调用若干个细节模块。在实际系统中,由于不同的事务可能有共同的操作,细节模块。在实际系统中,由于不同的事务可能有共同的操作,而不同操作又可能有共同的细节,因此事务型系统的操作摸决和而不同操作
39、又可能有共同的细节,因此事务型系统的操作摸决和细节模块可能有一定程度的共享。细节模块可能有一定程度的共享。四、从数据流四、从数据流图导出初始出初始结构构图数据流图(运用数据流图(运用“数据流数据流”、“文件文件”和和“加工加工”等概等概念描述信息处理系统的各个处理环节及处理环节之间信念描述信息处理系统的各个处理环节及处理环节之间信息的传递关系,系统分析阶段使用)息的传递关系,系统分析阶段使用)初始模块结构图(初始模块结构图(系统设计阶段系统设计阶段)方法方法:根据数据流图的结构(与模块结构类似,同样有变根据数据流图的结构(与模块结构类似,同样有变换型、事务型两种典型结构)而定。换型、事务型两种
40、典型结构)而定。变换型结构的数据流图变换型结构的数据流图呈一种线性状态,它所描述的工作呈一种线性状态,它所描述的工作可表示为:输入、主处理、输出。可表示为:输入、主处理、输出。事务型结构的数据流图事务型结构的数据流图则呈束状形,即一束数据流平行流则呈束状形,即一束数据流平行流入或流出,可能同时有几个事务要求处理。入或流出,可能同时有几个事务要求处理。数据流图数据流图初始模块结构图初始模块结构图 方法方法两种典型的结构分别通过两种典型的结构分别通过“变换分析变换分析”和和“事务分析事务分析”技术,导出技术,导出“变换型变换型”和和“事务型事务型”初始的模块结构图。初始的模块结构图。这两种方法都是
41、首先设计顶层模块,然后自顶向下,逐这两种方法都是首先设计顶层模块,然后自顶向下,逐步细化,最后得到一个满足数据流图所表示的用户要求步细化,最后得到一个满足数据流图所表示的用户要求的系统模块结构图。的系统模块结构图。1.变换分析分析步骤:步骤:找出系统的主加工;找出系统的主加工;设计顶层模块和第一层模块设计顶层模块和第一层模块;设计中、下层模块设计中、下层模块找出系统的主加工:找出系统的主加工:通常在数据流图中多股数据流的汇合处。若没有明显的汇合处,则通常在数据流图中多股数据流的汇合处。若没有明显的汇合处,则可先确定哪些数据流是逻辑输入和逻辑输出,从而获得主加工可先确定哪些数据流是逻辑输入和逻辑
42、输出,从而获得主加工(从物理输入端一步步向系统中间移动,直至到达这样一个数据流,它再不能被(从物理输入端一步步向系统中间移动,直至到达这样一个数据流,它再不能被作为系统的输入,则其前一个数据流就是系统的逻辑输入。类似地,从物理输出作为系统的输入,则其前一个数据流就是系统的逻辑输入。类似地,从物理输出端一步步向系统中间移动,则离物理输出端最远的,但仍可视为系统输出的那个端一步步向系统中间移动,则离物理输出端最远的,但仍可视为系统输出的那个数据流就是逻辑输出。逻辑输入和逻辑输出之间的加工就是主加工)数据流就是逻辑输出。逻辑输入和逻辑输出之间的加工就是主加工)设计顶层模块和第一层模块:设计顶层模块和
43、第一层模块:首先在与主加工对应的位置上画出主模块,按输入、变换、输出等首先在与主加工对应的位置上画出主模块,按输入、变换、输出等分支来处理结构图的第一层,同时注意主模块与第一层模块之间传分支来处理结构图的第一层,同时注意主模块与第一层模块之间传送的数据应与数据流图相对应:送的数据应与数据流图相对应:为每一个逻辑输入画一个输入模块,其功能是向主模块提供数据;为每一个逻辑输入画一个输入模块,其功能是向主模块提供数据;为每一个逻辑输出画一个输出模块,其功能是把主模块提供的数据输出;为每一个逻辑输出画一个输出模块,其功能是把主模块提供的数据输出;为主处理画一个变换模块,其功能是把逻辑输入变换成逻辑输出
44、。为主处理画一个变换模块,其功能是把逻辑输入变换成逻辑输出。设计中、下层模块:设计中、下层模块:为每个输入模块设计为每个输入模块设计两个两个下层模块,其中一个是下层模块,其中一个是输入输入模块,模块,另一个是另一个是变换变换模块模块(注,输出实际上传递到了上层)(注,输出实际上传递到了上层)。同理,也为每个输出模块设计两个下层模块,一个是变换同理,也为每个输出模块设计两个下层模块,一个是变换模块,另一个是输出模块模块,另一个是输出模块(输入由上层传入)(输入由上层传入)。该过程由顶向。该过程由顶向下递归进行,直到系统的物理输入端或物理输出端为止。下递归进行,直到系统的物理输入端或物理输出端为止
45、。2.事事务分析分析当数据流图呈当数据流图呈“束状束状”时,采用事务分析方法:时,采用事务分析方法:(1)确定事务中心)确定事务中心。(2)按功能划分事务)按功能划分事务,将具备相同功能的事务,分为同一,将具备相同功能的事务,分为同一类,建立事务模块。类,建立事务模块。(3)为每个事务处理模块建立全部的操作层模块)为每个事务处理模块建立全部的操作层模块。(4)若有必要,则为操作层模块定义相应的)若有必要,则为操作层模块定义相应的细节模块细节模块,并,并尽可能使细节模块被多个操作模块共享。尽可能使细节模块被多个操作模块共享。确定事务中心确定事务中心按功能划分事务,建立事务模块按功能划分事务,建立
46、事务模块建立操作层模块建立操作层模块五、模五、模块结构构图的改的改进在系统分析阶段,加工说明中所反映的用户要求在系统分析阶段,加工说明中所反映的用户要求(例如,出错例如,出错处理,过程信息以及种种限制等处理,过程信息以及种种限制等)不能完全在数据流图反映。不能完全在数据流图反映。然而,在系统设计阶段的系统模块结构图中,然而,在系统设计阶段的系统模块结构图中,必须体现出用必须体现出用户的所有要求户的所有要求。因此,由数据流图导出的初始模块结构图必须进行因此,由数据流图导出的初始模块结构图必须进行补充和修补充和修改改,才能达到上述要求。,才能达到上述要求。对初始模块结构图进行补充和修改,应注意以下
47、问题对初始模块结构图进行补充和修改,应注意以下问题:1模块的扇入和扇出数模块的扇入和扇出数 2模块的大小模块的大小 3除重复的功能除重复的功能1模模块的扇入和扇出数的扇入和扇出数扇入数:扇入数:指模块的直接上层模块的个数。指模块的直接上层模块的个数。扇出数:扇出数:指一个模块拥有的直接下层模块的个数。指一个模块拥有的直接下层模块的个数。如果一个规模很小的底层模块的扇入数为如果一个规模很小的底层模块的扇入数为1,则可以把它合,则可以把它合并到它的上层模块中去;并到它的上层模块中去;若它的扇入数较大,就不能向上合并,否则将导致对该模若它的扇入数较大,就不能向上合并,否则将导致对该模块做多次编码和排
48、错。块做多次编码和排错。如果一个模块具有多功能,应考虑做进一步分解。如果一个模块具有多功能,应考虑做进一步分解。反之,对某个扇出数过低的模块,也应进行检查(是否可反之,对某个扇出数过低的模块,也应进行检查(是否可以并入下层)以并入下层)。2模模块的大小的大小为了提高可读性和方便修改,一个基本模块的程序量以能为了提高可读性和方便修改,一个基本模块的程序量以能印在一张打印纸上印在一张打印纸上(或者能够在一屏上显示或者能够在一屏上显示)为宜。为宜。此外,模块的功能也是决定模块大小的一个重要出发点。此外,模块的功能也是决定模块大小的一个重要出发点。有时即使语句数量远超出上述范围,也不应生硬地将它们有时
49、即使语句数量远超出上述范围,也不应生硬地将它们分成几个小模块分成几个小模块,例如,对一个复杂数学公式的计算模块,例如,对一个复杂数学公式的计算模块。3除重复的功能除重复的功能设计过程中若发现几个模块的功能是相似的,则应设法消去其设计过程中若发现几个模块的功能是相似的,则应设法消去其中的重复功能中的重复功能。因为同一功能的程序段多次出现,不仅浪费了。因为同一功能的程序段多次出现,不仅浪费了编码时间,而且会给调试和维护带来困难。编码时间,而且会给调试和维护带来困难。例如,假设图例如,假设图(a)中模块中模块Q1和和Q2具有类似的功能但又不完全相具有类似的功能但又不完全相同。首先对同。首先对Q1和和
50、Q2进行分析,找出重复部分,如果这部分可以进行分析,找出重复部分,如果这部分可以构成一个内聚较强的单独模块,我们就将其分离出来构成一个构成一个内聚较强的单独模块,我们就将其分离出来构成一个公共的下层模块公共的下层模块(图图(b)进一步,如果分离后剩下的部分进一步,如果分离后剩下的部分Q1,Q2所含语句很少,且功所含语句很少,且功能也很简单,则可合并到它们各自的调用模块中去能也很简单,则可合并到它们各自的调用模块中去(图图(c)(d)第三第三节 详细设计的工具的工具详细设计的任务,就是详细设计的任务,就是在总体设计所建立的系统模块结构的基在总体设计所建立的系统模块结构的基础上,给出模块的实现方法