StartUML的基础的使用,用例图,序列图

转载地址  http://blog.csdn.NET/tianhai110

(下面参考了原博主的内容,也加入自己的内容,为了自己脑补,也方便其他看到的人脑补)

使用StartUML绘制用例图:

      StartUML是支持UML的建模平台软件,是一款开发源码的UML工具,是棒子国主导开发出来的,StartUML可以绘制9款UML图,主要包括用例图,类图,序列图,状态图,活动图。

 

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

  【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。

  用例图所包含的元素如下:

  1. 参与者(Actor)

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

 

  2. 用例(Use Case)

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

  3. 子系统(Subsystem)

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

  4. 关系

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

  如下表所示:

  a. 关联(Association)

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

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

  b. 泛化(Inheritance)

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

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

  c. 包含(Include)

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

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

  d. 扩展(Extend)

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

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

  e. 依赖(Dependency)

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

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


  5. 项目(Artifact)

  用例图虽然是用来帮助人们形象地理解功能需求,但却没多少人能够通看懂它。很多时候跟用户交流甚至用Excel都比用例图强,VS2010中引入了“项目”这样一个元素,以便让开发人员能够在用例图中链接一个普通文档。

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

  然后把项目-》属性 的Hyperlink设置到你的文档上;

  这样当你在用例图上双击项目时,就会打开相关联的文档。

  6. 注释(Comment)

 

  包含(include)、扩展(extend)、泛化(Inheritance) 的区别:

  条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;

  直接性:泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include中被包含的用例为参与者提供间接服务。

  对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。

  对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关系;

  一个用例图示例:

 

  牢骚:

  感觉用例图还不成熟,并不能很好地表达系统的需求, 没有UML背景的用户几乎不知道画的是些什么。

  其次,包含关系、扩展关系的箭头符号竟然是同样的箭头,仅靠上方写个文字来加以区别,翻译成其他语言的话,几乎就不知道代表什么意思。扩展关系的箭头朝向也很难理解,为何要指向基用例,而不指向扩展用例。

  VS2010添加的“项目”元素,是个很好的创新,能够在用例图中关联word, excel这些文档。但为什么不把这些功能直接集成到用例里面,双击用例就弹出一份文档岂不更容易理解,非要画蛇添足地加一个元件,仅仅为了提供个链接功能。 



 下面以一个简单的案例说明如何使用StartUML工具画用例图

1:打开软件选择Empty Project然后点击ok即可,其他先不介绍。

 

2:然后在打开页面的右上角找个这个右击Add-->model;然后起名为model

 

 

3:操作完2如下图所示。

4:然后右击model(自己起的名字)点击Add diagram-->use case diagarm,点击完如下图所示:

5:如果你不小心点击了StartUML的某个区的x,去通用工具区的view找即可

6:现在就可以开始画用例图了。(这里简单随便画了一个,关键需要明白如何使用工具和工具的意思,勤加练习,自行脑补,熟练即可)

 

 

 

 

时间: 2024-09-20 06:14:42

StartUML的基础的使用,用例图,序列图的相关文章

Java建模: UML工作簿,第1部分――序列图简介

统一建模语言 (UML) 是用于建立面向对象系统模型的标准标记法.在 1995 到 1997 年之间,UML 登上了面向对象编程社区的舞台,而且在 1997 年后期受到了对象管理组织 (OMG) 的认可.虽然它最初颇受争议 -- 因为它是在一片支持和反对声中提出的 -- 但 UML 以后却成为系统标记法的行业标准.UML 的当前版本是 1.4,而且它将不断发展以满足面向对象开发人员的需要. UML 可能难以学习,主要因为它试图为相当广泛的情况提供建模标记法.每种建模标记法都采用一种图,而目前在

软件工程里的UML序列图的概念和总结

俗话说,自己写的代码,6个月后也是别人的代码--复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现-- 时序图也叫序列图(交互图),属于软件工程里的第二步--业务建模阶段里的图,业务建模要求我们把视角从系统转向组织,要站在客户的角度看问题,以达到清晰准确地"知彼",术语就是从组织的角度来定位系统的价值,从而避免软件项目的失败,因为大量软件项目失败的原因都是一个--最终实现和用户需求不一致!故业务建模也叫组织建模,切记在业务建模

