plantuml-用例图

uml - 用例图

一、定义

用例图(Use Case Diagrame)是UML的一种,主要用来描述用户、需求、系统功能之间的关系,能够充分展示一个外部用户能够观察的系统功能模型图,以一种可视化的直观方式理解系统的功能需求,以便使系统用户更容易理解这些元素的用途,也便于开发人员最终实现这些元素。

二、用例图绘制目的

用例图是跳出当前系统,站在用户的角度去看系统,思考系统功能,这样我们能更加理解业务,表达清楚需求。从用户的视角,我们不会使用专业术语去进行业务的沟通,可以做到真正以用户为中心去获取需求,转化为产品服务。

用例图可以帮助我们更全面的考虑系统内事物之间的互相影响,关注整体的运行规律,而不是只考虑个别事物的情况。

三、用例图的组成元素

在这里插入图片描述

  1. 参与者:是系统外部的一个实体,它以某种方式参与了用例的执行过程。参与者不一定是人,也可以是部门,也可以是外部系统,也可以是其他事物。通常用人形图标表示。

  2. 用例:是对系统的用户需求(主要是功能需求)的描述,用例表达了系统的功能和所提供的服务,说明了系统是如何与最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。通常用椭圆表示。

  • 用例注意事项:
    • 用例粒度的确定,没有标准,只能根据实际情况分析。一个大型系统,可能会有上百个用例,一个小产品,也许只有几个用例。
    • 一个用例是一个完整的使用场景,不是零散的动作步骤。比如,拿起手机打电话是个完整的场景,拿起手机只是一个步骤。
    • 一个用例有一个明确、独立的目标,如果一个用例包括多个目标,则可再逐层细化出子用例。
  1. 系统边界:将系统内外分开,参与者在外面,用例在里面。边界内的用例,就是系统要实现的事情。通常用矩形框表示。
  2. 关系
    1. 关联关系:用一条实线表示,这条实线一般有三种形式:无箭头、有指向用例的箭头、有指向执行者的箭头。箭头的方向代表了数据流向或谁启动谁。
    2. 归纳(泛化)关系:表示参与者与参与者之间、用例与用例之间的关系。一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。
      用带空心箭头的实线表示,箭头指向被泛化的用例,即子用例指向父用例,泛化是从下到上的过程。(子用例继承父用例所有的结构、行为和关系,是父用例的一种特殊形式。)
    3. 包含关系:表示用例与用例之间的关系,其中一个用例(父用例)的行为包含了另一个用例(子用例)的行为。
      用虚线箭头+<>表示,箭头指向被包含的用例。一般是父用例包含很大的范围,专门抽出子用例来着重表达,又或者是复用用例。
    4. 扩展关系:表示用例与用例之间的关系,是在特定条件下,由扩展用例指向被扩展用例。
      用虚线箭头+<>字样,箭头指向被扩展的用例。扩展用例是在特定条件出现时,才会被执行的用例。
      在这里插入图片描述

四、注意

  1. 不是每个需求都要画用例图,要视情况而定,简单的需求完全可以不用画。
  2. 画图是为了表达、传递信息,当我们画用例图时,不管画的多么酷炫,本质都是在分析业务场景、系统功能性需求,并描述出来。

五、案例

@startuml 用例图

left to right direction
actor :用户: as user
actor :管理员: as admin
actor :管理员1: as admin1
actor :管理员2: as admin2
actor :管理员3: as admin3
actor :第三方合作: as admin4
actor :站点: as station
rectangle XXX平台 {
    usecase (交易/线下) as sheepPlatform
    usecase (商城/线上) as shopping
    usecase (农产品) as goods1
    usecase (百货产品) as goods2
    usecase (发布信息) as sheep
    usecase (公羊) as sheep1
    usecase (母羊) as sheep2
    usecase (仔羊) as sheep3
    usecase (宣传视频) as video
    usecase (农业服务) as service
    usecase (出诊服务) as service1
    usecase (问诊服务) as service2
    usecase (推广海报) as poster
    usecase (银行活动\r保险活动) as poster1
    usecase (申请成为羊贩子) as admin3Apply
    usecase (新增站点) as addStation
}
admin1 --|> admin
admin2 --|> admin
admin3 --|> admin
admin4 ---|> admin
service <|-- service1
service <|-- service2
sheep <|-- sheep1
sheep <|-- sheep2
sheep <|-- sheep3
shopping <.. addStation:extends
shopping <|-- goods1
shopping <|-- goods2
sheepPlatform <|-- admin3Apply
poster <|-- poster1
user -- sheepPlatform
user -- shopping
user -- video 
user -- poster
user -- service
user ..> admin3:线下联系/交易
goods1 --  admin1
video  --  admin1
service1 -- admin1
service2 -- admin1
addStation -- admin1
goods2 --  admin2
admin3Apply --  admin3
admin3Apply <.. sheep : extends
' sheep --  admin3
poster1 --  admin4
user .> station:取货
station <.. admin1:线下洽谈
admin1 ..>admin2:分配账号
admin1 ..> admin4:分配账号

@enduml
PlantUML是一种文本描述的工具,可以用来绘制各种UML图,包括用例图用例图是一种描述系统功能和用户之间交互的图形化表示方法。在PlantUML中,用例图可以包含以下内容: 1. 用例(Use Case):用例是对系统功能的描述,表示系统为用户提供的各种功能。在用例图中,用例通常以椭圆形状表示,并与参与者(Actor)之间通过关联关系连接。 2. 参与者(Actor):参与者是与系统进行交互的外部实体,可以是人、其他系统或设备等。在用例图中,参与者通常以人的图标或简单的方框表示,并与用例之间通过关联关系连接。 3. 关联关系(Association):关联关系表示参与者和用例之间的关系,表示参与者与用例之间的交互。在用例图中,关联关系通常以实线箭头表示。 4. 包含关系(Include):包含关系表示一个用例包含另一个用例的行为。在用例图中,包含关系通常以虚线箭头表示。 5. 扩展关系(Extend):扩展关系表示一个用例可以扩展另一个用例的行为。在用例图中,扩展关系通常以虚线箭头表示。 6. 泛化关系(Generalization):泛化关系表示一个用例是另一个用例的特殊情况。在用例图中,泛化关系通常以带三角箭头的实线表示。 以上是用例图中常见的元素和关系,通过这些元素和关系的组合,可以描述系统的功能和用户之间的交互。你还有其他问题吗?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值