【前言】
用例图,在学习软件工程的时候开始学习的,即将软考,在软考这条大路又一次学习了用例图,而这次的学习,带给我更深的认识,随着学习的不断深入,对知识的理解不断加深,这就是一个学习的过程。此次对用例图的理解,小编想分给大家,与大家共同交流与学习!
【核心】
此次的交流,主要从以下几点和大家分享:
- 含义:
描述的是外部执行者所理解的系统功能。从这个角度来理解,用例图不涉及系统的内部,正因为这样,用例图处于需求分析阶段,位于需求文档中,是系统开发者和用户反复讨论的结果。
- 画图:
画图分为三个阶段:识别参与者,合并需求获得用例,细化用例描述。
- 识别参与者
参与者一定在系统之外,不是系统的一部分。参与者不一定是人,还可以是物,比如其他系统,硬件设备,时钟等等整理思路:
在我们的实际操作中,可以这样来思考参与者:谁使用这个系统?谁安装这个系统?谁从这个系统获取信息?谁为这个系统提供信息?等等!
- 合并需求获得用例
用例是对系统行为的动态描述。
用例的命名:“动词(短语)+名词(短语)”的形式。
识别用例:
为每个参与者确定用例
将特征分配给参与者。
进行合并操作
在这个阶段的时候,我们需要多思考为什么要合并,从而做出正确的操作。
绘制用例图
将参与者和用例以图形的形式表现出来,加上适当的关系,这里的关系包括(包含和扩展)。
- 细化用例描述
用例图进行前两个的阶段往往是不够的,因为这只是勾勒出一个大致的系统的轮廓,系统很多细节信息没有表露出来,这时我们需要细化用例描述,主要指编写它的事件流。
如图:
这里面有几个概念:
前置条件:指在用例启动时,参与者与系统应置于什么状态。
后置条件: 指在用例结束时,系统应置于什么状态。
基本事件流:指对用例中常规、预期路径的描述。
扩展事件流:指对异常情况、选择分支进行描述。
步骤:
A.完成事件流的基本框架,类似写书时,先写目录;写博客时,构建一个框架。
B.对每个阶段要完成的具体工作的描述
例如:
1.框架
2.用例名称
3.事件流
3.1基本事件流
3.2扩展事件流
4.简要说明
5.非功能需求
细化:
3..事件流3.1基本事件流
1)XXX
2)XXX
3)XXX
3.2扩展事件流
1)XXX
2)XXX
- 关系:
用例图的关系主要有三种:包含关系,扩展关系,泛化关系泛化关系:
这个关系很简单,就像父类和子类一样,在用例图中,当多个用例拥有一种类似的结构和行为时,可以将它们的共性抽象成为父用例,其他的关系作为泛化关系的子用例。如图:
包含关系 VS扩展关系
这两个关系我们用对比的方法来进行学习:
包含关系:公共行为。
《include》
必须具有
虚线+箭头
箭头指向新的(这里的新的指的是包含的用例,因为它是必须具有的功能,所以指向新加用例)
如图:
扩展关系:不同场景。
《extend》
可有可无
虚线+箭头
箭头指向旧的(这里的旧的指向基本用例,已经画好的,因为它可有可无,所以不用指向新加用例)
如图:
【总结】
在学习的过程中,学习是不断深入的,每次的学习是i+1,这让我们的学习更有趣,更快速,也体会到了老师说过的,第一遍看书,不需要你懂的道理!好了!今天的博文总结就到这里啦!期待和大家的再次见面!