中文·软件工程类·业务流程图、E-R图和IPO图·实践笔记

Version Date Time
demo 5/6/2019 9:16PM

Preface

选修课软件工程项目实践课程中的业务流程图、E-R图和IPO图。

Generate

定义

业务流程图是一种用来描述一个有相对固定的事件执行顺序的事物的图。

E-R图是一种描述现实世界事物关系的图。它在数据库领域的应用可以使我们对数据的处理变得规范。

IPO图是一种描述数据的输入、处理和输出的方式的图。

思考与生成

三种图处理的对象不相同但是有共通之处。

在业务流程图中,我最中意的方式是泳道图。因为它极其清晰地表现出了不同的主体的行为顺序和主体间行为的影响、顺序,这是普通的(或是仅仅用颜色表明属于哪个主体的)流程图不能达到的。

一个流程,肯定离不开数据(数据就是信息,我更愿意用信息这个词,因为它更符合本质)。我们行动的一个主要功能就是对信息的输入、处理和输出。对信息的良好操作是有益处的。

业务流程图中也有信息。有些行为需要信息来驱动,有些行为则创造出信息。

这就引发了我对“信息”这个概念的讨论:

  • 什么是信息
  • 为什么需要信息
  • 我们需要怎样的信息
  • 该怎样对待信息

首先我们来解决“什么是信息”的问题。有学者认为,信息是“客体相对于主体的变化”1。香农和韦弗认为,“凡是在一种情况下能减少不确定性的任何事物都叫信息。”2综上,信息是一种事物/客体,它可以影响主体的变化,并在这个过程中减少了系统的不确定性(但是主体的变化又创造了新的不确定性,或许熵在总体上是减少的)。

那么我们为什么需要信息呢,因为我们需要变化,因为原本的条件无法满足我们目前的需求。

我们需要怎样的信息?当然是能有助于我们的信息了。只有这样的信息才是有用、有效的。

既然我们想要有用的信息来帮助我们变得更好,那么我们应该怎样对待信息呢?

  1. 接收信息
  2. 处理信息
  3. 存储信息
  4. 发出信息

业务流程图是一种强调主体变化的图,只注重信息的收和发。

E-R图是一种强调信息的存储和使用的图,注重信息的存储。

而IPO图则注重信息的全过程。

图的类型 接收 处理 存储 发出
业务流程图 Y Y
E-R图 Y
IPO图 Y Y Y Y

从上表,我们能够清晰地描述三种图之间的关系。

具体学习

下面我们来搞懂各个图怎么画。

流程图(特别是泳道图)

研究表明,由于个人没有做好自己的工作(Deming),流程很少会失败,因此关注“谁做什么”是有道理的。进程失败是因为人们之间的切换和知识转移出错了3

1.泳道分配:流程所有者的选择

选择原则:

  • 谁拥有最多的利害关系
  • 谁有权真正改变这个过程
  • 谁对端对端流程有最好的理解

我们要做的是”学生资助管理系统“,简单情况下,我们只考虑学生和判定人员两个角色。

2.开始作图:”谁做了什么“

事件是在流程流程中开始(或发生)的事件。一旦事件发生,则工作开始。工作被定义为“活动”。活动概述了具有相关角色的人员负责产生的结果,以便为下一个角色的活动提供必要的输入。把它想象成可以重复的一系列工作。

一项活动需要多少工作?我的建议是先保持简单。活动可以包含许多任务,只需几分钟甚至几天即可完成3

决定点:如果我们想要清楚地表明这一点,我们可以添加一个决定。在这种情况下,服务代表做出决定。她要么立即处理,要么将其升级为技术人员3

然后我们可以添加一个事件来关闭它 - 或者指出自然遵循这个过程的过程3

下图为我的作业:学生资助管理系统的泳道图。

中文·软件工程类·业务流程图、E-R图和IPO图·实践笔记_第1张图片

相较于普通的流程图,泳道图的角色分得更清晰,每个人做某件事的流程清晰可见,同时,流程间的数据传递也被简要表达了出来。

E-R图

因为数据库没有学好,画起E-R图十分费劲。不过我们还是要先解决眼下的问题,画出一个没有什么大毛病(尽管它没有经过谨慎考虑)的图。

画E-R图仍然要从用户入手,看看用户对数据有着怎么样的操作。我们从上面的泳道图中发现了以下几点:

学生角度:

  • 需要依照评定人员发布的公告来填写申请表,公告中需要包括:
    • 评定人员的姓名、公告公布的日期、公告号
  • 需要查看资助结果公告来确认自己是否会被资助以及受资助的数目,结果中需要包括:
    • 是否被资助、资助金额、发布日期、学生学号、姓名、院系等

评定人员角度:

  • 需要学生的(与评定有关的)信息来决策资助的分配,这些信息需要包括:
    • 学生学号、姓名、院系、性别、家庭贫困状况、申请贫困生等级状况等
    • 是否确认的信息、学生学号、姓名、院系、资助金额和是否资助的结果等

得到E-R图如下(是如何得到的???):
中文·软件工程类·业务流程图、E-R图和IPO图·实践笔记_第2张图片

IPO图

根据直觉画了下。如下图:

中文·软件工程类·业务流程图、E-R图和IPO图·实践笔记_第3张图片


More

  1. 资料库尽快建立

  2. 构成系统的三要素是“信息、物质和能量”吗

  3. 对本质的讨论有助于问题的解决

  4. 量子计算机

  5. BPMN

  6. 思考方式(我发现我的思考很多时候是去靠直觉,而不规范)

  7. “用例图”


THANK YOU FOR READING|Author:LonelyObserver (PearlyWave in Github and StackOverflow)

HAVE A GOOD DAY


  1. 论信息的本质定义,朱志康,浙江万里学院报,2002 ↩︎

  2. https://zh.wikipedia.org/wiki/%E4%BF%A1%E6%81%AF#%E8%AF%8D%E6%BA%90(维基上对“信息”的解释) ↩︎

  3. https://www.gluu.biz/create-good-swimlane-diagram/(如何画一个好的泳道图) ↩︎ ↩︎ ↩︎ ↩︎

你可能感兴趣的:(软件工程)