用例建模Use Case Modeling
Posted liqinimmanuel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用例建模Use Case Modeling相关的知识,希望对你有一定的参考价值。
1. 用例建模简介
用例是应用程序开发中的一个关键技术,主要用来捕获系统的高层次(High Level)用户功能性需求。这个绕口的描述主要是因为用例不能用于捕获非功能性需求,也不能用于捕获内部的功能性需求。试图这样做将会造成灾难。首先因为用例是一个非正式的和不精确的建模技术。其次用例的另一个用途是建立我们系统的基本结构,它不仅是定义需求的单位,而且是估计我们的工作量的单位。如下图所示是一款理财软件的用例图。
2.用例图的概念组成
参与者actor:角色,系统的用户
参与者是指在系统之外,但与系统直接交互的对象,即actor,也叫执行者、活动者。参与者用人形符号表示,在人形符号下面标出参与者的角色名。参与者不止是人员,也有可能是信息系统、设备。
系统边界system scope:确定系统的范围,边界是一个方框,用例在边界内,参与者在边界外
用例use case:系统提供的服务。
关联association:参与者与用例间的关系。
3.如何寻找和确定用例
参与者需要从系统中获取哪种功能?
参与者是否需要读取、产生、删除、修改或存储系统中的某种信息?
系统的状态改变时,是否通知参与者?
是否存在影响系统的外部事件?
系统需要什么样的输入与输出?
4.用例图中的各种关系
1)参与者与用例间的关联关系:参与者与用例之间的通信,也成为关联或通信关系
2)用例与用例之间的关系:包含关系(include)、扩展关系(extend)、泛化关系。
a) 包含关系
包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。表示符号:<<include>>
b) 扩展关系
用一个用例(可选)扩展另一个用例(基本例)的功能,将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。表示符号:<<extend>>。
c)泛化关系
子用例继承了父用例所有的结构、行为和关系,是父用例的一种特殊形式。
5.工程实践的用例图
本次工程实践是基于ESP-WROVER-KIT开发板的数据采集系统,工程实践的要求能够使用多块ESP32开发板实现自组网络,并通过MQTT通讯协议连接到阿里云平台上。由于嵌入式系统设计不像软件开发,系统开发有明显的业务需求。故工程实践的用例图只能根据开发板能够实现的功能来画,满足了用户的哪些需求。以下是结合工程实践所画的用例图。
MQTT通讯协议:MQTT是轻量级基于代理的发布/订阅的消息传输协议,它可以通过很少的代码和带宽和远程设备连接。例如通过卫星和代理连接,通过拨号和医疗保健提供者连接,以及在一些自动化或小型设备上,而且由于小巧,省电,协议开销小和能高效的向一和多个接收者传递信息,故同样适用于称动应用设备上。
自组网是一种移动通信和计算机网络相结合的网络,网络的信息交换采用计算机网络中的分组交换机制,用户终端是可以移动的便携式终端,自组网中每个用户终端都兼有路由器和主机两种功能。
以上是关于用例建模Use Case Modeling的主要内容,如果未能解决你的问题,请参考以下文章