《第7章管理信息系统的系统设计课件.ppt》由会员分享,可在线阅读,更多相关《第7章管理信息系统的系统设计课件.ppt(95页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、6-1n教学内容和要求:教学内容和要求:详细了解结构化系统开发方法的系统设计阶段的工作内容,包括代码设计与代码的校验、信息系统流程图设计、系统物理配置方案设计、输出设计、输入设计、数据存储设计、处理流程图设计等,并了解程序说明书和系统设计报告的编写。n教学重点和难点:教学重点和难点:要求学生了解系统设计的主要任务,能够在新系统的逻辑方案的指导下进行系统的设计工作,内容包括代码设计、功能结构图设计、信息系统流程图设计、系统物理配置方案设计、输出设计、输入设计、数据存储设计、处理流程图设计等,并能制订设计规范、编写程序说明书和系统设计报告。6-2第七章第七章 管理信息系统的系统设计管理信息系统的系
2、统设计第一节第一节 系统设计概述系统设计概述第二节系统概要设计第二节系统概要设计第三节系统详细设计第三节系统详细设计6-3第一节第一节 系统设计概述系统设计概述 系系统统设设计计是是管管理理信信息息系系统统开开发发的的第第三三个个阶阶段段,系系统统设设计计的的任任务务主主要要是是解解决决“怎怎么么做做”的的问问题题。其其目目标标是是进进一一步步实实现现系系统统分分析析阶阶段段推推出出的的系系统统模模型型,详详细细地地确确定定新新系系统统的的结构、应用软件的研制方法和内容。结构、应用软件的研制方法和内容。系统分析:解决系统分析:解决系统分析:解决系统分析:解决“做什么做什么做什么做什么”系统设计
3、:解决系统设计:解决系统设计:解决系统设计:解决“怎么做怎么做怎么做怎么做”问题结构问题结构问题结构问题结构(系统需求系统需求系统需求系统需求)系统结构系统结构系统结构系统结构 从系统分析说明书出发,形成系统的具体设计方案从系统分析说明书出发,形成系统的具体设计方案从系统分析说明书出发,形成系统的具体设计方案从系统分析说明书出发,形成系统的具体设计方案映射映射6-4数据数据数据数据字典字典字典字典数据数据数据数据流图流图流图流图E-RE-RE-RE-R图图图图加工小说明加工小说明流流程程程程描描述述述述处理描述处理描述处理描述处理描述数数数数据据据据对对对对描描描描 述述述述象象象象数数 据据
4、 设设 计计模块结构设计模块结构设计接口设计接口设计过程设计过程设计分析模型分析模型设计模型设计模型平平 台台 设设 计计S S数据设计数据设计数据设计数据设计:将分析时创建的数据模型变换成实现系统所需:将分析时创建的数据模型变换成实现系统所需:将分析时创建的数据模型变换成实现系统所需:将分析时创建的数据模型变换成实现系统所需的数据结构。的数据结构。的数据结构。的数据结构。S S平台设计平台设计平台设计平台设计:将性能要求变换成对系统软硬件环境的配置。:将性能要求变换成对系统软硬件环境的配置。:将性能要求变换成对系统软硬件环境的配置。:将性能要求变换成对系统软硬件环境的配置。S S模块结构设计
5、模块结构设计模块结构设计模块结构设计:定义系统模块元素之间的关系。:定义系统模块元素之间的关系。:定义系统模块元素之间的关系。:定义系统模块元素之间的关系。S S接口设计接口设计接口设计接口设计:描述了系统内部、系统和协作系统之间的以及:描述了系统内部、系统和协作系统之间的以及:描述了系统内部、系统和协作系统之间的以及:描述了系统内部、系统和协作系统之间的以及系统同人之间如何通信。系统同人之间如何通信。系统同人之间如何通信。系统同人之间如何通信。S S过程设计过程设计过程设计过程设计:将加工说明变换为对系统模块内部算法的具体:将加工说明变换为对系统模块内部算法的具体:将加工说明变换为对系统模块
6、内部算法的具体:将加工说明变换为对系统模块内部算法的具体描述。描述。描述。描述。6-5P系统系统设计设计主要内容主要内容;系统概要设计系统概要设计功能模块设计功能模块设计*系统平台设计系统平台设计;系统详细设计系统详细设计代码设计代码设计输入输出设计输入输出设计数据库或数据文件设计数据库或数据文件设计处理过程设计处理过程设计*;写出系统设计报告写出系统设计报告 6-6P系统设计的目标系统设计的目标q系统的工作质量系统的工作质量准确及时性准确及时性用户友好性用户友好性q系统的可变性系统的可变性可修改性可修改性易维护性易维护性q系统的经济性系统的经济性直接、间接经济效益直接、间接经济效益社会效益社
7、会效益q 系统工作效率系统工作效率处理能力处理能力处理速度处理速度响应时间响应时间q系统的可靠性系统的可靠性可抗性可抗性平均无故障时间平均无故障时间平均修复时间平均修复时间6-7q系统性系统性代码统一,设计规范标准,数据一次输入多次利用。代码统一,设计规范标准,数据一次输入多次利用。q灵活性灵活性开开放放性性和和结结构构可可变变性性,尽尽量量采采用用模模块块化化结结构构,提提高高模模块的独立性。块的独立性。q可靠性可靠性安全保密性、检错及纠错能力等。安全保密性、检错及纠错能力等。q经济性经济性硬硬件件投投资资应应以以满满足足需需要要为为前前提提,系系统统设设计计应应尽尽量量避避免免不必要的复杂
8、化,各模块应尽量简洁。不必要的复杂化,各模块应尽量简洁。P系统设计的原则系统设计的原则6-8第二节系统概要设计第二节系统概要设计 功能模块设计是根据系统分析所得到的系统逻辑模型(数据流功能模块设计是根据系统分析所得到的系统逻辑模型(数据流图和数据字典),借助一套标准化的图、表工具,导出系统的功能图和数据字典),借助一套标准化的图、表工具,导出系统的功能模块结构图。模块结构图。P功能模块设计功能模块设计qq 结构化设计(结构化设计(结构化设计(结构化设计(Structured DesignStructured Design,SDSD)方法方法方法方法 SDSDSDSD方法方法方法方法是由美国是由
9、美国IBMIBM公司提出的,适用于任何软公司提出的,适用于任何软件系统的软件结构设计。件系统的软件结构设计。SDSD方法通常与系统分析阶段方法通常与系统分析阶段的的SASA方法衔接起来使用,借助方法衔接起来使用,借助SASA方法得到用数据流图方法得到用数据流图和数据词典描述的系统分析报告,和数据词典描述的系统分析报告,SDSD方法则以数据流方法则以数据流图为基础得到软件的模块结构。图为基础得到软件的模块结构。6-9 SD方方法法是是以以数数据据流流图图为为基基础础的的,采采用用模模块块化化、自自顶顶向向下下逐逐步步求精的基本思想,以数据流图为基础构造出模块结构图。求精的基本思想,以数据流图为基
10、础构造出模块结构图。qq SD SD方法的基本思想方法的基本思想方法的基本思想方法的基本思想在从数据流图导出初始模块结构图时采用一组基本的设计策略在从数据流图导出初始模块结构图时采用一组基本的设计策略变换分析与事务分析。变换分析与事务分析。在对初始模块结构图改进和优化方面有一组基本的设计原则在对初始模块结构图改进和优化方面有一组基本的设计原则耦合小、内聚大,和一组质量优化技术。耦合小、内聚大,和一组质量优化技术。qq SD SD方法采用图形表达工具方法采用图形表达工具方法采用图形表达工具方法采用图形表达工具模块结构图模块结构图模块结构图模块结构图6-10 模块结构图是描述系统结模块结构图是描述
11、系统结构的图形工具。构的图形工具。计算工资计算工资计算工资总额计算工资总额计算实发工资计算实发工资打印工资单打印工资单奖金奖金基本工资基本工资扣款数扣款数总额总额总额总额实发工资实发工资实发数实发数职工姓名职工姓名一、一、一、一、模块结构图模块结构图模块结构图模块结构图工资系统的模块结构图工资系统的模块结构图工资系统的模块结构图工资系统的模块结构图模块模块调用调用数据数据控制信息控制信息基本符号基本符号6-11;模块模块模块模块 通常指用一个名字就可以调用的一段程序语句。模块是可以通常指用一个名字就可以调用的一段程序语句。模块是可以组成、分解、更换的单元,是组成系统、易于处理的基本单位。组成、
12、分解、更换的单元,是组成系统、易于处理的基本单位。一个模块应具备以下四要素:一个模块应具备以下四要素:输入和输出;输入和输出;输入和输出;输入和输出;功能;功能;功能;功能;内部数据;内部数据;内部数据;内部数据;程序代码。程序代码。程序代码。程序代码。模块的例子模块的例子:int max(int x,int y)int z;z=xy?x:y;return(z);模块名模块名内部内部数据数据程序程序代码代码输入输入输出输出6-12 在模块结构图中,用联接两个模块的箭在模块结构图中,用联接两个模块的箭在模块结构图中,用联接两个模块的箭在模块结构图中,用联接两个模块的箭头表示调用。箭头总是由调用模
13、块指向被调头表示调用。箭头总是由调用模块指向被调头表示调用。箭头总是由调用模块指向被调头表示调用。箭头总是由调用模块指向被调用模块,执行后又返回调用模块。用模块,执行后又返回调用模块。用模块,执行后又返回调用模块。用模块,执行后又返回调用模块。;调用调用调用调用 a.a.调用调用 b.b.判断调用判断调用ABCBA模块的调用规则模块的调用规则模块的调用规则模块的调用规则每个模块都有特定的任务,只有上级模每个模块都有特定的任务,只有上级模每个模块都有特定的任务,只有上级模每个模块都有特定的任务,只有上级模块才能调用下级模块块才能调用下级模块块才能调用下级模块块才能调用下级模块;模块的通信仅限于上
14、下级模块之间,任模块的通信仅限于上下级模块之间,任模块的通信仅限于上下级模块之间,任模块的通信仅限于上下级模块之间,任何模块不能与其他上下级模块或同级模何模块不能与其他上下级模块或同级模何模块不能与其他上下级模块或同级模何模块不能与其他上下级模块或同级模块进行直接通信联系块进行直接通信联系块进行直接通信联系块进行直接通信联系;某一模块要与其相邻的同组模块进行信某一模块要与其相邻的同组模块进行信某一模块要与其相邻的同组模块进行信某一模块要与其相邻的同组模块进行信息交换,必须通过各自的上级模块息交换,必须通过各自的上级模块息交换,必须通过各自的上级模块息交换,必须通过各自的上级模块;模块调用的次序
15、是从上而下,自左向右。模块调用的次序是从上而下,自左向右。模块调用的次序是从上而下,自左向右。模块调用的次序是从上而下,自左向右。BCDA c.c.循环调用循环调用6-13模块调用的例子模块调用的例子:int max(int x,int y)int z;z=xy?x:y;return(z);void main():c=max(3,4);:mainmaxZxy选择调用的例子选择调用的例子:A():if (条件条件.)B();else C();:ABC循环调用的例子循环调用的例子:A():while (条件条件.)B();:AB6-14BAX,YZ简历数据简历数据读人事文件读人事文件查职工简历查职
16、工简历职职工工号号无此职工无此职工;数据数据数据数据 一个模块调用另一个模块时,调用模块一个模块调用另一个模块时,调用模块可以把数据传送到被调用模块供处理,被调可以把数据传送到被调用模块供处理,被调用模块又可以将处理结果送回到调用模块。用模块又可以将处理结果送回到调用模块。;控制信息控制信息控制信息控制信息 模块间传递某些控制信息模块间传递某些控制信息用以指导程序下一步的执行。用以指导程序下一步的执行。6-15;四种模块四种模块四种模块四种模块传入模块传入模块(a)(b)AA传出模块传出模块BB变换模块变换模块(c)CD协调模块协调模块E(d)EFF6-16二、二、二、二、数据流图导出系统结构
17、图数据流图导出系统结构图数据流图导出系统结构图数据流图导出系统结构图 从数据流程图导出系统的初始结构图,首先要区分数据流程图的结从数据流程图导出系统的初始结构图,首先要区分数据流程图的结构类型,然后根据不同的类型采用不同的方法把数据流图映象成相应构类型,然后根据不同的类型采用不同的方法把数据流图映象成相应的模块结构。的模块结构。变换型变换型DFDDFD事务型事务型DFDDFD系统结构图系统结构图变换分析变换分析事务分析事务分析系统结构图系统结构图一个数据流程图可以明显地分成输入、处理和输出三部一个数据流程图可以明显地分成输入、处理和输出三部一个数据流程图可以明显地分成输入、处理和输出三部一个数
18、据流程图可以明显地分成输入、处理和输出三部分。分。分。分。事务型数据流程图一般呈束状形,具有根据请求选择执行事务型数据流程图一般呈束状形,具有根据请求选择执行事务型数据流程图一般呈束状形,具有根据请求选择执行事务型数据流程图一般呈束状形,具有根据请求选择执行某类事务的能力某类事务的能力某类事务的能力某类事务的能力6-17;变换分析设计方法变换分析设计方法取得数据CD变换数据给出数据1、区分输入、主加工、输出部分,在、区分输入、主加工、输出部分,在DFD上标明分界线上标明分界线p确定逻辑输入确定逻辑输入离物理输入端最远的,但仍可被看作系统输入的那离物理输入端最远的,但仍可被看作系统输入的那个数据
19、流。个数据流。方法方法:从物理输入端开始,一步步向系统的中间移动,直至达到这样从物理输入端开始,一步步向系统的中间移动,直至达到这样一个数据流:它已不能再被看作为系统的输入,则其前一个数据流就一个数据流:它已不能再被看作为系统的输入,则其前一个数据流就是系统的逻辑输入。是系统的逻辑输入。p确定逻辑输出确定逻辑输出离物理输出端最远的,但仍可被看作系统输出的那离物理输出端最远的,但仍可被看作系统输出的那个数据流。个数据流。方法方法:从物理输出端开始,一步步向系统的中间反方向移动,直至从物理输出端开始,一步步向系统的中间反方向移动,直至达到这样一个数据流:它已不能再被看作为系统的输出,则其后一个达到
20、这样一个数据流:它已不能再被看作为系统的输出,则其后一个数据流就是系统的逻辑输出。数据流就是系统的逻辑输出。p确定主加工确定主加工位于逻辑输入和逻辑输出之间的加工,就是系统的主位于逻辑输入和逻辑输出之间的加工,就是系统的主加工。加工。6-182、设计、设计SC的顶层和第一层模块:的顶层和第一层模块:p设计一个顶层模块设计一个顶层模块(主模块主模块),它的功能是完成整个程序要做的工作。,它的功能是完成整个程序要做的工作。p设计结构的第一层:设计结构的第一层:为逻辑输入设计一个输入模块,它的功能是向主模块提供数据为逻辑输入设计一个输入模块,它的功能是向主模块提供数据为逻辑输出设计一个输出模块,它的
21、功能是输出主模块提供的数据为逻辑输出设计一个输出模块,它的功能是输出主模块提供的数据为主加工设计一个变换模块,它的功能是将逻辑输入变换成逻辑输出为主加工设计一个变换模块,它的功能是将逻辑输入变换成逻辑输出 第一层模块同顶层主模块之间传送的数据应与数据流图相对应。这第一层模块同顶层主模块之间传送的数据应与数据流图相对应。这里主模块控制并协调一层的输入、变换、输出模块的工作,注意识别里主模块控制并协调一层的输入、变换、输出模块的工作,注意识别出选择或循环调用以及调用条件。出选择或循环调用以及调用条件。6-193 第二级分解第二级分解(分解分解SC各分支各分支),自顶向下分解、设计出每个分支,自顶向
22、下分解、设计出每个分支(输输入、加工、输出入、加工、输出)的中、下层模块:的中、下层模块:p 为每一个输入模块设计两个下层模块,一个是输入模块,接受数据为每一个输入模块设计两个下层模块,一个是输入模块,接受数据来源;另一个是变换模块,模块调用时传送的参数应同数据流图相对来源;另一个是变换模块,模块调用时传送的参数应同数据流图相对应。应。p 输出模块也有两部分组成,一部分是变换模块,将数据变换成输出输出模块也有两部分组成,一部分是变换模块,将数据变换成输出的形式;另一部分是输出模块。的形式;另一部分是输出模块。上述设计过程由顶向下递归进行,直至达到系统的输入端或输出端上述设计过程由顶向下递归进行
23、,直至达到系统的输入端或输出端p 变换模块的下层模块,根据数据流图中相应加工的组成情况而定。变换模块的下层模块,根据数据流图中相应加工的组成情况而定。6-20变换变换分析举例分析举例-DFD-DFD1格式格式检查检查3产生产生收据收据2计算计算汇费汇费4记账记账汇款单汇款单合格的合格的汇款单汇款单处理后的处理后的汇款单汇款单收据收据明细账明细账中心变换中心变换输出输出输入输入业务业务数据数据6-21变换变换分析举例分析举例-转换后的转换后的SCSC汇款处理系统汇款处理系统取得合格取得合格汇款单汇款单计算汇费计算汇费记账记账输出处理后输出处理后的汇款单的汇款单 输入输入汇款单汇款单格式检查格式检
24、查产生收据产生收据打印收据打印收据合格的合格的汇款单汇款单处理后的处理后的汇款单汇款单合格的合格的汇款单汇款单业务数据业务数据处理后的处理后的汇款单汇款单汇款单汇款单合格的合格的汇款单汇款单汇款单汇款单处理后的处理后的汇款单汇款单收据收据收据收据业务数据业务数据6-22;事务分析设计方法事务分析设计方法I IA AL LMMN NOOB BC CD DE EF FGGH H事务中心事务中心事务源事务源p在在DFDDFD上确定事务中心。上确定事务中心。p为为DFDDFD上的事务中心设计主模块,再为每一种类型的事务处理设计一上的事务中心设计主模块,再为每一种类型的事务处理设计一个事务处理模块。个事
25、务处理模块。p为每个事务处理模块设计下面的操作模块,再为操作模块设计细节为每个事务处理模块设计下面的操作模块,再为操作模块设计细节模块。某些操作模块和细节模块可以被几个上一层模块共用。模块。某些操作模块和细节模块可以被几个上一层模块共用。主模块给出H取得ALMNA GHBECF D6-23要求类要求类型处型处理理图书管理图书管理要求要求无效输入无效输入1.11.1新书入库新书入库1.21.2还还入库单入库单罚款单罚款单1.51.5注销图书注销图书1.31.3还书还书1.41.4目录文件目录文件借书单借书单书书单单注销单注销单借书借书借书文件借书文件罚款单罚款单事务分析举例事务分析举例-DFD-
26、DFD事务事务中心中心6-24事务分析举例事务分析举例-转换后的转换后的SCSC图书处理系统图书处理系统取得图书取得图书处理要求处理要求修改目修改目录文件录文件操作层操作层细节层细节层新书入库新书入库注销图书注销图书借书借书还书还书 打印打印罚款单罚款单修改借修改借书文件书文件图书管图书管理要求理要求入库单入库单借书单借书单 还书单还书单注销单注销单6-251、低耦合、高内聚、低耦合、高内聚提高模块独立性提高模块独立性三、模块结构图的评价与改进三、模块结构图的评价与改进三、模块结构图的评价与改进三、模块结构图的评价与改进p耦合指的是两个模块之间的相互依赖关系,又称块间联系。耦合指的是两个模块之
27、间的相互依赖关系,又称块间联系。p模模块块之之间间的的联联系系越越多多或或越越复复杂杂,它它们们之之间间的的依依赖赖程程度度就就越越高高,每一个模块的独立性就越低。每一个模块的独立性就越低。p要要求求尽尽可可能能地地减减弱弱系系统统中中模模块块之之间间的的耦耦合合程程度度,提提高高每每一一个个模模块的独立性,这是因为:块的独立性,这是因为:模模块块之之间间的的耦耦合合程程度度越越弱弱,相相互互影影响响就就越越小小,产产生生连连锁锁反反应的概率就越低;应的概率就越低;在修改一个模块时,要能使修改范围控制在最小限度以内;在修改一个模块时,要能使修改范围控制在最小限度以内;在在对对一一个个模模块块进
28、进行行维维护护的的时时候候,不不必必担担心心任任何何其其它它模模块块的的内部运行程序是否会受到影响。内部运行程序是否会受到影响。6-26低低内容内容耦合耦合公共公共耦合耦合控制控制耦合耦合特征特征耦合耦合外部外部耦合耦合数据数据耦合耦合非直接非直接耦合耦合 高高弱弱 强强耦合性耦合性模块独立性模块独立性非直接耦合:非直接耦合:调用和被调用模块之间不存在直接的数据联系。调用和被调用模块之间不存在直接的数据联系。模块模块1 1模块模块2 2模块模块3 3模块模块4 4数据耦合:数据耦合:调用和被调用模块之间存在简单变量这样的数据传递。调用和被调用模块之间存在简单变量这样的数据传递。开发票开发票计算
29、水费计算水费单价单价数量数量金额金额6-27特征耦合:特征耦合:如两个模块通过传递数据结构如两个模块通过传递数据结构(不是简单数据,而是不是简单数据,而是记录、数组等记录、数组等)加以联系,或都与一个数据结构有关系加以联系,或都与一个数据结构有关系,则称这两则称这两个模块间存在特征偶合。个模块间存在特征偶合。“住户情况住户情况”是一个是一个数据结构数据结构,图中模块都与此数据结构有关。图中模块都与此数据结构有关。“计算水费计算水费”和和“计算电费计算电费”本无关本无关,由于引用了此数据结构产生依由于引用了此数据结构产生依赖关系赖关系,它们之间也是它们之间也是特征特征偶合偶合计算水电费计算水电费
30、计算水费计算水费计算电费计算电费住户情况住户情况水费水费电费电费住户情况住户情况计算水电费计算水电费计算水费计算水费计算电费计算电费本月本月用水用水量量本月本月用电量用电量水水费费电电费费6-28控制耦合:控制耦合:控制耦合:控制耦合:一模块通过开关量、标志、名字等控制信息,明显地一模块通过开关量、标志、名字等控制信息,明显地一模块通过开关量、标志、名字等控制信息,明显地一模块通过开关量、标志、名字等控制信息,明显地控制另一模块的功能。控制另一模块的功能。控制另一模块的功能。控制另一模块的功能。功能功能A A功能功能B B判别判别A A发奖牌发奖牌 名次名次(开关量开关量)奖牌奖牌A发金牌发金
31、牌发银牌发银牌发铜牌发铜牌金牌金牌银牌银牌铜牌铜牌6-29外部耦合:外部耦合:允许多个模块访问同一个全局变量或与同一外部设备允许多个模块访问同一个全局变量或与同一外部设备关联。关联。公共耦合:公共耦合:允许一组模块引用同一个公用数据区允许一组模块引用同一个公用数据区 公共数据区公共数据区指:指:全局数据结构全局数据结构共享通讯区共享通讯区内存公共覆盖区等内存公共覆盖区等松散的公共耦合松散的公共耦合公共数据区公共数据区 紧密的公共耦合紧密的公共耦合公共数据区公共数据区6-30内容耦合:内容耦合:允许一个模块直接调用另一个模块中的数据和代码。允许一个模块直接调用另一个模块中的数据和代码。ABABE
32、ntry1 Entry1 模块代码重叠模块代码重叠一模块直接访问另一模块直接访问另一模块的内部信息一模块的内部信息 (程序代码或数据程序代码或数据)多入口模块多入口模块注意注意n控制耦合是一种中等程度的耦合。应尽可能少用。控制耦合是一种中等程度的耦合。应尽可能少用。n外部耦合和公共耦合是较强程度的耦合。尽管有时无法外部耦合和公共耦合是较强程度的耦合。尽管有时无法避免,但要特别注意、严加控制。避免,但要特别注意、严加控制。n内容耦合是耦合程度最强的耦合,极大增强了软件的复内容耦合是耦合程度最强的耦合,极大增强了软件的复杂性,给维护带来严重困难,是杂性,给维护带来严重困难,是“病态联系病态联系”,
33、应禁止使,应禁止使用。实际完全可以避免。用。实际完全可以避免。6-31p内内聚聚指指的的是是一一个个模模块块内内部部各各组组成成部部分分的的处处理理动动作作的的组组合合强强度度,又又称块内联系。称块内联系。p软软件件结结构构设设计计的的设设计计原原则则是是,要要求求每每一一个个模模块块的的内内部部都都具具有有很很强强的的内内聚聚性性,它它的的各各个个组组成成部部分分彼彼此此都都密密切切相相关关,是是为为了了完完成成一一个个共共同同的的功功能能而而组组合合在在一一起起的的。减减弱弱模模块块之之间间的的耦耦合合和和提提高高模模块块内内的内聚性,是两个相辅相成的设计原则。的内聚性,是两个相辅相成的设
34、计原则。低低巧合性巧合性内聚内聚逻辑逻辑内聚内聚过程过程内聚内聚通信通信内聚内聚时间时间内聚内聚信息信息内聚内聚功能功能内聚内聚 高高强强弱弱 内聚内聚性性模块独立性模块独立性6-32偶偶然然内内聚聚:模模块块内内各各成成分分无无实实质质性性的的联联系系,只只是是偶偶然然地地被被凑凑到到一起。一起。ABCMMOVE O TO RREAD FILE FMOVE S TO T模块模块M中的三个语句没有任何联系中的三个语句没有任何联系缺点:缺点:可理解性差可理解性差,可修改性差可修改性差6-33逻辑内聚:逻辑内聚:把几种相关功能把几种相关功能(逻辑上相似逻辑上相似的功能的功能)组合在一模块内组合在一
35、模块内,每次调用由传给模块的参数确定执行哪种功能。每次调用由传给模块的参数确定执行哪种功能。ABCEFGABCEFGA1B1C1EFGEFG模块内部逻辑模块内部逻辑E E、F F、G G逻辑逻辑功能相似,组功能相似,组成新模块成新模块EFGEFG缺点缺点:增强了耦合程度增强了耦合程度(控制耦合控制耦合)不易修改,效率低不易修改,效率低公用代码段公用代码段公用代码段公用代码段6-34时间内聚:时间内聚:模块完成的几项功能必须在同一时间内执行,这些模块完成的几项功能必须在同一时间内执行,这些功能只因时间因素关联在一起。功能只因时间因素关联在一起。例如例如:初始化系统模块初始化系统模块系统结束模块系
36、统结束模块紧急故障处理模块紧急故障处理模块过程内聚:过程内聚:模块内部包含的处理是相关的,且必须按照某种确模块内部包含的处理是相关的,且必须按照某种确定的顺序进行。定的顺序进行。过程聚合模块过程聚合模块建立方程组系数矩阵建立方程组系数矩阵全部任务纳入一个全部任务纳入一个模块,得到一过程模块,得到一过程性模块性模块高斯消去法高斯消去法回回 代代高斯消去法解题流程高斯消去法解题流程6-35通通讯讯内内聚聚:模模块块内内的的各各个个组组成成部部分分都都使使用用相相同同的的输输入入数数据据或或产生相同的输出数据。产生相同的输出数据。产生工产生工资报表资报表计算平计算平均工资均工资职工工职工工资记录资记
37、录职工工职工工资报表资报表平均平均工资工资产生职工工资报表并计算平均工资模块产生职工工资报表并计算平均工资模块6-36信息内聚:信息内聚:模块完成多个功能,各功能都在同一数据结构上操作,模块完成多个功能,各功能都在同一数据结构上操作,每一功能有唯一入口。每一功能有唯一入口。符符 号号 表表查找查找登录登录删除删除修改修改几个加工同时引用一个共同的数据几个加工同时引用一个共同的数据功功能能内内聚聚:模模块块内内的的各各个个组组成成部部分分全全都都为为完完成成同同一一个个功功能能而而存存在在,共同完成一个单一的功能,并且只完成一个功能。共同完成一个单一的功能,并且只完成一个功能。注意:注意:n避避
38、免免使使用用低低内内聚聚的的模模块块,多多用用中中高高内内聚聚、特特别别是是功功能能内内聚聚的的模模块。块。n遵遵守守“一一个个模模块块,一一个个功功能能”原原则则,它它是是衡衡量量模模块块独独立立性性的的最最高标准。高标准。6-372 2、消除重复的功能消除重复的功能 几个模块中含有重复的部分,应设法消去。因为同一功能重复几个模块中含有重复的部分,应设法消去。因为同一功能重复多处,不仅浪费编程、测试时间,还会给修改带来麻烦。多处,不仅浪费编程、测试时间,还会给修改带来麻烦。但消除重复功能并不是简单的合并。但消除重复功能并不是简单的合并。正确的方法是正确的方法是:先分析几:先分析几个模块中相同
39、功能的部分;然后把这个功能分离出来,构成它们的个模块中相同功能的部分;然后把这个功能分离出来,构成它们的一个公共的下层模块。一个公共的下层模块。YXQQQ1 Q2YXQQ Q1 Q2YXQ*YXQQ1*Q2*正确的正确的合合 并并错误的错误的合合 并并逻辑内聚逻辑内聚6-38说明说明:如果如果Q1、Q2抽去公共部分抽去公共部分Q之后余下的模块之后余下的模块Q1*、Q2*比较简比较简单,则可以同它们的调用模块单,则可以同它们的调用模块X、Y合并,所以改进后图合并,所以改进后图2、图、图3都有都有可能。可能。YXQQQ1 Q2YXQQ1*Q2*QX*Y*XQY*Q1*6-393、尽可能减少高扇出结
40、构,随着深度增大扇入、尽可能减少高扇出结构,随着深度增大扇入扇出:扇出:模块调用的直接下层模块的个数模块调用的直接下层模块的个数扇入:扇入:指模块的上级模块数指模块的上级模块数(即共有多少个模块需要调用这个模块即共有多少个模块需要调用这个模块)原则:原则:扇出不宜过大,扇出不宜过大,=7=7;扇入尽可能大些。;扇入尽可能大些。(4,0)(3,1)(5,1)(0,2)符号符号:(:(扇出扇出,扇入扇入)6-40v 如果一个模块的扇出数过大,就意味着该模块过分复杂,需要协如果一个模块的扇出数过大,就意味着该模块过分复杂,需要协调和控制过多的下属模块。应当适当增加中间层次的控制模块调和控制过多的下属
41、模块。应当适当增加中间层次的控制模块v 如果一个模块扇入太大,而它又不是公共模块,则说明这个模块如果一个模块扇入太大,而它又不是公共模块,则说明这个模块具有多个功能,在这种情况下应对具进行功能分解。具有多个功能,在这种情况下应对具进行功能分解。P PPP1P2QQQ1Q2Q3Q6-41v相关技巧:相关技巧:良好的结构图往往呈良好的结构图往往呈“清真状清真状”,即,即“顶为尖顶为尖下下层逐渐加宽层逐渐加宽底底层收窄层收窄”结构图的形态应该均衡,即从顶到底层的路径长短不该过于悬殊结构图的形态应该均衡,即从顶到底层的路径长短不该过于悬殊 清真寺型清真寺型不够好不够好,底层模块复用度低底层模块复用度低
42、金字塔型金字塔型6-424 4、模块的作用范围应在控制范围内、模块的作用范围应在控制范围内模块的控制范围模块的控制范围(控制域控制域):包括模块本身和其下属模块的集合。包括模块本身和其下属模块的集合。模块的作用范围模块的作用范围(作用域作用域):指受该模块内一个条件判定影响的所有指受该模块内一个条件判定影响的所有模块的集合。模块的集合。控制域是从结构方面考虑的;作用域是从功能方面考虑的。控制域是从结构方面考虑的;作用域是从功能方面考虑的。AFBCEMDG:条件判定条件判定条件判定条件判定模块模块模块模块A A A A的的的的控制控制控制控制范围范围范围范围:A A A A、B B B B、C
43、C C C、D D D D、E E E E、F F F F模块模块模块模块A A A A的作用范围:的作用范围:的作用范围:的作用范围:A A A A、C C C C、F F F F:受受受受判定判定判定判定影响的模块影响的模块影响的模块影响的模块6-43v原则:原则:应使模块的作用范围尽量在在控制范围之内,应使模块的作用范围尽量在在控制范围之内,所有受到一个所有受到一个判定影响的模块应该都从属该判定所在的模块,最好位于作出判定的判定影响的模块应该都从属该判定所在的模块,最好位于作出判定的那个模块本身及它的直接下属模块。那个模块本身及它的直接下属模块。图例:判定 判定的作用范围 判定的作用范围
44、不在控制范围内顶XYABB1B2顶XYABB1B2顶XYABB1B2顶XYABB1B2判定太高,需多次传递基本合适 耦合最小将包含条件判定的模块合并到它的调用模块中;将包含条件判定的模块合并到它的调用模块中;或把判定上移到足够的位置,使判定处于较高位置或把判定上移到足够的位置,使判定处于较高位置将接受判定影响的模块下移到控制范围内将接受判定影响的模块下移到控制范围内可以归结为:可以归结为:使判定同受其影响的操作尽可能靠近。使判定同受其影响的操作尽可能靠近。6-445 5、模块规模适中:、模块规模适中:过大不易理解,应考虑分解过大不易理解,应考虑分解太小则接口开销过大,应考虑合并太小则接口开销过
45、大,应考虑合并注意分解、合并后不应降低模块的独立性注意分解、合并后不应降低模块的独立性6 6、适当控制深度与宽度:、适当控制深度与宽度:深度深度 =分层的层数。过大表示分工过细分层的层数。过大表示分工过细宽度宽度 =同一层上模块数的最大值,过大表示系统复杂度大同一层上模块数的最大值,过大表示系统复杂度大7 7、减少块间传递参数的个数,降低接口的复杂程度、减少块间传递参数的个数,降低接口的复杂程度8 8、消除管道性的模块:、消除管道性的模块:管道性指没有实质性的工作,只是传递管道性指没有实质性的工作,只是传递管道性指没有实质性的工作,只是传递管道性指没有实质性的工作,只是传递数据。数据。数据。数
46、据。9 9、设计功能可预测的模块、设计功能可预测的模块相同输入必产生相同输出。相同输入必产生相同输出。6-45P系统平台设计系统平台设计 管理信息系统的平台设计包括计算机处理方式、网络系统的设管理信息系统的平台设计包括计算机处理方式、网络系统的设计、数据库管理系统的选择和软硬件选择计、数据库管理系统的选择和软硬件选择等。等。;计算机处理方式:计算机处理方式:根据系统功能、业务处理的特点、性能根据系统功能、业务处理的特点、性能/价格价格比等因素,选择批处理、联机实时处理、联机成批处理、分布式比等因素,选择批处理、联机实时处理、联机成批处理、分布式处理等方式,也可以混合使用各种方式。处理等方式,也
47、可以混合使用各种方式。;网络系统的设计:网络系统的设计:计算机网络系统的设计主要包括中小型主机计算机网络系统的设计主要包括中小型主机方案与微机网络方案的选取、局域网拓扑结构、网络互连结构及方案与微机网络方案的选取、局域网拓扑结构、网络互连结构及通信介质的选型、网络计算模式、网络操作系统及网络协议等的通信介质的选型、网络计算模式、网络操作系统及网络协议等的选择。选择。;数据库管理系统的选择:数据库管理系统的选择:管理信息系统都是以数据库系统为基管理信息系统都是以数据库系统为基础,一个好的数据库管理系统对管理信息系统的应用有着举足轻础,一个好的数据库管理系统对管理信息系统的应用有着举足轻重的重要影
48、响。目前,市场上数据库管理系统较多,流行的有重的重要影响。目前,市场上数据库管理系统较多,流行的有Orac1e、Sybase、SQLServer、Informix、Visual FoxPro 等,等,6-46;计算机硬件的选择:计算机硬件的选择:主要取决于数据处理方式、运行的软件系统和主要取决于数据处理方式、运行的软件系统和用户的承受能力。原则上选择技术上成熟可靠的系列机型;处理速用户的承受能力。原则上选择技术上成熟可靠的系列机型;处理速度快;数据存储容量大;具有良好的兼容性与可扩充性、可维护性;度快;数据存储容量大;具有良好的兼容性与可扩充性、可维护性;有良好的性能有良好的性能/价格比;售后
49、服务与技术服务好;操作方便;在一定价格比;售后服务与技术服务好;操作方便;在一定时间内保持一定先进性的硬件。时间内保持一定先进性的硬件。;计算机软件的选择:计算机软件的选择:包括操作系统、开发语言、开发工具、应用软包括操作系统、开发语言、开发工具、应用软件包等软件的选择。件包等软件的选择。;最后提交:最后提交:硬件网络结构图硬件网络结构图服务器:硬件、软件选型服务器:硬件、软件选型工作站:硬件、软件选型工作站:硬件、软件选型硬件配置清单等表格硬件配置清单等表格6-47q 代码的概念代码的概念 是是用用来来代代表表事事物物名名称称、属属性性、状状态态等等的的符符号号和和记记号号。以以简简短短的的
50、符符号形式代替了具体的文字说明。号形式代替了具体的文字说明。q 代码设计的目的代码设计的目的 采采用用代代码码,可可以以使使数数据据表表达达标标准准化化,简简化化程程序序设设计计,加加快快输输入入,减减少少出出错错,便便于于计计算算机机处处理理(记记录录、检检索索、排排序序等等),节节省省存存储储空空间,提高处理速度。间,提高处理速度。q 代码设计的意义代码设计的意义 代代码码设设计计是是一一项项重重要要的的基基础础工工作作,设设计计质质量量的的好好坏坏,不不仅仅关关系系到到计算机的处理效率,而且直接影响计算机的处理效率,而且直接影响MISMIS的推广与使用。的推广与使用。第三节第三节 系统详