zoukankan      html  css  js  c++  java
  • 用例图

    导致用例分析方法产生的一些因素:

    在介始用例方法之前,我们首先来看一下传统的需求表述方式-"软件需求规范"(Software Requirement Specification)。传统的软件需求规范基本上采用的是功能分解的方式来描述系统功能,在这种表述方式中,系统功能被分解到各个系统功能模块中,我们通过描述细分的系统模块的功能来达到描述整个系统功能的目的。一个典型的软件需求规范可能具有以下形式:

    软件需求规范

    子系统1  功能

             模块1.1(功能名称)

             ....

             模块1.n(功能名称)

    .

    .

    .

    子系统n  功能

             模块n.1(功能名称)

             ....

             模块n.n(功能名称)



    采用这种方法来描述系统需求,非常容易混淆需求和设计的界限,这样的表述实际上已经包含了部分的设计在内。由此常常导致这样的迷惑:系统需求应该详细到何种程度?一个极端就是需求可以详细到概要设计,因为这样的需求表述既包含了外部需求也包含了内部设计。在有些公司的开发流程中,这种需求被称为"内部需求",而对应于用户的原始要求则被称之为"外部需求"。

    功能分解方法的另一个缺点是这种方法分割了各项系统功能的应用环境,从各项功能项入手,你很难了解到这些功能项是如何相互关联来实现一个完成的系统服务的。所以在传统的SRS文档中,我们往往需要另外一些章节来描述系统的整体结构及各部分之间的相互关联,这些内容使得SRS需求更象是一个设计文档。

    用例分析方法定义

    用例(Use Case)是一种描述系统需求的方法,使用用例的方法来描述系统需求的过程就是用例建模。用例建模可分为用例图和用例描述两个部分。用例图由参与者(Actor)、用例(Use Case)、系统边界、箭头组成。用例描述用来详细描述用例图中每个用例,可用文档来完成。

    参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。比如小华是信息管理系统的管理员,他参与管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为普通用户向系统请求执行特定服务,在这里小华扮演了两个角色,是两个不同的参与者。参与者在画图中用小人物加人物下面附上参与者的名称表示。
     

    我们可以从以下几点来查找参与者

  • 系统开发完成之后,有哪些人会使用这个系统?
  • 系统需要从哪些人或其他系统中获得数据?
  • 系统会为哪些人或其他系统提供数据?
  • 系统会与哪些其他系统相关联?
  • 系统是由谁来维护和管理的

  • 用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果。这是 UML对用例的正式定义,对我们初学者可能有点难懂。我们可以这样去理解,用例是参与者想要系统做的事情。对于对用例的命名,我们可以给用例取一个简单、 描述性的名称,一般为带有动作性的词。用例在画图中用椭圆来表示,椭圆下面附上用例的名称。

    我们可以从以下几点来查找用例

  • 参与者为什么要使用该系统?
  • 参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是的话,参与者又是如何来完成这些操作的?
  • 参与者是否会将外部的某些事件通知给该系统?
  • 系统是否会将内部的某些事件通知该参与者?

  •  

    系统边界是用来表示正在建模系统的边界。边界内表示系统的组成部分,边界外表示系统外部。系统边界在画图中方框来表示,同时附上系统的名称,参与者画在边界的外面,用例画在边界里面。因为系统边界的作用有时候不是很明显,所以我个人理解,在画图时可省略。

    箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系。箭头尾部用来表示启动交互的一方,箭头头部用来表示被启动的一方,其中用例总是要由参与者来启动。

    2
    用例描述

    用例图只是简单地用图描述了一下系统,但对于每个用例,我们还需要有详细的说明,这样就可以让别人对这个系统有一个更加详细的了解,这时我们就需要写用例描述。

    对于用例描述的内容,一般没有硬性规定的格式,但一些必须或者重要的内容还是必须要写进用例描述里面的。用例描述一般包括:简要描述(说明)、前置(前提)条件、基本事件流、其他事件流、异常事件流、后置(事后)条件等等。下面说说各个部分的意思:

    简要描述:对用例的角色、目的的简要描述;

    前置条件:执行用例之前系统必须要处于的状态,或者要满足的条件;

    基本事件流:描述该用例的基本流程,指每个流程都正常运作时所发生的事情,没有任何备选流和异常流,而只有最有可能发生的事件流;

    其他事件流:表示这个行为或流程是可选的或备选的,并不是总要总要执行它们;

    异常事件流:表示发生了某些非正常的事情所要执行的流程;

    后置条件:用例一旦执行后系统所处的状态

     

    以下是用例说明表格一般格式:

     

    用例名称:

    用例标识号:

    参与者:

    简要说明:

    前置条件:

    基本事件流:
    1

    2

    3


    n

    其他事件流1
    1


    n

    其他事件流n

    1

    n

    异常事件流:
    1

    2


    n

    后置条件:

    注释:

     

查看全文
  • 相关阅读:
    docker学习之路-nginx镜像(翻译)
    docker学习之路-centos下安装docker
    Angular复习笔记7-路由(下)
    Linux保证运行一个实例
    使用epoll实现简单的服务器
    vmware中centos、redhat桥接网络配置
    同步队列、线程池模式服务器消息处理类
    ocilib linux编译安装
    redhat6.5安装oracle11_2R
    redhat6.5安装yum
  • 原文地址:https://www.cnblogs.com/BlogNetSpace/p/1443105.html
  • Copyright © 2011-2022 走看看