精华内容
下载资源
问答
  • UML 用例图

    千次阅读 多人点赞 2018-04-23 11:36:12
    UML 用例图 参考 【UML】— 用例图 用例图 初学UML——用例图 需求中如何画用例图 为什么使用用例图 从业务事件、发起事件以及系统如何响应这些事件来建模系统功能的过程。 用例建模起源于面向对象建模...

    UML 用例图

    参考

    【UML】— 用例图
    用例图
    初学UML——用例图
    需求中如何画用例图

    为什么使用用例图

    • 从业务事件、发起事件以及系统如何响应这些事件来建模系统功能的过程。
    • 用例建模起源于面向对象建模。

    概念

    • 图形化地描述了谁将使用该系统以及用户希望与系统交互的方式。
    • 业务事件的文本描述以及用户如何与系统交互以完成任务。

    参与者

    • 参与者是与系统主体交互的外部实体的类元,描述了一个或一组与系统产生交互的外部用户或外部事物。
    • 参与者位于系统边界之外,而不是系统的一部分。
    • 可以是:人,组织,另一个信息系统,外部设备,甚至时间。

    确定参与者

    从以下角度确定参与者

    • 为系统提供输入的人或事物
    • 接收系统输出的人或事物
    • 需要接入的第三方系统或设备
    • 时间是否会触发某些事件
    • 负责支持或维护系统中信息的人

    参与者分类

    • 主要业务参与者:主要从用例的执行中获得好处的关联人员。
    • 主要系统参与者:直接同系统交互以触发业务或系统事件的关联人员。
    • 外部服务参与者:响应来自用例的请求的关联人员。
    • 外部接收参与者:从用例中接收某些价值或输出的非主要的关联人员。

    参与者的泛化关系

    • 当系统中的几个参与者既扮演自身的角色,同时也有更一般化的角色时,可以通过建立泛化关系来进行描述。
    • 与类相似,父参与者可以是抽象的,即不能创建一个父参与者的直接实例,这就要求属于抽象父参与者的外部对象一定能够属于其子参与者之一。

    这里写图片描述

    用例

    • 用例是类元提供的一个内聚的的功能单元,表明系统与一个或多个参与者之间信息交换的顺序,也表明了系统执行的动作。
    • 简单来说,用例就是某一个参与者在系统中做某件事从开始到结束的一系列活动的集合,以及结束时应该返回的可观测、有意义的结果,其中也包含可能的各种分支情况。
    • 用例与用例图被广泛使用于系统的需求建模阶段,并在系统的整个生命周期中被不断细化。

    这里写图片描述

    确定用例

    用例的特征保证用例能够正确地捕捉功能性需求,同时也是判断用例是否准确的依据。

    • 用例是动宾短语
    • 用例是相对独立的
    • 用例是由参与者启动的
    • 用例要有可观测的执行结果
    • 一个用例是一个单元

    用例与参与者

    • 一个用例可以隶属一个或多个参与者,一个参与者也可以参与一个或多个用例。
    • 用例与参与者之间存在关联关系。
    • 主参与者与次参与者:通常来说主参与者是用例的重要服务对象,而次参与者处于一种协作地位。

    这里写图片描述

    用例的粒度

    • 业务建模阶段,用例的粒度以每个用例能够说明一件完整的事情为宜。即一个用例可以描述一项完整的业务流程。例如取钱、报装电话、借书等表达完整业务的用例,而不要细节到验证密码、填写申请单、查找数目等业务中的一个步骤。
    • 用例分析阶段,即概念建模阶段,用例的粒度以每个用例能描述一个完整事件流为宜。可以理解为一个用例描述一项完整业务中的一个步骤
    • 系统建模阶段,用例视角是针对计算机的,因此用例的粒度以一个用例能够描述操作者与计算机的一次完成交互为宜。例如,填写申请单、审核申请单、派发任务单等。可以理解为一个操作界面或一个页面流。

    泛化关系

    • 与参与者的泛化关系相似,用例的泛化关系将特化的用例与一般化的用例联系起来。子用例继承了父用例的属性、操作和行为序列,并且可以增加属于自己的附加属性和操作。
    • 父用例同样可以定义为抽象用例。

    这里写图片描述

    依赖关系——包含

    • 包含指的是一个用例(基用例)可以包含其他用例(包含用例)具有的行为,其中包含用例中定义的行为将被插入基用例定义的行为中。
    • 包含的两个基本约束:
      • 基用例可以看到包含用例,并需要依赖于包含用例的执行结果,但是它对包含用例的内部结构没有了解;
      • 基用例一定会要求包含用例执行

    这里写图片描述

    扩展

    • 扩展指的是一个用例(扩展用例)对另一个用例(基用例)行为的增强。
    • 在这一关系中,扩展用例包含了一个或多个片段,每个片段都可以插入到基用例中的一个单独的位置上,而基用例对于扩展的存在是毫不知情的。使用扩展用例我们就可以在不改变基用例的同时,根据需要自由地向用例中添加行为。

    这里写图片描述

    用例图示例

    这里写图片描述

    依赖关系对比

    这里写图片描述

    用例描述

    • 一个完整的用例模型应该不仅仅包括用例图部分,还要有完整的用例描述部分。
    • 一般的用例描述主要包括以下几部分内容:
      • 用例名称:描述用例的意图或实现的目标,一般为动词或动宾短语。
      • 用例编号:用例的唯一标识符,在其他位置可以使用该标识符来引用用例。
      • 参与者:描述用例的参与者,包括主要参与者和其他参与者。
      • 用例描述:对用例的一段简单的概括描述。
      • 触发器:触发用例执行的一个事件。
      • 前置条件:用例执行前系统状态的约束条件。
      • 基本事件流(典型过程):用例的常规活动序列,包括参与者发起的动作与系统执行的响应活动。
      • 扩展事件流(替代过程):记录如果典型过程出现异常或变化时的用例行为,即典型过程以外的其他活动步骤。
      • 结论:描述用例何时结束。
      • 后置条件:用例执行后系统状态的约束条件。
      • 补充约束:用例实现时需要考虑的业务规则、实现约束等信息。

    用例描述示例

    这里写图片描述

    展开全文
  • UML用例图

    2019-11-09 16:08:48
    UML用例图 1.订餐系统的用例图描述 2.棋牌馆管理系统用例图描述 3.远程网络教学用例图描述

    UML用例图

    1.订餐系统的用例图描述
    订餐系统的用例图在这里插入图片描述
    2.棋牌馆管理系统用例图描述
    在这里插入图片描述
    3.远程网络教学用例图描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • UML用例图实例UML用例图实例,UML用例图实例UML用例图实例,UML用例图实例UML用例图实例,UML用例图实例
  • 一文掌握UML用例图和时序图:PlantUML实操分享

    千次阅读 多人点赞 2020-10-22 21:45:58
    uml用例图 uml时序图 plantuml用例图 plantuml时序图 用例图 参与者 用例 系统边界 时序图 角色 对象 生命线 控制焦点 消息

    用例图


    前置博客:一文掌握UML类图:PlantUML实操分享

    用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
    用例图主要的作用有三个:1. 获取需求;2. 指导测试;3. 还可在整个过程中的其它工作流起到指导作用。

    画图基本步骤:

    1. 确定系统边界
    2. 确定主要参与者和目标
    3. 定义用例和关系

    在这里插入图片描述

    参与者


    参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系统等等。还有一点要注意的是,参与者不是指人或事物本身,而是表示人或事物当时所扮演的角色。比如小明是图书馆的管理员,他参与图书馆管理系统的交互,这时他既可以作为管理员这个角色参与管理,也可以作为借书者向图书馆借书,在这里小明扮演了两个角色,是两个不同的参与者。参与者在画图中用简笔人物画来表示,人物下面附上参与者的名称。

    PlantUML中用两个冒号::定义,也可以用actor关键字定义参与者/角色,还可以用关键字as定义别名,如下图所示:
    在这里插入图片描述
    此外还可以使用skinparam actorStyle风格的角色图标,在定义角色前加上语句skinparam actorStyle awesome即可:
    在这里插入图片描述
    以及用户间的继承关系表示(用箭头-|>同类图)
    在这里插入图片描述

    用例


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

    PlantUML用两个圆括号()定义,也可以使用关键字usecase定义用例,同样的也能用as起别名。
    在这里插入图片描述
    继承同理
    在这里插入图片描述

    当需要自定义跨越多行的用例描述时,可以用双引号将其裹起来。然后可使用分隔符:–…==__适当划分和放置标题。
    在这里插入图片描述

    系统边界


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

    PlantUML中使用关键字package定义包来表示系统边界;
    也可以使用关键字rectangle用矩形风格的包。
    在这里插入图片描述

    此外还可用<<和>>定义角色或用例的构造类型,定义颜色等等。
    花里胡哨的,默认不香吗
    举例:
    在这里插入图片描述

    时序图


    时序图,又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。采用时序图可以更方便地表示调用流的顺序,仅需要由上至下阅读即可。
    时序图包括:角色、对象、生命线、控制焦点、消息。

    创建步骤

    1. 确定交互过程的上下文;
    2. 识别参与过程的交互对象;
    3. 为每个对象设置生命线;
    4. 从初始消息开始,依次画出随后消息;
    5. 考虑消息的嵌套,标示消息发生时的时间点,则采用FOC(focus of control)
    6. 说明时间约束的地点。

    在这里插入图片描述

    角色


    角色(Actor)系统角色或参与者,可以是人或者其他系统,子系统。
    关键字participant定义参与者,也可用于改变参与者的先后顺序。此外也可以使用其它关键字来声明具体参与者类型:actor、boundary、control、entity、database、collections。

    此外关键字as可以给角色起别名;
    在定义角色时#加RGB值或者颜色名可以自定义颜色;
    关键字order可以进行排序。
    在这里插入图片描述

    插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/

    对象


    对象(Object)代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色。

    • 处于顶部 : 如果对象的位置在时序图顶部, 说明在交互开始的时候对象就已经存在了
    • 不在顶部 : 如果对象的位置不在顶部, 那么对象在交互过程中创建的(create关键字)

    对象一般包含以下三种命名方式:
    第一种方式包含对象名和类名;
    第二种方式只显示类名不显示对象名,即为一个匿名对象;
    第三种方式只显示对象名不显示类名。
    在这里插入图片描述
    也可以使用<<和>>添加构造类型,并使用(X,color)格式的语法添加一个圆圈圈起来的字符。
    在这里插入图片描述

    生命线


    生命线(Lifeline)代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线间。
    并可以使用|||增加空间(生命线长度)
    在这里插入图片描述

    延迟:可以用…在生命线上表示延迟
    在这里插入图片描述

    分隔符:使用 == 关键词来将图表分割多个步骤
    在这里插入图片描述

    注释:关键字note,加方向位置
    在这里插入图片描述

    控制焦点


    控制焦点(Activation)代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容。

    关键字activatedeactivate用来表示参与者的生命活动。
    一旦参与者被激活,它的生命线(条形框)就会显示出来。activate和deactivate适用于以上情形,destroy表示一个参与者的生命线的终结。
    在这里插入图片描述
    还可以使用嵌套的生命线,并且运行给生命线添加颜色:
    在这里插入图片描述

    消息


    消息(Message)是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。

    用箭头表示发送消息,可以给自己发消息,消息文字可以用\n实现换行,虚线代表控制返回,一般可以省略。需要强调控制转移地时候画出:
    在这里插入图片描述

    关键字autonumber用于自动对消息编号

    autonumber //start //increment// 可以同时指定编号的初始值和每次增加的值:
    autonumber stop// resume //increment// //format//表示停止、暂停、继续使用自动编号
    在这里插入图片描述
    组合消息
    常用图框,可以通过以下关键词将组合消息

    • opt:当保护信息为真时执行的可选片段,相当于if
      在这里插入图片描述

    • alt/else:选择性的片段,用于表示保护信息所表达的互斥条件逻辑,相当于if…else if…else
      在这里插入图片描述

    • loop:用于表示保护信息为真的循环片段,相当于循环for
      在这里插入图片描述

    • par:并行执行的并行片段,相当于多线程
      在这里插入图片描述

    嵌套使用:
    在这里插入图片描述
    最后可以用关键字box设定填充区包裹起来,及样式参数配置等
    在这里插入图片描述


    参考PlantUML文档:
    https://plantuml.com/zh/use-case-diagram
    https://plantuml.com/zh/sequence-diagram

    原创不易,请勿转载本不富裕的访问量雪上加霜
    博主首页:https://wzlodq.blog.csdn.net/
    微信公众号:吾仄lo咚锵
    如果文章对你有帮助,记得一键三连❤

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,264
精华内容 14,905
关键字:

uml用例图