定义:用例定义了一组用例实例,其中每个实例都是系统所执行的一些列操作,这些操作生成特定主角可以观测的值。一个完整的用例定义由参与者、前置条件、场景、后置条件构成。

1、理解用例:用例就是参与者希望通过系统达到的愿望。一个系统的功能性是由一些对系统有愿望的参与者要做的一些事构成的,事情完成后就达成了参与者的一个愿望,当全部参与者的所有愿望都能够通过用例来达到,那么这个系统就被确定下来了。捕捉功能性需求就是用例的作用。

2、特征:

(1)用例是相对独立的;

(2)用例的执行结果对参与者来说是可观测的和有意义的;

(3)用例必须由参与者发起。不存在没有参与者的用例,用例不应该自动启动,也不应该主动启动另一个用例;

(4)用例必然是以动宾短语形式出现的;

(5)一个用例就是一个需求单元、分析单元、设计单元、开发单元、测试单元,甚至部署单元。

3、区分用例和功能:

第一,功能是脱离使用者的愿望存在的,而用例不是;

第二,功能是孤立的,给一个输入,通过计算机就有一个固定的输出,例如,按下开关灯就亮;而用例是系统性的,它需要描述谁在什么情况下通过什么方式开灯的结果是什么;

第三,非要从功能的角度解释的话,用例可以解释为一系列完成一个特定目标的“功能”的组合。

4、业务用例:业务用例是用例版型中的一种,用于需求阶段的业务建模。严格的说,业务建模与计算机系统建模无关,它只是业务领域的一个模型,可以得到业务范围。

5、系统用例:系统用例才是我们平时常说的“用例”,系统用例用来定义系统范围,获取功能性需求。

系统用例是软件系统开发的全部范围,系统用例是我们得到的最终需求。

UML核心元素--用例的更多相关文章

  1. 【UML】NO.54.EBook.6.UML.2.002-【Thinking In UML 大象 第二版】- UML 核心元素

    1.0.0 Summary Tittle:[UML]NO.54.EBook.6.UML.2.002-[Thinking In UML 大象 第二版]- UML 核心元素 Style:DesignPat ...

  2. <四>面向对象分析之UML核心元素之用例

    一:基本概念        --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值.        --->所谓用例,就是一件事情,要完成这 ...

  3. <三>面向对象分析之UML核心元素之参与者

    一:版型        --->在UML里有一个概念叫版型.有些书里也称类型,构造型.        --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别 ...

  4. UML核心元素--参与者

    定义:参与者是在系统之外与系统交互的某人或某事物.参与者在建模过程中处于核心地位. 1.系统之外:系统之外的定义说明在参与者和系统之间存在明确的边界,参与者只能存在于边界之外,边界之内的所有人和事务都 ...

  5. <十>面向对象分析之UML核心元素之关系

    关系        --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构.        一,关联关系(association)

  6. <九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性

    设计类

  7. <八>面向对象分析之UML核心元素之分析类

    一:基本概念        ---->在那大数项目中,分析类是被忽视的一种非常有用的元素.        ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...

  8. <七>面向对象分析之UML核心元素之包

    一:基本概念 

  9. <五>面向对象分析之UML核心元素之边界

    一:基本概念

随机推荐

  1. 我的Android进阶之旅------>Android关于TextWatcher的初步了解

    首先来看一下TextWatcher的源代码 package android.text; /** * When an object of a type is attached to an Editabl ...

  2. [转载]Hibernate如何提升数据库查询的性能

    目录(?)[-] 数据库查询性能的提升也是涉及到开发中的各个阶段在开发中选用正确的查询方法无疑是最基础也最简单的 SQL语句的优化 使用正确的查询方法 使用正确的抓取策略 Hibernate的性能优化 ...

  3. Java中的String,StringBuilder,StringBuffer三者的区别(转发:https://www.cnblogs.com/su-feng/p/6659064.html)

    最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...

  4. 用Visual Studio编辑Linux代码

    估计很多人都是用惯了Visual Studio的主,怎么也不适应Linux的一套编辑器,比如vim.source insight这些东西,可视化的eclipse效果还好点,但一般以远程共享一台Linu ...

  5. pinpoint本地开发——collector

    本地启动collector 启动前准备 启动之前,要先确保本地已经可以正常package,install 必须保证install成功,才能进行后续步骤,无法install或者package参考[pin ...

  6. 改善程序与设计的55个具体做法 day6

    条款13:以对象管理资源 资源,包括但不限于内存.句柄.GDI对象.数据库连接等. 内存要记得释放,句柄要记得closehandle, GDI对象要记得删除,数据库连接要记得关闭,等等等等. 以对象来 ...

  7. Python基础(3)_可变对象与不可变对象、列表、元祖和字典

    可变对象与不可变对象 实例被创建后,身份和类型是不可变的, 如果值是不可以被修改的,则是不可变对象 如果值是可以被修改的,则是可变对象 #在id不动,type也不动,value被修改了,则称为可变 # ...

  8. DEV开发之控件NavBarControl

    右键点击RunDesigner弹出如下界面鼠标先点击3或4,1,,然后点击1或2进行相应的新增或删除操作,3是分组,4是项目,4可以直接拖动到相应的分组3.属性caption:显示的名称4.NavBa ...

  9. [原创]java WEB学习笔记26:MVC案例完整实践(part 7)---修改的设计和实现

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  10. in型子查询陷阱,exists子查询

    in 型子查询引出的陷阱 select goods_id from goods where cat_id in (1,2,3) 直接用id,不包含子查询,不会中陷阱 题: 在ecshop商城表中,查询 ...