《系统设计-概要设计.ppt》由会员分享,可在线阅读,更多相关《系统设计-概要设计.ppt(65页珍藏版)》请在三一办公上搜索。
1、第五章,系 统 设 计,第五章 系统设计,第一节 系统设计概述第二节 系统总体设计第三节 系统详细设计,第一节 系统设计概述,回顾:系统分析内容,系统分析的结果:建立了新系统的逻辑模型逻辑模型:把数据在组织(或原系统)内部的流动情况抽象地出来,用数据流程图的形式描述出数据的输入、处理、输出和存储,并配合数据字典和系统处理逻辑进行说明。,企业销售管理系统的逻辑模型:数据流程图,系统分析只提供了系统的逻辑功能结构,解决了系统应该“做什么?”的问题。但是系统的各项功能到底要怎样通过各种技术才能实现,并没有在系统分析阶段中给出答案。即”如何做”的问题没有解决。系统设计-如何做,问题?,系统设计:根据系
2、统分析阶段所确定的逻辑模型,综合考虑各种约束,即提出一个能在计算机上实现的新系统的实施方案,解决“系统怎样做”的问题。提出系统的物理模型。,一、系统设计的目标和过程,系统设计的目标和过程,(1)系统设计的目标 系统分析:解决“做什么”系统设计:解决“怎么做”,(2)系统设计的过程 逻辑模型 物理模型 从系统分析说明书出发,形成系统具体的物理设计方案。,系统设计模型(续),数据设计:将系统分析阶段建立的数据模型转换成实现系统所需的数据结构。平台设计:将性能要求转换成对系统软硬件环境的配置。模块结构设计:定义系统模块元素之间的关系。接口设计:描述系统内部、系统和协作系统之间、系统与人之间如何通信。
3、过程设计:将加工说明转换为系统模块的内部算法。,依据系统论的思想,对于任何一个系统都可以按功能逐步由上而下,由抽象到具体,逐层将其分解为一个多层次的、具有相对独立功能模块组成的系统。其基本要点如下:(1)模块化(2)自顶向下,逐步求精(3)上层模块分解为下层模块,有三种不同的结构形式。,二、系统设计的基本思想,三、结构化系统设计的基本任务,系统总体设计,系统详细设计,(1)系统平台设计(2)代码设计(3)输入输出设计(4)界面设计(5)数据库设计(6)模块内部的算法设计,设计系统的总体结构,(1)系统总体设计,总体设计的任务:设计系统的总体结构。将系统划分成子系统把子系统划分成若干模块决定每个
4、模块的功能决定模块间数据传递、调用关系,控制结构图,(2)系统详细设计,让系统建设者了解解决用户问题所需要的硬件、软件等。主要描述系统的硬件配置、代码、人机界面、输入和输出、数据库和网络体系结构等。详细设计是从技术层面上来描述系统。,第五章 系统设计,第一节 系统设计概述第二节 系统总体设计第三节 系统详细设计,系统总体设计的任务,总体设计的任务:设计系统的总体结构。总体结构:把系统划分为模块 确定每个模块的功能 确定模块之间的调用关系 确定模块之间的接口及界面:模块间传递的数据,系统总体设计包括:(1)系统的分解方法:模块化(2)系统的总体结构的描述工具模块结构图(3)系统结构的评价准则:什
5、么样的结构是“最优的”,一、系统的分解方法-模块化,模块化:将系统由顶向下,由抽象到具体逐层分解为若干个模块,每个模块完成一个子功能。模块化优点:将系统“分而治之”,降低问题的复杂性。使软件结构清晰,易阅读、易理解,易于调试和测试,因而也有助于提高软件的可靠性。,模块,模块的定义:具有输入输出、逻辑功能、内部数据和程序代码等属性的程序段。输入输出、逻辑功能(外部特性)内部数据、程序代码(内部特性),模块(例),int max(int x,int y)int z;z=xy?x:y;return(z);,模块名,数据,内部数据,内部语句,二、控制结构图(CSC),控制结构图:描述系统总体结构的工具
6、也称,系统结构图、模块结构图控制结构图:反映了系统的模块组成及模块间的调用关系。,(一)CSC的基本符号,模块名,模块,选择调用,模块间的调用关系,模块间的数据传递,模块间的控制信息传递,循环调用,CSC(例),编辑学生记录,读学生记录,模块调用,数据信息,控制信息,模块调用的种类,一般调用选择调用循环调用,1)一般调用,A调用B,2)选择调用,A根据内部判断决定是否调用B、C还是D,3)循环调用,A根据循环条件重复调用B等模块,(二)控制结构图的绘制以数据流程图(DFD)为基础设计系统的模块结构,控制结构图与数据流图的差别,数据流程图是从数据流着眼,而控制结构图从程序模块着眼;数据流程图描述
7、的是系统的逻辑模型,而控制结构图是描述系统的物理模型;数据流程图是用不同的图来表示不同的层次,是“平面图”,而控制结构图能反映系统的层次结构,是“立体图”;数据流程图是从具体到抽象,描述系统的要求,而结构图是从抽象到具体,描述系统的实现方法。,数据流图导出初始控制结构图方法,从数据流程图导出系统的初始控制结构图区分数据流程图的结构类型根据不同的类型采用不同的方法把数据流图映象成相应的模块结构。,1.数据流程图的结构类型,(1)变换型DFD数据流程图可以明显地分成输入、处理和输出三部分。(2)事务型DFD事务型数据流程图一般呈束状。,(1)变换型结构,三部分:输入、变换中心(主加工)、输出,变换
8、型数据流图,变换中心,输出,输入,(2)事务型结构,特征:具有在多种事务中选择执行某类事务的能力。,大型系统DFD中,变换型和事务型结构往往共存,2.DFD导出初始MSC的过程,变换型DFD,事务型DFD,初始MSC,初始MSC,(1)变换分析设计方法,步骤:(1)找出主加工、逻辑输入和逻辑输出(2)设计模块结构的顶层和第一层(3)设计中、下层模块,第一步:确定主加工、逻辑输入和逻辑输出,在DFD上标明分界线;,逻辑输入:数据输入的最后点。逻辑输出:输出数据的第一点。主加工:逻辑输入与逻辑输出之间的加工。,变换分析举例-DFD,变换型数据流图,物理输出,逻辑输出,主加工,第二步:设计MSC的顶
9、层和第一层模块,(1)设计一个顶层模块(主模块):其功能是完成整个程序要做的工作。,第一层模块同顶层主模块之间传送的数据应与数据流图相对应主模块控制并协调第一层的输入、变换、输出模块的工作,注意识别出选择或循环调用以及调用条件。,汇款处理系统,(2)设计第一层模块:为逻辑输入设计一个输入模块,它的功能是向主模块提供数据。为逻辑输出设计一个输出模块,它的功能是输出主模块提供的数据。为主加工设计一个变换模块,它的功能是将逻辑输入变换成逻辑输出。,设计顶层和第一层模块,汇款处理系统,取得合格汇款单,计算汇费,记账,输出处理后的汇款单,合格的汇款单,处理后的汇款单,合格的汇款单,业务数据,处理后的汇款
10、单,业务数据,第三步:分解MSC各分支。自顶向下分解,设计出每个分支的中、下层模块,(1)为每个“输入模块”设计两个下层模块:输入模块,接受数据来源;变换模块:将数据变换成合格的形式。(2)为每个“输出模块”设计两个下层模块变换模块:将数据变换成输出的形式。输出模块:输出数据(3)变换模块的下层模块 根据数据流图中相应加工的组成情况而定。,任何情况下都可使用变换分析方法设计软件结构,但如数据流具有明显的事务特点时(有一个明显的事务中心),以采用事务分析方法为宜。,(2)事务分析设计方法,事务分析设计方法步骤,(1)在DFD上确定事务中心。(2)为事务中心设计“主模块”(3)为每一种类型的事务处
11、理设计一个“事务处理模块”。(4)为“事务处理模块”设计下层的“操作模块”(5)为“操作模块”设计细节模块。某些操作模块和细节模块可以被几个上一层模块共用。,事务型DFD的划分,T,事务中心,传入,变换,传出,接收部分,发送部分,a,事务型MSC的上层结构(1),顶层,第一层,顶层“事务控制”模块的内部结构,动作分支的典型结构,事务层,操作层,细节层,控制层/顶层,事务分析举例,事务中心,事务分析举例-转换后的MSC,(三)模块结构图的优化,可维护性是系统结构评价的一个重要因素,可维护性,局部修改,模块的独立性高,什么样的系统结构是好的?,由数据流程图导出的初始模块结构图往往不是最优的。,模块
12、独立性的度量,取决于:模块的内部和外部特性。结构化设计方法提出的定性的度量标准:模块之间的耦合度(块间联系)模块自身的聚合度(块内联系),模块独立性的度量之一:耦合度,耦合度:衡量不同模块间的相互依赖的紧密程度耦合度越高,模块独立性越弱;耦合度越低,模块独立性越强。目标:低耦合取决于:模块间接口的复杂程度;通过接口的数据;进入或访问一个模块的入口点。,无耦合,松散耦合,紧密耦合,模块耦合度,模块间耦合的类型,弱,(低耦合),强,(中耦合),(较强耦合),(强耦合),公共耦合,耦合度,低,高,控制耦合,内容耦合,模块独立性,模块独立性的度量之二:聚合度,聚合度:衡量一个模块内部各成分之间彼此结合
13、的紧密程度聚合度越高,模块独立性越强;聚合度越低,模块独立性越弱。设计目标:高聚合,模块的聚合性类型:,弱(功能分散),强(功能单一),低,高,偶然聚合逻辑聚合时间聚合过程聚合通信聚合顺序聚合功能聚合,内聚性,模块独立性,耦合、聚合与模块独立性关系,耦合与聚合都是模块独立性的定性标准,都能反映模块独立性的良好程度。耦合:直接的主导因素聚合:辅助耦合共同对模块独立性进行衡量。,模块结构图的设计优化,将初始模块结构图根据模块“独立性”原则进行优化,对模块进行合并、分解修改、调整,得到高内聚、低耦合模块,得到易于实现、易于测试和易于维护的软件结构,产生设计文档的最终模块结构图。,改进软件结构设计的指导原则,(1)程序结构尽可能与问题结构相对应(2)模块功能的完整(3)消除重复功能(4)作用范围应在控制范围内(5)模块大小适中(6)降低模块接口的复杂性(7)模块功能可预测,第二节 系统总体设计总结,系统总体设计的任务系统分解方法:模块化系统总体结构的描述工具:模块结构图初始模块结构图的绘制:数据流程图导出(变换型、事务型)初始模块结构图的优化(独立性-低耦合、高聚合),