结构化系统分析与设计

上传人:m**** 文档编号:591915240 上传时间:2024-09-18 格式:PPT 页数:206 大小:2.05MB
返回 下载 相关 举报
结构化系统分析与设计_第1页
第1页 / 共206页
结构化系统分析与设计_第2页
第2页 / 共206页
结构化系统分析与设计_第3页
第3页 / 共206页
结构化系统分析与设计_第4页
第4页 / 共206页
结构化系统分析与设计_第5页
第5页 / 共206页
点击查看更多>>
资源描述

《结构化系统分析与设计》由会员分享,可在线阅读,更多相关《结构化系统分析与设计(206页珍藏版)》请在金锄头文库上搜索。

1、结构化系统分析结构化系统分析结构化系统分析结构化系统分析与设计与设计与设计与设计第第5 5章章Chapter 5Chapter 5Structured System Analysis and Design本章内容本章内容5.1 5.1 结构化方法的基本思想结构化方法的基本思想5.2 5.2 结构化分析概述结构化分析概述5.3 5.3 数据流分析技术数据流分析技术5.4 IDEF05.4 IDEF0分析技术分析技术5.5 5.5 逻辑分析工具逻辑分析工具5.6 5.6 系统设计概述系统设计概述5.7 5.7 结构化设计原理结构化设计原理5.8 5.8 模块化设计模块化设计5.9 5.9 面向数据

2、流的设计面向数据流的设计自顶向下、逐步求自顶向下、逐步求精;采用模块化技精;采用模块化技术、分而治之的方术、分而治之的方法;模块内部由顺法;模块内部由顺序、分支、循环基序、分支、循环基本控制结构组成;本控制结构组成;应用子程序实现模应用子程序实现模块化块化结构化方法的结构化方法的基本思想基本思想5.1 结构化方法的基本思想结构化方法由于采用了模块分解和功能抽象,结构化方法由于采用了模块分解和功能抽象,自顶向下、分而治之的手段,从而可以有效将自顶向下、分而治之的手段,从而可以有效将一个较复杂的系统分成若干易于控制和处理的一个较复杂的系统分成若干易于控制和处理的子系统,子系统又可以分解成更小的子任

3、务子系统,子系统又可以分解成更小的子任务结构化方法强调功能抽象和模块化结构化方法强调功能抽象和模块化5.1 结构化方法的基本思想结构化分析结构化分析结构化设计结构化设计5.1 结构化方法的基本思想n结构化方法的缺陷结构化方法的缺陷u分解与割裂分解与割裂u不同的分解线索导致系统结构的不同不同的分解线索导致系统结构的不同u不利于可重用部分的分析不利于可重用部分的分析5.1 结构化方法的基本思想本章内容本章内容5.1 5.1 结构化方法的基本思想结构化方法的基本思想5.2 5.2 结构化分析概述结构化分析概述5.3 5.3 数据流分析技术数据流分析技术5.4 IDEF05.4 IDEF0分析技术分析

4、技术5.5 5.5 逻辑分析工具逻辑分析工具5.6 5.6 系统设计概述系统设计概述5.7 5.7 结构化设计原理结构化设计原理5.8 5.8 模块化设计模块化设计5.9 5.9 面向数据流的设计面向数据流的设计n重点:重点:应用需求应用需求n任务:任务:确定用户对系统的应用要求确定用户对系统的应用要求 理解理解判断判断综合综合表达表达n工作内容:逐步导出新系统逻辑模型工作内容:逐步导出新系统逻辑模型u现行系统的逻辑模型现行系统的逻辑模型u新系统功能需求的逻辑描述新系统功能需求的逻辑描述u新系统的逻辑模型新系统的逻辑模型1、系统分析的任务、系统分析的任务5.2 结构化分析概述n作用:在用户与系

5、统设计人员之间起着桥梁与翻作用:在用户与系统设计人员之间起着桥梁与翻译的作用;变模糊为明确,变要求为方案译的作用;变模糊为明确,变要求为方案n职责:作为用户与设计人员的接口;从各种来源职责:作为用户与设计人员的接口;从各种来源收集数据,并综合出解决问题的方法;评价现行收集数据,并综合出解决问题的方法;评价现行的系统,并分析新系统;不断吸收先进的科学技的系统,并分析新系统;不断吸收先进的科学技术,并合理地加以应用;整理、起草文档术,并合理地加以应用;整理、起草文档2、系统分析员、系统分析员5.2 结构化分析概述n要点要点u独立客观:协调(双方利益的代表),合理独立客观:协调(双方利益的代表),合

6、理(需求与技术的结合)(需求与技术的结合)u知识与经验:看破、判断真实合理的需求知识与经验:看破、判断真实合理的需求u围绕总体思路,反映敏锐围绕总体思路,反映敏锐u交流技巧,消除沟通障碍交流技巧,消除沟通障碍2、系统分析员、系统分析员5.2 结构化分析概述n结构化分析方法就是用一组标准的准则和工具,结构化分析方法就是用一组标准的准则和工具,从事系统分析工作,并用来表达系统分析的工作从事系统分析工作,并用来表达系统分析的工作成果成果n阐述新系统能够阐述新系统能够“做什么做什么”,而不是关心,而不是关心“怎么怎么做做”3、结构化分析方法、结构化分析方法5.2 结构化分析概述n数据分析工具数据分析工

7、具u数据流图数据流图u数据字典数据字典u数据存储规范化数据存储规范化u数据立即存取图数据立即存取图n功能分析工具功能分析工具u决策树决策树u决策表决策表u结构式语言结构式语言nIDEF0IDEF04、结构化分析工具、结构化分析工具5.2 结构化分析概述本章内容本章内容5.1 5.1 结构化方法的基本思想结构化方法的基本思想5.2 5.2 结构化分析概述结构化分析概述5.3 5.3 数据流分析技术数据流分析技术5.4 IDEF05.4 IDEF0分析技术分析技术5.5 5.5 逻辑分析工具逻辑分析工具5.6 5.6 系统设计概述系统设计概述5.7 5.7 结构化设计原理结构化设计原理5.8 5.

8、8 模块化设计模块化设计5.9 5.9 面向数据流的设计面向数据流的设计数据流分析数据流分析n数据流分析(数据流分析(Data Flow AnalysisData Flow Analysis,简,简称称DFADFA)方法是一种以数据流技术为基础)方法是一种以数据流技术为基础的、自顶向下、逐步求精的系统分析方的、自顶向下、逐步求精的系统分析方法法5.3 数据流分析技术数据流分析数据流分析n数据流分析的核心特征是数据流分析的核心特征是“分解分解”和和“抽象抽象”n分解是指将一个复杂的问题按照内在的逻分解是指将一个复杂的问题按照内在的逻辑划分为若干个相对独立的子问题,从而辑划分为若干个相对独立的子问

9、题,从而简化复杂问题的处理简化复杂问题的处理n抽象就是将一些具有某些相似性质的事物抽象就是将一些具有某些相似性质的事物的公共之处概括出来,暂时忽略其不同之的公共之处概括出来,暂时忽略其不同之处,或者说,抽象是抽象出事物的本质特处,或者说,抽象是抽象出事物的本质特性而暂时不考虑它们的细节性而暂时不考虑它们的细节5.3 数据流分析技术数据流分析数据流分析 上图中,自顶向下的过程,即从顶层到上图中,自顶向下的过程,即从顶层到1 1层层再到再到2 2层的过程,我们称之为层的过程,我们称之为“分解分解”顶层顶层1层层2层层 上图中,自底向上的过程,即从上图中,自底向上的过程,即从2 2层到层到1 1层层

10、再到顶层的过程,我们称之为再到顶层的过程,我们称之为“抽象抽象”5.3 数据流分析技术数据流图数据流图n数据流图(数据流图(Data Flow DiagramData Flow Diagram,简称,简称DFDDFD)是结构化系统分析的主要工具,它能图)是结构化系统分析的主要工具,它能图形化地显示出系统中数据的使用,表达数据形化地显示出系统中数据的使用,表达数据在系统内部的逻辑流向以及系统的逻辑功能在系统内部的逻辑流向以及系统的逻辑功能和数据的逻辑变换和数据的逻辑变换n数据流图有四种基本符号:外部项、数据数据流图有四种基本符号:外部项、数据流、处理过程和数据存储流、处理过程和数据存储5.3 数

11、据流分析技术数据流图数据流图数据流数据流数据存储数据存储外部项外部项处理过程处理过程5.3 数据流分析技术数据流图数据流图n外部项(外部项(external entityexternal entity)是指不受系统)是指不受系统控制的,在系统以外的人、程序、机构或其控制的,在系统以外的人、程序、机构或其他实体,外部项与系统通过数据交互,表达他实体,外部项与系统通过数据交互,表达了该数据的外部来源或去处了该数据的外部来源或去处 确定系统的外部项,实际上就是确定系确定系统的外部项,实际上就是确定系统与外界的分界线统与外界的分界线5.3 数据流分析技术数据流图数据流图n数据流(数据流(data fl

12、owdata flow)就是一束按特定的方)就是一束按特定的方向从源点流到终点的数据,它指出了数据及向从源点流到终点的数据,它指出了数据及其流动方向其流动方向 对每一条数据流都要给予简单的描述对每一条数据流都要给予简单的描述5.3 数据流分析技术数据流图数据流图n处理过程(处理过程(processprocess)是对数据进行变换操)是对数据进行变换操作,即把流向它的数据进行一定的变换处理,作,即把流向它的数据进行一定的变换处理,产生出新的数据产生出新的数据n处理过程对数据的操作主要有两类:处理过程对数据的操作主要有两类:u变变换换数数据据的的结结构构,如如将将数数据据的的格格式式重重新新排列;

13、排列;u在在原原有有数数据据内内容容基基础础上上产产生生新新的的数数据据内内容,如对数据进行累计或计算平均值容,如对数据进行累计或计算平均值。5.3 数据流分析技术数据流图数据流图n数据存储(数据存储(data storedata store)指出了数据保存)指出了数据保存的地方的地方n这里所说的地方,并不指保存数据的物理这里所说的地方,并不指保存数据的物理地点或物理存储介质,而是数据存储的逻辑地点或物理存储介质,而是数据存储的逻辑描述描述5.3 数据流分析技术数据流图数据流图数据流的画法示例数据流的画法示例5.3 数据流分析技术数据流图的建立数据流图的建立自顶向下扩展自顶向下扩展n方法:先用

14、少数几个处理过程高度概括、方法:先用少数几个处理过程高度概括、抽象地描述整个系统的逻辑功能,然后针对抽象地描述整个系统的逻辑功能,然后针对处理过程逐步地分解、扩展,从而详细地加处理过程逐步地分解、扩展,从而详细地加以描述以描述数据流图可在不同的层次上描述,以表示系数据流图可在不同的层次上描述,以表示系统在该层的内容统在该层的内容5.3 数据流分析技术数据流图的建立数据流图的建立自顶向下扩展自顶向下扩展建立方法:建立方法: 决定系统或处理过程的范围,即通过决定系统或处理过程的范围,即通过输入、输出数据确定系统的边界或处理过输入、输出数据确定系统的边界或处理过程的范围程的范围 决决定定系系统统或或

15、处处理理过过程程内内部部的的细细节节,并并加以描述加以描述5.3 数据流分析技术数据流图的建立数据流图的建立自顶向下扩展自顶向下扩展示例:销售部门接到顾客送来的订货单后,示例:销售部门接到顾客送来的订货单后, 根据库存情况向用户发货根据库存情况向用户发货 订货单处理订货单处理 确定发货量确定发货量 开发货单及其相关处理开发货单及其相关处理 填写暂存订货单填写暂存订货单 对照暂存订货单对照暂存订货单5.3 数据流分析技术订货处理订货处理第第1层层DFD顾客顾客1销售处理销售处理订货单订货单发货单发货单库存帐库存帐5.3 数据流分析技术顾客顾客1.1验收订货单验收订货单订货单订货单库存帐库存帐1.

16、2确定发货量确定发货量合格订合格订货单货单1.3开发货单修开发货单修改库存改库存可发货的可发货的订货单订货单应收帐应收帐订货单存档订货单存档1.4填写暂存订填写暂存订货单货单1.5对照暂存订对照暂存订货单货单暂存订货单暂存订货单未满足的未满足的订货单订货单采购部门采购部门到货通知到货通知顾客顾客发货单发货单订货处理订货处理第第2层层DFD不合格不合格订货单订货单5.3 数据流分析技术数据流图的建立数据流图的建立建立原则建立原则建立原则:建立原则:n数据流图的建立过程必须遵循自顶向下、逐层数据流图的建立过程必须遵循自顶向下、逐层分解的原则分解的原则n分分层层的的数数据据流流图图总总是是由由顶顶层

