用例图当然很好用,不然RUP(Rational Unified Process,统一软件开发过程,统一软件过程)也不会让用例驱动作为核心方法论之一,当然用例图自身也有很多不足,需要其它技术作补充。
一、优点:
-
简洁、直观。是的,确实比较直观,几个小人人、几个椭圆,外加几条不多的线,用一个矩形一框就出来了,了不起再弄个用例描述,系统交互行为很清晰地表达出来。
-
规范、易理解。用例图是UML建模里比较常用的一个图,你用,我用,大家都用,并且标识、要素等均符合UML2中的约定,并且不依赖开发语言,所以说它和其它图一样规范因为规范所以对UML建模用户来说是易理解的。
-
用户导向、描述精准。用例方法完全是站在用户的角度上(从系统的外部)来描述系统的功能的。我们不管系统内部实现功能的机制,仅仅把系统看作一个黑盒,然后参与者与其进行交互,也就是用例是基于用户场景的,所以能更精准地表达用户功能需求。
-
需求与设计分离。因为用例图是站在系统外的视角描述系统需求的,所以并没有介入到系统内部实现细节,这就让需求和设计工作分离开来,条理清晰。
-
便于设计测试用例。用例图描述的就是一个用户场景,测试设计人员正好可以根据用例图设计测试用例。
-
边界清晰。一个矩形框把系统边界清晰、明确地表达出来,便于设计人员据此把握系统范围。
-
敏捷。用例图允许我们讲故事、写卡片,允许我们比较敏捷地实现功能需求方面的管理与交流。
二、不足:
-
不能表达非功能需求。用例图是描述用户功能需求的工具,对于可靠性、性能等非功能需求无能为力。
-
对不懂UML的客户或程序员来说难以理解。对UML支持者来说,用例图可能是规范的、清晰的、简单的、易理解的,但对并未掌握UML建模技术的人来说理解那些椭圆并非易事,再说还有一系列如同伪代码似的事件流。
-
粗粒度。是的,用例图不涉及设计实现细节,只是一个功能划分,粒度非常粗,很多细节无从描述,需要用其他工具进行辅助说明。
三、常见的错误用法和问题:
-
客户看不懂用例图,又要提供一个高大上(画UML图)的需求规格文档。这时候怎么办呢?作者建议画客户需要画的,然后把用例图制作成一个个卡片去跟客户讲故事,客户不会连故事都听不懂吧除非你讲故事的水平比画图的水平还拙劣。
-
架构师或程序员看不懂用例图。看不懂的话这些用例委实就成了摆设,这时又该怎么办呢?对的,仍旧讲故事,说业务场景并用用例规约加以辅助说明。
-
用例图涉及到实现细节。这个要加以避免,如果过早介入系统内部实现细节,过多的系统内部设计描述会让客户和程序员疲惫不堪。
-
系统边界模糊不清。建议用例图绘制时从上往下画,比较复杂的子系统可以拆在不同的用例图中。
-
用例过多。系统总的用例数不宜超过50个,建议最好是20-30个。过多的用例必定会有过多的Association、include、extend、generalize等关系,各种关系错综复杂违背了我们使用用例图的初衷。
作者:忆辛,写于羊城,2014年12月12日17点3分发表在ITeye网站上,未经作者书面许可,任何单位和个人不得转载或复制本文全部或任何部分。
相关推荐
UML基础教程:用例图、类图、序列图 UML(Unified Modeling Language)是一种面向对象软件设计的统一建模语言,用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。UML 由语义和表示法两个部分组成。语义...
UML 图书借阅管理系统的用例图 UML 图书借阅管理系统的用例图是使用 UML 语言描述的图书借阅管理系统的用例图,旨在帮助开发人员和用户更好地理解系统的业务流程和需求。该系统的主要参与者包括读者、图书管理员和...
- **用例图**:展示了系统功能与用户之间的交互关系。 - **用例层次**:根据复杂度将用例分为不同的层次。 - **用例与特性(或故事)**:讨论了用例与敏捷开发中的用户故事之间的关系。 - **何时使用用例**:介绍了...
- **需求分析阶段:** 使用用例图来捕获系统的需求。 - **设计阶段:** 使用类图、顺序图等来描述系统的结构和行为。 - **实现阶段:** 参考设计文档来编写代码。 - **测试阶段:** 使用状态图等活动图来验证系统的...
1. 用例图,描述一组用例,参与者及其它们之间的关系,是外部用户所能观察到的系统功能的模型图。用于需求建模。 2. 类图,描述一组类之间的关系。用于对应用领域中的概念以及与系统实现有关的内部概念建模。 3. 对象...
它包含了多种图表类型,包括用例图、静态图、交互图、行为图和实现图,这些图表能够清晰地展示系统的不同层面。 2. UML的内容 - 用例图(Use Case Diagram):展示系统与外部参与者之间的交互,表示系统的主要功能...
行为图包括用例图、活动图等,描述系统功能和业务流程;交互图如序列图和通信图,则用于描述对象之间如何交互。 XML是一种基于文本的标记语言,它用于存储和传输数据,而不依赖于特定的软件或硬件平台。XML允许...
它全面支持UML的各种图表,包括类图、序列图、用例图、状态图等,特别适合大型、复杂的项目。Rational Rose的双向工程能力允许模型和代码之间的同步,便于迭代开发。此外,Rose还提供数据建模和Web建模的支持,以及...
StarUML支持多种UML图类型,如类图、对象图、用例图、序列图、状态图、活动图、组件图、部署图等,可以帮助开发者进行系统设计、分析和文档化。此外,它的开源性质意味着用户可以自定义扩展功能,或者参与到软件的...
- 主要图表:用例图、类图、对象图、序列图、协作图、状态图、活动图、组件图和部署图是UML中最常见的九种图表。 2. **UML工具箱.pdf** - 这可能是关于UML工具的一本指南,可能涵盖了各种UML建模工具的使用、特点...
用例图(Use Case Diagrams)对系统的行为进行组织和建模非常重要,它用于描述系统与外部参与者之间的交互,以及系统能够提供的服务或功能。 - **动态视图**:D. 序列图(Sequence Diagrams)和F. 协作图...
5. UML用例图:UML用例图是UML中的一个图表类型,用于描述系统的用例和参与者之间的关系。 6. UML状态机:UML状态机是UML中的一个图表类型,用于描述系统的状态变迁和行为。 7. UML活动图:UML活动图是UML中的一个...
本题涉及的知识点主要包括UML模型的识别、用例图的设计以及等价类划分法的应用,同时涵盖软件生存周期模型的比较和面向对象设计的关注点。 1. UML模型识别: - 通常,UML模型包括类图(描述类和它们之间的关系)、...
UML包括了类图、对象图、组件图、部署图等静态结构图,以及用例图、顺序图、活动图、协作图和状态图等动态行为图。然而,当UML应用于业务流程建模时,存在一些局限性。 首先,UML的多图形集合特性既是它的优点也是...
3. **用例图(Use Case Diagram)**:用例图描述了系统参与者(Actor)与系统提供的用例(Use Case)之间的关系,用于描绘系统功能需求。 4. **序列图(Sequence Diagram)**:序列图展示了对象之间交互的顺序,用于...
用例描述是对用例图的文字描述,包括用例的名称、描述、前提条件和后置条件等。 用例模型简介 用例模型是UML语言中的一种模型,用于描述系统的功能和行为。用例模型包括用例图和用例描述。用例图是一种特殊的流程...
UML 课程设计案例是使用 UML 语言描述的学生选课管理系统的设计案例,包括系统用例图、系统类图、系统状态机图和系统顺序图等。 互联网 互联网是指全球性的互联网络,提供了各种基于网络的服务和应用程序,包括...