暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

每日一学之UML用例图

程序员的日记本 2017-12-18
513


用例图


用例图(Use Case Diagram),是由参与者、用例以及他们之间的关系构成的用于描述系统功能的动态视图。


用例图一般使用一个人形符号表示一个参与者,一个椭圆表示一个用例,使用带箭头的线段表示他们之间的关系,箭头所指的方向为被动接受者。如:



参与者


参与者可以是用户、外部系统、子系统或类的外部实体的抽象。


识别参与者主要从以下8个方面入手:


  • 系统开发出来后,使用系统主要功能是谁

  • 谁需要借助系统来完成日常工作

  • 系统需要从那些人或其他系统中获得数据

  • 系统会为那些人或者系统系统提供数据

  • 系统与哪些系统有交互

  • 系统由谁来维护和管理

  • 系统控制的硬件设备有哪些

  • 谁对本系统产生的结果感兴趣


用例


用例是参与者能够感受到的功能或者系统服务。用例把系统当成一个黑盒子,并不关心系统内部是如果实现功能。


识别用例主要从以下6个方面入手:


  • 参与者是否会将外部的某些事件通知给系统

  • 系统中发生的事件是否通知参与者

  • 是否存在影响系统的外部事件

  • 参与者希望系统提供什么功能

  • 参与者是否读取、创建、编辑、删除、存储系统的某种消息?如是,又是如何完成的


关系的描述


泛化(generalization)


泛化(继承)关系在参与者和用例中都比较普遍,箭头指向的方向为父类,如:





扩展关系(extend)


主要是用例之间的扩展,箭头指向的方向为基础用例,如:




包含关系(include)


主要是用例间的包含,箭头指向的方向为被包含的用例,简单的说,就是如果我要执行A用例,那么就会执行到B用例,如:


 


扩展关系和包含关系的区别:
1、扩展用例只会在一定条件下被执行,如抢货的时候,如钱包余额不足,就去充值操作。但是在数据更新操作的时候,每一次都需要判断权限。
2、没有扩展用例的基础用例,本身是完整的;但是没有包含用例的基础用例是不完整的。


系统边界(System Boundary)


系统边界是指系统与系统的界限,边界外表示参与者,边界内表示系统内部组成,如:



下期提要


下期主要分享关于类图和对象图的相关内容。敬请期待!




长按,识别二维码,加关注,

可了解更多编程方面的知识,

让你看到每天一点点的进步。

谢谢点赞 + 分享!!!!!!


不积跬步,无以至千里;

不积小流,无以成江海。

文章转载自程序员的日记本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论