软考中涉及扩展与包括关系的辨认,先不说考试的事,扩展与包括关系是UML中非经常见、非常基础的一种关系,然而我发现非常多同学都特别easy混淆,甚至软考真题中都存在题目和答案有待商榷的地方。此篇博客实属楼主匆忙而著,文章简明、短小,意解各位备考童鞋扩展与包括之困惑……

扩展:

《extend》

A—————>B(A扩展出B)

B作为扩展用例,A是基本用例,该表示方法表明向基本用例中的某个扩展点插入扩展用例。严格来说,扩展用例在用例模型中。通过分析业务抽象出关键的可选核心业务而形成。

包括:

《include》

A—————>B(A包括于B)

B作为基本用例,A是包括用例,该表示方法表明在运行基本用例的用例实例过程中必须运行包括用例。

与扩展用例一样。包括用例也用在用例模型中,通过分析业务抽象出关键的必选核心业务而形成。包括用例是被封装的,它代表可在各种不同基本用例中复用的行为。

扩展:

与包括关系不同,扩展关系是可选的。而没必要的,即使没有扩展用例。基本用例也是完整的;假设没有基本用例。扩展用例是不能单独存在的;假设有多个扩展用例,同一时间用例实例也仅仅会使用当中一个。

包括:

与扩展用例不同,包括用例是必需的,而不是可选的。假设没有包括用例,基本用例是不完整的。

使用扩展关系可能基于下面理由:

  • 表明用例的某一部分是可选的系统行为,这就把可选行为与必选行为分开来了。
  • 表明仅仅在特定条件下才运行。
  • 表明有些行为能够基本用例的扩展点插入,但要看详细运行基本用例时与角色进行的交互。

使用包括用例可能基于下面理由:

  • 从基本用例中分解出这种行为:基本用例依赖于运行包括用例所得的结果。
  • 包括用例是被分解出来的、多个用例共同拥有的行为。


        当然扩展和包括都来自生活中故事。通过业务分析与抽象而来,时间有限今天仅仅能先写这些,欲知故事怎样,请看下篇分解。。。


软考历程(5)——extend 与 include的更多相关文章

  1. 软考下午题详解---uml图

    在上篇博客中,小编主要简单的对软考下午题当中的数据流图设计进行了一系列总结,今天我们继续来看软考下午题当中大题部分,uml图的相关知识,在我们学习的过程中,我们也已经接触过,西安交大刘惠老师讲解过um ...

  2. 软考之PV操作(同步)

    这几天,陆续有那么三两个同学跟我讨论了一下关于软考上的PV操作的题,吾虽不才,但还是把同学们讲通了,在此,特分享一下自己的思路和想法,愿对大家有点帮助! 下面,我们就通过自己做过的试卷上两道题来分析: ...

  3. 软考类----编码、ASII码等

    淘米2014实习生笔试,今年是淘米第一年招暑期实习生,笔试好大部分考的是软考的题目啊啊啊啊(劳资后悔当年没考软考刷加权),其他是浅而泛的风格,C++,SQL语句,数据结构(哈夫曼树,二叉查找树,栈后缀 ...

  4. 备战“软考”之软件project

    说到"软件project"就有一种非常纠结的感觉!为什么呢?由于刚进入软考复习阶段,大家都把它放到了"比較"次要的地位,由于已经学过两遍,再加上它没有非常难理解 ...

  5. Data Structure(3)——软考阶段学习小结

    数据结构计算机等级考试中有,自考中有,软考中同样有,可见其内容的重要程度,今天对软考阶段视频学习内容的总结,同样是对前面学习内容的回顾,同样是对后面学习的铺垫. 中结:原本因为之前有过类似的总结,这次 ...

  6. 软考之CPU的寻址方式

    在复习软考的时候,发现CPU的内部工作原理这一部分的内容挺重要的,现对CPU的寻址方式进行了一下总结.以下就来一一介绍一下. 我们都知道一个指令分为操作码和地址码两部分.操作码确定指令的类型.地址码确 ...

  7. 软考之路--从生活着手,看PV如何操作

    PV操作,是软考当中一个很重要的考点,一听到这个名词,顿时赶脚高大上有么有,在软考的历年试题中,也不乏PV操作的身影,老师也对PV操作进行了一次讲课,那时年少,听得稀里糊涂,也不是很理解,在小编的理解 ...

  8. 软考之路--J2SE,从HelloWorld到传世代码

    "Hello World"程序指的是只在计算机屏幕上输出"Hello, World!"(意为"世界,你好!")这行字符串的计算机程序.hel ...

  9. 软考论文的六大应对策略V1.0

    软考论文的六大应对策略V1.0 短短2个小时,要写3000字的文章,对习惯了用电脑敲字.办公的IT从业人员而言,难度不小.尤其,大家会提笔忘字.笔者的应试策略,就是勤学苦练,考试前的一个星期,摸清套路 ...

随机推荐

  1. DataGridView设置列标题不换行

    dgv.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False;  //设置列标题不换行 // 设定包括Header和所 ...

  2. Python 网络请求模块 urllib 、requests

    Python 给人的印象是抓取网页非常方便,提供这种生产力的,主要依靠的就是 urllib.requests这两个模块. urlib 介绍 urllib.request 提供了一个 urlopen 函 ...

  3. MongoDB 分布式部署教程

    本文将介绍如何使用 MongoDB 提供的 Replica Set 和 Shards 功能构建一个分布式 MongoDB 集群. Replica Set 部署 我们先从部署一个三节点的 Replica ...

  4. Caffe SSD的resize过程解析

    问题描述在windows平台上,本地训练SSD_512得到了对应的权值参数文件,加载模型进行前向测试的时候,发现调用caffe.io.Transformer中的resize处理函数速度太慢,打算用op ...

  5. java将XML文档转换成json格式数据

    功能 将xml文档转换成json格式数据 说明 依赖包:1. jdom-2.0.2.jar : xml解析工具包;2. fastjson-1.1.36.jar : 阿里巴巴研发的高性能json工具包 ...

  6. DNS使用的是TCP协议还是UDP协议(转)

    原文链接:DNS使用的是TCP协议还是UDP协议 DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类.但很少有人知道DNS分别在什么情 ...

  7. JAVA NIO non-blocking模式实现高并发服务器(转)

    原文链接:JAVA NIO non-blocking模式实现高并发服务器 Java自1.4以后,加入了新IO特性,NIO. 号称new IO. NIO带来了non-blocking特性. 这篇文章主要 ...

  8. Java:Linux上java -jar xxx.jar&java -cp 区别

    java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号“;”.Lin ...

  9. (转)unity3D 如何提取游戏资源 (反编译)+代码反编译

    原帖:http://bbs.9ria.com/thread-401140-1-1.html 首先感谢 雨松MOMO 的一篇帖子 教我们怎么提取 .ipa 中的游戏资源.教我们初步的破解unity3d资 ...

  10. mybatis 是如何与数据表对应上的 ?

    MyBatis也需要进行表和实体 的关联.我们查询的是表,返回的结果是实体类.这之间有一个对应关系. 如果说实体类的属性和表的列名一一对应,名字一样,那就自动解决了这个问题.但是如果实体类的属性和表的 ...