1.用例图简介

定义:用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。

类型:动态图

应用:需求分析阶段

2.用例图元素

2.1 参与者(Actor)

表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。

2.2 用例(Use Case)

用例就是外部可见的系统功能,对系统提供的服务进行描述。 用椭圆表示

2.3 子系统(Subsystem)

用来展示系统的一部分功能,这部分功能联系紧密。

2.4 关系

用例图中涉及的关系有:关联、泛化、包含、扩展;

a. 关联(Association)

表示参与者与用例之间的通信,任何一方都可发送或接受消息。

【箭头指向】:指向消息接收方

b. 泛化(Inheritance)

就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。

【箭头指向】:指向父用例

c. 包含或包括(Include)

包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤;

【箭头指向】:指向分解出来的功能用例

在VS2015用例图建模中,称为 “包括”

d. 扩展(Extend)

扩展关系是指 用例功能的延伸,相当于为基础用例提供一个附加功能。

【箭头指向】:指向基础用例

e. 依赖(Dependency)

以上4中关系,是UML定义的标准关系。 但VS用例模型图中,添加了依赖关系,用带箭头的虚线表示

表示源用例依赖于目标用例;

【箭头指向】:指向被依赖项

2.5 项目(Artifact)

用例图虽然是用来帮助人们形象地理解功能需求,但往往没有一个具体的单据或文档更详细。很多时候跟用户交流甚至用Excel都比用例图强,VS中引入了“项目”这样一个元素,以便让开发人员能够在用例图中链接一个普通文档。

用依赖关系把某个用例依赖到项目上

2.6 注释(Comment)

注释是对元素进行一个说明,由注释元素和注释连接线组成

3.Visual Studio 2015设计UML用例图

文章中的图例,可以使用第三方UML工具,上篇文章中有介绍,作为.NET开发者,VS2015企业版 和 2013旗舰版 中都具有建模项目,下面的示例使用VS2015建模项目,后面提代源代码下载。

使用VS 2015建模和上篇中介绍的方法一样,我们在选择模型时,选择UML用例图。下面是在Visual Studio 2015 企业版中设计用例图方法:

(1)新建“模型项目”

(2)新增 “模型文件”

(3)选择“UML用例图”

4.用例图的文字描述

用例图对需求描述,对于没有用UML基础的人来说,依然不能看明白画些什么,因此,在需求阶段,用例图需要配合文字描述来表达业务需求。

下面图片是网络上用例图的描述

5.总结

UML图比较多,博客中会介绍几种比较常用的,类图、用例图、活动图。在日常工作中,也不是每个设计都需要这些图,学习UML图一是能看懂别人的设计意图,而是为了让别人看懂自己的设计意图。即统一建模。

转载:http://www.cnblogs.com/yubinfeng/p/5212350.html

.net 面向对象程序设计深入](2)UML的更多相关文章

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

    [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...

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

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

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

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

  4. .net 面向对象程序设计深入](1)UML

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

  5. 面向对象程序设计第四单元总结(UML系列)

    2019面向对象程序设计第四单元总结 前言 ​ 本单元是面向对象程序设计课程的最后一个单元了,本单元是和UML模型相关,也就是说,我们需要正确理解UML模型的基础上,对构建出的UML模型进行解析,但是 ...

  6. UML与面向对象程序设计原则

    [实验任务一]:UML复习 阅读教材第一章复习UML,回答下述问题: 面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明. 1.  关联关系 (1)  双向关联 (2)  单向关联 (3)  ...

  7. [.net 面向对象程序设计深入](0) 开篇

    [.net 面向对象程序设计深入](0)开篇        [.net 面向对象编程基础]和 [.net 面向对象程序设计进阶]在15年底写完了,群里也加进来不少热爱学习的小伙伴.让我深切感受到在这个 ...

  8. [.net 面向对象程序设计进阶] (28) 结束语——告别2015

    [.net 面向对象程序设计进阶] (28) 结束语——告别2015 <.net面向对象程序设计进阶>这一系列文章写了太长的时间了,大概有半年没写,在年底又一口气写了好几篇.在整个过程中目 ...

  9. 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...

  10. 20145212《Java程序设计》实验报告二 《 Java面向对象程序设计》

    20145212 实验二< Java面向对象程序设计> 实验内容 单元测试 三种代码 伪代码 百分制转五分制: 如果成绩小于60,转成"不及格" 如果成绩在60与70之 ...

随机推荐

  1. 【python】-matplotlib.pylab常规用法

    目的: 了解matplotlib.pylab常规用法 示例 import matplotlib.pylab as pl x = range(10) y = [i * i for i in x] pl. ...

  2. Android Studio的串口通讯开发

    基于android-serialport-api实现 前言RS232标准接口UARTRS232与UART转接下载 NDK 和构建工具创建支持 C/C++ 的新项目编译C/C++代码串口通讯原理关于校验 ...

  3. (转)MyISAM Key Cache详解及优化

    原文:http://huanghualiang.blog.51cto.com/6782683/1372721 一.MyISAM Key Cache详解: 为了最小化磁盘I/O,MyISAM将最频繁访问 ...

  4. Java线程问题(基础回顾)

    1.概念:线程是运行程序(进程)中单个顺序的小程序,一个进程可以由多个线程组成,而这多个线程共享同一个存储空间,这使得线程间的通信比较容易.在一个多进程的程序中,如果要切换到另一个进程,需要改变地址空 ...

  5. FocusBI: 使用Python爬虫为BI准备数据源(原创)

    关注微信公众号:FocusBI 查看更多文章:加QQ群:808774277 获取学习资料和一起探讨问题. <商业智能教程>pdf下载地址 链接:https://pan.baidu.com/ ...

  6. Redis学习笔记--常用命令

    以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...

  7. VMWARE 12安装Tools

    准备条件 1.yum install perl 2.yum install gcc 接着就是挂载安装 新建cdrom挂载目录mkdir /mnt/cdrom挂载光驱mount -t auto /dev ...

  8. Asp.Net MVC4通过id更新表单

    用户需求是:一个表单一旦创建完,其中大部分的字段便不可再编辑.只能编辑其中部分字段. 而不可编辑是通过对input输入框设置disabled属性实现的,那么这时候直接向数据库中submit表单中的内容 ...

  9. JAVA学习之路(多线程)---模拟售票(细解)

    首先看题目描述: 假设有火车票100张,创建4个线程模拟4个售票点,每100ms售出一张,打印出售票过程,格式如下: 窗口3:卖出第100张票 窗口4:卖出第99张票 ............ ... ...

  10. js 去除空格回车换行

    开发中遇到特殊需求,需要将空格回车换行替换成逗号 直接使用正则表达式解决: 变量.replace(/\s+/g,","); 如果想要去除则将后面逗号变成空就OK了.