《系统设计教学PPT总体设计》由会员分享,可在线阅读,更多相关《系统设计教学PPT总体设计(41页珍藏版)》请在金锄头文库上搜索。
1、系统设计System Design第一节 系统设计的任务要求一、系统设计的任务和目的一、系统设计的任务和目的 v系统分析阶段要回答的中心问题是系统“做什么”,即明确系统功能,这个阶段的成果是系统的逻辑模型。v系统设计要回答的中心问题是系统“怎么做”,即如何实现系统说明书规定的系统功能。确定系统各部件的技术方案,即系统的物理模型。系统设计的依据v系统分析说明书v现行技术v现行的信息管理和信息技术的标准、规范v用户需求v系统运行环境二、系统设计的内容二、系统设计的内容v总体设计:(概要设计)任务分解 模块划分 决定模块功能 决定模块调用关系 决定模块的接口v详细设计:具体任务的技术方案 代码设计
2、数据库设计 输入、输出设计 人机对话设计(界面设计) 处理过程设计三、系统设计的原则三、系统设计的原则1.1.系统的观点系统的观点2.2.采用模块化的设计采用模块化的设计 采用模块化设计可以带来以下好处:采用模块化设计可以带来以下好处: (1 1)模块化使系统结构清晰,容易设计也容易阅)模块化使系统结构清晰,容易设计也容易阅读和理解。读和理解。 (2 2)模块化能使系统容易测试和调试,从而有助)模块化能使系统容易测试和调试,从而有助于提高系统的可靠性。于提高系统的可靠性。 (3 3)模块化还能够提高系统的可修改性。)模块化还能够提高系统的可修改性。 (4 4)模块化有助于系统开发工程的组织管理
3、。)模块化有助于系统开发工程的组织管理。 (5 5)模块化还有利于提高程序代码的可重用性。)模块化还有利于提高程序代码的可重用性。 3.3.自顶向下、逐步求精自顶向下、逐步求精第二节结构化设计一、体系结构设计一、体系结构设计v对于复杂的具有分布式应用处理特点的系统,在进行具体对于复杂的具有分布式应用处理特点的系统,在进行具体设计之前,首先需要确定应用系统的体系结构。设计之前,首先需要确定应用系统的体系结构。v系统系统体系结构描述了体系结构描述了:构成系统的成分这些成分之间的相互作用指导其组合的风格(惯用模式)以及对这些风格的描述。为什么要关注体系结构设计为什么要关注体系结构设计v简单的说系统太
4、复杂!简单的说系统太复杂!v复杂的系统需要良好体系架复杂的系统需要良好体系架构!构!v狗窝还可凑活!狗窝还可凑活!v下面那个决不能凑活!下面那个决不能凑活!1.1.二层二层C/SC/S体系结构体系结构其主要缺点有以下几点:其主要缺点有以下几点:(1)客户端程序设计复杂;)客户端程序设计复杂;(2)开发成本高,)开发成本高,C/S体系结构对客户端软、硬体系结构对客户端软、硬件的配置要求较高;件的配置要求较高;(3)软件维护和升级困难;)软件维护和升级困难;(4)不灵活,扩展困难。)不灵活,扩展困难。2.2.三层体系结构三层体系结构v三层三层C/S体系结构体系结构 vB/S三层结构三层结构 3.3
5、.多层结构多层结构多层结构的优点有以下几个方面:多层结构的优点有以下几个方面:v可实现高度的可扩展性可实现高度的可扩展性、灵活性。灵活性。v便于分配便于分配分工组织分工组织。v可以实现高度的代码重用。可以实现高度的代码重用。v各层松耦合,各层松耦合,提高系统的提高系统的可维护性可维护性。4.4.体系结构的选择体系结构的选择选择体系结构应考虑以下因素:选择体系结构应考虑以下因素:v被开发的系统特点被开发的系统特点如系统类型、用户需求、系统规模和使用方式等。v网络协议网络协议不同的体系结构风格需要不同的网络协议支持。v可用的软件产品可用的软件产品包括网络软件、操作系统、DBMS和服务器软件等。v建
6、设成本等建设成本等包括硬件和软件的购买成本、软件开发成本、系统安装与维护成本等。v此外开发人员对所选体系结构风格实现技术掌握此外开发人员对所选体系结构风格实现技术掌握的熟练程度,以及实现所选体系结构风格所需的的熟练程度,以及实现所选体系结构风格所需的工期也是应考虑的因素。工期也是应考虑的因素。二、子系统划分与模块设计二、子系统划分与模块设计1.子系统划分(1)子系统的划分原则 子系统具有相对独立性 子系统之间数据的依赖性要尽量小 便于系统分阶段的实现 对各类资源的充分利用(2)划分子系统的方法 按职能划分:这是目前最常使用的一种划分方法。 按过程划分:这是指按工作流程划分。在一些业务处理过程顺
7、序特别强的系统中,这种划分方法常常被采用。 按数据拟合程度来划分:这是指相互之间有较多数据传输的处理划分为一个子系统。以这种方法划分出的子系统内部凝聚力强,外部通信压力小。在以上方法中,前两种方法是划分子系统的较好的方法。2.2.模块设计模块设计(1)模块)模块v模块是执行具体给定功能的一小段程序代码,是计算机程序的可标识部分,即用一个名字就可以调用的“子程序”。v模块的属性:输入输出输入输出:模块需要的信息模块需要的信息/产生的信息产生的信息逻逻辑辑功功能能:模模块块所所做做的的工工作作,模模块块用用程程序序代代码码完完成成它它的功能的功能内部数据内部数据:仅供该模块本身引用的数据,仅供该模
8、块本身引用的数据,程序代码:内部数据和程序代码是模块的内部特性程序代码:内部数据和程序代码是模块的内部特性v模块的例子: int max( int x, int y) int z; z=xy? x: y; return(z); 模块名模块名数数据据内部内部数据数据内部内部语句语句2.2.模块设计模块设计(2)结构图)结构图n模块:模块: 用方框表示,方框中写上模块名字,反映了这个模块的功能n调用:调用: 从调用模块指向被调用模块的箭头 n数据:数据: 调用箭头旁的小箭头,表示从一个模块向另一个模块传送的数据,也指出了传送的方向 结构图基本符号及表示法结构图基本符号及表示法编辑学生记录编辑学生记
9、录读学生记录读学生记录学生数据学生数据无此学生无此学生学号学号不加区分的数据不加区分的数据数据信息数据信息控制信息控制信息 模块调用的例子: int max( int x, int y) int z; z=xy? x: y; return(z); Main( ) : max( 3, 4) : Main() Main()求最大值求最大值Z Zx xy y简单调用简单调用B BA AC Cx,yx,yz z(a)(a)表示法一表示法一(b)(b)表示法二表示法二z zB BA AC C1 12 2入入出出1 12 2x,yx,yz zz zA调用B和C选择调用A AC CB BD DA A根据内根
10、据内部判断决定是部判断决定是否调用否调用B BA A按另一判按另一判定结果选择调用定结果选择调用C C或或D D 选择调用的例子: A( ) : if (条件.) B( ) else C( ) : ABC循环调用A AB BC CA A根据循环根据循环条件条件重复调用重复调用B B、C C等模块等模块循环调用的例子: A( ) : while (条件.) B( ); : ; : AB2.2.模块设计模块设计(3)模块间的联系)模块间的联系v结构化设计的基本思想,就是把系统设计成由相结构化设计的基本思想,就是把系统设计成由相对对独立、功能单一独立、功能单一的模块组成的层次结构的模块组成的层次结构
11、v为了衡量模块的相对独立性,提出了模块间的耦为了衡量模块的相对独立性,提出了模块间的耦合与模块的内聚两个概念合与模块的内聚两个概念v耦合耦合反映模块之间连接的紧密程度反映模块之间连接的紧密程度v内聚内聚指一个模块内各元素彼此结合的紧密程度指一个模块内各元素彼此结合的紧密程度v如果所有模块的内聚都很强,模块之间的耦合自如果所有模块的内聚都很强,模块之间的耦合自然就低,模块的独立性就强,反之亦然然就低,模块的独立性就强,反之亦然2.2.模块设计模块设计(4)模块间的耦合)模块间的耦合v结构化设计要求模块间的耦合程度尽可能小,为结构化设计要求模块间的耦合程度尽可能小,为减小耦合程度应该:减小耦合程度
12、应该:用过程语句调用其他模块;模块间的参数作数据用;模块间的参数尽可能少。2.2.模块设计模块设计(5)模块的内聚)模块的内聚v模块的内聚反映模块内部联系的紧密程度。模块的内聚反映模块内部联系的紧密程度。 偶然内聚偶然内聚 逻辑内聚逻辑内聚 时间内聚时间内聚 过程内聚过程内聚 通信内聚通信内聚 顺序内聚顺序内聚 功能内聚功能内聚2.2.模块设计模块设计(6)作用范围与控制范围)作用范围与控制范围v结构化设计要求:对于任何一个判断,其作用范结构化设计要求:对于任何一个判断,其作用范围应该是这个判断所在模块的控制范围的一个子围应该是这个判断所在模块的控制范围的一个子集。集。 v更理想情况,判断的作
13、用范围仅在做出判断的模更理想情况,判断的作用范围仅在做出判断的模块及其直属下级。块及其直属下级。 2.2.模块设计模块设计(7)模块的扇入与扇出)模块的扇入与扇出设计得好的系统,上层模块有较高的扇出,下层模设计得好的系统,上层模块有较高的扇出,下层模块有较高的扇入块有较高的扇入 总结:模块划分的标准总结:模块划分的标准v高内聚、低耦合(基本原则)v影响范围在控制范围之内v上层模块较高扇出,下层模块较高扇入v模块规模不要过大根本目的是提供模块独立性模块独立的含义:v功能单一v符合信息隐蔽和信息局部化原则v模块间关联和依赖程度尽量小3.3.数据流程图导出结构图数据流程图导出结构图v数据流程图有两种
14、典型的结构:变换型结构和事数据流程图有两种典型的结构:变换型结构和事务型结构。这两种结构可以分别通过变换分析和务型结构。这两种结构可以分别通过变换分析和事务分析方法导出标准形式的结构图。事务分析方法导出标准形式的结构图。区分数据流程图的结构类型区分数据流程图的结构类型不同的类型采用不同的方法不同的类型采用不同的方法数据流图映象成相应模块结构数据流图映象成相应模块结构变换型数据流图一个数据流程图可以明显地分成输入、处理和输出三部分,呈线性结构。变换分析 首先根据数据流程图的处理框,找出主要处理功能,即变换中心,把系统划分为逻辑输入、主加工和逻辑输出。 设计顶层模块和第一层模块。 设计中、下层模块
15、。自顶向下,逐步细化地对输入、输出和变换再逐个向下分解,便可得到初始结构图, 格式格式检查检查产生产生收据收据计算计算汇费汇费记账记账汇款单汇款单合格的合格的汇款单汇款单处理后的汇处理后的汇款单款单收据收据明细账明细账业务业务数据数据例:例:变换分析设计方法变换分析设计方法实例实例格式格式检查检查产生产生收据收据计算计算汇费汇费记账记账汇款单汇款单合格的合格的汇款单汇款单处理后的汇处理后的汇款单款单收据收据明细账明细账业务业务数据数据变换中心变换中心输出输出输入输入变换变换分析举例分析举例- -转换后的转换后的SCSC汇款处理系统取得合格汇款单计算汇费记账输出处理后的汇款单 输入汇款单格式检查
16、产生收据打印收据合格的汇款单处理后的汇款单业务数据汇款单合格的汇款单汇款单处理后的汇款单收据收据处理后的汇款单业务数据合格的汇款单事务型数据流程图一般呈束状形。事务型数据流程图一般呈束状形。特征特征:具有在多种事务中选择执行某类事务的能力。:具有在多种事务中选择执行某类事务的能力。事务型数据流图事务型数据流图事务分析事务分析v识别事务源识别事务源v确定适当的事务型结构确定适当的事务型结构v通过数据流程图和数据字典,确定各种事务及相应的处理通过数据流程图和数据字典,确定各种事务及相应的处理v对事务处理模块,建立直属于该事务处理的下级模块(操对事务处理模块,建立直属于该事务处理的下级模块(操作模块
17、)作模块)v分解中要符合模块的设计原则分解中要符合模块的设计原则例:事务分析举例例:事务分析举例-DFD-DFD图书管图书管理要求理要求无效输入无效输入要求类要求类型处理型处理P1.1 新书入库新书入库P1.2P1.2入库单入库单罚款单罚款单P1.5P1.5 注销图书注销图书 还书还书P1.4P1.4目录文件目录文件借书单借书单还还书书单单注销单注销单P1.3P1.3 借书借书借书文件借书文件罚款单罚款单事务事务中心中心事务分析举例事务分析举例- -转换后的转换后的SCSC修改目修改目录文件录文件操作层操作层修改借修改借书文件书文件细节层细节层 打印打印罚款单罚款单图书处理系统图书处理系统取得图书取得图书处理要求处理要求新书入库新书入库注销图书注销图书借书借书还书还书图书管图书管理要求理要求入库单入库单借书单借书单 还书单还书单注销单注销单数据流图与模块结构