软件工程 数据流图(DFD)变换型与事务型的分析

在系统分析阶段,我们采用结构化分析方法得到了由数据流图、数据字典和加工说明等组成的系统的逻辑模型。现在,可根据一些规则从数据流图导出系统初始的模块结构图。

管理信息系统的数据流图通常也可分为两种典型的结构,即变换型结构和事务型结构。变换型结构的数据流图呈一种线性状态,见图6-4-4所示,它所描述的工作可表示为输入、主处理及输出。事务型结构的数据流图则呈束状,见图6-4-5所示,即一束数据流平行流人或流出,可能同时有几个事务要求处理。

图6-4-4 变换型结构的数据流图

图6-4-5    事务型结构的数据流图

这两种典型的结构分别可通过“变换分析”和“事务分析”技术,导出“变换型”和“事务型”初始的模块结构图。这两种方法的思想是首先设计顶层模块,然后自顶向下,逐步细化,最后得到一个满足数据流图所表示的用户要求的系统的模块结构图,即系统的物理模型。

下面分别讨论通过“变换分析”和“事务分析”技术,导出“变换型”和“事务型”初始结构图的技术。

1.变换型数据流图导出初始结构图的方法

因为变换型结构由输入、主处理和输出三部分组成,所以从变换型结构的数据流图导出变换型模块结构图,可分三步进行。

(1) 找出系统的主加工

为了处理方便,先不考虑数据流图中的一些支流,如出错处理等。

通常在数据流图中多股数据流的汇合处往往是系统的主加工。若没有明显的汇合处,则可先确定哪些数据流是逻辑输入和逻辑输出,从而获得主加工。

从物理输入端一步步向系统中间移动,直至到达这样一个数据流,它再不能被作为系统的输入,则其前一个数据流就是系统的逻辑输入,即离物理输入端最远的,但仍可视为是系统输入的那个数据流就是逻辑输入。

用类似方法,从物理输出端一步步向系统中间移动,则离物理输出端最远的,但仍可视为系统输出的那个数据流就是逻辑输出。

逻辑输入和逻辑输出之间的加工就是我们要找的主加工。如图6-4-6所示。

图6-4-6 在数据流图中找系统的主加工

(2) 设计顶层模块和第一层模块

首先在与主加工对应的位置上画出主模块(如图6-4-7所示),主模块的功能就是整个系统要做的工作,主模块又称为主控制模块。主模块是模块结构图的“顶”,现在我们就可按“自顶向下,逐步细化”的思想来画模块结构图顶下的各层了。每一层均需按输入、变换、输出等分支来处理。模块结构图第一层的画法如下:

① 为每一个逻辑输入画一个输入模块,其功能是向主模块提供数据。

② 为每一个逻辑输出画一个输出模块,其功能是把主模块提供的数据输出。

③ 为主处理画一个变换模块,其功能是把逻辑输入变换成逻辑输出。

至此,结构图第一层就完成了。

在作图时应注意主模块与第一层模块之间传送的数据,要与数据流图相对应(如图5-21所示)。

(3) 设计中、下层模块

因为输入模块的功能是向调用它的模块提供数据,所以它自已也需要一个数据来源。此外,输入模块必须向调用模块提供所需的数据,因此它应具有变换功能,能够将输入数据按模块的要求进行变换后,再提交该调用模块。从而,我们为每个输入模块设计两个下层模块,其中一个是输入模块,另一个是变换模块。

同理,也为每个输出模块设计两个下层模块。一个是变换模块,将调用模块所提供的数据变换成输出的形式;另一个是输出模块,将变换后的数据输出。

该过程由顶向下递归进行,直到系统的物理输入端或物理输出端为止(如图6-4-7所示)。每设计出一个新模块,应同时给它起一个能反映模块功能的名字。

运用上述方法,就可获得与数据流图相对应的初始结构图。

图6-4-7 由变换型数据流图导出的初始模块结构图

2.从事务型数据流图导出初始结构图的方法

当数据流图呈现“束状”结构时,应采用事务分析的设计方法。就步骤而言,该方法与变换分析方法大部分类似,主要差别在于由数据流图到模块结构的映射方式不同。

进行事务分析时,通常采用以下四步:

(1) 确定以事务为中心的结构,包括找出事务中心和事务来源。以图6-4-8的典型事务型数据流结构为例进行说明。

图6-4-8 事务型中心数据流图实例

(2) 按功能划分事务,将具备相同功能的事务分为同一类,建立事务模块。

(3) 为每个事务处理模块建立全部的操作层模块。其建立方法与变换分析方法类似,但事务处理模决可以共享某些操作模块。

(4) 若有必要,则为操作层模块定义相应的细节模块,并尽可能使细节模块被多个操作模块共享。

例如,图6-4-8是一个以事务为中心的数据流图,显然,加工“确定事务类型”是它的事务中心,由该数据流图经事务分析所得到的模块结构图如图6-4-9所示。

图6-4-9 事务型模块结构图实例

3.混合结构的分析

在规模较大的实际系统中,其数据流图往往是变换型和事务型的混合结构,如图6-4-10所示。此时可把变换分析和事务分析应用在同一数据流图的不同部分。例如,可以以“变换分析”为主,“事务分析”为辅进行设计。先找出主处理,设计出结构图的上层,然后根据数据流图各部分的结构特点,适当选用“变换分析”或“事务分析”就可得出初始结构图的某个方案。

图6-4-10 变换型和事务型混合结构的数据流图

图6-4-11 变换分析与事务分析的混合使用

如图6-4-11所示,其中第一层是用变换分析得到的,而模块“使b变成d”及下层模块和模块“变d为g” 及下层模块则是采用事务分析得到的。

从数据流图导出初始的模块结构图的方法就介绍到这里。必须指出的是,由于开发人员的素质、经验和个人理解程度不同,采用上述方法导出的初始模块结构图也不是唯一的。事实上,满足系统说明书要求的任何模块结构图都可以作为初始结构图。

  • 12
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
软件工程中,数据流图DFD)和用例图都是常用的工具,用于描述系统的不同方面和功能。 数据流图DFD)是一种图形化的表示方法,它描述了系统内不同组件之间的数据流动。DFD将系统视为一系列的过程(也称为功能或转换),这些过程以数据流的形式接收输入并产生输出。DFD包括多个层级,从整体系统到更详细的子系统或模块。它使用箭头表示数据流,圆角矩形表示过程,椭圆表示数据存储,菱形表示数据流的转换点。DFD有助于我们理解系统内部的数据流动,识别功能模块和数据存储,以及确定系统中的依赖关系。 用例图是一种行为建模工具,用于描述系统与其各个利益相关者之间的交互。它主要关注系统的功能和行为。用例图通过显示系统功能和利益相关者之间的交互来描述系统的需求。用例图由参与者(actors)和用例(use cases)组成。参与者是与系统进行交互的外部实体,而用例是描述系统功能和行为的场景。用例图使用椭圆表示用例,人物像表示参与者,并使用连线表示参与者与用例之间的关系。用例图可以用于确定系统的需求、展示系统功能和行为,并提供对系统整体架构的高级视图。 总的来说,数据流图和用例图在软件工程中用于不同的目的。数据流图主要关注系统内部的数据流动和组件之间的关系,帮助我们理解系统的结构和依赖关系;而用例图主要关注系统与其利益相关者之间的交互,帮助我们理解系统的功能和行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值