17、层、中中间间层层和和底底层层组组成的(或:上下文图成的(或:上下文图+0+0级图级图+n+n级图)级图) :u顶层数据流图确定了系统的边界顶层数据流图确定了系统的边界u中中层层图图描描述述了了某某个个处处理理过过程程的的分分解解,而而它它的组成部分又要进一步被分解的组成部分又要进一步被分解u底层图描述的是无须分解的基本处理过程底层图描述的是无须分解的基本处理过程5.3 数据流分析技术n确定系统的外部项及系统正常运行时的输确定系统的外部项及系统正常运行时的输入与输出,在高层的数据流图中只反映主入与输出,在高层的数据流图中只反映主要的、正常的逻辑功能,突出系统的总体要的、正常的逻辑功能,突出系统的

18、总体情况情况n由外向里、从左到右地画数据流图,先在由外向里、从左到右地画数据流图,先在左侧画外部项,然后画出由该外部项产生左侧画外部项,然后画出由该外部项产生的数据流和其对应的处理过程,接收系统的数据流和其对应的处理过程,接收系统数据的外部项一般画在数据流图的右侧数据的外部项一般画在数据流图的右侧数据流图的建立数据流图的建立建立原则建立原则5.3 数据流分析技术n适当地命名及给出编号,有利于系统的理适当地命名及给出编号,有利于系统的理解。对处理过程的编号,随着逐层展开,解。对处理过程的编号,随着逐层展开,也应反映出它的层次关系也应反映出它的层次关系n应集中精力于主要的数据流,对一些诸如应集中精

19、力于主要的数据流,对一些诸如例外情况、出错处理等问题不必花较多精例外情况、出错处理等问题不必花较多精力分析下去,只需标出即可力分析下去,只需标出即可数据流图的建立数据流图的建立建立原则建立原则5.3 数据流分析技术n一个数据流图中所包含的处理过程应限在一个数据流图中所包含的处理过程应限在七个以内,经验证明,多于七个将会影响七个以内,经验证明,多于七个将会影响分解效果分解效果n数据流图逐层分解时,应在概念上合理、数据流图逐层分解时,应在概念上合理、清晰、自然,不影响图的易理解性。合理清晰、自然,不影响图的易理解性。合理的分解是将一个问题分成相对独立的几个的分解是将一个问题分成相对独立的几个部分,

20、减少相互之间的联系。分解应力求部分,减少相互之间的联系。分解应力求均匀,避免在同一张数据流图中,有些处均匀,避免在同一张数据流图中,有些处理过程描述的是细节,而另一些描述的却理过程描述的是细节,而另一些描述的却是较高层的抽象是较高层的抽象数据流图的建立数据流图的建立建立原则建立原则5.3 数据流分析技术n分解是处理功能的分解,我们称某一处理分解是处理功能的分解,我们称某一处理过程细化后的图是该处理的子图,该处理过程细化后的图是该处理的子图,该处理所在的图为子图的父图。子图与父图应保所在的图为子图的父图。子图与父图应保持输入与输出数据流的一致持输入与输出数据流的一致n随着数据流图的细化,图越来越

21、复杂,为随着数据流图的细化,图越来越复杂,为便于阅读和绘图,允许以父图和子图对应便于阅读和绘图,允许以父图和子图对应的方式分别绘图,也可以将几个子图绘制的方式分别绘图,也可以将几个子图绘制在一张图中。为保证各子图的整体性,子在一张图中。为保证各子图的整体性,子图之间应通过公共的数据存储联系起来图之间应通过公共的数据存储联系起来数据流图的建立数据流图的建立建立原则建立原则5.3 数据流分析技术n在数据流图中,数据存储的输入来源与输在数据流图中,数据存储的输入来源与输出去向不能是外部项,而只能是处理过程出去向不能是外部项,而只能是处理过程n数据流图与程序流程图不同。前者不反映数据流图与程序流程图不

22、同。前者不反映时间的顺序,只反映数据的流向、逻辑处时间的顺序,只反映数据的流向、逻辑处理和必要的逻辑数据存储;后者有严格的理和必要的逻辑数据存储;后者有严格的时间顺序,有起始点和终止点时间顺序,有起始点和终止点数据流图的建立数据流图的建立建立原则建立原则5.3 数据流分析技术n理解一个问题总要经过从不正确到正确,理解一个问题总要经过从不正确到正确,从不恰当到恰当的过程,系统分析人员要从不恰当到恰当的过程,系统分析人员要随时准备修改甚至抛弃旧的数据流图,而随时准备修改甚至抛弃旧的数据流图,而用更好的来替代。分析阶段重画几张图的用更好的来替代。分析阶段重画几张图的代价是小的,倘若草草了事,留下隐患

23、,代价是小的,倘若草草了事,留下隐患,那么到开发后期再去纠正,代价就太大了那么到开发后期再去纠正,代价就太大了n数据流图不反映判断和控制条件,不应在数据流图不反映判断和控制条件,不应在数据流图上出现表明控制逻辑的数据流数据流图上出现表明控制逻辑的数据流数据流图的建立数据流图的建立建立原则建立原则5.3 数据流分析技术n根据学校的教学计划,向选课的学生及时供应所需根据学校的教学计划,向选课的学生及时供应所需的教材的教材u审查学生(个人或班级)购书单的有效性,对有审查学生(个人或班级)购书单的有效性,对有效书单并且有库存的发售教材效书单并且有库存的发售教材u对暂时缺货的教材进行缺书登记对暂时缺货的

24、教材进行缺书登记n根据缺书登记补充采购所缺的教材,通知学生补购根据缺书登记补充采购所缺的教材,通知学生补购u将缺书登记表汇总为缺书单,由书库管理员采购将缺书登记表汇总为缺书单,由书库管理员采购u待购教材到货后,及时通知学生补购待购教材到货后,及时通知学生补购教材购销系统教材购销系统课堂练习课堂练习5.3 数据流分析技术教材购销系统教材购销系统顶层顶层DFDDFD课堂练习课堂练习5.3 数据流分析技术教材购销系统教材购销系统第二层(第二层(0 0级)级)DFDDFD课堂练习课堂练习5.3 数据流分析技术教材购销系统教材购销系统第三层第三层DFDDFD之销售子系统之销售子系统课堂练习课堂练习5.3

25、 数据流分析技术教材购销系统教材购销系统第三层第三层DFDDFD之采购子系统之采购子系统课堂练习课堂练习5.3 数据流分析技术n处理过程处理过程u不能只有输出,或只有输入不能只有输出,或只有输入u输入和输出不能完全相同输入和输出不能完全相同u用动词短语命名用动词短语命名n外部项外部项u数据流不能直接从一个外部项到另一个外部项,数据流不能直接从一个外部项到另一个外部项,必须通过处理过程必须通过处理过程u为了便于为了便于DFDDFD的布局,外部项可以重复出现的布局,外部项可以重复出现u用名词短语命名用名词短语命名数据流图的画图规则数据流图的画图规则5.3 数据流分析技术n数据存储数据存储u数据流不

26、能直接从一个数据存储到另一个数据存数据流不能直接从一个数据存储到另一个数据存储,必须通过处理过程储,必须通过处理过程u数据流不能直接从一个外部项到一个数据存储,数据流不能直接从一个外部项到一个数据存储,反之也不行,必须通过处理过程反之也不行,必须通过处理过程u为了便于为了便于DFDDFD的布局,数据存储可以重复出现的布局,数据存储可以重复出现u用名词短语命名用名词短语命名数据流图的画图规则数据流图的画图规则5.3 数据流分析技术n数据流数据流u只能单向只能单向u数据流不能直接流入它所流出的处理过程,必须数据流不能直接流入它所流出的处理过程,必须通过其他处理过程,产生新数据流的同时,将原通过其他

27、处理过程,产生新数据流的同时,将原数据流返回数据流返回u数据流进入数据存储表示更新,离开数据存储表数据流进入数据存储表示更新,离开数据存储表示检索示检索u用名词短语命名,一个数据流可以包括多项一起用名词短语命名,一个数据流可以包括多项一起流动的项目流动的项目数据流图的画图规则数据流图的画图规则5.3 数据流分析技术n数据流图中所有名字的定义及描述就构成了一数据流图中所有名字的定义及描述就构成了一本字典,它包括数据流、数据存储、外部项和本字典,它包括数据流、数据存储、外部项和处理过程的详细条目处理过程的详细条目n数据流、数据存储等数据流、数据存储等数据型数据型条目构成数据字典条目构成数据字典(d

28、ata dictionarydata dictionary)n逻辑分析的有关工具用于逻辑分析的有关工具用于处理型处理型条目条目n仅仅一套数据流图并不能构成系统说明书,只仅仅一套数据流图并不能构成系统说明书,只有当图中出现的每一个成分都给出详细定义之有当图中出现的每一个成分都给出详细定义之后,才能较全面地描述一个系统后,才能较全面地描述一个系统数据字典数据字典5.3 数据流分析技术n数据字典通过以数据项和数据结构的定义数据字典通过以数据项和数据结构的定义来描述数据流、数据存储的逻辑内容来描述数据流、数据存储的逻辑内容n数据字典是数据流图的辅助资料,对数据数据字典是数据流图的辅助资料,对数据流图起

29、注解作用。数据字典主要用于描述流图起注解作用。数据字典主要用于描述数据流和数据存储的逻辑内容,以及外部数据流和数据存储的逻辑内容,以及外部项和处理过程的某些数据特性项和处理过程的某些数据特性数据字典数据字典5.3 数据流分析技术数据字典数据字典5.3 数据流分析技术n数据流的定义有以下内容:数据流的定义有以下内容: 数据流的名称数据流的名称 数据流的简述数据流的简述 数据流的来源数据流的来源 数据流的去向数据流的去向 数据流的组成数据流的组成 数据流的流通量数据流的流通量 高峰时的高峰时的流通量流通量数据字典数据字典数据流数据流5.3 数据流分析技术数据流名称:选课单数据流名称:选课单简简 述

30、:学生填写并交给系里的所选课程列表述:学生填写并交给系里的所选课程列表数据流来源:学生数据流来源:学生数据流去向:数据流去向:“选课统计选课统计”过程过程数据流组成:学号数据流组成:学号 课程课程 教师教师 课程表课程表流流 通通 量:量:2020份份/ /天天高峰流通量:学期开始时,高峰流通量:学期开始时,100100份份/ /天天5.3 数据流分析技术n数据结构的定义有以下内容:数据结构的定义有以下内容: 数据结构的名称数据结构的名称 数据结构的组成数据结构的组成n数据结构数据结构用来定义数据项之间的组合关系,用来定义数据项之间的组合关系,是对数据的一种逻辑描述是对数据的一种逻辑描述数据字

31、典数据字典数据结构数据结构5.3 数据流分析技术数据结构名称:课程数据结构名称:课程简述:用于记录有关课程的基本信息简述:用于记录有关课程的基本信息组成:课程名组成:课程名 学时学时 学分学分 教材教材组织:按课程名顺序存放组织:按课程名顺序存放有关的数据流有关的数据流/ /数据结构:教师档案、教材表数据结构:教师档案、教材表有关的处理过程:排定课程表、教学查询有关的处理过程:排定课程表、教学查询示例示例数据字典数据字典数据结构数据结构5.3 数据流分析技术n数据项的定义有以下内容:数据项的定义有以下内容: 数据项的名称数据项的名称 数据项的值域数据项的值域 数据项的数据类型数据项的数据类型

32、数据项的长度数据项的长度n数据项是数据的最小组成单位,即不可再数据项是数据的最小组成单位,即不可再分的数据单位分的数据单位数据字典数据字典数据项数据项5.3 数据流分析技术n数据存储的定义有以下内容:数据存储的定义有以下内容: 数据存储的名称以及必要时所给的编号数据存储的名称以及必要时所给的编号 流入流入/ /流出的数据流流出的数据流 数据存储的组成,即它所包含的数据结构数据存储的组成,即它所包含的数据结构 数据字典数据字典数据存储数据存储5.3 数据流分析技术数据存储名称:学生成绩数据存储名称:学生成绩编号:编号:D20D20简述:记录学生所考各门课程的考试成绩简述:记录学生所考各门课程的考

33、试成绩流流入入的的数数据据流流:“考考试试成成绩绩单单”,来来源源是是“登登记记成成绩绩单单”处理过程处理过程流流出出的的数数据据流流:“成成绩绩”,去去向向是是“成成绩绩统统计计”处处理理过程过程数据存储的组成:学号数据存储的组成:学号 课程号课程号 成绩成绩5.3 数据流分析技术n处理过程的定义有以下内容:处理过程的定义有以下内容: 处理过程在数据流图中的名称、编号处理过程在数据流图中的名称、编号 对处理过程的简单描述对处理过程的简单描述 该处理过程的输入数据流、输出数据该处理过程的输入数据流、输出数据流及其来源与去向流及其来源与去向 其主要功能的简单描述其主要功能的简单描述n对处理过程中

