• UML用例图


    原文地址: http://blog.csdn.net/zhuojiajin/article/details/8657853

     

      看过了UML视频,觉的UML里的内容其实看的挺明白的。在开始画图的时候才发现,纯粹是老师讲到好。听的明白或者说觉的自己明白了只是一种错觉。对于UML里的图还是理解上不够透彻,当然现在要求自己就透彻也是痴人说梦。虽然是一种错觉吧,好赖也让我看视频的时候感觉的痛快。再者这种错觉肯定还是以一定的“明白”为根据的。所以这种错觉我喜欢!这篇博客开始对UML中的9种图做个总结,这一篇先讲用例图。

      那么用例图是UML用来描述一个软件系统中人和功能之间,即角色和用例之间的关系的一种图形化的表达。可以清晰的反应出角色的权限,角色的对应的功能之间的关系。它是从软件系统的外部用户的角度来描述系统、子系统或者类的行为的。用例模型是有开发者和用户共同达成的某种共识。用例模型用若干个用例图描述。用例图必须包含:功能的描述、角色、并且角色和功能对应关系。

     

      角色(actor):

    软件系统中的角色,是与系统、子系统、或类交互的外部人员、进程或事物的理想化。一个活动这可以对应一个或多个用例。只要是和软件系统有互动的外部对象都可是角色,例如:人员、其他系统、外部服务器、数据库等。UML中用小人图形表示。在画图时,角色相对来说还是比较好找的。

    --可以激活系统交互信息;

    --可以对系统进行输入;

    --可以从系统被动的接受信息。

    角色:角色既可以是人也可以是物

    寻找执行者的几个原则:

    -谁使用系统的功能;

    -谁需要系统支持日常工作;

    -谁来维护关系系统;

    -系统需要操纵那些硬件-需要与系统交互的其他系统;

    -对系统产生的结果感兴趣的人或事物。

      用例(usecase):

    用例是软件系统中一个个的功能单元,用例的目的是定义清晰的行为块而不是解释系统的结构。一个用例包括了它所具备的所有行为:主线(理想功能)、行为的不同变形、行为的异常条件、以及所需的响应。其实就是一个完整的功能,可以是一个大的功能模块,也可以是系统菜单上的每一个功能。

      关系(assosciation):

    用于描述角色和功能之间的关系,有四种:关联、泛化、包含、扩展。

      用例图中的主要属性:事件流、前置条件、后置条件、粒度、范围

      事件流:简单的说就是一个用例要做什么的问题,描述的是用例在执行时执行者和系统之间交互的过程。包括基本流(用例中常规和预期的路径的描述:如登录)和备选流(用例出现特殊情况时执行的其他路径如错误处理)

      --基本流--对用例中常规和预期路径的描述

      --备选流--由于受到其他因素影响,用例执行了其他的路径。

      前置、后置条件:即用例执行时需要满足的条件和结束时的处理结果。应该是类似于DO while循环的两种情况。 

      前置条件:该用例执行的前提条件,用来描述条件下可以开始执行一个事件流。

      后置条件:说明用力结束时系统的状态。

      粒度和范围:是评价一个用例图的优劣的属性。描述了用例图的宽度和离散程度吧。

      UML用例图的粒度与范围:用例的多少、概述级、用户目标级、子功能级。设计时要重要考虑的方面,一开始粗略的设计用例图,然后慢慢细化。用例图的粒度不应太粗或太细。

     

    用例注意点:

    ◆应该清晰的定义系统边界

    ◆防止用例过多

    ◆应该从执行者的角度来命名用例

    ◆用例描述的正规程度

    ◆避免执行者的名字不一致

    ◆避免执行者和用例之间的关系

    ◆注意用例的大小是否恰当(粒度)

    ◆避免用例描述混乱

    ◆区分用力分解和功能分解

    ◆避免客户不能理解用例的情况

    ◆有些场合,用用例来描述不适合 

     

      下面来一个例子吧:自动售货机销售货物功能,这里个过程中涉及的人员有:顾客 用例有:按钮,指示灯,投币槽,退币槽。用例图如下:

     

     

  • 相关阅读:
    为什么一段时间后网站后台自动退出 php中session过期时间设置
    php中的$_GET如何获取带有“#”的参数
    让页面在打开时自动刷新
    MySQL关联left join 条件on与where不同
    图形上下文的栈操作(保存和恢复)
    图形上下文的矩阵操作(平移-缩放-旋转)
    Quartz2D内存管理
    文字绘制-图片绘制-水印绘制思路
    UIBezierPath-完善曲线
    UIBezierPath-绘制基本图形
  • 原文地址:https://www.cnblogs.com/gsk99/p/4942318.html
Copyright © 2020-2023  润新知