用例建模Use Case Modeling
一.用例建模的简单描述
用例是从外部用户和外围系统的角度,分析和考察待开发系统的行为,并通过参与者(可能是最终用户也可能是外围系统)与系统之间的交互关系描述系统对外提供的功能特性----这种参与者与系统功能特性间的交互关系就是用例。用例分析和用例建模就是通过对软件需求的调研,从具体的功能性需求中抽象出用例模型的工作过程。用例建模主要有两个产物。第一个是用例图,第二个产物就是用例描述。
用例建模具有以下的优点:
首先,用例模型是一种标准的语言,很容易成为开发人员之间交流和沟通的媒介,用例模型可以精确地定义软件需求,出现歧义的可能性很小,这可以保证用户和开发人员对需求理解的一致性。
其次,用例模型可以成为我们评估压法工作量的一个标准,特别是对于迭代式开发言。迭代式开发模型里,通常依据用例模型来划分软件的开发周期:优先级别高的用例会在早期的迭代周期中实现,而优先级别低的用例则被安排在后续的迭代周期中完成。可以通过限制每个迭代周期中的用例个数来保证迭代周期长度的合理性。
再次,用例模型在整个开发过程中都扮演着非常重要的角色,它可以驱动软件的分析和设计逐步细化。
最后,测试过程中使用的测试用例-----特别是那些关注软件功能的测试用例---往往也是根据用例模型来确定的。
二.参与者、用例之间的关系
1.关联关系 这是最常使用的关系,用带箭头的实线来描述。
2.泛化关系 一个用例可以被列举为多个子用例,这就被成为用例泛化,这与类间的泛化关系类似。在用例泛化中,子用例表示父用例的特殊形式,可从父用例处继承行为和属性。泛化关系的图形用空心实线箭头表示,箭头指向父类。
3.包含关系 包含:指的是其中一个用例(称为基础用例)的行为包含了另一个用例(称为包含用例)。基础用例包含用例并依赖包含用例的执行结果。但是二者不能访问对方的属性。包含关系的图形为虚线箭头加<>,箭头指向包含用例。
4.扩展关系 扩展用例可以被定义为:基础用例的增量扩展,它俩之间为扩展关系。简单来说,就是当某特定条件出现时,该扩展用例的行为才会被执行。扩展关系的图形为虚线箭头加上<<>>,箭头指向基础用例。
三.
建立用例模型的步骤
- 定义系统
- 确定参与者和用例
- 描述参与者和用例关系
- 确认模型
四.工程实践用例图
我的工程实践是学生课外兼职系统
1、抽取Abstract use case
账号管理,个人信息管理,任务管理,钱包管理
2、确定用例范围High level use case
账号管理:注册,登录,退出。
个人信息管理:包括修改个人信息,关注/取关,文件管理
任务管理:发布任务,领取任务。
钱包管理:提现,充值。
3、Expanded use case
注册:邮箱注册,手机注册
任务管理:放弃任务,完成任务
发布任务:发布跑腿任务,发布问卷任务
领取任务:查看任务列表,搜索任务,查看任务详情