34、具体操作的描述,不属于数据字对处理过程中具体操作的描述,不属于数据字典的范围,这里仅对处理过程的部分数据特性典的范围,这里仅对处理过程的部分数据特性作简单的描述作简单的描述数据字典数据字典处理过程处理过程5.3 数据流分析技术处理过程名称:编辑学生成绩单处理过程名称:编辑学生成绩单编号:编号:3.1.13.1.1简简述述:将将学学生生某某门门课课程程的的考考试试成成绩绩录录入入系系统统,并并产产生某学生已考课程的成绩单生某学生已考课程的成绩单输入:课程成绩单,来源为外部项输入:课程成绩单,来源为外部项“教师教师”处处理理:按按一一定定的的格格式式将将所所有有学学生生该该门门课课程程的的考考试试

35、成成绩绩一一次次录录入入“考考试试成成绩绩”数数据据存存储储,根根据据学学号号将将该该课课程程的的考考试试成成绩绩分分别别转转入入该该学学号号的的“成成绩绩单单”数据存储数据存储输输出出:考考试试成成绩绩,去去向向为为“成成绩绩单单”数数据据存存储储、“确定补考确定补考”处理过程处理过程5.3 数据流分析技术n外部项的定义有以下内容:外部项的定义有以下内容: 外部项的名称外部项的名称 对外部项的简述对外部项的简述 有关的数据流有关的数据流数据字典数据字典外部项外部项5.3 数据流分析技术外部项名称:财务处外部项名称:财务处简述:处理企业内部财务工作的职能部门简述:处理企业内部财务工作的职能部门

36、有关的数据流:工资单、成本、利润等有关的数据流:工资单、成本、利润等示例示例数据字典数据字典外部项外部项5.3 数据流分析技术n数据流图的修改与完善,将导致数据字典的数据流图的修改与完善,将导致数据字典的修改,这样才能保持数据字典的一致性和完修改,这样才能保持数据字典的一致性和完整性整性n数据字典的内容是随着数据流图自顶向下、数据字典的内容是随着数据流图自顶向下、逐层扩展而不断充实的逐层扩展而不断充实的数据字典数据字典的建立的建立5.3 数据流分析技术一是由人工将有关内容随时建立在一叠卡片一是由人工将有关内容随时建立在一叠卡片上,对卡片进行分类、排序,从而得到数上,对卡片进行分类、排序,从而得

37、到数据字典据字典数据字典的建立方式:数据字典的建立方式:数据字典数据字典的建立的建立二是使用自动化数据字典系统,由计算机来二是使用自动化数据字典系统,由计算机来代替人工登记、分类等工作代替人工登记、分类等工作5.3 数据流分析技术本章内容本章内容5.1 5.1 结构化方法的基本思想结构化方法的基本思想5.2 5.2 结构化分析概述结构化分析概述5.3 5.3 数据流分析技术数据流分析技术5.4 IDEF05.4 IDEF0分析技术分析技术5.5 5.5 逻辑分析工具逻辑分析工具5.6 5.6 系统设计概述系统设计概述5.7 5.7 结构化设计原理结构化设计原理5.8 5.8 模块化设计模块化设

38、计5.9 5.9 面向数据流的设计面向数据流的设计本章内容本章内容5.1 5.1 结构化方法的基本思想结构化方法的基本思想5.2 5.2 结构化分析概述结构化分析概述5.3 5.3 数据流分析技术数据流分析技术5.4 IDEF05.4 IDEF0分析技术分析技术5.5 5.5 逻辑分析工具逻辑分析工具5.6 5.6 系统设计概述系统设计概述5.7 5.7 结构化设计原理结构化设计原理5.8 5.8 模块化设计模块化设计5.9 5.9 面向数据流的设计面向数据流的设计n最基本的部分是处理的逻辑,即用户对这最基本的部分是处理的逻辑,即用户对这个处理过程的逻辑要求以及该过程的输出个处理过程的逻辑要求

39、以及该过程的输出数据流与输入数据流之间所具有的逻辑关数据流与输入数据流之间所具有的逻辑关系系n功能分析的任务是把数据流图中各个处理功能分析的任务是把数据流图中各个处理过程的功能加以详尽的说明,并精确地描过程的功能加以详尽的说明,并精确地描述用户要求一个处理过程述用户要求一个处理过程“做什么做什么”,这,这包括处理过程的激发条件、处理逻辑、容包括处理过程的激发条件、处理逻辑、容错处理等错处理等5.5 逻辑分析工具n处理过程中对数据的所谓处理和加工,一般包处理过程中对数据的所谓处理和加工,一般包括以下三个含义:括以下三个含义: 数学运算。对输入数据进行数学变换,数学运算。对输入数据进行数学变换,通

40、过数学工具予以表达(可精确表述)通过数学工具予以表达(可精确表述) 数据交换。与数据存储或外部实体进数据交换。与数据存储或外部实体进行信息交流(可精确表述)行信息交流(可精确表述) 逻辑判断。根据判别各种条件的结果,逻辑判断。根据判别各种条件的结果,执行不同的操作或采取不同的行动(不可精确执行不同的操作或采取不同的行动(不可精确表述)表述)5.5 逻辑分析工具n所以结构化系统分析方法采用了若干种决策分所以结构化系统分析方法采用了若干种决策分析工具,来对逻辑判断作出描述析工具,来对逻辑判断作出描述示例:某企业根据推销人员所推销出去产品的价示例:某企业根据推销人员所推销出去产品的价值来确定给予相应

41、的奖励,具体方法是,按照值来确定给予相应的奖励,具体方法是,按照推销出去的产品金额减去事先确定的推销指标推销出去的产品金额减去事先确定的推销指标为条件建立起三种不同的奖励政策为条件建立起三种不同的奖励政策 当超额部分大于或等于当超额部分大于或等于100000100000元,则奖元,则奖励超额的励超额的1%1% 5000050000元到元到9999999999元的奖励为元的奖励为0.8%0.8% 小于小于5000050000元的奖元的奖0.5%0.5% 若推销人员没有完成推销指标,则不予若推销人员没有完成推销指标,则不予奖励奖励5.5 逻辑分析工具5.5 逻辑分析工具决策树决策树条件条件条件条件

42、根根条件条件行动行动条件条件条件条件条件条件行动行动行动行动行动行动行动行动行动行动行动行动行动行动5.5 逻辑分析工具决策树(决策树(decision treesdecision trees)是一种图形,)是一种图形,它能顺序地表示出条件和行动,它也表它能顺序地表示出条件和行动,它也表示出各条件和所允许的行动的关系示出各条件和所允许的行动的关系决策树图形的左边是树根,决策树图形的左边是树根,它是决策序列的起点。紧跟它是决策序列的起点。紧跟着的是各个分支,它们依赖着的是各个分支,它们依赖于存在的条件和所作的决策于存在的条件和所作的决策 树中非叶结点代表条件树中非叶结点代表条件 树的叶结点表明要

43、采取树的叶结点表明要采取的行动的行动决策树决策树推销超额推销超额100000100000元元在本在本年度年度推销超额推销超额50000-50000-9999999999元元推销超额推销超额5000050000内内未完成推未完成推销指标销指标奖超额部分奖超额部分1%1%奖超额部分奖超额部分0.8%0.8%奖超额部分奖超额部分0.5%0.5%不予奖励不予奖励5.5 逻辑分析工具 当系统本身太复杂时,会存在许多当系统本身太复杂时,会存在许多步骤和组合条件的序列,结果树的规模变步骤和组合条件的序列,结果树的规模变得难以控制得难以控制 分支的数目太大和通过的路径太多,分支的数目太大和通过的路径太多,对分

44、析不但没有帮助而且会使分析人员束对分析不但没有帮助而且会使分析人员束手无策手无策n决策树的缺点:决策树的缺点:决策树决策树5.5 逻辑分析工具决策表决策表条件决策规则条件语句条件项行动语句行动项决策表(决策表(decision tabledecision table)是显示条件和行)是显示条件和行动的一个表格(行列矩阵),而不是树。决动的一个表格(行列矩阵),而不是树。决策表中还包括决策规则,它说明当某些条件策表中还包括决策规则,它说明当某些条件成立时,采取的该是什么行动成立时,采取的该是什么行动5.5 逻辑分析工具列出所有的列出所有的条件条件列出所有条列出所有条件取值组合件取值组合列出所有可

45、列出所有可能的行动能的行动列出每种条件列出每种条件取值组合应采取值组合应采取的行动取的行动决策表决策表5.5 逻辑分析工具决策表决策表5.5 逻辑分析工具决策表决策表5.5 逻辑分析工具决策表决策表示例示例v某工厂人事部门分配职工工作,原则如下:某工厂人事部门分配职工工作,原则如下:如果如果年龄年龄不满不满1818岁,岁,中学文化中学文化则则脱产学习脱产学习,文化程度文化程度高中高中则分配作则分配作电工电工;如果;如果1818岁但不岁但不满满4040岁,若文化程度为中学、高中,男性则岁,若文化程度为中学、高中,男性则当钳工,否则当车工。文化程度为大学,当当钳工,否则当车工。文化程度为大学,当技

46、术员。如果年满技术员。如果年满4040岁以上,文化程度是中岁以上,文化程度是中学、高中则当材料员,大学则当技术员。学、高中则当材料员,大学则当技术员。5.5 逻辑分析工具决策表决策表第一步:确定条件第一步:确定条件v性别性别(C(C1 1) )v年龄年龄(C(C2 2) )v文化程度文化程度(C(C3 3) )5.5 逻辑分析工具决策表决策表第二步:确定每一个条件的取值范围。第二步:确定每一个条件的取值范围。v性别性别(C(C1 1) ):男男(M)(M)、女、女(F)(F)v年龄年龄(C(C2 2) ):文满文满1818岁岁(C)(C)、1818到到4040岁岁(Y)(Y)、4040岁以上岁

47、以上(L)(L)v文化程度文化程度(C(C3 3) ):中学中学(P)(P)、高中、高中(S)(S)、大学、大学(U)(U)5.5 逻辑分析工具决策表决策表第三步:研究条件的可能组合第三步:研究条件的可能组合v若若m m为条件数,每个条件取为条件数,每个条件取Y/NY/N两个值,则条两个值,则条件组合数为:件组合数为:2*2*2 2*2*2 *2 = 2 *2 = 2m mv若条件若条件C C1 1,C,C2 2,C,C3 3, ,C,Cm m取值分别为取值分别为n n1 1,n,n2 2, ,n,nm m,则条件组合数为:,则条件组合数为:n n1 1*n*n2 2* *n*nm m。v本例

48、中,本例中,n n1 1=2=2、n n2 2=3=3、n n3 3=3=3,条件组合数为:,条件组合数为:2*3*3=182*3*3=185.5 逻辑分析工具决策表决策表第四步:研究有哪些动作(行动)第四步:研究有哪些动作(行动)v在本例中,一共有在本例中,一共有6 6个行动选择。个行动选择。脱产学习脱产学习(A(A1 1) )当电工当电工(A(A2 2) )当钳工当钳工(A(A3 3) )当车工当车工(A(A4 4) )当技术员当技术员(A(A5 5) )当材料员当材料员(A(A6 6) )5.5 逻辑分析工具决策表决策表用决策规则填表用决策规则填表( (填条件项,条件组合填条件项,条件组

49、合) )v按按1818种组合画出决策表格式种组合画出决策表格式v填入第一条件填入第一条件( (性别性别) )取值取值( 18 / 2 = 9 )( 18 / 2 = 9 )v填入第二条件填入第二条件( (年龄年龄) )取值取值( 9 / 3 = 3 )( 9 / 3 = 3 )v填入第三条件填入第三条件( (文化程度文化程度) )取值取值( 3 / 3 = 1 ( 3 / 3 = 1 ) )分析每种组合应采取的行动,在相应的位置画分析每种组合应采取的行动,在相应的位置画“X X”。5.5 逻辑分析工具决策表决策表C1:性别C2:年龄C3:文化程度M M M M M M M M M F F F

50、F F F F F FC C C Y Y Y L L L C C C Y Y Y L L LP S U P S U P S U P S U P S U P S U1 2 3 4 5 6 7 8 9 A B C D E F G H IA1:学习A2:电工A3:钳工A4:车工A5:技术员A6:材料员X X X X X X X X X X X X X X X X5.5 逻辑分析工具决策表决策表检查是否有遗漏。检查是否有遗漏。化简(合并)消除冗余化简(合并)消除冗余5.5 逻辑分析工具C1:性别C2:年龄C3:文化程度M M M M M M M M M F F F F F F F F FC C C Y

51、 Y Y L L L C C C Y Y Y L L LP S U P S U P S U P S U P S U P S U1 2 3 4 5 6 7 8 9 A B C D E F G H IA1:学习A2:电工A3:钳工A4:车工A5:技术员A6:材料员X X X X X X X X X X X X X X X X决策表决策表C1:性别C2:年龄C3:文化程度 - - - M M - - - - F F C C C Y Y Y L L L Y Y P S U P S U P S U P S 1/A 2/B 3/C 4 5 6/F 7/G 8/H 9/I D EA1:学习A2:电工A3:钳

