软考中涉及扩展与包括关系的辨认,先不说考试的事,扩展与包括关系是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. error “Device supports x86, but APK only supports armeabi-v7a”

    checkout the build.gradle from module:app. It turns out that there's a such config: ndk { abiFilters ...

  2. [转]如何将PHP作为Shell脚本语言使用

    From : http://www.linuxfly.org/post/559/ 我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短……).但是只有很少数的人意识到PHP也可以很好 ...

  3. 利用ASP.NET运行数据库的安装脚本

    在启明星的演示站点里,经常有用户修改演示密码,导致别的用户无法访问. 为此,在登陆页面,增加了一个“初始化数据库”功能,这样,即使用户修改了密码,别的访问者,只要重置数据库,就可以很容易再次进入. 首 ...

  4. SpringBoot yml 配置 多配置文件,开发环境,生产环境配置文件分开

    原文地址:https://www.cnblogs.com/baoyi/p/SpringBoot_YML.html 1. 在 spring boot 中,有两种配置文件,一种是application.p ...

  5. Resultset转Bean工具类

    package org.pandas.webIdp.webOP.help; import java.lang.reflect.Field; import java.lang.reflect.Metho ...

  6. 第二章 BIO与NIO

    <netty权威指南>读书笔记 一.BIO 1.服务端程序: package bio; import java.io.BufferedReader; import java.io.IOEx ...

  7. [leetcode]Wildcard Matching @ Python

    原题地址:https://oj.leetcode.com/problems/wildcard-matching/ 题意: Implement wildcard pattern matching wit ...

  8. [leetcode]Evaluate Reverse Polish Notation @ Python

    原题地址:https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/ 题意: Evaluate the value of an ...

  9. iOS开发-UITapGestureRecognizer手势

    手势在iOS开发中是一个比较常用的功能,不过相对来说大家用的比较少,经常刷网易新闻,上次用了一下捏合手势才发现可以调整字体大小.昨天看到一个介绍摇一摇这个功能的,没看到之前一直都觉得摇一摇是微信的专有 ...

  10. Tensorflow LSTM实现

    Tensorflow[LSTM]   0.背景 通过对<tensorflow machine learning cookbook>第9章第3节"implementing_lstm ...