`
txidol
  • 浏览: 54406 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

UML学习笔记(五)【用例图】

    博客分类:
  • UML
uml 
阅读更多

基本概念

用例图(Use Case Diagram):用例图显示谁是相关的用户,用户希望系统提供什么服务(用例),以及用例之间的关系图。用例图主要的作用是获取需求、指导测试。

基本组件:参与者(Actor)、用例(Use Case)、关系(Relationship)和系统。

关系(Relationship):为了体现一些用例之间的业务关系,提高可维护性和一致性,用例之间可以抽象出包含(include)、扩展(extend)和泛化(generalization)几种关系。

共性:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。

包含(include):就是为了共性,具体语言方法体现在,抽出一个公有的方法,它存在于别的用例体内一起用,本身不完整,或者说它是业务片段。本人觉得也可以为了将来好灵活使用该片段业务或开发维护,可以抽出来。

扩展(extend):本身是一个完整的业务,但在流程上,是从基用例上触发出来的。文字形式的用例描述可以很好的体现扩展,如流程走到A的时候,基用例是B,(可以扩展下)不同的情况下或者基础上添点其他功能业务,可以是B1、B2。(B1、B2扩展用例,独立且可选)

泛化(generalization):继承

方向:对于刚才的几种关系的图形方向箭头,我们先谈依赖关系,一段虚线的箭头,箭头指向被依赖的对象。以上关系,都遵循依赖关系,比如包含关系,基用例依赖它所包含的用例,箭头指向包含用例。扩展用例依赖基用例,它由基用例触发出来的,箭头指向基用例。泛化,儿子是父亲生出来的,儿子依赖父亲,箭头指向父亲。

几者的区别

●泛化侧重表示子用例间的互斥性;它必定发生,如审批泛化出工资调整审批、请假审批。
●包含侧重表示提供间接性的服务;它必定发生,如发送邮件包含在修改密码中,又包含在其他通知业务中。
●扩展侧重表示选择性的触发;基用例必定发生,但扩展用例某些情况下才发生。如查询某个表,扩展出导出这个表的EXCEL。


《UML精粹》下的用例:

用例是捕获系统功能需求的技能。用例描述了系统用户和系统本身的典型交互,提供了系统如何被使用的说明。

场景(scenario):用户和系统之间交互的步骤序列。

目标,用例的关键,用例通过共同用户目标绑在一起的场景集合。

我们为了目标,挑选出一个场景,作为主成功场景,把其他场景作为扩展。而扩展的场景,需要一个条件触发。他们保证会完成某个目标。同时,某个复杂的步骤可以抽出来变为一个用例,该用例包含于它的母用例中。

用例的一些公共信息

前置条件(pre-condition):用例开始之前,确保为真的东西。该用例本身不会去检查该条件,调用者检查。

触发器(trigger):触发用例开始的事件

保证(guarantee):用例结束时,系统会确保的东西。成功场景结束后得到成功保证;任何场景结束后都会得到最小保证。

用例的级别

风筝级别(kite-level):业务用例。

海平面级别(sea-level):核心用例,对主执行者有价值的东西,通常花几分钟到半小时完成。(系统用例)

鱼级别(fish-level):包含于海平面级别。(系统用例)

特性与用例

特性可能是整个用例、用例中的场景、用例中的步骤或一些变体。

推荐:使用文本形式表达用例,表达系统的外部视图,不要期望和系统类之间的关联,上面有些关联了,只是为了便于理解反过来说明的。

如:

 

用例名
用例级别

主成功场景:
1
2
3

扩展
2a:当某某情况的时候
     1。。。
     2。。。
3a:当某某情况的时候
     1。。。
     2。。。


 

 

参考资料:

用例图《UML精粹:标准对象建模语言建模指南(第3版)》Martin Fowler

用例图_百度百科 http://baike.baidu.com/view/1281729.htm

博客园 UML用例图博客 http://www.cnblogs.com/panjun-Donet/archive/2008/10/20/1315030.html

ITEYE UML用例图帖子 http://www.iteye.com/topic/958803

 

分享到:
评论

相关推荐

    UML笔记之用例图

    本人一菜鸟的学习笔记 仅当学习纪录,,,有兴趣者可以自行下载察看 不喜者 勿喷

    UML笔记(starUML 类图 用例图)

    总结,UML是软件开发过程中的关键工具,通过星UML等工具,我们可以有效地利用类图、用例图、时序图等图表进行建模,从而提高软件开发的效率和质量。通过学习和应用这些UML知识,开发者能够更好地理解和表达复杂系统...

    UML学习笔记.zip

    **UML学习笔记** UML(Unified Modeling Language)是一种标准化的通用建模语言,用于软件开发过程中的系统建模。这个“UML学习笔记”压缩包包含了一系列关于UML的详细资料,涵盖了从基础概念到高级应用的多个方面...

    我的uml学习笔记(在尚学堂学习的)

    《UML学习笔记——探索软件建模的利器》 UML,全称为统一建模语言,是软件开发中的一种重要工具,尤其在需求分析和设计阶段发挥着关键作用。它并非一种具体的分析或设计方法,而是图形化表示法,帮助我们清晰地表达...

    尚学堂uml学习笔记 李腾飞讲解

    《尚学堂uml学习笔记 李腾飞讲解》是针对UML(统一建模语言)的一份详细学习资料,由知名讲师李腾飞主讲。这份笔记涵盖了UML的核心概念、图形表示和实际应用,旨在帮助学习者深入理解并掌握这一重要的软件设计工具。...

    个人UML学习读书笔记

    - **用例图(Use Case Diagram)**:展示系统与外部参与者之间的交互。 4. **UML符号和约定** - 符号包括直线、箭头、椭圆、矩形、菱形等,每种形状和连接线都有特定含义。 - 关联线上的实心菱形表示聚合,黑色...

    [UML]UML学习笔记

    ### UML学习笔记知识点 #### 一、UML概述与重要性 - **定义**: 统一建模语言(Unified Modeling Language, UML)是一种标准化的建模语言,用于描述和构建软件系统的结构和行为。它由一组图表、符号和规则构成,...

    UML学习笔记

    **UML学习笔记** UML,全称统一建模语言(Unified Modeling Language),自1996年Booch、Rumbaugh和Jacobson合作推出的UML0.9版本以来,已成为软件开发领域广泛使用的建模工具。UML通过五种视图来描绘软件系统的...

    uml学习笔记 凑够十个字

    【UML学习笔记】 UML(Unified Modeling Language)是一种标准化的建模语言,主要用于软件和系统开发中的分析、设计和交流。它通过图形化的表示方式,帮助开发者与客户沟通需求,促进开发团队间的协作,避免在处理...

    UML学习笔记 建模语言

    ### UML学习笔记:建模语言详解 #### 统一建模语言(UML)概述 统一建模语言(UML, Unified Modeling Language)是一种被广泛应用于软件开发领域的标准化建模语言,它为软件密集型系统的可视化建模提供了一种统一的...

    UML建模ppt文档学习笔记

    UML提供了多种图表类型,包括用例图、类图、序列图、状态图、活动图等,帮助开发者理解、设计和沟通复杂的系统。 **用例图** 用例图是UML中的关键元素之一,它描述了系统与外部参与者之间的交互。在用例图中,我们...

    OOAD+UML 学习笔记

    - **用例图**:描述系统的功能和参与者。 - **逻辑视图**:展示系统的主要概念和它们之间的关系。 - **并发视图**:描述系统中的并发行为。 - **组件视图**:描述系统的物理组件及其交互。 - **配置视图**:展示系统...

    UML学习资料(内附三本电子书和学习笔记)

    这个文档很可能包含了各种UML图的实际示例,例如用例图、序列图、状态图、活动图、组件图和部署图等。通过实例,学习者可以更好地理解每种图的用途、构成元素以及如何绘制它们。例如,用例图用于描述系统与用户之间...

    UML学习手册,学习心得

    UML涵盖了多种图表,包括用例图、类图、对象图、状态图、活动图、序列图、协作图、组件图和部署图等。这些图表共同构成了一个全面的建模框架,能够帮助软件开发者清晰地表达和沟通设计意图。 2. **用例图** 用例图...

Global site tag (gtag.js) - Google Analytics