52、工A4:车工A5:技术员A6:材料员 X X X X X X X X X X X5.5 逻辑分析工具决策表决策表C1:性别C2:年龄C3:文化程度 - - - M M - - - - F F C C C Y Y Y L L L Y Y P S U P S U P S U P S 1/A 2/B 3/C 4 5 6/F 7/G 8/H 9/I D EA1:学习A2:电工A3:钳工A4:车工A5:技术员A6:材料员 X X X X X X X X X X X5.5 逻辑分析工具决策表决策表C1:性别C2:年龄C3:文化程度- - - M M - - F F C C - Y Y L L Y Y P

53、S U P S P S P S 1 2 3 4 5 6 7 8 9A1:学习A2:电工A3:钳工A4:车工A5:技术员A6:材料员X X X X X X X X X5.5 逻辑分析工具决策表决策表优点:优点:v步骤清晰。步骤清晰。v对所有的条件组合一个不漏。对所有的条件组合一个不漏。v对于条件多、取值多,相应动作多的情况对于条件多、取值多,相应动作多的情况作决策时更为适用。作决策时更为适用。5.5 逻辑分析工具n结构式语言与自然语言的不同之处在于它结构式语言与自然语言的不同之处在于它只使用了极其有限的词汇和语句,与形式只使用了极其有限的词汇和语句,与形式语言的不同之处是它没有严格的语法规定语言

54、的不同之处是它没有严格的语法规定n结构式语言(结构式语言(structured languagestructured language)是介)是介于自然语言和形式语言之间的一种半形式于自然语言和形式语言之间的一种半形式化语言,实质上它是自然语言的一个受某化语言,实质上它是自然语言的一个受某些限制的子集些限制的子集结构式语言结构式语言5.5 逻辑分析工具n结构式语言使用的词汇主要有以下三类:结构式语言使用的词汇主要有以下三类: 祈使句中的动词祈使句中的动词 数据字典中已定义的名词数据字典中已定义的名词 常用的运算符、关系符等保留字常用的运算符、关系符等保留字结构式语言结构式语言n结构式语言只使用

55、以下几类语句:结构式语言只使用以下几类语句: 简单的祈使句简单的祈使句 判断语句判断语句 循环语句循环语句 上述三种语句的复合语句上述三种语句的复合语句5.5 逻辑分析工具n祈使语句明确地指出做什么事情,它至少祈使语句明确地指出做什么事情,它至少包括一个动词说明要执行的功能以及一个包括一个动词说明要执行的功能以及一个名词表示动作的对象名词表示动作的对象结构式语言结构式语言祈使语句祈使语句n例如,人们到书店去买书过程处理:例如,人们到书店去买书过程处理: 选择一本满意的书籍;选择一本满意的书籍; 携带该书到付款台;携带该书到付款台; 付款;付款; 盖付款标记;盖付款标记; 离开书店。离开书店。5

56、.5 逻辑分析工具结构式语言结构式语言判断语句判断语句一般形式如下:一般形式如下: 如果如果 条件条件 则则 行动行动A A(条件成立)(条件成立) 否则否则 行动行动B B(条件不成立)(条件不成立)5.5 逻辑分析工具 示例:判定学生考试成绩示例:判定学生考试成绩如果如果 成绩为成绩为90-10090-100分分 则评为则评为A A 否则否则 如果如果 80-8980-89分分 则评为则评为B B 否则否则 如果如果 70-7970-79分分 则评为则评为C C 否则否则 如果如果 60-6960-69分分 则评为则评为D D 否则否则 如果如果 5959分以下分以下 则评为则评为E E5

57、.5 逻辑分析工具又例:书店买书又例:书店买书 如果如果 找到想买的书找到想买的书 则则携带该书到付款台携带该书到付款台付款付款盖付款标记盖付款标记离开书店离开书店 否则否则 离开书店离开书店5.5 逻辑分析工具多种选择结构,使用选择多种选择结构,使用选择/ /情况词组,一般形式如下:情况词组,一般形式如下:结构式语言结构式语言判断语句判断语句 选择选择 合适的情况合适的情况 情况情况1 1:行动:行动A A 情况情况2 2:行动:行动B B 情况情况n n:行动:行动N N 否则:否则: 行动行动W W5.5 逻辑分析工具示例:判定学生考试成绩示例:判定学生考试成绩 选择选择 得分得分 90

58、90100100分:评为分:评为A A 80 808989分:分: 评为评为B B 70 707979分:分: 评为评为C C 60 606969分:分: 评为评为D D 59 59分以下:分以下: 评为评为E E5.5 逻辑分析工具循环语句是在某一条件存在时,重复执行相循环语句是在某一条件存在时,重复执行相同的行动,直至该条件不成立为止同的行动,直至该条件不成立为止结构式语言结构式语言循环语句循环语句一般形式如下:一般形式如下: 当当 条件条件 做做 行动行动A A5.5 逻辑分析工具示例:判考试卷示例:判考试卷 当当 还有未判试卷还有未判试卷 做做 判定试卷得分判定试卷得分 评定成绩等级评

59、定成绩等级 其其中中“评评定定成成绩绩等等级级”就就是是前前面面用用判判断断语语句描述过的行动句描述过的行动5.5 逻辑分析工具三种分析工具的比较三种分析工具的比较5.5 逻辑分析工具结论:结论: 对对一一个个不不太太复复杂杂的的逻逻辑辑判判断断,或或者者条条件件的的顺顺序序很很重重要要,或或者者不不是是每每个个条条件件都都与与每每个个行行动相关,使用决策树较好动相关,使用决策树较好 对对一一个个十十分分复复杂杂的的逻逻辑辑判判断断,并并且且需需要要考虑所有可能情况,使用决策表较好考虑所有可能情况,使用决策表较好 如如果果一一个个处处理理过过程程中中,既既包包含含顺顺序序结结构构,又又有有判判

60、断断和和循循环环逻逻辑辑的的时时候候,使使用用结结构构式式语语言言较好较好三种分析工具的比较三种分析工具的比较5.5 逻辑分析工具本章内容本章内容5.1 5.1 结构化方法的基本思想结构化方法的基本思想5.2 5.2 结构化分析概述结构化分析概述5.3 5.3 数据流分析技术数据流分析技术5.4 IDEF05.4 IDEF0分析技术分析技术5.5 5.5 逻辑分析工具逻辑分析工具5.6 5.6 系统设计概述系统设计概述5.7 5.7 结构化设计原理结构化设计原理5.8 5.8 模块化设计模块化设计5.9 5.9 面向数据流的设计面向数据流的设计系统设计(系统设计(System DesignSy

61、stem Design)就是为实现)就是为实现系统分析提出的系统逻辑模型所作的各种系统分析提出的系统逻辑模型所作的各种技术考虑和设计技术考虑和设计系统设计又称为系统的物理设计,即是系统设计又称为系统的物理设计,即是根据新系统逻辑模型建立系统的物理模型根据新系统逻辑模型建立系统的物理模型5.6 系统设计概述p 计算机系统及其它硬设备的选择计算机系统及其它硬设备的选择p 系统的分解与组织系统的分解与组织系统的分解与组织系统的分解与组织p 原始数据的组织和输入原始数据的组织和输入p 输出信息的方式和管理输出信息的方式和管理p 文件与数据库的组织和管理文件与数据库的组织和管理p 代码的设计与确定代码的

62、设计与确定p 通信网络的设计通信网络的设计p 系统的安全保密性设计系统的安全保密性设计p 系统实施计划系统实施计划p 其它其它系统设计的任务系统设计的任务5.6 系统设计概述p 更快、更准、更多地提供资料更快、更准、更多地提供资料p 更多、更细的处理功能更多、更细的处理功能p 更有效、更科学的管理方法更有效、更科学的管理方法系统设计的目标系统设计的目标 系系统统设设计计的的目目标标是是:在在保保证证实实现现逻逻辑辑模模型型的的基基础础上上,尽尽可可能能地地提提高高系系统统的的各各项项指指标标,即即系系统统的的运运行行效效率率、可可靠靠性性、可可修修改改性性、灵灵活活性性、通通用用性性和和实实用

63、用性性。正正确确划划分分人人工工处处理理与与计计算算机机处理。处理。5.6 系统设计概述 系统的运行效率包括三个方面的内容,即:系统的运行效率包括三个方面的内容,即: 处理能力处理能力指在单位时间内能够处理的事务指在单位时间内能够处理的事务 个数个数 处理速度处理速度指处理单个事务的平均时间指处理单个事务的平均时间 响应时间响应时间指从发出处理要求到给出回答所指从发出处理要求到给出回答所 用的时间用的时间系统设计的目标系统设计的目标运行效率运行效率 不不同同处处理理方方法法的的系系统统,其其运运行行效效率率有有不不同同的的含义。不同计算模式;对请求的不同响应方式含义。不同计算模式;对请求的不同

64、响应方式5.6 系统设计概述 影响系统运行效率的因素一般取决于:影响系统运行效率的因素一般取决于: 系统中硬件及其组织结构系统中硬件及其组织结构 计算机处理过程的设计质量计算机处理过程的设计质量中间文件的数量中间文件的数量文件的存取方法文件的存取方法子程序的安排及软件编制质量子程序的安排及软件编制质量系统设计的目标系统设计的目标运行效率运行效率5.6 系统设计概述 系系统统的的可可靠靠性性是是指指系系统统运运行行过过程程中中,抵抵抗抗异异常常情情况况(人人为为的的和和机机器器的的故故障障)的的干干扰扰、保保证证系系统正常工作的能力统正常工作的能力 软件可靠性:随着软件工具水平而提高软件可靠性:

65、随着软件工具水平而提高 硬件可靠性:冗余设计硬件可靠性:冗余设计系统设计的目标系统设计的目标可靠性可靠性 系系统统的的可可靠靠性性包包括括:检检、纠纠错错的的能能力力,对对错错误的容忍能力,排除错误的能力等误的容忍能力,排除错误的能力等5.6 系统设计概述 衡量系统可靠性的重要指标:衡量系统可靠性的重要指标: 平平均均故故障障间间隔隔时时间间(MTBFMTBF):指指平平均均的的系系统统前前后后两两次次发发生生故故障障的的时时间间,这这反反映映了了系系统统安全运行的时间安全运行的时间 平平均均维维护护时时间间(MTTRMTTR):指指发发生生故故障障后后平平均均每每次次所所用用的的修修复复时时

66、间间,它它反反映映系系统统可可维维护护性的好坏性的好坏系统设计的目标系统设计的目标可靠性可靠性5.6 系统设计概述 系统的有效性:系统的有效性: 系统的有效性系统的有效性 = MTBF / (MTBF+MTTR)= MTBF / (MTBF+MTTR)系统设计的目标系统设计的目标可靠性可靠性 提高系统可靠性的途径主要有:提高系统可靠性的途径主要有: 设计中尽可能地避免出错设计中尽可能地避免出错 对对可可能能出出现现的的错错误误,系系统统要要有有完完善善的的检检、纠错功能和对安全的考虑纠错功能和对安全的考虑 对可能的错误进行出错冗余设计对可能的错误进行出错冗余设计5.6 系统设计概述 系系统统的

67、的可可修修改改性性是是指指系系统统容容易易修修改改程程度度,没没有一个定量的标准,而是通过比较得出的结果有一个定量的标准,而是通过比较得出的结果系统设计的目标系统设计的目标可修改性可修改性 应应用用合合理理的的系系统统设设计计原原则则,能能够够对对系系统统的的可可修改性产生积极的影响。(系统分解的好坏)修改性产生积极的影响。(系统分解的好坏) 系系统统的的可可修修改改性性之之所所以以重重要要,是是因因为为一一个个系系统统从从设设计计到到建建成成运运行行,总总是是处处于于不不断断的的变变化化之之中,这就必然引起修改和维护中,这就必然引起修改和维护5.6 系统设计概述 这些变化包括:这些变化包括:

68、 系统需求和环境的变化系统需求和环境的变化 现代信息技术如计算机技术、管理决策现代信息技术如计算机技术、管理决策 方法等的发展方法等的发展 系统本身总是处于不断地完善之中,不系统本身总是处于不断地完善之中,不 适应或错误在所难免适应或错误在所难免系统设计的目标系统设计的目标可修改性可修改性5.6 系统设计概述 系系统统设设计计过过程程中中,始始终终要要明明确确应应用用计计算算机机处处理理和人工处理的界线和人工处理的界线系统设计的目标系统设计的目标划分计算机处理与人工处理划分计算机处理与人工处理 系统设计中要避免这样两种倾向:系统设计中要避免这样两种倾向: 一一味味地地追追求求计计算算机机处处理

