过程建模之数据流图

简介

数据流图是过程建模所使用的主要建模技术。它的建模所使用的基本模型元素有4种:外部实体、过程、数据流和数据存储。

过程建模的简介

过程建模就是通过分析需求获得信息,发现系统的功能及其与外界的交互(外界提供数值输入或者将数据结果提供给外部实体),建立能够实现系统功能的过程分解结构,形成系统的过程模型,用图形描述出来。

1.1外部实体

外部实体的介绍

外部实体是指处于待构建系统之外的人、组织、设备或者其他软件系统,不受系统控制与系统存在数据交互。

所有外部实体构成了外部上下文环境,是软件系统与外部联系的接口,这些接口联合起来定义了软件系统的系统边界。

常见的外部实体

从待构建系统中获取数据或为其提供数据的组织、个人等,如供货方、销售方、顾客、办事人员、其他的软件系统。

外部图形的表示:

有DeMarco-Yourdon (一般用)和 Gane-Sarson

这里写图片描述

1.2 过程

过程的介绍

过程是指施加于数据的动作或处理行为,它们使数据发生变化,包括被转换、被存储或者被分布,它们由系统或者人工执行。

注意:过程是对数据的处理,这种处理是要产生附加价值的,即进行数据的加工和变换,而不是简单的数据转移。否则这个过程没意义。

过程描述的内容是对数据处理行为的概括,表现为不同层次。

最高层次:将软件系统的功能都描述为一个过程,实现用户期待的所有数据行为。

较高层次:将软件系统中的某项业务处理描述为一个过程,而这项业务处理又会包括很多具体的细节业务。

较低层次:描述用户的一次活动,这项活动具有原子性特征(活动不能或者不适合再划分子活动)。

最低层次:描述的可能仅仅是一个逻辑行为,体现为软件系统的一个命令过程。

过程对行为的这种概括性特征使粗略的过程描述无法满足分析的需求,因此建模者需要把较高层次分解为较低层次来进一步详细的描述系统的具体行为。如果过程的内容已经非常详细和具体,能够直接用于编码,建模者会用为规格说明来描述它的内容逻辑。这种过程称为原始过程或基本过程

过程图形的表示

过程使用“动词”的名称来标识自己,体现自己的功能。这里只体现Gane-Sarson表示法,DeMarco-Yourdon 表示法使用圆形来表示的。

这里写图片描述

1.3数据流

数据流的介绍

数据流是指数据的运动,它是系统与其环境之间或者系统内两个过程之间经行数据的通信,必须和过程产生关联,它要么是过程的数据输入要么是输出。

数据流图形的表示

DeMarco-Yourdon 和 Gane-Sarson表示发一样

这里写图片描述

1.4数据存储

数据存储的简介

数据存储是软件系统需要在内部收集、保存,以供日后使用的数据集合。

需要指出的是,数据存储区的数据流入和流出通常表示实际的数据流入流出。因此如果流入和流出存储区的数据流包含与存储区相同的信息,就不用为数据流专门命名,否则要。

数据存储图形的表示

这里写图片描述

1.5示例

食品订货系统:

这里写图片描述

2.分层结构

简介

当遇到复杂的系统时也会产生过于复杂的数据图描述,以致难以理解。分而治之的方法。即利用过程具有不同抽象层次表述能力的特点,依据过程的功能分解结构,建立层次的数据流图描述。

2.1 上下文图

数据流图的最高层次,是系统的最高抽象。整个系统抽象为单一过程之后,系统本身成为一个黑盒,此时只有依据系统和外界的所有交互才能精确确定系统功能。

数据存储是系统内部功能,所以在上下文中不会画出它。

如图:

这里写图片描述

2.2 0层图

它在上下文图的下面一层,需要在一个图中概括系统的所有功能。

0层图通常作为整个系统的功能概述。为了概述整个系统的功能,建立0层图时需要分析需求获取的信息,归纳出系统的主要功能,并将它们描述为几个高层的抽象过程,在0层图中加以描述。有些重要的储存也会在系统中得到表述,但不要太具体。

如食品订货系统:

这里写图片描述

2.3 N层图

0层土的每个过程都可以分解,以展示更多的细节,被分解的过程交父过程,分解后的叫子图。子图还可以进行分解直到子图都是原始数据流图(上面有介绍)。

在低于0层图的子图上通常不现实外部实体。父过程的输入输出称为子图的接口流,在子图中从空白区域引出。

下图是对上图中接受、传递顾客的食物订单过程的分解:

这里写图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值