当前位置: > 财经>正文

4.2 面向过程的设计:流程图

2023-07-15 01:57:43 互联网 未知 财经
面向过程的设计4.2 面向过程的总体设计

结构化的总体设计方法

•首先研究、分析和审查数据流图。 从软件的需求规格说明中弄清数据流加工的过程,对于发现的问题及时解决。

•然后根据数据流图决定问题的类型。数据处理问题典型的类型有两种:变换型和事务型。针对两种不同的类型分别进行分析处理。

•由数据流图推导出系统的初始结构图。

•利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。【系统结构图】

•修改和补充数据词典。

在系统结构图中的模块

▪传入模块 ─ 从下属模块取得数据,经过某些处理,再将其传送给上级模块。它传送的数据流叫做逻辑输入数据流。

▪传出模块 ─ 从上级模块获得数据,进行某些处理,再将其传送给下属模块。它传送的数据流叫做逻辑输出数据流。

▪变换模块 ─ 它从上级模块取得数据,进行特定的处理,转换成其它形式,再传送回上级模块。它加工的数据流叫做变换数据流。

▪协调模块 ─ 对所有下属模块进行协调和管理的模块。

变换型系统结构图

▪变换型数据处理问题的工作过程大致分为三步,即取得数据,变换数据和给出数据。

▪相应于取得数据、变换数据、给出数据,变换型系统结构图由输入、中心变换和输出等三部分组成。

一般对应四个节点:取得输入、变换节点、取得输出、给出输出。其中“取得输出”是中心节点,另三个节点都有可能与其他变换结构的节点合并。

事务型系统结构图

它接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。

在事务型系统结构图中,事务中心模块按所接受的事务的类型,选择某一事务处理模块执行。各事务处理模块并列。每个事务处理模块可能要调用若干个操作模块,而操作模块又可能调用若干个细节模块。

变换与事务分析在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能。这种数据流就叫做事务。与变换分析一样,事务分析也是从分析数据流图开始,自顶向下,逐步分解,建立系统结构图。变换分析过程重画数据流图区分有效(逻辑)输入、有效(逻辑)输出和中心变换部分进行一级分解,设计上层模块进行二级分解,设计输入、输出和中心变换部分的中、下层模块变换分析过程注意事项深度遍历模块设计耦合与内聚使用“黑箱”技术控制直接下属模块数停止模块功能分解的情况

事务分析过程混合结构分析

•变换分析是软件系统结构设计的主要方法。

•一般,一个大型的软件系统是变换型结构和事务型结构的混合结构。

•所以,我们通常利用以变换分析为主、事务分析为辅的方式进行软件结构设计。

详细设计工具

可以分为以下三类:

图形设计符号:流程图、盒图等表格设计符号:决策表等程序设计语言:PDL等

流程图(flow chart)•“利用各种方块图形、线条及箭头等符号来表达解决问题的步骤及进行的顺序;•是算法的一种表示方式。标准作业流程”(SOP, Standard operating procedure)•企业界常用的一种作业方法, 其目的在使每一项作业流程均能清楚呈现,任何人只要看到流程图,便能一目了然, 有助于相关作业人员对整体工作流程的掌握。优点

所有流程一目了然,工作人员能掌握全局。

更换人手时,按图索骥,容易上手。

所有流程在绘制时,很容易发现疏失之处,可适时予以调整更正,使各项作业更为严谨。

流程图的基本符号

流程图的基本结构

•顺序结构(Sequence)

•选择结构(Selection)【二元选择结构、多重选择结构】

•循环结构(Iteration)【while-do结构、do-while结构】

顺序结构(Sequence)

二元选择结构(基本结构)

语法If (条件) { 处理程序1;} else { 处理程序2;}If (条件) { 处理程序3;}多重选择结构

语法switch (条件) { case p=1: 处理程序1; case p=2: 处理程序2; … case p=n: 处理程序n;}面向过程的其他组件设计方法:盒图(N-S图)

五种基本控制结构由五种图形构件表示。

盒图示例

优点:容易确定局部与全局数据的作用域,易于发现程序结构性错误(比如缺少分支)等;

缺点:复杂度接近代码本身,修改需要重画整个图。

PDL (程序设计语言)

是一种用于描述功能模块的算法设计和加工细节的语言。

它是一种伪码。伪码的语法规则分为“外语法”和“内语法”。

具有严格的关键字外语法,用于定义控制结构和数据结构,同时它的表示实际操作和条件的内语法又是灵活自由的,可使用自然语言的词汇。

判定表(决策表)

•判定表用于表示程序的静态逻辑

在判定表中的条件部分给出所有的两分支判断的列表,动作部分给出相应的处理

要求将程序流程图中的多分支判断都改成两分支判断

无多分支流程图—>判定图

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。