69、理,将将许许多多只只能能由由人人完完成成的的工工作作交交计计算算机机去去干干,从从而而造造成成设设计计的的复杂和不够科学复杂和不够科学 把把本本该该由由计计算算机机完完成成的的工工作作交交由由人人去去处处理理,从从而而使使新新系系统统的的功功能能、性性能能以以及及用用户户的的目目标得不到体现标得不到体现5.6 系统设计概述 两种处理过程的不同特点:两种处理过程的不同特点: 处理速度不同。(阅卷;编目)处理速度不同。(阅卷;编目) 概念的精确程度不同。(涉及语义的工作)概念的精确程度不同。(涉及语义的工作) 对处理的信息的结构化程度要求不同对处理的信息的结构化程度要求不同 工作效率的稳定性不同工

70、作效率的稳定性不同 意外情形的处理意外情形的处理 费用的考虑费用的考虑系统设计的目标系统设计的目标划分计算机处理与人工处理划分计算机处理与人工处理5.6 系统设计概述 划分计算机处理与人工处理的基本原则是:划分计算机处理与人工处理的基本原则是: 复复杂杂的的科科学学计计算算,大大量量重重复复的的数数学学运运算算、统统计计、汇汇总总、报报表表、数数据据库库检检索索、分分类类、文文字字处处理理、图图形形图图象象基基本本处理、有关数据的采集、通信等应由计算机完成处理、有关数据的采集、通信等应由计算机完成 传传统统的的人人工工判判定定,目目前前没没有有成成熟熟的的技技术术可可以以应应用用,或代价太高,

71、则仍用人工处理或代价太高,则仍用人工处理 决决策策性性问问题题中中,计计算算机机尽尽可可能能提提供供决决策策依依据据,由由人人进行最后决策进行最后决策 设设计计人人机机接接口口,考考虑虑时时间间的的匹匹配配,代代码码的的统统一一、格格式的协调等式的协调等系统设计的目标系统设计的目标划分计算机处理与人工处理划分计算机处理与人工处理5.6 系统设计概述本章内容本章内容5.1 5.1 结构化方法的基本思想结构化方法的基本思想5.2 5.2 结构化分析概述结构化分析概述5.3 5.3 数据流分析技术数据流分析技术5.4 IDEF05.4 IDEF0分析技术分析技术5.5 5.5 逻辑分析工具逻辑分析工

72、具5.6 5.6 系统设计概述系统设计概述5.7 5.7 结构化设计原理结构化设计原理5.8 5.8 模块化设计模块化设计5.9 5.9 面向数据流的设计面向数据流的设计 历史沿革:历史沿革: 早早期期的的计计算算机机应应用用,由由于于受受到到硬硬、软软件件的的限限制制,只只是是编编制制了了一一些些简简单单程程序序,其其设设计计工工具是程序流程图具是程序流程图 计计算算机机技技术术的的发发展展及及领领域域的的不不断断扩扩大大与与复杂,使得程序流程图不能满足设计的需要复杂,使得程序流程图不能满足设计的需要 7070年年代代以以来来,出出现现了了多多种种设设计计方方法法,其其中中有有代代表表性性的

73、的是是结结构构化化设设计计方方法法、JacksonJackson方方法法、WarnierWarnier方法和方法和ParnasParnas方法方法结构化设计方法结构化设计方法5.7 结构化设计原理 设计思想:设计思想: 基基本本思思想想是是对对问问题题要要有有一一个个总总的的看看法法,由概括到具体、逐层分解问题由概括到具体、逐层分解问题 强强调调把把一一个个系系统统设设计计成成具具有有层层次次式式的的模模块块化化结结构构,并并且且用用一一组组标标准准的的准准则则和和工工具具帮帮助助系统设计人员确定组成系统的模块及相互关系系统设计人员确定组成系统的模块及相互关系结构化设计方法结构化设计方法5.7

74、 结构化设计原理 设计思想:设计思想: 结结 构构 化化 系系 统统 设设 计计 ( structured system design)方方法法体体现现了了自自顶顶向向下下、逐逐步步求求精精的的原原则则,采采用用先先全全局局后后局局部部、先先总总体体后后细细节节、先先抽抽象象后后具具体体等等过过程程开开发发系系统统,从从而而使使系系统统结结构构清清晰,可读性、可修改性、可维护性等指标优异晰,可读性、可修改性、可维护性等指标优异结构化设计方法结构化设计方法5.7 结构化设计原理 特点:特点: 对一个复杂的系统,应用自顶向下,逐步求精对一个复杂的系统,应用自顶向下,逐步求精 的方法予以分解和化简的

75、方法予以分解和化简 强调采用模块化的设计方法,并有一组基本设强调采用模块化的设计方法,并有一组基本设 计策略计策略 采用结构图的方式作为模块设计的工具采用结构图的方式作为模块设计的工具 有一组评价设计方案质量的标准及优化技术有一组评价设计方案质量的标准及优化技术结构化设计方法结构化设计方法5.7 结构化设计原理 重要内容:重要内容: (1)合合理理地地进进行行模模块块分分解解和和定定义义,使使一一个个复复杂系统的设计转化为若干种基本模块的设计杂系统的设计转化为若干种基本模块的设计 结构化设计的分解原则结构化设计的分解原则 把密切相关的子问题划归为系统的同一部分把密切相关的子问题划归为系统的同一

76、部分 把不相关的问题划归为系统的不同部分把不相关的问题划归为系统的不同部分结构化设计方法结构化设计方法5.7 结构化设计原理 重要内容:重要内容: (2)有有效效地地将将模模块块组组织织成成一一个个整整体体,从从而而体体现系统的设计功能现系统的设计功能 结结构构化化系系统统设设计计与与结结构构化化的的系系统统分分析析有有着着密密不不可可分分联联系系,它它是是以以系系统统的的逻逻辑辑模模型型和和数数据据流流图图为为基基础础,借借助助于于一一套套标标准准的的设设计计方方法法和和图图表表工工具具,通通过过自自顶顶向向下下或或自自底底向向上上的的方方法法,逐逐层层把把系系统统划划分分为为多多个个大大小

77、小适适当当、功功能能明明确、具有一定独立性的模块确、具有一定独立性的模块结构化设计方法结构化设计方法5.7 结构化设计原理 模模块块化化原原理理:依依据据系系统统是是由由元元素素和和结结构构组组成成,且且它它们们又又可可分分层层、分分类类的的思思想想,一一个个信信息息系系统统可可被被逐逐层层划划分分为为大大小小适适当当、功功能能明明确确独独立立且且容容易易实实现现的的模模块块,并并由由它它们的协调和组合去共同达到系统的设计目标们的协调和组合去共同达到系统的设计目标模块化原理模块化原理 模模块块化化原原理理(modularizationmodularization)的的基基本本思思想想是是可可分

78、分性性,即即最最大大限限度度地地降降低低系系统统设设计计的的复复杂杂性性,把把问问题题层层层层分分解解,直直到到容容易易解解决决为为止止。这这样样就就降降低低了了人人为为划划分分的的主主观观影影响响,增增强强了了问问题题的的客客观性观性5.7 结构化设计原理 信信息息隐隐蔽蔽原原理理是是指指导导人人们们按按信信息息相相关关度度划划分分模模块的一个原理块的一个原理信息隐蔽原理信息隐蔽原理 信信息息隐隐蔽蔽原原理理(information information hidinghiding)的的基基本本思思想想是是:在在一一定定规规模模和和条条件件的的限限制制下下,把把那那些些对对模模块块功功能能相

79、相关关度度最最大大的的信信息息(如如过过程程与与数数据据)分分在在一一个个模模块块内内,而而把把最最少少的的完完成成功功能能所所需需的的交交互互信信息息划划分分在在该该模模块块外外(接接口口)。换换言言之之,模模块块的的划划分分应应该该使使得得包包含含在在模模块块内内的的信信息息对对于于无需这些信息的模块是不可访问的无需这些信息的模块是不可访问的5.7 结构化设计原理 信信息息隐隐蔽蔽原原理理是是把把任任何何系系统统划划分分成成子子系系统统的的普普遍性原理遍性原理信息隐蔽原理信息隐蔽原理 信信息息隐隐蔽蔽原原理理的的好好处处是是:模模块块内内部部的的错错误误很很少可能传播到系统的其它模块少可能

80、传播到系统的其它模块 最最大大限限度度地地体体现现了了模模块块在在概概念念和和功功能能上上的独立性、相对完整性和封闭性的独立性、相对完整性和封闭性 给给系系统统结结构构和和模模块块的的实实现现、维维护护带带来来了了方便方便5.7 结构化设计原理时空等价原理时空等价原理 时空等价原理的含义:时空等价原理的含义: 从从理理论论上上讲讲,对对于于一一个个特特定定的的系系统统功功能能或或模模块块功功能能,既既可可由由硬硬件件模模块块去去完完成成,又又可可由由软件模块去完成,此即功能等价软件模块去完成,此即功能等价 硬硬件件有有耗耗费费空空间间但但速速度度快快的的属属性性,而而软软件有耗费时间但少耗费空

81、间的属性件有耗费时间但少耗费空间的属性 对对系系统统的的资资源源合合理理分分配配,使使同同一一功功能能由由耗耗费费时时空空最最少少的的模模块块或或子子系系统统去去承承担担。如如星星地地协协同同处处理理,移移动动计计算算,软软件件无无线线电电,软软件件固固化化等。等。5.7 结构化设计原理 运运用用时时空空等等价价原原理理划划分分硬硬、软软件件子子系系统统或或模模块块时时,必必须须按按系系统统与与环环境境的的约约束束条条件件在在系系统统硬硬、软软件件的的时时空空属属性性中中进进行行综综合合折折衷衷。此此时时,就就会会应用时空的另一个重要原理:时空权衡原理应用时空的另一个重要原理:时空权衡原理时空

82、等价原理时空等价原理 时时空空权权衡衡原原理理(space-time space-time tradeofftradeoff)是是指指:牺牺牲牲空空间间或或者者其其它它替替代代资资源源,通通常常都都可可以以减减少少时间代价。反之亦然时间代价。反之亦然5.7 结构化设计原理本章内容本章内容5.1 5.1 结构化方法的基本思想结构化方法的基本思想5.2 5.2 结构化分析概述结构化分析概述5.3 5.3 数据流分析技术数据流分析技术5.4 IDEF05.4 IDEF0分析技术分析技术5.5 5.5 逻辑分析工具逻辑分析工具5.6 5.6 系统设计概述系统设计概述5.7 5.7 结构化设计原理结构化

83、设计原理5.8 5.8 模块化设计模块化设计5.9 5.9 面向数据流的设计面向数据流的设计 定义:在软件角度,所谓模块(module)是指这样的一组程序语句(或描述),它包括输入与输出、逻辑功能描述、内部信息及其运行环境模块模块 输入与输出:从调用者处获得输入信息,经过模块本身的处理后,再把输出返送给调用者 逻辑功能:描述该模块能够做什么样的事情,具备什么样的功能 内部信息:模块执行的指令和在模块运行时所需要的属于该模块自己的数据 运行环境:模块的调用与被调用的关系5.8 模块化设计模块模块模块模块的特征的特征的特征的特征l抽象抽象抽象抽象l信息隐蔽信息隐蔽信息隐蔽信息隐蔽l其它其它其它其它

84、模块的特征模块的特征5.8 模块化设计 定定义义:把把系系统统划划分分为为若若干干个个模模块块,每每个个模模块块完完成成一一个个特特定定的的功功能能,然然后后将将这这些些模模块块汇汇集集起起来来组组成成一一个个整整体体(即即系系统统),可可以以完完成成指指定定的的功功能,满足问题的要求能,满足问题的要求模块化模块化5.8 模块化设计模块化模块化 设设对对于于两两个个问问题题P P1 1、P P2 2,C C(P P1 1)、C C(P P2 2)表表示示问问题题的的复复杂杂程程度度,而而E E(P P1 1)、E E(P P2 2)表表示示解解决问题所需的工作量。于是,如果决问题所需的工作量。

85、于是,如果 C C(P P1 1)CC(P P2 2)则则 E E(P P1 1)EE(P P2 2)一个有趣的规律是一个有趣的规律是 C C(P P1 1+ P+ P2 2) C C(P P1 1)+C+C(P P2 2)即即是是说说,如如果果一一个个问问题题由由两两个个问问题题组组合合而而成成,那那么么它它的的复复杂杂程程度度大大于于分分别别考考虑虑每每个个问问题题的的复复杂程度之和。于是杂程度之和。于是 E E(P P1 1+ P+ P2 2) E E(P P1 1)+E+E(P P2 2)5.8 模块化设计 推而广之,当一个系统有推而广之,当一个系统有n n个独立元素时,一般总有个独立

86、元素时,一般总有 C C(P P1 1+ P+ P2 2+ +P+Pn n) C C(P P1 1)+C+C(P P2 2)+ + C+ C(P Pn n)及及 E E(P P1 1+ P+ P2 2+ +P+Pn n) E E(P P1 1)+E+E(P P2 2)+ + E+ E(P Pn n) 这就是模块化的依据这就是模块化的依据模块化模块化5.8 模块化设计 能能否否认认为为,如如果果我我们们无无限限地地分分割割系系统统,最最终终将将导导致致最最基基本本模模块块的的设设计计非非常常容容易易,因因而而使使得得设设计系统的工作量非常小?计系统的工作量非常小?模块化模块化 这个结论是错误的这

