zoukankan      html  css  js  c++  java
  • 【uml】之用例图中的关系 标签: uml图形 2014-11-23 11:10 1422人阅读 评论(29)

             用例图显示谁是相关的用户,用户希望系统提供什么样的服务(用例),用例之间的关系图,用例图主要的作用是获取需求、指导测试。所以,用例图是站在用户的角度来画的图,应该体现的是用户想要的功能,并不需要体现如何实现等具体细节。用例可以用两种图来体现,即顺序图(Sequence Diagram)和协作图(Collaboration Diagram)。

    用例图主要由四部分组成,即

    参与者(Actor)、用例(use case)、子系统(subsystem)(这个我没画)、关系(relation)

                                    

    参与者:整个软件外部使用软件的人或者环境。

    用例:可以提供的功能,并不需要了解具体实现的细节,虽然与接口很类似,但是用例不等于接口。

    关系:参与者与用例,用例与用例等的之间的关系。

    用例图中主要有以下几种关系:

    A.关联(Association)

    主要表示参与者与用例之间的通信,任何一方都可以发送或接收消息,它使箭头指向消息接收方。

                         

    B.泛化(Inheritance)

    主要表示参与者之间或用例之间的关系。泛化关系是一种继承关系,子用例包含父用例所有的结构、行为和关系,同时,子用例还有各自不同的部分,泛化类似于继承、多态。泛化关系在用例图中使用空心的箭头表示,箭头方向从子用例指向基用例。

                                      

    C.包含(include)

    主要表示用例之间的关系,当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享。因为子用例被抽出,基用例并非一个完整的用例,所以include关系中的基用例必须和子用例一起使用才够完整,子用例也必然被执行。例如我们在教育考试院查询报名,可以将报名拆分成填写报名信息和缴费。include关系在用例图中使用带箭头的虚线表示,包含箭头从基用例指向子用例。

                                                           

    D.扩展(extend )

    主要表示用例之间的关系。扩展是对基用例的扩展,基用例本身是一个完整的用例,而子用例对基用例的一个扩展点进行扩展,子用例对基用例来说并不是必须的。就像去超市买东西,有的时候有赠品,有的时候没有赠品,赠品对于要买的东西来说没有影响。extend关系在用例图中使用带箭头的虚线表示(在线上标注<<extend>>),箭头从子用例指向基用例。 

                           

    用例图应该出现在需求文档里,用例图是设计者+用户的模式来表达需求的,所以用例图的用例的命名应该符合用户的需求,把握好用例图中的各种关系,才能画出好的用例图来。



  • 相关阅读:
    IDEA快捷键
    Win10如何禁止软件运行?win10禁止软件启动的设置方法!禁止人生日历热点快讯的方法
    java反射
    JDBC基础
    mysql基础
    java基础
    Quartz.NET(任务调度)与Topshelf(服务)的综合使用
    【专栏学习】APM——异步编程模型(.NET不推荐)
    中小型研发团队架构实践
    Android 下拉菜单 Spinner 赋值
  • 原文地址:https://www.cnblogs.com/zhemeban/p/7183170.html
Copyright © 2011-2022 走看看