6.4.3 处理过程分析
数据流程图概要地反映了系统的数据输入、变换处理以及信息的生成和输出过程, 数据字典对系统的数据进行了规范化的说明。运用数据字典虽然能反映数据处理功能的基本要求, 但对于描述数据流程图中比较复杂的处理逻辑存在不清晰、误解等缺点。因此, 对于比较复杂的处理逻辑可以借助其他工具来进行更为详细、易懂的描述说明。
处理过程分析是对数据流程图中处理的详细描述, 也称为处理说明。数据流程图、数据字典和处理说明3者构成了系统的逻辑模型。
数据处理过程分析的常用工具有结构化语言、决策树和决策表。
1.结构化语言
结构化语言是一种介于自然语言与程序设计语言之间的语言。它由程序设计语言的框架(即允许3种基本结构: 顺序结构、分支结构、循环结构) 和自然语言的词汇(如动词、名词和程序设计语言的保留字) 组成。
结构化语言综合了自然语言的容易表述和理解以及程序设计语言的严格精确的优点。其优点是易于编写, 又能简明描述较复杂的处理逻辑。
结构化语言只允许3种基本语句, 即祈使语句、判断语句、循环语句。与程序设计语言的差别在于结构化语言没有严格的语法规定。结构化语言使用3类词汇: 祈使语句中的动词、数据字典中定义的名词以及某些逻辑表达式中的保留字。
例如, 某公司的订货折扣政策: 年交易额在5万元或5万元以下, 不给予折扣(折扣率为0%); 对于年交易额在5万元以上, 如果无欠款, 给予15%的折扣; 如果有欠款, 且与本公司的交易关系在20年及20年以上, 折扣率为10%; 如果有欠款, 且与本公司交易关系在20年以下, 折扣率为5%。
利用结构化语言表述上述处理过程如下。
2.决策树
结构化语言有时不能直观地表述数据处理过程, 可用决策树以树型结构来表示处理逻辑过程, 从图形上可以一目了然地看清用户的业务在什么条件采取什么样的处理方式。决策树也称判定树。
判定树左边是树根, 是决策序列的起点; 右边是各个分支, 即每一个条件的取值状态; 最右侧为应该采取的策略。从树根开始, 自左至右沿着某一分支, 能够表示一系列的决策。
前面的例子可用判定树表示, 如图6-17所示。
图6-17 判定树
3.决策表
决策表又称判定表。在处理逻辑中, 如果判定树的条件较多, 各个条件又相互结合,导致相应的决策方案比较多, 在这种情况下如果用判定树表示, 则树的结构比较复杂, 图中各项注释也比较烦琐, 此时可以用判定表来表示。判定表采用二维表格形式来表达这类过程比较容易, 表格被分成4个部分, 左上角为条件说明, 左下角为条件和行动说明, 右上角为各种条件的组合说明, 右下角为各种条件组合下执行的相应行动。判定表的格式如表6-1所示。
表6-1 判定表的格式
前面的例子用判定表表示, 如表6-2所示。
表6-2 判定表
该判定表中, Y 表示符合条件或条件成立, N 表示不符合条件或条件不成立, √表示在以上条件组合下对应的行动。该表虽然能较为清晰地反映判定情况, 但有些情况是重复判定的, 可以进一步简化。简化后的判定表如表6-3所示, 但还可以将其简化。
表6-3 简化后的判定表