87、个结论是错误的 当当模模块块数数目目增增加加时时,每每个个模模块块的的规规模模将将减减小小,开开发发单单个个模模块块所所需需的的成成本本(工工作作量量)确确实实减减少少了了,但但随随着着模模块块数数目目的的增增加加,设设计计模模块块间间接接口口的工作量也将增加的工作量也将增加 目标是尽量寻求一个合理的模块分解数目目标是尽量寻求一个合理的模块分解数目5.8 模块化设计5.8 模块化设计 好的好的系统结构满足:系统结构满足: 每每个个模模块块完完成成一一个个相相对对独独立立的的特特定定功功能能(保保证证了了按按模模块块分分解解后后的的设设计计工工作作量量将将小小于于按按整个系统设计的工作量)整个系

88、统设计的工作量) 模模块块之之间间的的接接口口简简单单(使使设设计计中中的的接接口口成本最小)成本最小)模块独立性模块独立性5.8 模块化设计 具具有有独独立立功功能能而而且且和和其其它它模模块块之之间间没没有有过过多多相相互互作作用用的的模模块块,我我们们称称之之为为独独立立的的模模块块。这这种种开发方法,就可以做到模块独立。开发方法,就可以做到模块独立。模块独立性模块独立性 所所谓谓两两个个模模块块彼彼此此完完全全独独立立,是是指指其其中中任任意意一一个个模模块块在在运运行行时时,与与另另一一个个模模块块的的存存在在与与否否完全无关。完全无关。 独立只是一个抽象的、相对的概念。独立只是一个

89、抽象的、相对的概念。5.8 模块化设计 模块独立的作用模块独立的作用: 具具有有独独立立性性的的系系统统比比较较容容易易开开发发,这这是是由由于于能能够够分分割割功功能能而而且且接接口口可可以以简简化化。系系统统开开发发常常常常由由若若干干人人的的分分工工合合作作完完成成的的,这这时时具具有有模模块块独独立立性性的的优优点点就就尤尤为为重要。重要。 模模块块的的独独立立性性越越好好,模模块块的的相相互互影影响响就就越越少少。当当系系统统中中某某一一模模块块出出错错时时,产产生生连连锁锁反反应应的的概概率率就就越越低低,从而提高了系统的可靠性。从而提高了系统的可靠性。 独独立立的的模模块块比比较

90、较容容易易测测试试和和维维护护。这这是是因因为为错错误误的的传传播播范范围围小小,较较容容易易定定位位,而而且且对对一一个个模模块块进进行行修修改或维护时,不担心其它模块的内部是否会受到影响。改或维护时,不担心其它模块的内部是否会受到影响。模块独立性模块独立性5.8 模块化设计 模模块块的的独独立立程程度度可可以以由由两两个个定定性性标标准准度度量量,这这两个分别称为耦合和聚合。两个分别称为耦合和聚合。模块独立性模块独立性 耦耦合合:度度量量不不同同模模块块彼彼此此间间互互相相依依赖赖(联结)的紧密程度。(联结)的紧密程度。 聚聚合合:衡衡量量一一个个模模块块内内部部各各个个元元素素彼彼此此结

91、合的紧密程度。结合的紧密程度。5.8 模块化设计 耦耦合合(coupling)强强弱弱取取决决于于模模块块间间联联结结形形式式及及接接口口的的复复杂杂程程度度。模模块块间间接接口口的的复复杂杂性性越越高高,说明联结的程度越高。说明联结的程度越高。模块独立性模块独立性耦合耦合 模模块块之之间间的的耦耦合合程程度度直直接接影影响响系系统统的的可可读读性性、可维护性及可靠性。可维护性及可靠性。 在系统设计中应尽可能追求松散耦合的系统。在系统设计中应尽可能追求松散耦合的系统。5.8 模块化设计 聚聚合合(cohesion)标标志志一一个个模模块块内内部部各各个个元元素素彼彼此此结结合合的的紧紧密密程程

92、度度,主主要要表表现现在在模模块块内内部部各各个个元元素素为为了了执执行行处处理理功功能能而而组组合合在在一一起起的的程程度。度。模块独立性模块独立性聚合聚合 希希望望系系统统中中的的每每个个模模块块具具有有高高度度的的聚聚合合性性,它它的的各各个个元元素素都都是是彼彼此此密密切切相相关关的的,是是为为完完成成一个共同的功能而结合在一起的。一个共同的功能而结合在一起的。 在系统设计中应尽可能追求高聚合的系统。在系统设计中应尽可能追求高聚合的系统。5.8 模块化设计 影影响响模模块块之之间间联联结结程程度度的的最最主主要要因因素素是是模模块块间间的联结形式。的联结形式。模块的耦合模块的耦合 模块

93、间的联结形式有模块间的联结形式有4 4种:种: 数据耦合数据耦合 控制耦合控制耦合 公共耦合公共耦合 内容耦合内容耦合5.8 模块化设计 如如果果两两个个模模块块彼彼此此间间通通过过参参数数交交换换信信息息,而而且且每每一一个个参参数数仅仅仅仅为为数数据据,那那么么这这种种耦耦合合称称之之为为数据耦合。数据耦合。模块的耦合模块的耦合数据耦合数据耦合 数数据据耦耦合合是是系系统统中中必必不不可可少少的的联联结结形形式式,它它是一种最低的耦合,是一种理想的模块联结。是一种最低的耦合,是一种理想的模块联结。 一一个个系系统统内内可可以以将将所所有有模模块块只只设设计计成成数数据据耦耦合。合。5.8

94、模块化设计模块的耦合模块的耦合数据耦合数据耦合A A数据信息数据信息C C数数据据信信息息B B 示例:示例:5.8 模块化设计 如如果果两两个个模模块块彼彼此此间间传传递递的的信信息息间间有有控控制制信信息息,那么这种耦合称之为控制耦合。那么这种耦合称之为控制耦合。模块的耦合模块的耦合控制耦合控制耦合 控控制制耦耦合合与与数数据据耦耦合合很很相相似似,只只不不过过传传递递参参数中一个仅仅为数据,而另一个含有控制信息。数中一个仅仅为数据,而另一个含有控制信息。 控控制制耦耦合合可可以以通通过过适适当当的的方方式式,如如模模块块的的再再分分解解,而而转转化化为为数数据据耦耦合合,但但在在某某些些

95、特特殊殊的的场场合下,控制耦合还有一定的必要。合下,控制耦合还有一定的必要。5.8 模块化设计模块的耦合模块的耦合控制耦合控制耦合A A控制信息控制信息C C数数据据信信息息B B 示例:示例:5.8 模块化设计 如如果果两两个个模模块块彼彼此此间间通通过过一一个个公公共共的的数数据据区区域域传传递递信信息息时时,称称之之为为公公共共耦耦合合或或公公共共数数据据域域耦耦合。合。模块的耦合模块的耦合公共耦合公共耦合 公公共共数数据据域域实实际际上上就就是是被被设设计计成成为为多多个个模模块块公用数据的区域。公用数据的区域。 公公共共耦耦合合是是一一种种不不好好的的联联结结形形式式,尤尤其其当当一

96、一个个公公共共数数据据区区域域被被多多个个模模块块共共同同使使用用时时,模模块块数越多,则其耦合的复杂度越大。数越多,则其耦合的复杂度越大。5.8 模块化设计模块的耦合模块的耦合公共耦合公共耦合 示例:示例:A AB BC CD DE EF F公共数公共数据区据区5.8 模块化设计 如如果果一一个个模模块块需需要要涉涉及及另另一一个个模模块块的的内内部部信信息息时,则这种耦合称内容耦合。时,则这种耦合称内容耦合。 一个模块访问另一个模块的内部数据;一个模块访问另一个模块的内部数据; 一个模块调用执行另一个模块中间的部分程序一个模块调用执行另一个模块中间的部分程序 代码;代码; 模块的出、入口不

97、符合单入单出。模块的出、入口不符合单入单出。模块的耦合模块的耦合内容耦合内容耦合 内内容容耦耦合合的的耦耦合合度度最最高高,因因此此应应该该坚坚决决避避免免使用这种耦合。使用这种耦合。5.8 模块化设计模块的耦合模块的耦合联结方式比较联结方式比较5.8 模块化设计 结论:结论: 模块间尽量使用数据耦合;模块间尽量使用数据耦合; 必要时才采用控制耦合;必要时才采用控制耦合; 对对公公共共耦耦合合应应限限制制耦耦合合的的模模块块数数(数数据库除外);据库除外); 坚决不用内容耦合。坚决不用内容耦合。模块的耦合模块的耦合5.8 模块化设计 模模块块内内部部的的紧紧凑凑性性主主要要表表现现在在一一个个

98、模模块块内内部部各各组成部分之间的联系。组成部分之间的联系。模块的聚合模块的聚合 模模块块间间的的聚聚合合有有7 7种种,我我们们追追求求模模块块的的功功能能聚聚合,这是因为此时模块具有最强的紧凑性。合,这是因为此时模块具有最强的紧凑性。 对对于于非非功功能能性性聚聚合合的的模模块块应应尽尽量量使使其其转转化化为为功功能能聚聚合合的的模模块块。通通常常只只需需对对模模块块的的结结构构作作一一番调整就可改进其紧凑性。番调整就可改进其紧凑性。5.8 模块化设计 如如果果一一个个模模块块所所要要完完成成的的动动作作之之间间没没有有任任何何关关系系,或或者者即即使使有有某某种种关关系系,也也是是非非常

99、常松松散散的的,就称之为偶然聚合。就称之为偶然聚合。模块的聚合模块的聚合偶然聚合偶然聚合 偶偶然然聚聚合合内内部部的的紧紧密密程程度度等等于于零零,无无法法将将其其作为一个独立的模块去理解。作为一个独立的模块去理解。 偶偶然然聚聚合合的的最最大大缺缺陷陷就就在在于于不不易易修修改改,此此外外,可读性也极低。可读性也极低。5.8 模块化设计 示例:示例: 当当设设计计模模块块A A、B B、C C时时,发发现现均均有有相相同同的的部部分分代代码码,则则把把抽抽出出作作为为一一模模块块。只只是是若若干干条条无无关关语语句句的的简简单拼凑,其本身与系统的数据流、控制流无关。单拼凑,其本身与系统的数据

100、流、控制流无关。模块的聚合模块的聚合偶然聚合偶然聚合5.8 模块化设计 如如果果一一个个模模块块内内部部的的各各个个组组成成部部分分在在逻逻辑辑上上具具有有相相似似的的处处理理动动作作,但但功功能能上上、用用途途上上却却彼彼此此无关,则称之为逻辑聚合。无关,则称之为逻辑聚合。模块的聚合模块的聚合逻辑聚合逻辑聚合 在在调调用用逻逻辑辑聚聚合合的的模模块块时时,必必须须完完全全知知道道该该模模块块的的内内部部属属性性。因因此此,它它和和其其它它模模块块之之间间具具备备有有相相当当复复杂杂的的耦耦合合,其其可可修修改改性性差差,维维护护困困难。难。5.8 模块化设计 示例:示例:模块的聚合模块的聚合

101、逻辑聚合逻辑聚合A AB BC CD DE EF FG GA AB BC CD DH H5.8 模块化设计 如如果果一一个个模模块块内内部部的的各各个个组组成成部部分分所所包包含含的的处处理理动动作作必必须须在在同同一一时时间间内内执执行行,则则称称之之为为时时间间聚合。聚合。模块的聚合模块的聚合时间聚合时间聚合 时时间间聚聚合合是是将将需需要要同同时时执执行行的的部部分分放放在在同同一一模块内。模块内。 时时间间聚聚合合模模块块的的紧紧凑凑性性也也较较低低,缺缺陷陷是是修修改改性性较较差差,维维护护较较困困难难。但但它它在在一一定定程程度度上上反反映映了了系统的某些实质,因此,比逻辑聚合要强

102、一些。系统的某些实质,因此,比逻辑聚合要强一些。5.8 模块化设计 如如果果一一个个模模块块内内部部各各个个组组成成部部分分所所要要完完成成的的动动作作彼彼此此间间没没什什么么关关系系,但但必必须须以以特特定定的的次次序序(控制流)执行,则称之为过程聚合。(控制流)执行,则称之为过程聚合。模块的聚合模块的聚合过程聚合过程聚合 过过程程聚聚合合模模块块常常是是由由程程序序流流程程图图直直接接演演变变过过来来,它它的的处处理理动动作作彼彼此此并并没没有有什什么么关关系系,但但在在同同一一控控制制流流支支配配下下汇汇集集在在一一个个模模块块中中。在在过过程程聚聚合合中中,次次序序是是唯唯一一重重要要

