区别extends 、 use、include

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

区别extends 、 use、include

extends是对已有用例的扩展
use是使用了另一个用例
include,是指一个用例包含另一个用例
extends的关键在于,他不会修改原有的用例说明,而是在扩展后的用例里描述扩展点

比如:
用例UserLogin,另一个用例CheckPermisonViaLDAP,扩展时说明在UserLogin的第2步扩展,仅仅是增加功能,不影响原流程。

use理解为两个用例是平行的关系,也就是说被引用的用例也是可独立执行的。
included用例则不是可独立执行的
类比:
  1. (extends 实例)–例如:老王进城办事,2小时就可以回去,在这2小时内内急时就会去上厕所。上厕所用例是进城用例的扩展,因为不上厕所老王进城办事也可完成。
  2. (use 实例)–例如:老王进城,他可以坐飞机,可以坐火车,还可以走路,那么进城用例就泛化为坐飞机、坐火车和走路三个用例了,它们之间存在层级关系。
  3. (include实例)–例如:还是老王进城,他从海南来北京办事,3天才能回去,那么这种情况下进城用例与上厕所用例的关系就应该是包含关系

用例描述参考文章:

1、https://blog.csdn.net/shanxing2/article/details/5774245
2、https://blog.csdn.net/ZZh1301051836/article/details/71514575
3、用例规约:https://blog.csdn.net/happyunbound/article/details/8119691

一、思路
根据自己的系统,有两种选择,可参考论文样例B中的写。
(1)一种是根据模块来写用例图,然后在用例描述中多写几个用例来进行描述,来表示一个模块的用例图与用例描述;
(2)另一种是画一个系统整体的用例图,然后按每个模块分小节,每个小结对模块中的用例描述分开进行,可以把主要的用例再画出详细地用例图。但也需要分开进行用例描述,粒度可以比上边总的用例图细一点。
(3)待续。。。。。

一、简述。
1.参与者
谁在这个场景中做事儿

2.前置条件
怎么会进入这个场景,即在什么情况下进入这个场景

3.基本操作流程
完成这个场景的步骤,不要涉及界面细节

4.业务规则
这个场景有没有特殊的规则

5.后置条件
这个场景完成以后会怎样,也就是说,这个场景的完成能带来什么好处

6.相关用例
业务用例:简单描述
系统用例:详细描述

