- 浏览: 114805 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (98)
- java (27)
- jms (2)
- jta (0)
- 性能调优及内存分析 (4)
- 设计模式 (14)
- 框架 (6)
- 其它 (9)
- job (1)
- maven (1)
- 服务器 (2)
- 分布式 (3)
- ibatis (1)
- linux (0)
- mysql (0)
- 并发编程 (0)
- java多线程 (2)
- 前端跨域 (1)
- 线程dump分析 (0)
- velocity (0)
- 数据库 (2)
- 协议 (0)
- 监控 (0)
- 开源软件 (2)
- 算法 (0)
- 网络 (1)
- spring (1)
- 编码 (0)
- 数据结构 (0)
- HTable和HTablePool使用注意事项 (0)
- opencms (0)
- android (16)
- 操作系统 (2)
- top (0)
最新评论
-
hold_on:
@Override public boolea ...
android listview的HeadView左右切换图片(仿新浪,网易,百度等切换图片) -
achersnake:
123
Servlet中listener(监听器)和filter的总结 -
angel243fly:
我用了这个方法,还是报同样的错误,还有什么建议吗?
eclipse提示CreateProcess error=87错误的解决方法
本文和大家重点讨论一下UML用例图中include与extend的区别,include是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分,而extend则恰好相反。下面请看本文详细介绍。 UML用例图中include与extend的区别 最近上论坛,看到在争论UseCase中include与extend的区别。其实这两者是很容易区分的。 include是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分(就象提取公因式一样),例如UseCaseA中包括了a和b两个流程,而UseCaseC中包含了c和b两个流程。为了提高复用性,可以把b提取出来,形成另一个用例UseCaseB,此时,UseCaseAincludeUseCaseB(表现为一条指向UseCaseB的虚线,箭头在UseCaseB侧),UseCaseC也includeUseCaseB。因而,当有include关系时,被include的用例通常会被两个以上的其他用例include(否则就不需要重用,也就不需要提取出来了),UML用例图如下: extend则恰好相反。假设UseCaseA的功能描述为“发送一条通知”,可是,发送通知的方式可能有许多种,例如通过邮件发送、通过短信发送等。在需求分析阶段,可能无法明确到底有多少种方式,在用例分析阶段,UseCaseA需要留出扩展接口,然后把已知的发送方式作为扩展用例给出,例如UseCaseB是“通过短信发送”,而UseCaseC是“通过邮件发送”,此时,UseCaseB和UseCaseCextend了UseCaseA,表现为两根虚线,箭头指向UseCaseA,UML用例图如下: 另:在UML用例图中,有时会看到两个用例之间有依赖关系(表现为一条单向或双向的实线),这是错误的,说明用例没有提纯。 (1)如果是调用了一部分,此时可以把B中的那部分流程提取出来,形成用例C,然后A和B都includeC; (2)如果是调用了所有流程,那么,A直接includeB即可; (3)如果A没有调用B中的任何流程……faint,那还画那条代表依赖的实线干嘛?
在include关系中,“UseCaseA和UseCaseC知道UseCaseB的存在,而UseCaseB根本不知道有UseCaseA和UseCaseC);
在extend关系中,UseCaseA不知道UseCaseB和UseCaseC的存在,但UseCaseB和UseCaseC却是知道UseCaseA并且知道如何在UseCaseA中作扩展的。
也许有人会问“如果两个用例之间,一个要调用另一个时,怎么办?”(有可能是混淆了用例和模块的关系),那么,首先要区分概念,用例就是用例,用例不是模块,也不是组件(虽然一个用例能发展成为“一个或多个”模块或组件);其次,从用例分析的角度来看,如果用例A确实要调用到用例B,那么,可以进一步分析:A是调用了B的所有流程呢,还是其中一部分流程?
发表评论
-
公钥,私钥和数字签名这样最好理解
2012-12-04 13:01 0一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2 ... -
btrace学习二--btrace一个简单例子
2012-11-09 16:28 0btrace安装好了,就看一些语法吧。可以到btrace的官方 ... -
Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
2012-10-25 20:27 0【目录】 一、【基础知识——扫盲】 二、【DOM、S ... -
如何在文件末尾写入新数据,适用JavaNIO
2012-07-02 09:29 1724转:http://stoneli88.iteye.com/bl ... -
BTrace使用简介
2012-05-23 16:23 932转:http://rdc.taobao.com/team/ ... -
java初始化顺序
2012-05-14 15:39 0转:http://www.cnblogs.com/miniwi ... -
HTMLDecoder,&#开头的编码换转成中文
2012-05-11 10:06 1147转:http://blog.sina.com.cn/s/blo ... -
类初始化顺序
2012-04-09 17:33 0转:http://www.cnblogs.com/miniwi ... -
Heritrix的eclipse配置启动
2012-04-07 11:46 0转:http://blog.csdn.net/lifesoft ... -
执行Runtime.exec异常: error=12,Cannot allocate memory
2012-03-26 10:03 1285转:http://blog.csdn.net/chifen ... -
使用Memory Analyzer tool(MAT)分析内存泄漏(二) ZZ
2012-03-13 08:41 1212http://www.blogjava.net/rose ... -
使用Memory Analyzer tool(MAT)分析内存泄漏(一)
2012-03-13 08:40 885转: http://www.blogjava.net/ro ... -
Java编程中“为了性能”尽量要做到的一些地方
2012-03-12 12:52 0最近的机器内存又爆满了,除了新增机器内存外,还应该好好revi ... -
Java内存模型
2012-02-23 19:57 0(原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来 ... -
Runnable、Callable、Executor、Future关系解读
2012-02-22 10:02 0在再度温习Java5的并发编程的知识点时发现,首要的就是把Ru ... -
HashCode本质
2012-02-22 09:05 01.hashcode是用来查找的, ... -
Java并发--任务执行.
2012-02-17 19:40 0PS: 发到博客的文章竟然发布不到论坛, 所以将文章从博客 ... -
java并发编程-Executor框架
2012-02-17 19:39 0Executor框架是指java 5中引入的一系列并发库中 ... -
Java 并发核心编程
2012-02-17 16:28 0内容涉及: 1、关于java ... -
future使用
2012-02-17 14:53 0在Java中,如果需要设 ...
相关推荐
在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)和包含(include)。其中include和extend最易混淆。下面我们结合实例彻底理清三者的关系。基本概念用例图...
在 UML 用例图中,包含、扩展和泛化是三种基本关系,它们之间的区别和联系对正确理解 UML 用例图至关重要。 包含关系(Include) 包含关系是一种基本关系,它允许将一个用例拆分为多个小的用例,以便重用和简化...
在这个主题中,我们将深入探讨三个核心概念:用例图、活动图以及在UML中的`include`和`extend`关系。** **1. 用例图(Use Case Diagram)** 用例图是UML中最基础的图之一,用于描绘系统与用户或外部实体之间的交互...
《UML用例图实例讲解》 UML(统一建模语言)是软件开发中用于系统建模的重要工具,其中用例图是描述系统功能需求的关键图表。本章将深入探讨用例图的概念、建模技术和一个实际的图书馆管理系统用例图的案例。 5.1 ...
在"uml用例图实例讲解.ppt"这个文件中,可能包含了各种用例图的例子,如银行系统的用例图,其中可能有"存款"、"取款"、"转账"等用例,以及"客户"、"ATM机"等参与者。通过这些例子,初学者可以更好地理解用例图的...
UML(统一建模语言)是软件开发中用于可视化、构造和文档化的标准工具,其中用例图是一种重要的图表类型,它描绘了系统与外部用户,即活动者之间的交互。用例图提供了一个高层次的视角,展示了系统的核心功能及其与...
《UML用例图实例讲解》 UML(统一建模语言)是软件开发中用于可视化、构建和文档化系统模型的重要工具。其中,用例图(Use Case Diagram)是UML的一种静态视图,主要用于描绘系统的主要角色、用例以及它们之间的...
### UML用例图详解及应用场景 #### 一、引言 UML(Unified Modeling Language,统一建模语言)是一种广泛应用于软件工程领域的图形化语言,用于描述软件系统的架构、行为和实现细节。其中,**用例图**是UML中最直观...
在 UML 用例图中,包含、扩展和泛化是三种基本关系,它们之间的区别和应用场景是开发者需要掌握的重要知识。本文将对 UML 用例图的包含、扩展和泛化进行详细阐述,并探讨它们之间的区别和应用场景。 包含关系...
用例图是统一建模语言(UML)中的一种图表,用于描绘系统中的参与者(Actor)与用例(Use Case)之间的关系,表达系统功能需求和参与者之间的交互。它并不是简单的功能或菜单项的列表,而是以故事的形式描述参与者...
学习UML用例图,不仅能够帮助我们梳理需求,还能促进团队间的沟通,使得非技术人员也能理解复杂的系统设计。通过创建和分析用例图,我们可以发现潜在的问题,优化系统设计,确保最终产品的功能符合用户需求。 在...
用例图(Use Case Diagram)是统一建模语言(UML)中的一种图表,用于展现一个系统与它的主要交互者(参与者)之间的动态关系,以及系统提供的功能(用例)。用例图是描述系统功能需求和使用场景的有效工具,有助于...
### UML用例图详解与初学者指南 #### 一、引言 统一建模语言(Unified Modeling Language,简称UML)是一种广泛应用于软件工程领域的标准化建模语言,旨在帮助软件开发人员更好地理解和构建复杂的软件系统。其中,...
在UML中,用例图(Use Case Diagram)是描述系统功能需求的一种图形表示,它展示了系统参与者(Actor)与系统提供的服务(Use Case)之间的关系。本文将深入探讨UML课程设计中的用例图及其关键元素。 1. **系统参与...
用例图是一种重要的需求分析工具,主要用于描述系统的外部可见行为以及不同角色与系统交互的方式。它能够清晰地展示系统的功能需求,帮助开发者理解用户的需求,并且便于进行后续的设计与实现。 #### 二、Rational ...
用例图(Use Case Diagram)是UML中的一种静态视图,用于描述系统或组件的外部行为,即系统如何与用户或其他外部系统交互。它通过图形化的方式展示了参与者(Actor)与用例(Use Case)之间的关系,帮助我们理解系统...
通过以上资源的学习,无论是初学者还是有经验的开发者,都能对UML用例图有深入的理解和掌握,从而更好地应用于实际项目中,提高系统设计的清晰度和可读性。在学习过程中,结合实践案例分析和绘制自己的用例图,能够...