103、的的,这这种种次次序序可可能能是是顺序、判断或循环。顺序、判断或循环。 过程聚合较时间聚合等强,但可修改性不高。过程聚合较时间聚合等强,但可修改性不高。5.8 模块化设计 如如果果一一个个模模块块内内部部的的各各个个组组成成部部分分所所完完成成的的动动作作都都使使用用了了同同一一个个输输入入数数据据或或产产生生同同一一输输出出数数据,则称之为通信聚合。据,则称之为通信聚合。模块的聚合模块的聚合通信聚合通信聚合 通通信信聚聚合合的的模模块块与与其其它它模模块块间间的的联联系系较较简简单单,其其内内部部紧紧凑凑性性比比过过程程聚聚合合强强,但但它它的的各各部部分分的的执行次序可以是任意的,容易产生

104、重复的动作。执行次序可以是任意的,容易产生重复的动作。5.8 模块化设计 示例:示例: 模模块块A A、B B调调用用C C时时,使使用用文文件件编编号号作作为为参参数数调调用用,而而C C则则将将该该文文件件保保存存,并并予予以以打打印印,其其中中保保存存、打打印印均均是是针针对同一文件。这里对同一文件。这里C C就称为通信聚合模块。就称为通信聚合模块。模块的聚合模块的聚合通信聚合通信聚合A AB BC C5.8 模块化设计 对对一一个个模模块块内内部部的的各各组组成成部部分分,如如果果前前一一部部分分处处理理动动作作的的输输出出是是后后一一部部分分处处理理动动作作的的输输入入,则称之为顺序

105、聚合。则称之为顺序聚合。模块的聚合模块的聚合顺序聚合顺序聚合 顺顺序序聚聚合合模模块块的的紧紧凑凑性性比比较较高高,与与其其它它模模块块的的联联系系也也较较低低,通通常常根根据据数数据据流流图图划划分分模模块块时时,得到顺序聚合模块。得到顺序聚合模块。 顺顺序序聚聚合合比比通通信信聚聚合合好好。但但由由于于顺顺序序聚聚合合模模块块中中可可能能包包含含了了几几个个功功能能,也也可可能能仅仅为为某某个个功功能的一部分,因此比功能聚合模块要差一些。能的一部分,因此比功能聚合模块要差一些。5.8 模块化设计 示例:示例: 模模块块A A有有两两部部分分组组成成,一一部部分分为为读读入入,另另一一部部分

106、分为为编编辑辑。显显然然,读读入入部部分分将将其其输输出出数数据据作作为为编编辑辑部部分分的的输输入入,因此,因此,A A是顺序聚合模块。是顺序聚合模块。模块的聚合模块的聚合顺序聚合顺序聚合数据数据读入读入编辑编辑5.8 模块化设计 如如果果一一个个模模块块内内部部各各个个组组成成部部分分全全部部为为执执行行同同一一功功能能而而属属于于一一个个整整体体,则则称称之之为为功功能能聚聚合合模模块。块。模块的聚合模块的聚合功能聚合功能聚合 功功能能聚聚合合的的模模块块都都具具有有一一个个目目的的、有有单单一一的的功功能能,因因而而其其界界面面非非常常清清楚楚,与与其其它它模模块块的的联联系系低低,可

107、可读读性性、可可修修改改性性,维维护护性性、可可测测试试性性均很好。均很好。 应尽可能地追求功能聚合。应尽可能地追求功能聚合。5.8 模块化设计模块的聚合模块的聚合比较比较5.8 模块化设计 模模块块耦耦合合与与聚聚合合是是模模块块设设计计中中最最为为重重要要的的概概念念,尽尽可可能能地地降降低低模模块块之之间间的的耦耦合合程程度度和和提提高高模模块块内部的聚合程度是我们设计中的两项重要原则。内部的聚合程度是我们设计中的两项重要原则。若干其它设计原则和有益的建议若干其它设计原则和有益的建议 还还存存在在若若干干辅辅助助性性的的原原则则,同同时时在在不不断断地地反反复复实实践践与与思思考考的的基

108、基础础上上,人人们们在在信信息息系系统统的的设设计计中中积积累累了了大大量量的的经经验验,这这些些经经验验对对于于我我们们都都是极为有益的。是极为有益的。5.8 模块化设计 对对于于初初步步设设计计出出的的系系统统结结构构,应应该该仔仔细细地地分分析析与与审审查查,发发现现高高耦耦合合、低低聚聚合合的的模模块块,并并通通过过模模块块的的分分解解与与合合并并,改改进进系系统统结结构构,从从而而降降低低耦合、提高聚合。耦合、提高聚合。改进系统结构改进系统结构5.8 模块化设计改进系统结构改进系统结构 对对于于若若干干模模块块共共有有的的一一个个子子功功能能,应应当当将将其其独独立立抽抽出出,作作为

109、为一一个个新新的的模模块块可可被被前前述述的的模模块块所所调调用用。设设计计中中应应提提供供更更多多的的共共用用性性强强的的模块,从而简化程序设计工作。模块,从而简化程序设计工作。 尽可能地采用数据信息作为模块之间联尽可能地采用数据信息作为模块之间联系的媒介,可以通过分解等手段,将一些传递系的媒介,可以通过分解等手段,将一些传递控制信息或其它非数据信息的模块转化数据耦控制信息或其它非数据信息的模块转化数据耦合的模块。合的模块。 一般的方法有:一般的方法有:5.8 模块化设计改进系统结构改进系统结构 强强调调以以功功能能划划分分模模块块。每每一一模模块块尽尽量量做做到到只只有有单单一一的的功功能

110、能,对对于于复复杂杂的的模模块块应应从从功功能能的角度出发予以分解。的角度出发予以分解。 强强调调系系统统的的整整体体性性大大于于局局部部的的最最优优性性,不不片片面面追追求求系系统统中中每每一一模模块块最最优优设设计计,局局部部的的优化应服从整体的安排。优化应服从整体的安排。 一般的方法有:一般的方法有:5.8 模块化设计 系系统统的的深深度度(depth)表表示示系系统统结结构构中中的的控控制制层层数数,宽宽度度(width)则则表表示示控控制制的的总总分分布布,即即同一层次的模块总数的最大值。同一层次的模块总数的最大值。系统的深度与宽度系统的深度与宽度 一一般般情情况况下下,深深度度和和

111、宽宽度度标标志志着着一一个个系系统统的的大大小小和和复复杂杂程程度度,它它们们之之间间应应有有一一定定的的比比例例关关系系,即即深深度度和和宽宽度度均均要要适适当当。深深度度过过大大可可能能说说明明系系统统分分割割的的过过分分细细化化;宽宽度度过过大大,则则有有可可能能带来系统管理上的困难。带来系统管理上的困难。5.8 模块化设计 一一个个模模块块控控制制的的直直属属下下级级模模块块的的个个数数称称为为该该模模块块的的扇扇出出(Fan-Out);反反之之,一一个个模模块块的的直直接接上级模块的个数称模块的扇入(上级模块的个数称模块的扇入(Fan-In)。)。模块的扇出与扇入模块的扇出与扇入 模

112、模块块扇扇出出直直接接影影响响系系统统的的宽宽度度,模模块块的的扇扇入入通常说明模块的通用性情况。通常说明模块的通用性情况。5.8 模块化设计 示例:示例:模块的扇出与扇入模块的扇出与扇入A AB BC CE EF FD DG GH H5.8 模块化设计 一一个个模模块块的的规规模模不不可可过过大大,也也不不可可过过小小。过过大大的的模模块块常常常常是是系系统统分分解解的的不不充充分分,其其内内部部可可能能包包含含了了若若干干部部分分的的功功能能,使使模模块块聚聚合合降降低低,因因此此有有必必要要作作进进一一步步分分解解,即即把把原原有有的的模模块块变变成成若若干干功功能能尽尽可可能能单单一一

113、的的较较小小的的模模块块。但但分分解解也也必必须须适适度度,因因为为过过小小的的模模块块有有可可能能降降低低模模块块的的独立性,造成系统接口的复杂。独立性,造成系统接口的复杂。模块的规模模块的规模5.8 模块化设计 模模块块的的作作用用范范围围是是指指受受该该模模块块内内部部的的一一个个判判定定影影响响的的所所有有模模块块的的集集合合,只只要要某某一一模模块块中中含含有有一一些些依依赖赖于于这这个个判判定定的的操操作作,那那么么该该模模块块就就在在这这个个判判定定的的作作用用范范围围之之中中,如如果果整整个个模模块块的的全全部部操操作作都都受受该该判判定定的的影影响响,则则这这个个模模块块连连

114、同同它它的上级模块都在这个判定的作用范围内。的上级模块都在这个判定的作用范围内。模块的作用范围和控制范围模块的作用范围和控制范围 模模块块的的控控制制范范围围包包括括该该模模块块本本身身及及所所有有的的下下属模块的集合。属模块的集合。5.8 模块化设计 所所有有受受模模块块M M 的的一一个个判判定定影影响响的的模模块块应应从从属属于于模模块块M M,即即对对任任何何一一个个内内部部存存在在判判定定调调用用逻逻辑辑的的模模块块,其其作作用用范范围围应应是是其其控控制制范范围围的的子子集。集。 受受模模块块M M判判定定影影响响的的模模块块,最最好好局局限限在在模模块块M M本本身身或或其其直直

115、属属下下级级模模块块,即即作作出出判判定定的的模模块块与与属属于于该该判判定定作作用用范范围围的的模模块块在在系系统统的的层层次次上不能相隔过远,否则会增大模块间的耦合。上不能相隔过远,否则会增大模块间的耦合。 一一个个“好好”的的系系统统设设计计中中,对对于于模模块块的的控控制制范围和作用范围,存在着下面两条规则:范围和作用范围,存在着下面两条规则:模块的作用范围和控制范围模块的作用范围和控制范围5.8 模块化设计 示示例例:设设模模块块B B作作出出的的判判定定影影响响到到模模块块E E和和模模块块C C,而而模块模块C C又不在又不在B B的控制范围内,的控制范围内,这样的结构难以理解。

116、这样的结构难以理解。模块的作用范围和控制范围模块的作用范围和控制范围A AC CD DB BE EF FG G5.8 模块化设计 将将作作判判定定的的模模块块合合并并到到它它的的调调用用模模块块中中或把判定上移到足够高的位置。或把判定上移到足够高的位置。 将将受受判判定定影影响响的的模模块块下下移移到到作作判判定定模模块块的控制范围内。的控制范围内。 如如果果发发现现模模块块的的作作用用范范围围不不在在其其控控制制范范围围内内,可进行下述的改进:可进行下述的改进:模块的作用范围和控制范围模块的作用范围和控制范围5.8 模块化设计 示例:示例:前前图中的模块图中的模块C C可移到模块可移到模块B

117、 B下。下。模块的作用范围和控制范围模块的作用范围和控制范围A AC CD DB BE EF FG G5.8 模块化设计 应应该该设设计计单单入入口口、单单出出口口的的模模块块,从从而而不不使使模模块块间间出出现现内内容容耦耦合合;一一个个模模块块,应应设设计计成成“暗暗盒盒”形形式式,只只完完成成一一个个单单独独的的子子功功能能,这这就就使使得得模模块块内内部部有有很很强强的的聚聚合合;模模块块的的接接口口设设计计简简单单,若若接接口口复复杂杂,则则有有可可能能存存在在高高耦耦合合、低低聚聚合。合。其它有益的建议其它有益的建议 “具体问题具体分析具体问题具体分析”5.8 模块化设计本章内容本

118、章内容5.1 5.1 结构化方法的基本思想结构化方法的基本思想5.2 5.2 结构化分析概述结构化分析概述5.3 5.3 数据流分析技术数据流分析技术5.4 IDEF05.4 IDEF0分析技术分析技术5.5 5.5 逻辑分析工具逻辑分析工具5.6 5.6 系统设计概述系统设计概述5.7 5.7 结构化设计原理结构化设计原理5.8 5.8 模块化设计模块化设计5.9 5.9 面向数据流的设计面向数据流的设计 结构化设计实际上是一种面向数据流的设计(Data FlowOriented Design,简称DFOD),它是与数据流分析对应的系统设计技术。 面向数据流的设计方法是由L. Constan

119、tine和E. Yourdon等人首先提出的,强调用一组标准的准则和工具来构造、描述系统。 它根据数据流图特性定义两种“映射”,这两种映射能机械地将数据流图转换为模块结构图。5.9 面向数据流的设计 结结构构图图是是一一种种强强有有力力的的图图形形表表达达工工具具,它它可可用用于于表表达达系系统统内内部部各各部部分分的的结结构构和和相相互互关关系系,是进行系统结构设计的最常用的方法。是进行系统结构设计的最常用的方法。 在结构图中,常用的有在结构图中,常用的有6 6种符号。种符号。结构图结构图5.9 面向数据流的设计结构图结构图表示模块表示模块表示模块之间的调用关系表示模块之间的调用关系表示模块

