.net 面向对象程序设计深入](3)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活动图能让其他人更快的读懂的你的设计意图,更快速的理解你的业务控制流程。
转载:http://www.cnblogs.com/yubinfeng/p/5212477.html
.net 面向对象程序设计深入](3)UML的更多相关文章
- [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图
[.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.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
- .net 面向对象程序设计深入](1)UML
1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...
- 面向对象程序设计第四单元总结(UML系列)
2019面向对象程序设计第四单元总结 前言 本单元是面向对象程序设计课程的最后一个单元了,本单元是和UML模型相关,也就是说,我们需要正确理解UML模型的基础上,对构建出的UML模型进行解析,但是 ...
- UML与面向对象程序设计原则
[实验任务一]:UML复习 阅读教材第一章复习UML,回答下述问题: 面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明. 1. 关联关系 (1) 双向关联 (2) 单向关联 (3) ...
- [.net 面向对象程序设计深入](0) 开篇
[.net 面向对象程序设计深入](0)开篇 [.net 面向对象编程基础]和 [.net 面向对象程序设计进阶]在15年底写完了,群里也加进来不少热爱学习的小伙伴.让我深切感受到在这个 ...
- [.net 面向对象程序设计进阶] (28) 结束语——告别2015
[.net 面向对象程序设计进阶] (28) 结束语——告别2015 <.net面向对象程序设计进阶>这一系列文章写了太长的时间了,大概有半年没写,在年底又一口气写了好几篇.在整个过程中目 ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 20145212《Java程序设计》实验报告二 《 Java面向对象程序设计》
20145212 实验二< Java面向对象程序设计> 实验内容 单元测试 三种代码 伪代码 百分制转五分制: 如果成绩小于60,转成"不及格" 如果成绩在60与70之 ...
随机推荐
- c# 如何得到一个字符的ASCII码
'; int b = (int)a; 就这么简单..
- Js正则Replace方法
JS正则的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\s+)|(\s+$)" ...
- JDBC(2)-使用statment接口实现增删改操作
1.Statement接口引入 作用:用于执行静态SQL语句并返回它所生成结果的对象. int executeUpdate(String sql) :执行给定SQL语句,该语句可能为insert.up ...
- OpenGL6-纹理动画
代码下载 #include "CELLWinApp.hpp"#include <gl/GLU.h>#include <assert.h>#include & ...
- C# 获取SHA256码
1. 如果是要获得某个字符串的SHA256,代码如下: public static string SHA256(string str) { //如果str有中文,不同Encoding的sha是不同的! ...
- Golang教程:goroutine信道
在上一篇教程中,我们讨论了如何使用协程实现并发.在这篇教程中,我们将讨论信道以及如何使用信道实现协程间通信. 什么是信道 信道(Channel)可以被认为是协程之间通信的管道.与水流从管道的一端流向另 ...
- XAMl使用其他命名空间中的类型及加载和编译
以前我们讲过XAMl命名空间.为了使便宜钱知道XAMl文档中元素对应的.NET类型,需要知道XAMl明档中指定特定的两个命名空间.XAML是一种实例化.NET对象的通用方法 ,除了可以实例化一些标准的 ...
- .NET的EF框架中:在应用程序配置文件中找不到名为“”的连接字符串问题
今天在使用EF Code First框架时,当把模型都定义好了,想通过程序包管理控制台利用enable-migrations –force来生成数据库表的时候报错了,如下: 找不到连接字符串,但是我仔 ...
- Rabbit的事务
加入事务的方法: txSelect() txCommit() txRollback() 生产者: package com.kf.queueDemo.transactions; import jav ...
- 第八章.Java集合
Java集合类是一种特别有用的工具类,可用于存储数量不等的对象.Java集合大致可分为Set.List.Queue和Map四种体系 Set代表无序.不可重复的集合 List代表有序.重复的集合 Map ...