




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统设计知识回顾什么是DFD,它的主要组成部分有哪些?什么是数据字典,它又包含哪几部分?决策树和决策表2本章主要内容内容提要1系统设计概述2模块结构图设计3代码设计4数据库设计5输入输出/及人机对话设计6处理过程设计7计算机系统的选择8系统设计说明书
31
系统设计概述1.1系统设计的任务1.2系统设计的原则1.3系统设计的步骤1.4系统设计的方法41.1
系统设计的任务5逻辑模型物理模型做什么怎么做科学合理地提出从具体到抽象从抽象又回到具体系统分析系统设计系统设计的主要工作1.总体设计(模块结构图设计等)
系统物理配置方案设计(设备配置、通信网络的选择和设计及DBMS的选择等)2.详细设计 设计规范的制订 数据存储设计(DB设计、DB安全保密设计等)
代码设计 计算机处理过程设计(输入、输出、处理流程图设计及编写程序设计说明书等)61.2
系统设计的原则
★
简单性
★灵活性
★完整性
★可靠性
★经济性71.3
系统设计的步骤◎
总体设计◎详细设计8◎总体设计又称初步设计或结构设计或概要设计。内容包括:
划分子系统(系统功能结构的划分)
模块结构图设计
信息系统流程图设计
系统物理配置方案设计等9划分子系统10原则:
1)相互间相对独立;
2)减少数据依赖性和数据冗余
3)考虑扩展能力、实现的便利、资源利用方法:
1)从方法分类上可分为功能划分、顺序划分、数据拟合划分、过程划分等
2)一般以功能/数据分析结果为主,兼顾组组实际情况的划分方法。◎详细设计
在总体设计的基础上,详细设计是要确定每个模块内部的详细执行过程。包括:
1.代码设计(Notprogramcoding)
2.数据存储文件设计(数据库设计)
3.输出设计
4.输入设计
5.其它设计111.4
系统设计的方法
Jackson方法:以数据结构为基础建立模块结构
Parnas方法:以信息隐蔽为原则。
结构化设计(StructureDesign,简称SD):以数据流程图(DFD)为基础构成模块结构。上面的三种方法都采用了:模块化、从顶向下、逐步细化等思想。区别:构成模块的原则不同。122
结构化设计2.1结构化系统设计方法概述2.2模块结构图2.3模块结构设计的原则2.4从DFD导出模块结构图132025/4/192.1.1什么是结构化系统设计方法结构化设计(StructuredDesign简称SD)方法由美国的IBM公司的W.Stevens、G.Myers和L.Constantine等人提出,使用广泛。在结构化思想的基础上发展起来的一种用于复杂系统结构设计的技术,它运用一套标准的设计准则和工具,采用模块化的方法进行系统结构设计。适于总体设计142.1.2.结构化系统设计的基本思想方法:分解系统结构:由相对、单一功能的模块组成基础:系统的逻辑功能、数据流关系根据:DFD和DD借助于:一套标准的设计准则和图表工具通过:“自上而下”和“自下而上”划分的反复,把系统逐层划分为多个大小适当、功能明确、具有一定独立性且容易实现的模块,从而把复杂系统的设计转变为多个简单模块的设计。152.1.3.
结构化系统设计的特点⑴相对独立、功能单一的模块结构⑵块内联系大、块间联系小⑶采用模块结构图的描述方式16⑴相对独立、功能单一的模块结构
由于模块之间相对独立,每一模块就可以单独地被理解、编写、测试、纠错和修改,从而有效地防止错误在模块之间扩散和蔓延,提高了系统的质量(可维护性、可靠性等),同时系统的研制工作也大大简化。17⑵块内联系大、块间联系小
模块内部联系要大,模块之间联系要小,这是结构化设计中衡量“相对独立”性能的标准。18⑶采用模块结构图的描述方式描述方式:模块结构图描述了系统的分层模块结构,清楚地表示了每个模块的功能,直观地反映了块内联系和块间联系等特性。有利于系统结构的优化,设计出的系统比较容易实现且有较好的可维护。192.2
模块结构图
要确定系统的模块结构,主要考虑以下四方面问题:☆如何将一个系统或子系统划分成多个模块☆模块间传递什么数据☆模块间的调用关系如何☆如何评价并改进模块结构的质量20模块结构图的主要内容1.
什么是模块结构图2.
模块结构图的组成3.
模块调用和通讯的规则4.
模块结构图与数据流程图和程序流程图的区别5.
模块结构图的标准形式211.
什么是模块结构图
描述系统内各个组成部分的结构及其相互关系的图称为模块结构图。是结构化系统设计的一个主要工具,它能表达已经被分解成若干个模块组成的系统结构的层次和通讯关系。22例图23ADCBHEGFJI模块结构图可以描述的几个问题⑴如何将系统划分成一个个模块⑵模块间传递什么数据⑶模块间组成层次的调用关系242.
模块结构图的组成
模块结构图是结构化设计中描述系统结构的图形工具,它由以下基本符号组成:25模块调用数据控制信息模块结构图的主要成分
⊙
模块
⊙调用
⊙通讯26模块
通常是用一个名字就可以调用的一段程序语句27调用
在模块结构图中用连接两个模块的箭头表示调用,箭头总是由调用模块指向被调用模块,被调用模块执行后又返回到调用模块。模块间的调用关系有以下三种:
⑴直接调用
⑵条件调用
⑶循环调用28⑴直接调用
最简单的调用关系,指一个模块无条件地调用另一个模块。29ABC⑵条件调用
也称为选择调用。如果一个模块是否调用另一个模块取决于调用模块内部的某个条件,则把这种调用称为条件调用。用菱形符号
表示,其含义是:根据条件满足情况决定调用哪一个模块。30ABCD⑶循环调用
也称为重复调用。如果一个模块内部存在一个循环过程,每次循环中均需调用一个或几个下属模块,则称这种调用为循环调用或重复调用。用符号表示,含义是:上层模块对下层模块的多次反复的调用。31MABC通讯
伴随着模块调用而发生的模块间的信息交换称为模块间的通讯。模块间的通讯有两种方式:
⑴数据通讯
⑵控制通讯32⑴数据通讯
表示模块间只传递数据。如:“库存量”“产品编号”“顾客姓名”等33⑵控制通讯
模块间除传递数据外,还传递标志位,如:“文件结束”、“无此记录”、“打印错误”等。
例:34例:“无此职工”就是用来表示传送来的职工号有误的控制信息35查职工档案读人事文件档案数据职工号无此职工3.
模块调用和通讯的规则⑴上层模块可以有一个或多个直属下层模块;⑵下层模块可以有一个或多个直属上层模块;⑶同一层模块不能相互调用;⑷每个模块只能调用其直属的下层模块,不能调用非直属的下层模块;⑸模块间的通讯只限于直属的上下层模块之间进行,可以是单向或双向,但不能越层进行。364.
模块结构图与DFD和程序流程图的区别⑴模块结构图与DFD的区别⑵模块结构图与程序流程图的区别374.1模块结构图与DFD的区别①DFD是从数据在系统中的流动情况,即从数据流的角度来考虑系统;而模块结构图则是从功能层次关系的角度来考虑系统。②DFD主要说明系统“做什么”,即描述系统的逻辑模型;而模块结构图则主要说明“如何做”,即描述系统的物理模型。③DFD描述系统中数据流动的情况,每张DFD对应于模块结构图中的某一层次。⑷DFD的绘制过程是从具体到抽象,逐步去掉各种物理的处理方法,只剩下抽象的信息流动情况,以便抽象地描述系统的逻辑功能;而模块结构图则相反,它从一个总的抽象的系统功能出发,逐一具体化,逐步考虑具体的实现方法,逐步加入具体的实现方法和技术手段,最后设计出物理模型来,即从抽象到具体的过程。384.2模块结构图与程序流程图的区别本质区别:模块结构图表达系统的处理功能,描述模块的外部属性(输入和输出、逻辑功能),而且能够表达各个模块之间的通讯关系,指出模块间的数据流向;而程序流程图则是描述模块的内部属性(处理过程、内部数据),无法进一步知道某系统的组织结构。395.模块结构图的标准形式⑴
变换型结构⑵事务型结构405.1变换型结构
变换型系统由三部分组成:输入、数据加工(中心变换)和输出,它的功能是将输入的数据经过加工后输出。
图:41图:变换型模块结构42主模块输出DC变换成D获得C输出ED变换成EB变换成C获得BA变换成B输入ADCDEDEBCBCBAA
变换型结构
变换型系统工作时,首先主模块受到控制,然后控制沿着结构逐层达到底层的输入模块,当底层模块输入数据A后,A由下至上逐层传送,逐步由“物理输入”变成“逻辑输入”C,接着在主控模块控制下,C经中心变换模块转换成逻辑输出D,D再由上至下逐层传送,逐步把逻辑输出变成物理输出E。43⑵事务型结构
事务型系统由三层组成:事务层、操作层和细节层,它的功能是对接收的事务,按其类型选择某一类事务处理。
图:44图:事务型模块结构45处理事务取得事务输出结果事务N事务A事务B操作1操作N操作2细节2细节1………………事务型结构模块
事务型系统工作时,主模块将按事务的类型选择调用某一事务处理模块,事务处理模块又调用若干个操作模块,而每个操作模块又调用若干个操作模块。465.3
模块结构设计的原则1.尽量降低模块间的耦合度2.尽量提高模块的聚合度3.模块的分解4.模块的控制范围和判断影响范围47好模块应满足的要求:好模块应满足的要求:尽量降低模块间的耦合度降低模块间的耦合度的好处影响模块间的耦合度的两个因素▲模块间的接口复杂性▲模块间的耦合形式48⑴耦合指模块与模块之间联系的程度。模块间的耦合度越低,模块的独立性就越高。49⑵降低模块间的耦合度的好处①耦合度越低,模块间相互影响就越小,产生连锁反应的概率就越低;②耦合度越低,可以使修改范围控制在最小限度;③一个模块修改时对系统其它部分正常运行的影响小。50⑶影响模块间的耦合度的两个因素▲
模块间的接口复杂性▲模块间的耦合形式51模块间的接口复杂性
用进入或访问一个模块的入口点个数和通过接口的数据多少来衡量。525.3.1模块间的耦合形式☆
数据耦合☆控制耦合☆公共环境耦合☆内容耦合53☆数据耦合
指两个模块之间的联系是通过数据交换而实现的。是一种理想的耦合,耦合度最低,因为一个模块与其它模块之间的联系全部是数据联系,这个模块就是一个黑箱。
图:54图:数据耦合55开发货单计算金额单价数量金额☆控制耦合
两个模块之间除了传递数据信息外,还传递控制信息,模块间的这种连结方式称为控制耦合。
图:56图:控制耦合57获得库存记录检索库存记录库存编号库存记录打印“无此库存记录”错误信息☆公共环境耦合
当两个或多个模块通过一个公共数据环境相互作用时,它们之间的耦合称为公共环境耦合。公共环境耦合可以是全程变量,内存的公共覆盖区,任何存储介质上的文件等。
例58例
模块A、B、C、D共用公共数据区内的元素。C、D之间存在着公共耦合。59ADCBC与D没有关系。☆内容耦合
一个模块与另一个模块的内部属性(程序或内部数据)直接发生联系。内容耦合的两个模块间是病态联结,在修改其中一个模块时,将直接影响到另一个模块,产生波动现象,影响整个系统。因此,在系统设计时,应完全避免内容耦合。
例如:60例如:①一个模块访问另一个模块内部的数据;②一个模块调用另一个模块中间的部分程序代码;③模块的出入口不符和单入单出的原则。615.3.2.尽量提高模块的聚合度⑴
聚合⑵聚合的形式62⑴聚合指模块内部各个组成部分之间的联系程度。模块间的耦合度越低,模块的独立性就越高。63⑵聚合的形式①
功能聚合②顺序聚合③通讯聚合④过程聚合⑤时间聚合⑥逻辑聚合⑦偶然聚合64尽量使用尽量避免使用①功能聚合
指一个模块内部的各个组成部分的处理功能全部为执行同一个功能而存在,并且只执行一个功能。最理想的聚合方式,独立性最强。
例:65例:
以下几个模块都是功能聚合模块:◆读库存记录◆打印发货单◆计算实发工资66②顺序聚合
如果一个模块内部各个组成部分执行几个处理功能,且一个处理功能所产生的输出数据直接成为下一个处理功能的输入数据,则该种聚合为顺序聚合。
例:67例:顺序聚合
一个顺序聚合模块,它先执行合同输入功能,然后再执行合同汇总功能,而且前者的输出正是后者的输入。68合同输入汇总③通讯聚合
数据聚合。指一个模块内部各个组成部分执行的处理功能,都使用相同的输入数据或产生相同的输出数据,且其中各个处理功能是无序的。
例:69例:通信聚合
使用相同的输入数据配件编号,分别完成两个处理功能,一是按配件编号检索获得配件牌价;另一个是按配件编号检索获得该配件的当前库存量。70获得配件牌价和库存量配件编号库存量牌价④过程聚合
如果一个模块内部各个组成部分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业热情测试题及答案
- 幼儿园时间与数字课堂试题及答案
- 小学教师教育策略展望试题及答案
- 宜宾遴选笔试试题及答案
- 微分积分考试题及答案
- 幼儿园考试卷及答案语文
- 游仙期末考试试卷及答案
- 艺考水彩试题大全及答案
- 理解风险管理中的商务英语应用技巧研究试题及答案
- 一年级下期未试卷及答案
- 教师语言与沟通艺术知到智慧树章节测试课后答案2024年秋温州大学
- 《路基养护》课件
- 《基于EVA的科大讯飞企业价值评估的计算过程及结果探析案例报告》10000字(论文)
- 空气输送斜槽选型手册
- 服装IE(浙江纺织服装职业技术学院)知到智慧树答案
- 培训机构教务管理岗位职责
- 水利工程项目法人质量责任追究和奖惩制度
- DB44-T 2537-2024 小型水电站退役导则
- 托幼机构安全应急预案制度
- 酒店执行力培训
- 企业合规之内控与风险管理
评论
0/150
提交评论