120、之间的数据传递关系表示模块之间的数据传递关系表示模块之间的控制传递关系表示模块之间的控制传递关系表示一个模块包含的循环调用功能表示一个模块包含的循环调用功能表表示示一一个个模模块块内内部部包包含含的的判判定定处处理理逻辑逻辑5.9 面向数据流的设计 示示例例:某某财财务务系系统统中中审审核核凭凭证证处处理理过过程程的的数数据据流流图图。用用户户向向系系统统输输入入需需要要审审核核的的凭凭证证编编号号,系系统统从从财财务务数数据据库库中中自自动动读读取取该该凭凭证证号号下下的的记记录录,并并予予以以审审核核,然然后后显显示审核结果。示审核结果。结构图结构图用户用户输入凭输入凭证号证号取得数取得数

121、据记录据记录审核审核数据库数据库正确凭证正确凭证错误凭证错误凭证5.9 面向数据流的设计 示例:示例:凭证审核处理过程模块结构图。凭证审核处理过程模块结构图。结构图结构图凭证审核凭证审核输凭证号输凭证号读取数据读取数据审核审核输出结果输出结果凭证号凭证号凭证号凭证号数据数据数据数据结果结果结果结果5.9 面向数据流的设计 结构图与数据流图有着本质的区别:结构图与数据流图有着本质的区别: 数据流图反映的是系统的逻辑模型,是从数据在系统中的流动情况来考虑系统的;结构图则是描述系统的物理模型及系统的功能是怎样逐步完成的,它从系统的功能层次上来考虑系统。 结构图并没有严格地表示模块的调用次序,而只表明

122、模块的调用关系。 结构图也不指明上级模块在什么时候调用下层模块。结构图结构图5.9 面向数据流的设计 DFDDFD一般可归纳为两种典型的结构:一般可归纳为两种典型的结构:设计过程设计过程变换流与事务流变换流与事务流 变换流变换流 事务流事务流5.9 面向数据流的设计 在在基基本本系系统统模模型型(即即顶顶层层数数据据流流图图)中中,数数据据通通常常以以“外外部部世世界界”所所具具有有的的形形式式进进入入系系统统,经过处理后又以这种形式离开系统。经过处理后又以这种形式离开系统。 变变换换流流是是一一种种近近似似线线性性结结构构,可可明明显显地地划划分分为输入、处理、输出三个部分。为输入、处理、输

123、出三个部分。设计过程设计过程变换流变换流5.9 面向数据流的设计 示例:示例: 设计过程设计过程变换流变换流数据数据输入流输入流 输出流输出流外部外部表示表示变换流变换流数据数据内部内部表示表示 逻辑输出逻辑输出时间时间逻辑输入逻辑输入5.9 面向数据流的设计 事事务务流流实实际际上上是是以以某某项项业业务务为为基基本本数数据据单单元元来来触触发发事事务务中中心心,并并由由该该中中心心辐辐射射出出许许多多条条动动作路径,但每次仅沿一条路径流动的数据流。作路径,但每次仅沿一条路径流动的数据流。 通常系统中的数据均采用变换流分析。通常系统中的数据均采用变换流分析。设计过程设计过程事务流事务流5.9

124、 面向数据流的设计 示例:示例:事务事务事务中心事务中心T T 动作路径动作路径设计过程设计过程事务流事务流5.9 面向数据流的设计 DFOD方法能方便地将数据流图转换为模块结构图,其过程分为五步: 确定数据流的类型; 划定转换的边界; 将数据流图映射成基本的模块结构图; 分层求精模块结构图; 应用模块设计和优化准则,优化模块结构图。设计过程设计过程设计步骤设计步骤5.9 面向数据流的设计 DFODDFOD设计过程:设计过程:精化数据流图精化数据流图流的类型流的类型找出变换中心找出变换中心找出事务中心找出事务中心映射为变换结构映射为变换结构映射为事务结构映射为事务结构导出模块结构导出模块结构优

125、化模块结构优化模块结构检查检查设计过程设计过程设计步骤设计步骤5.9 面向数据流的设计 一一个个实实际际系系统统的的数数据据流流图图是是变变换换流流和和事事务务流流两种类型的混合体。两种类型的混合体。输入输入输出输出变换中心变换中心事务中心事务中心设计过程设计过程设计步骤设计步骤5.9 面向数据流的设计 变变换换分分析析(transform transform analysisanalysis)就就是是从从变变换换型型数数据据流流图图映映射射出出模模块块结结构构图图的的过过程程,也也称称为为以变换为中心的设计。以变换为中心的设计。 运运用用变变换换分分析析方方法法,首首先先根根据据数数据据流流

126、图图上上的的处处理理框框,找找出出主主要要处处理理功功能能,即即变变换换中中心心,把把数数据据流流图图划划分分为为输输入入、处处理理、输输出出三三大大部部分分,从从而而得得到到结结构构图图的的第第一一层层模模块块分分解解图图。通通过过对对该该图图做做进进一一步步的的分分解解和和优优化化,便便可可获获得得系系统统的的最终模块结构图。最终模块结构图。变换分析变换分析5.9 面向数据流的设计变换分析变换分析变换变换输出输出输入输入中心中心(a a)(b b)变换处理变换处理输入输入处理处理输出输出 变换分析的一般形式:变换分析的一般形式:5.9 面向数据流的设计 变换分析方法主要由以下三个步骤组成:

127、变换分析方法主要由以下三个步骤组成: 分分析析数数据据流流图图,确确定定它它的的主主要要处处理理(中中心变换)、输入和输出功能;心变换)、输入和输出功能; 设计上层模块;设计上层模块; 设计输入、输出和变换中心的下层模块。设计输入、输出和变换中心的下层模块。变换分析变换分析5.9 面向数据流的设计 从从物物理理输输入入端端开开始始,沿沿着着每每一一个个由由数数据据源源传传入入的的数数据据流流的的移移动动方方向向进进行行跟跟踪踪,或或者者逐逐步步向向中中心心移移动动,直直到到数数据据流流不不再再被被看看作作系系统统的的输输入入为为止止,这时,它的前一个数据流就称为逻辑输入。这时,它的前一个数据流

128、就称为逻辑输入。变换分析变换分析确定中心变换与输入输出确定中心变换与输入输出 从从物物理理输输出出端端开开始始,逐逐步步向向系系统统的的中中间间移移动动,直直到到找找出出离离物物理理输输出出端端最最远远的的,但但仍仍可可看看作作是是系系统的输出的那个数据流,此数据流即为逻辑输出。统的输出的那个数据流,此数据流即为逻辑输出。 找找出出系系统统的的中中心心变变换换,即即位位于于逻逻辑辑输输入入和和逻逻辑辑输出之间的处理功能。输出之间的处理功能。5.9 面向数据流的设计 示示例例:根根据据用用户户输输入入的的编编码码修修改改帐帐目目的的数数据据流流图图,显显然,然,“修改帐目修改帐目”为中心变换。为

129、中心变换。用户用户输入修输入修改内容改内容查找帐目查找帐目修改帐目修改帐目重新排列重新排列编码表编码表帐目文件帐目文件变换分析变换分析确定中心变换与输入输出确定中心变换与输入输出5.9 面向数据流的设计 确定了变换中心实际上就决定了系统结构的“顶”。系统的上层模块分两层,顶层是个主模块,主模块的下层(第一层)由输入部分、变换中心部分和输出部分组成。变换分析变换分析上层模块的设计上层模块的设计 设计结构的第一层:为每一个逻辑输入设计一个输入模块,它的功能是向主模块输入数据;为每一个逻辑输出设计一个输出模块,它的功能是将主模块提供的数据输出;对变换中心部分中的每个变换设计一个变换模块,它的功能是接

130、收输入数据,进行变换,然后输出。5.9 面向数据流的设计 示例:示例:根据据流图画出第一张结构图。根据据流图画出第一张结构图。修改帐目修改帐目获得输入获得输入修改帐目修改帐目输出输出写帐目文件写帐目文件内容内容内容内容帐目记录帐目记录变换分析变换分析上层模块的设计上层模块的设计5.9 面向数据流的设计 设计下层模块的工作实际上是自顶向下、逐步细化上层模块的过程。要充分运用我们前面已讲述过的模块设计原则和经验。变换分析变换分析设计输入输出和变换中心的下层模块设计输入输出和变换中心的下层模块 设计方法:设计输入输出部分的下层模块:为每一输入(出)模块设计两个下层模块,数据输入(出)和变换模块。设计

131、变换模块的下层设计变换模块的下层没有一定的规则可遵循,应用模块设计原则来考虑每一变换的分解。5.9 面向数据流的设计 示例:示例:在前图基础上画出的比较合理的结构图。在前图基础上画出的比较合理的结构图。变换分析变换分析设计输入输出和变换中心的下层模块设计输入输出和变换中心的下层模块修改帐目修改帐目获得数据获得数据修改修改输出输出写帐目文件写帐目文件帐目记录帐目记录修改后数据修改后数据检索记录文件检索记录文件输入输入变换数据形式变换数据形式显示或打印显示或打印修改内容修改内容编码编码帐目记录帐目记录输出内容输出内容5.9 面向数据流的设计 所所谓谓一一件件事事务务,实实际际上上是是指指一一组组数

132、数据据或或事事件件流入系统,并引起一组处理动作。流入系统,并引起一组处理动作。 事事务务分分析析(transaction transaction analysisanalysis)就就是是对对事事务务型型结结构构的的数数据据流流图图进进行行变变换换,从从而而导导出出标标准准的的结结构构图图的的一一种种方方法法,它它是是结结构构系系统统设设计计中中另一项主要设计策略。另一项主要设计策略。事务分析事务分析5.9 面向数据流的设计 一个大的系统一般是变换型结构和事务型结构的混合体,往往需要同时采用变换分析和事务分析。 通常以变换分析为主,事务分析为辅设计: 找出输入、输出及事务中心,设计系统结构图的

133、上层; 根据数据流图各部分的结构特点适当地运用变换分析或事务分析方法,得出初始模块结构图; 优化处理,导出系统最终模块结构图。事务分析事务分析5.9 面向数据流的设计 示例:示例:主模块、事务处理模块、操作模块、细节模块。主模块、事务处理模块、操作模块、细节模块。事务分析事务分析事务分析事务分析分析事务类型分析事务类型分配事务类型分配事务类型处理事务处理事务A处理事务处理事务B处理事务处理事务C处理处理1处理处理25.9 面向数据流的设计一般,事务分析具有如下的步骤: 识别事务源 确定适当的事务型结构 确定各种事务及相应的处理 合理建立公用模块 对每一类型的事务,建立一个事务处理模块 对事务处

134、理模块,建立直属于该事务处理的下级模块(操作模块) 为操作模块设计其全部的细节模块事务分析事务分析5.9 面向数据流的设计 示例:示例:企业销售子系统数据流图。企业销售子系统数据流图。事务分析事务分析顾客顾客获得销售获得销售信息信息确定信息确定信息类型类型按日期按日期统计统计分析销售分析销售时间分布时间分布按地区按地区统计统计分析销售分析销售地区分布地区分布按顾客按顾客统计统计分析销售分析销售顾客分布顾客分布按产品按产品统计统计分析销售分析销售产品分布产品分布分析经过分析经过处理处理5.9 面向数据流的设计 示例:示例:企业销售子系统的事务型结构图。企业销售子系统的事务型结构图。事务分析事务分

135、析销售分析销售分析获得销售获得销售信息类型信息类型调度处理调度处理编辑销编辑销售信息售信息分析信分析信息类型息类型按日期按日期统计统计按地区按地区统计统计按顾客按顾客统计统计按产品按产品统计统计分析时分析时间分布间分布分析地分析地区分布区分布分析顾分析顾客分布客分布分析产分析产品分布品分布5.9 面向数据流的设计 初初始始结结构构图图的的导导出出,并并不不意意味味着着系系统统模模块块设设计的完结,还存在着大量改进的优化工作。计的完结,还存在着大量改进的优化工作。 改进初始设计一般应:改进初始设计一般应: 检查初始设计方案检查初始设计方案 优化方案优化方案设计优化设计优化5.9 面向数据流的设计 着重检查以下几个方面: 系统的结构(系统的深度与宽度、模块的扇出扇入及模块的作用范围与控制范围等) 模块之间的耦合度(模块之间联系的方式) 模块内部的聚合度(内部紧凑性) 系统的性能(可读性、可维护性、可修改性及可靠性)设计优化设计优化检查初始设计方案检查初始设计方案5.9 面向数据流的设计 具有最佳设计的,但不能工作的系统是糟糕的; 系统全局的优化远远超过局部的优化; 简单而又有能满足所有功能性能要求的设计方案,意味着系统实现方案运行高效、可靠性高; 可读性、可维护性、可修改性好的系统具有更强的生命力。设计优化设计优化解决的办法解决的办法5.9 面向数据流的设计

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号