[.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图

1.活动图简介

定义:是阐明了业务用例实现的工作流程。

业务工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。

业务用例由一系列活动组成,它们共同为业务主角生成某些工件。

工作流程通常包括一个基本工作流程和一个或多个备选工作流程。

工作流程的结构使用活动图来进行说明。

活动图在本质上是一种流程图。活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。

类型:动态图

应用:需求分析阶段

2.活动图元素

在VS 2013/2015中有以下17种活动图元素:

2.1 Initial Node(起始节点)

说明:表示一个活动或行为的开始

表示:用黑色的实心圆点表示

图例:

2.2 Activity Final Node(活动结束节点)

说明:表示整个流程的结束

表示:用黑色的实心圆点和一个外部圆表示

图例:

2.3 Action(活动)

说明:动作状态是指原子的,不可中断的动作,并在此动作完成后通过完成转换转向另一个状态。动作状态有如下特点:

(1)、动作状态是原子的,它是构造活动图的最小单位。

(2)、动作状态是不可中断的。

(3)、动作状态是瞬时的行为。

(4)、动作状态可以有入转换,入转换既可以是动作流,也可以是对象流。动作状态至少有一条出转换,这条转换以内部的完成为起点,与外部事件无关。

(5)、动作状态与状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。

(6)、在一张活动图中,动作状态允许多处出现。

表示:用平滑的圆角矩形表示

图例:

2.4 Object Node(对象节点)

说明: 表示一个对象元素

表示: 矩形表示

图例:

2.5 Comment(注释)

说明:  对活动图元素注释

表示:  黄色边框折角矩形表示(一般给某个元素注释,会有一条连接线)

图例:

2.6 Decision Node(决策节点)

说明:   一般某一节点需要有一个决策分支时使用

表示:   菱形表示

图例:

2.7 Merge Node(合并节点)

说明:   分支流程合并时使用

表示:   菱形表示

图例:  菱形表示

2.8 Fork Node(分支节点或分叉节点)

说明:   分支节点和决策节点的区别在于,分支节点是对两个或多个并发控制流的表示,不存在决策

表示:   黑色矩形框表示

图例:

2.9 Join Node(连接节点或联接节点)

说明:同步多个并发分支,完成程程汇合

表示:黑色矩形框表示(水平或垂直均可)

图例:

2.10 Send Signal Action(信号发送活动)

说明:   动作发送一个信号

表示:   矩形箭头

图例:

2.11 Accept Event Action(事件接收活动)

说明:接收一个信号

表示:   燕尾状短形

图例:

2.12 Call Behavior Action(行为调用活动)

说明:详细的行为调用

表示:圆角短形

图例:

2.13 Call Operation Action(操作调用活动)

说明:这一动作调用一个类的实例操作

表示:圆角短形

图例:

2.14 Input Pin(输入标记)

说明:表示数据动作能够获取执行

表示:  小方框表示(只能定义在行为、操作、对象上)

图例:

2.15 Output Pin(输出标记)

说明:表示数据产生一个动作时执行

表示:小方框表示(只能定义在行为、操作、对象上)

图例:

2.16 Activity Parameter Node(活动参数节点)

说明:对象节点,表示活动产生的对象

表示:矩形框表示

图例:

2.17 Connector(连接线箭头)

说明:表示一个动作流,箭头方向表示

表示:箭头表示

图例:

3.活动图设计示例

下面是几种常见的活动图设计示例:

3.1 单线控制流(Simple Control Flow)

下面单线控制流中,地铁如果选错线路,可以通过节点再进行一次重选

3.2 并行流(Concurrent Flows)

以下是一个从创建订单开始,费用支付和接收支付是一个信号发送行为和接收事件,另一分支处理订单发货操作,两个并发分支完成后联接,完成订单。

3.3 数据流(Data Flows)

4.总结

软件设计中对于需求分析的重要性是毋庸置疑的,不论采用什么样的设计思想,都需要比较周密的需求分析,进而形成书面的文档。在文档编写过程中,活动图比起文字描述具有更直观的表现。使用UML活动图能让其他人更快的读懂的你的设计意图,更快速的理解你的业务控制流程。

5.源文件下载

Git下载:https://github.com/yubinfeng/BlogExamples

==============================================================================================

返回目录

<如果对你有帮助,记得点一下推荐哦,如有有不明白或错误之处,请多交流>

<对本系列文章阅读有困难的朋友,请先看 《.net 面向对象编程基础》和 《.net 面向对象程序设计进阶》 >

<转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

.NET 技术交流群:467189533

==============================================================================================

[.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图的更多相关文章

  1. [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图

    [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图  1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...

  2. [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图

    [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...

  3. UML——在Visual Studio 2013/2015中设计UML类图

    1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...

  4. Visual Studio 2013 Preview 高清多图先睹为快

    Visual Studio 2013 Preview已经发布.大家可以下载试用了哦: 选项加载明显比之前版本要快很多.

  5. 在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤

    Xamarin 配置手册和离线包下载 http://pan.baidu.com/s/1eQ3qw8a 具体操作: 安装前提条件 1. 安装Visual Studio 2013,安装过程省略,我这里安装 ...

  6. Visual Studio 2013/2015/2017快捷键(转)

    英文原文:19 Must-Know Visual Studio Keyboard Shortcuts 项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = ...

  7. Visual Studio 2013/2015/2017快捷键(转载)

    本文为转载文章,原文:[心存善念]  [Fonour] 项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = 显示 Solution Explorer(解 ...

  8. visual studio 2013 生成依赖项关系图出错

    开始是说无法连接到sql服务器,我安装卸载localdb http://www.microsoft.com/zh-cn/download/details.aspx?id=29062 下载 CHS\x6 ...

  9. Visual Studio 2015中设计UML类图

    1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...

随机推荐

  1. Oracle“钱夹”的使用

    最近几年发生了很多脱库的事件,有些时候安全不到位脱库再所避免,但是可以通过某些技术对数据库进行加密,让即使通过脱库得到的库也没法查看. 在技术层面的实现可以分为应用和数据库层. (1)通过在程序端对某 ...

  2. 为你的Android App实现自签名的 SSL 证书(转)

    介绍 网络安全已成为大家最关心的问题. 如果你利用服务器存储客户资料, 那你应该考虑使用 SSL 加密客户跟服务器之间的通讯. 随着这几年手机应用迅速崛起. 黑客也开始向手机应用转移, 原因有下列3点 ...

  3. LWIP总结

    介绍 Lwip,light weight IP:是由Adam Dunkels 开发的一个小型开源的TCP/IP协议栈:目前已经为全球共同开发的开源协议:支持TCPIP协议族的核心协议:包括:ARP/I ...

  4. z-stack组网过程

    z-stack组网分:协调器建立网络.路由器和终端加入网络 暂时只记录第一次上电建立网络的过程,至于开启NV_RESTORE后,恢复原有的网络则暂时不分析. 一.协调器建立网络: 1.ZDO层的ZDA ...

  5. 现场打印智能无线PDA安卓POS 条码识别、打印、数据采集销售开单收银管理软件

    现场打印安卓POS 条码识别.打印.数据采集管理软件 案例: 经营日化品牌,从事小型超市和日用品商店的批发配送业务. 公司以前的销售模式:三个业务员负责跑市场,每个人负责一个区域,平均每天每个人要去到 ...

  6. node cmd bash 相关命令

    添加依赖到package.json npm install lodash --save

  7. SQLServer生成三位姓名及11位国内电话号码(生成测试数据用)

    SELECT SUBSTRING(N'王李张刘陈杨黄赵吴周徐孙马朱胡郭何高林郑谢罗梁宋唐许韩冯邓曹彭曾肖田董袁潘于蒋蔡余杜叶程苏魏吕丁任沈姚卢姜崔钟谭陆汪范金石廖贾夏韦付方白邹孟熊秦邱江尹薛闫段雷侯龙 ...

  8. python 引用传递与值传递

    https://taizilongxu.gitbooks.io/stackoverflow-about-python/content/16/README.html 1.也就是如果传可变对象,就是引用传 ...

  9. #研发解决方案#iDB-数据库自动化运维平台

    郑昀 创建于2015/12/2 最后更新于2015/12/2 关键词:数据库,MySQL,自动化运维,AutoDDL,刷库,帐号授权,审核,回滚 提纲: 数据库自动化运维什么?别人家是怎么玩的? 我们 ...

  10. Javascript的自执行函数

    自执行函数其实也就是"立即执行的函数",它有四个特点:提高性能.利于压缩.避免冲突.依赖加载: 1.减少作用域查找 JS代码: // Anonymous function that ...