【软件工程】看我火眼金睛——系统流程图、程序流程图、数据流图、活动图、状态图、顺序图辨析

原著URL:https://blog.csdn.net/srk950606/article/details/49637147


【前言】

           在软件工程中我们学习了数据流图,程序流程图,UML中的活动图,状态图,顺序图,这些图貌似都是在描述软件的执行过程,那么它们到底有哪些相同点,又有哪些不同点呢?下面,我们一起来探索一下。

【软工中学的图】

【系统流程图】

        系统流程图System Flowchart)是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的

每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。

       照妖镜照妖: 其实就是把每个子程序的内部程序隐藏, 例如:我要去吃桌子上的苹果。

系统流程图当如下:


 

          我们用图来描述我走向苹果这个动作,但是不考虑我走路是具体的姿态,翻滚着去了,跳着去了,都不管。那么这些具体的姿态谁管呢, 程序流程图管。

【程序流程图】

         程序流程图程序分析中最基本、最重要的分析技术,它是进行程序流程分析过程中最基本的工具。它运用工序图示符号对生产现场的整个制造过程做详细的记录,以便对零部件、产品在整个制造过程中的生产、加工、检验、储存等环节待作详细的研究与分析,特别适用于分析生产过程中的成本浪费,提高经济效益。

         照妖镜照妖: 在程序设计中,我们的程序流程图就是具体描述某一项功能的具体实现的。例如对吃苹果这个系统中的单独过程进行描述。

 

(       感觉说的似乎有歧义,放上机房登录的图来一起看)



【数据流图】

        数据流图Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

        照妖镜照妖: 就是第一个描述系统流程中数据的流动,和加工。还是吃苹果。这次吃需要填个单子,告诉我妈说苹果被我吃了。脑袋,肚子,腿,嘴为不同部门。

       数据流图如下:

 

 

 【UML中学的图】

【活动图】

        活动图activity diagram,动态图)是阐明了业务用例实现的工作流程。业务工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。

       照妖镜照妖:其实就是程序流程图的另一种表现形式,说的是都是具体实现某种功能时的流程的东西,但是活动图可以体现出用户和程序之间的交互。

 

 

 

         这个就不用苹果来讲了, 没这个能力了。。 这是在机房收费系统中添加一个学生。

        注意: 一个用例图就要有一个活动图。

【顺序图】

       顺序图是将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。

       照妖镜照妖:它和活动图本质上 一样,都是描述一个活动中,几个对象间消息的传递及行为相应。 于活动图相比, 顺序图能更明确的表示个对象的生命期, 什么时候存在,什么时候不需要存在

 

这还是添加一个学生。

注意: 有发出信息就要有返回信息

 

 

【状态图】

       状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。通常我们创建一个UML状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。

        照妖镜照妖:就是描述对象在一项活动中的状态变迁。

 

        以下是 studentinfo 在 添加学生过程中的状态变迁。

 

 

【总结】

        比较难分头绪的几种图,仔细的区分一下还是有不小区别的,系统流程图是整个系统中各个部分的关系, 程序流程图是没个系统部分中内部各部分的联系,数据流图是业务流程中各个部门间数据的流动关系。 他们三个算是一个系列。 

        活动图,顺序图,状态图是一个系列。 活动图描述用例执行时各部分活动, 顺序图描述统一内容,更明显的表示出对象存在的时间。 状态图是只一个活动中,对象在不同状态间的变迁。

 

(想编个生活化的例子,好难哦╮(╯▽╰)╭ )

希望对大家的理解能有所帮助

 

阅读更多

没有更多推荐了,返回首页