《Netty 权威指南》—— 服务端序列图

声明:本文是<Netty 权威指南>的样章,感谢博文视点授权并发编程网站发布样章,禁止以任何形式转载此文. 下面,我们对NIO服务端的主要创建过程进行讲解和说明,作为NIO的基础入门,我们将忽略掉一些在生产环境中部署所需要的一些特性和功能. 步骤一:打开ServerSocketChannel,用于监听客户端的连接,它是所有客户端连接的父管道,代码示例如下: 1 ServerSocketChannel acceptorSvr = ServerSocketChannel.open(); 步骤二:绑

团队沟通利器之UML—— 序列图

一:用途      对一个开发团队来说,序列图是非常重要的,因为序列图用于描述系统内部一群对象之间的交互情况,尤其在做爬虫这种 业务复杂性的项目,序列图可以让我们更快的理清这些复杂流程.   二:基本元素    序列图中的uml元素还是相对比较少的,先截个图. 1:生命线 首先我们要知道序列图有一种动静结合的特点,以类图作为静态结构,用例图作为动态行为的过程.所以我们可以认为生命线 就是一个类,比如下图中,customer:Customer ,前者是类的实例,后者是类名,图中的"X"是

XMemcached的类图和序列图

XMemcached的结构方面的文档比较少,可能对有兴趣了解它的基本结构,或者想读源码的朋友入手比较困难.画了两张UML图,一张是主要的类图,描述了主要的类和接口之间的关系和结构.一张是序列图,一次典型的get操作需要经过什么步骤. 首先看类图,没有什么需要特别说明的. 再看一下get操作的序列图,需要注意的是等待响应的过程是异步的.

Java建模: UML工作簿, 第2部分――序列图中的条件逻辑

我在介绍性专栏中曾经解释过,序列图用于描述系统随时间而产生的内部行为.因为系统行为是对象相互之间发送消息的结果,因此序列图绘制了那些消息在对象之间移动时的路线.归根结底,序列图就是交互图.在前一部分中,尽管我们描述了无数交互,但只创建了一个相当简单的图.这次,我们将做进一步的研究,看看 UML 指定的序列图的两种形态.这两种形态是 常规和 实例.让我们从每种形态的正确应用开始. 序列图的两种类型 序列图用于描述对象之间两种不同类型的交互.一种交互类型是 必须 (must) 交互,其中对象 A 必

rational software architect9 java生成序列图,软件死机

问题描述 rational software architect9 java生成序列图,软件死机 有谁知道的吗? 解决方案 Eclipse或myeclipse的内存不足造成的 解决方案二: 关闭了重新开下看看,先产生一个简单的看看 还不行是软件环境的问题 解决方案三: 简单的可以的.中等软件就卡了. 这么大的软件对付稍微大点的就不行,不会这么差吧 解决方案四: 设置了.好了. -Xms512M -Xmx512M -XX:PermSize=128M -XX:MaxPermSize=128M

使用IBM Rational Software Architect为Java项目生成序列图

他还将解释序列图无法编辑的问题,生成可编辑序列图的必要性,以及生成可编辑图表的步骤. 导入样例应用程序 在浏览该示例时,我们将使用 IBM® Rational® Software Architect 附带的 Enterprise JavaBeans (EJB) 3.0 http://www.aliyun.com/zixun/aggregation/16460.html">Counter 样例来生成一些序列图.首先,导入这个样例应用程序: 在 新的工作空间启动 Rational Softwa

《Netty 权威指南》—— NIO客户端序列图

声明:本文是<Netty 权威指南>的样章,感谢博文视点授权并发编程网站发布样章,禁止以任何形式转载此文. 步骤一:打开SocketChannel,绑定客户端本地地址(可选,默认系统会随机分配一个可用的本地地址),示例代码如下: 1 SocketChannel clientChannel = SocketChannel.open(); 步骤二:设置SocketChannel为非阻塞模式,同时设置客户端连接的TCP参数,示例代码如下: 1 clientChannel.configureBlock