`
syyixin
  • 浏览: 35989 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

UML之用例图-优缺点

    博客分类:
  • UML
阅读更多

用例图当然很好用,不然RUPRational Unified Process,统一软件开发过程,统一软件过程)也不会让用例驱动作为核心方法论之一,当然用例图自身也有很多不足,需要其它技术作补充。

 

一、优点:

 

  1. 简洁、直观。是的,确实比较直观,几个小人人、几个椭圆,外加几条不多的线,用一个矩形一框就出来了,了不起再弄个用例描述,系统交互行为很清晰地表达出来。

  2. 规范、易理解。用例图是UML建模里比较常用的一个图,你用,我用,大家都用,并且标识、要素等均符合UML2中的约定,并且不依赖开发语言,所以说它和其它图一样规范因为规范所以对UML建模用户来说是易理解的。

  3. 用户导向、描述精准。用例方法完全是站在用户的角度上(从系统的外部)来描述系统的功能的。我们不管系统内部实现功能的机制,仅仅把系统看作一个黑盒,然后参与者与其进行交互,也就是用例是基于用户场景的,所以能更精准地表达用户功能需求。

  4. 需求与设计分离。因为用例图是站在系统外的视角描述系统需求的,所以并没有介入到系统内部实现细节,这就让需求和设计工作分离开来,条理清晰。

  5. 便于设计测试用例。用例图描述的就是一个用户场景,测试设计人员正好可以根据用例图设计测试用例。

  6. 边界清晰。一个矩形框把系统边界清晰、明确地表达出来,便于设计人员据此把握系统范围。

  7. 敏捷。用例图允许我们讲故事、写卡片,允许我们比较敏捷地实现功能需求方面的管理与交流。

 

二、不足:

 

  1. 不能表达非功能需求。用例图是描述用户功能需求的工具,对于可靠性、性能等非功能需求无能为力。

  2. 对不懂UML的客户或程序员来说难以理解。对UML支持者来说,用例图可能是规范的、清晰的、简单的、易理解的,但对并未掌握UML建模技术的人来说理解那些椭圆并非易事,再说还有一系列如同伪代码似的事件流。

  3. 粗粒度。是的,用例图不涉及设计实现细节,只是一个功能划分,粒度非常粗,很多细节无从描述,需要用其他工具进行辅助说明。

 

三、常见的错误用法和问题:

 

  1. 客户看不懂用例图,又要提供一个高大上(画UML图)的需求规格文档。这时候怎么办呢?作者建议画客户需要画的,然后把用例图制作成一个个卡片去跟客户讲故事,客户不会连故事都听不懂吧除非你讲故事的水平比画图的水平还拙劣。

  2. 架构师或程序员看不懂用例图。看不懂的话这些用例委实就成了摆设,这时又该怎么办呢?对的,仍旧讲故事,说业务场景并用用例规约加以辅助说明。

  3. 用例图涉及到实现细节。这个要加以避免,如果过早介入系统内部实现细节,过多的系统内部设计描述会让客户和程序员疲惫不堪。

  4. 系统边界模糊不清。建议用例图绘制时从上往下画,比较复杂的子系统可以拆在不同的用例图中。

  5. 用例过多。系统总的用例数不宜超过50个,建议最好是20-30个。过多的用例必定会有过多的Associationincludeextendgeneralize等关系,各种关系错综复杂违背了我们使用用例图的初衷。

 

作者:忆辛,写于羊城,20141212173分发表在ITeye网站上,未经作者书面许可,任何单位和个人不得转载或复制本文全部或任何部分。

 

0
0
分享到:
评论

相关推荐

    UML设计-用例图

    什么是用例,用例的优缺点,如何建立用例模型。

    UML课程设计---餐厅系统的架构设计.doc

    "题目:餐厅系统的架构设计 " " " " " "工作内容及要求 " "进一步细化需求分析的内容,识别出系统的参与者,并完成用例图; " "将用例图中的每个用例都写成相应的事件流文档; " "进一步使用活动图来描述每个用例,...

    UML和模式应用期末复习资料

    在用例图中参与者是什么,它属于系统范围之内吗? 请简要阐述在软件开发过程中使用UML的必要性以及好处。 领域模型的状态变化包括那三种? 寻找概念类的三种策略是什么? 关联是什么? 在UML中定义了哪几种可见性规则...

    简单的图书馆系统UML图

    简单的图书馆系统UML图,虽然里面还有些问题,但是我们的辛苦作品,主要缺点:1)用例图中extend的箭头方向有错误,如查询已借书籍和查询违规书籍之间,借阅书籍和续借书籍之间;2)类图相对简单了一些;3)第1张顺序图中的...

    移动终端投票系统的设计与实现.kdh

     1、分析了当前电子投票系统的优缺点,建立了以解决安全问题为首要任务的移动终端投票系统的模型,并利用UML的用例图和顺序图对需求进行了详细分析。设计了该系统的体系结构,该系统由服务器端、移动终端和无线...

    07软件工程A-答案-duo.doc

    (5分) 用例图、状态图、活动图、协作图、顺序图 "班 级 " " " "学 号 " " " "姓 名 " " " 4. 综合题(40分) 1、在测试一个48000条指令的程序时,第一个月由甲、乙两名测试人员各自独立测试这 个程序。经过

    asp.net知识库

    如何传值在2个页面之间 :要求不刷新父页面,并且不能用Querystring传值 Asp.net地址转义(分析)加强版 Web的桌面提醒(Popup) Using the Popup Object Click button only once in asp.net 2.0 Coalesys PanelBar ...

    外文翻译 stus MVC

    The UML diagram also included ActionError and ActionErrors. ActionError encapsulates an individual error message. ActionErrors is a container of ActionError classes that the View can access using tags...

    二十三种设计模式【PDF版】

    同时为降低理解难度,尽量避免使用 UML 图. 如果你有一定的面向对象编程经验,你会发现其中某些设计模式你已经无意识的使用过了;如果你是一个新手,那么从开始就 培养自己良好的编程习惯(让你的的程序使用通用的模式,...

    JAVA面试题最全集

    4.cmp与bmp的优缺点 5.j2me程序的必需的几个部分 6.c/s与b/s的区别 7.构建一个connect pool,然后再调用它, 8.j2ee平台与dotnet平台的区别 9.ejb的life cycle 10.session bean 和 entity bean的区别 11.ejb...

Global site tag (gtag.js) - Google Analytics