用例是相关的场景(不管是成功还是失败的)的集合,用来描述一个希望使用这个系统来达成某个目的的参与者。
所谓场景,就是参与者和系统的交互过程,由若干行为和会话组成的特定序列构成,也被称为用例的实例。
用例事实上就是一系列场景的集合(a collection of scenarios),例如:主场景(primary scenario,也称为基本流),正零路径(plus zero,基本流加上零)或者是其他备选流(alternate scenario,基本流加上其他的信息流)。
主场景就是最常用的一个业务场景,反映的是用户最为基本的目的,简单的说就是这个系统所实现的基本业务。
Brief(high level):一段总结,通常是主要的成功场景的建立,只需要几分钟的时间
Casual(简便格式):不是很正式的形式,并且包括了不同的场景
Fully:完整的场景建立,完整的步骤以及用例的细节,以及一些可能发生的情况的应对以及如何确保一个成功的场景
对于复杂的业务来说,参与者(actor)的相对较多,系统交互也会非常复杂,需要考虑的备选流(alternate scenarios)也非常复杂,这将会是一个非常庞大,场景(scenario)众多的用例,因此对于这样的业务,我们要编制一个完整的用例是非常困难的,因为我们很难做到完整的覆盖所有可能的场景。
用例图(use case diagram)就是所有的参与者(actor)加上一个系统(system),其中系统内定义了和参与者进行交互的一系列接口,即一系列的用例实例(例如一个登陆行为),定义了系统和用户交互的行为。
一个用例图(use case diagram)包含的主要元素:系统设计、目标、参与者、主场景、备选场景、系统设计。
参与者
任何参与系统交互的角色都是这个用例的参与者(actor),在用例图中一般用这样的一个符号表示:
目标
事实上就是用户使用这个系统的目的,也可以说是主场景的主要内容,例如在一个电话系统中,我们的目标就是:和被呼叫方进行通话。
主场景
主场景就是用户顺利使用系统实现目标的完整过程(success scenarios,是一系列成功场景)。
备用场景
还是一个电话系统,根据生活常识我们都知道,打电话不是每次都会打通,比如说:占线,对方正在通话,系统忙等,这些就属于这个电话系统用例模型的备用场景,可以看成是主场景这一条path中的支线(alternate path),一个分支情况。
不管是主场景还是备用场景都是一个用例的实例,我们一般用一个椭圆,附上用例名称表示:
七、用例图的画法与步骤
首先是用例之间的关系:
关联
关联就是参与者(actor)和用例的信息流动,我们可以把用例和和参与者连接起来,表示一个关联。
泛化
泛化一般用于一个功能有多个子功能,或者更加具体的功能的时候,例如:用户,在用户之下可能还有VIP用户和SVIP用户,或者是管理用户,这时,我们用到的就是泛化,由子功能指向父功能。这可以是参与者和参与者之间,也可以是用例和用例之间。
包含
我们通常会把一个复杂的用例功能分解成及部分,这样这若干个部分和这个用例之间的关系就是包含关系,用一个箭头从用例指向着一些部分:
扩展
如果一个用例的使用依赖于另外一个用例,以另外的一个功能为前提的话,这时就会用到扩展,我们用一个从子用例指向父用例的箭头,然后在上面注上<extend>。
八、用例图给利益相关人与开发者的价值
用例图对于利益相关者来说,他们可以非常直观的了解到自己所要实现的功能是否被很好的体现,开发者是否理解了自己的需求;而对于开发者来说,这不仅是向客户传递自己对需求的理解,也是方便开发者进行系统设计和开发。
九、我的工程实践的用例分析
我的项目是考试管理系统,用例分析图如下:
原文:https://www.cnblogs.com/silviayun/p/11783826.html