软件工程各种UML总结 软件工程 题目 有同学询问考试重点,希望能尽早了解以便复习,那么我就说明一下。 我们的考试注重实践过程,基本上没有需要死记硬背的内容,为了将来工程认证方便,题型如下: 针对一个实际的系统需求进行建模出10道题,每题10分,包含以下内容: 该系统用例图 其中某个用例的描述 系统的领域类图 系统中,某个用例的时序图 系统中,某个类的属性方法 按照某设计原则的设计 ER图 系统建立的包图 体系结构 体系结构知识扩展 用例图 用例描述 [外链图片转存失败,源站可能有防盗链机制,建议将图片 阅读详情

相关推荐

Python从入门到精通(第53章):Flask路由与模板

本章讲解 Flask 模板引擎 Jinja2 的核心用法。渲染 HTML 模板,{{ }}插值,做控制结构。模板继承(extends)+ block + include 实现页面复用布局统一。url_for反向生成 URL,session闪现消息,显示一次性提示。模板里不做复杂业务逻辑,只做数据展示。

zhaoyang4298的博客 355

PHP 多继承的优先级

我们都知道php 是单继承,无法像C++一样 ,但是PHP为了可以实现多继承,在PHP5.4 后引入Trait 类 ;   但是实际上 Trait 并不是一个真正意义上的类,只是这么理解,因为 Trait 不能被实例化,也就不是一个真正意义上的类,但却有类的所有特点;  使用时 通过 use 引入 Trait 类 ; Trait 类,的优先级是大于 extends 继承过来的类, 操作比较简...

TOP_own的博客 408

includeextends用法区别

extends extends指继承父模板的框架,将里面的部分内容换成子模版需要的东西即可。 语法:{% extends ‘public/base.html’ %} extends后面可加相对路径,也可使用变量 如: page1.html: {% extends 'public/base.html' %} {% block title %}page1{% endblock %} {% block ...

wbl320的博客 1710

UML 用例图中<<include>>,<<extends>>,<<uses>>的区别

区别extendsuseincludeextends是对已有用例的扩展use是使用了另一个用例include,是指一个用例包含另一个用例extends的关键在于,他不会修改原有的用例说明,而是在扩展后的用例里描述扩展点比如: 用例UserLogin,另一个用例CheckPermisonViaLDAP,扩展时说明在UserLogin的第2步扩展,仅仅是增加功能,不影响原流程。use理解为两个

greensure的专栏 6844

html引入html include_程序员:includeextends用法区别,看了你就明白

extendsextends指继承父模板的框架,将里面的部分内容换成子模版需要的东西即可。语法:{% extends ‘public/base.html’ %}extends后面可加相对路径,也可使用变量如:page1.html:{% extends 'public/base.html' %}{% block title %}page1{% endblock %}{% block content ...

weixin_39669163的博客 1357

Use Case 中 include 与 extend 的区别

include 是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分(就象提取公因式一样),例如 UseCaseA 中包括了 a b 两个流程,而 UseCaseC 中包含了 c b 两个流程。为了提高复用性,可以把 b 提取出来,形成另一个用例 UseCaseB,此时,UseCaseA include UseCaseB(表现为一条指向 UseCaseB 的虚线,箭头在 U

niochen的专栏 4188

include and extend

对于includeextend 还是有些混淆。虽然很多书籍文章讲解了UML图中的includeextend区分,但多数讲的让人看了似懂非懂的,在实际运用中仍然会遇到不少困难,是否有通俗易懂的讲述了?请大家在这里交流一下,我自己先说一下我的理解:include主要是用例重用,所以通常至少有两个用例包含共同的一个用例,如:A include B,并且C include B,角色通常只直接作用在包含另一用例的用例上,在本示例中,角色只作用在AC上,而不会直接作用于B上,这里的B不直接面向观众,而A直接面向

Charles Pain的专栏 3300

Django之模板HTML(模板渲染(字符,列表,字典),继承母版(extendsextends), templatetags(simple_tag,filter))【交互篇三】

上一篇:Django之view视图处理【交互篇二】点击跳转 目录篇:Django之前后端交互篇目录 点击跳转 下一篇:Django之CSRF XSS原理解析【交互篇四】点击跳转 目录 各种模板渲染 后端进行render 前端进行渲染(字符渲染,列表渲染,字典渲染,IF判断渲染,if嵌套到for循环里面,forloop) 得到的结果 注意:数据类型取值Python的区别 HTML继承...

Burgess_zheng的博客 1474

uml中ExtentInclude关系的说明

Extend 、 IncludeUses第一、 必须明确usesextends是UML1.1中的stereotypes(构造),它们在UML1.3(Rose2003中已经舍弃了uses关系)中被修订为include(代替了原有的uses)extend;第二、 需要明确的是includeextend用于表示use cases之间的关联(associations)??依赖关系;第三、 有一

未语愁眸 2144

用例图中如何区分includeextend?

需求分析的时候,复杂的需求总是让人很难搞清用例之前的关系,generalize关系比较容易搞清,最易混淆的就是includeextend了。网上好多都对此讲解的不明白,甚至出错。本文告诉你如何判断到底是用include还是extend? 看完下图就明白了。本图是用visio画的,所以《uses》其实是代表《include》(微软总是不服从标准)。 1. 《include》意为包含,也就是...

编程开发资料库 1022

UML用例图中包含(include)、扩展(extend)泛化(generalization)三种关系详解

UML用例图中包含(include)、扩展(extend)泛化(generalization)三种关系详解 共性:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。 1、包含(include)     包含关系:使用包含(Inclusion)用例来封装一组跨越多个用例的相似动作(行为片断),以便多个基(

樊华的专栏 584

用例图 extend include

在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)包含(include)。其中includeextend最易混淆。下面我们结合实例彻底理清三者的关系。 基本概念 用例图(Use Case Diagram):用例图显示谁是相关的用户,用户希望系统提供什么服务(用例),以及用例之间的关系图。用例图主要的作用是获取需求、指

waj89757的专栏 2365

UML建模之用例图(重点讲extendinclude关系)

用例图(Use Case Diagram)是整个UML9种图中最基础、最重要的一种图。为什么说它重要呢?因为用例图描述的是待开发系统的功能需求,这些功能需求是UML其它几种视图的依据基础,其它几种图都要围绕用例图中定义的用例来建模,也可以说其它几种图都是为了实现用例图中的用例而存在的。 那么用例图都有哪几种元素组成呢? 角色(Actor)

tiger_ibm的专栏 5万+

UML用例图之泛化(generalization)、扩展(extend)包含(include)关系

在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化 (generalization)、扩展(extend)包含(include)。其中includeextend最 易混淆。下面我们结合实例彻底理清三者的关系。 基本概念 用例图(Use Case Diagram):用例图显示谁是相关的用户,用户希望系统提供 什么服务(用例),以及用...

weixin_34061042的博客 412

struts2配置文件中的includeglobal-results

今天遇到的一个这样的问题:几个struts2的配置文件 用include 进struts.xml配置文件里面去。每个配置文件都有 一个 相同的<global-results> 想把它们提出来来 放到struts.xml配置文件里面去。这样就只需要配置一个<global-results> 了。但是遇到一点问题。404的。以下是网上找的解决方法。 (1)st...

weixin_30834019的博客 74

UML中用例图之间的关系

定义include / using (包含) :基用例与包含用例之间的关系。说明如何将包含用例中定义的行为插入基用例定义的行为中。基用例可以看到包含用例,并依赖于包含用例的执行结果。但是二者不能访问对方的属性。extend(扩展):指扩展用例与基用例之间的关系,说明如何将扩展用例定义的行为插入基用例定义的行为序列。扩展用例以模块化的方法递增地修改基用例。         generalizatio

afxid的专栏 9199

转:UML用例图之泛化(generalization)、扩展(extend)包含(include)关系

在画用例图的时候,理清用例之间的关系是重点。用例的关系有泛化(generalization)、扩展(extend)包含(include)。其中includeextend最易混淆。下面我们结合实例彻底理清三者的关系。 基本概念 用例图(Use Case Diagram):用例图显示谁是相关的用户,用户希望系统提供什么服务(用例),以及用例之间的关系图。用例图主要的作用是获取需求、指导测...

kgdso的专栏 255

PostgreSQL - 索引优化:覆盖索引的创建与适用场景

PostgreSQL 索引优化:覆盖索引的创建与适用场景 摘要 PostgreSQL中的覆盖索引是一种高效查询优化技术,通过在索引中包含查询所需的所有列,避免回表操作提升性能。本文详细介绍了: 覆盖索引原理:与普通索引对比,展示其"索引即数据"的特性 实现方法:使用INCLUDE子句创建覆盖索引,分析其内部B-tree结构 适用场景:包括高频只读查询、聚合计算、分页查询JOIN操作优化 注意事项:索引大小维护成本平衡,数据类型限制 实战应用:通过Java代码示例演示覆盖索引在真实系统

千淘万漉虽辛苦,吹尽狂沙始到金 2万+
上一篇: Nexus
下一篇: Uploadifive 批量文件上传
霍夫曼
博客等级 码龄19年 172粉丝 707原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值