一.用例建模的简单描述
用例是从外部用户和外围系统的角度,分析和考察待开发系统的行为,并通过参与者(可能是最终用户也可能是外围系统)与系统之间的交互关系描述系统对外提供的功能特性----这种参与者与系统功能特性间的交互关系就是用例。用例分析和用例建模就是通过对软件需求的调研,从具体的功能性需求中抽象出用例模型的工作过程。用例建模主要有两个产物。第一个是用例图,第二个产物就是用例描述。
用例建模具有以下的优点:
首先,用例模型是一种标准的语言,很容易成为开发人员之间交流和沟通的媒介,用例模型可以精确地定义软件需求,出现歧义的可能性很小,这可以保证用户和开发人员对需求理解的一致性。
其次,用例模型可以成为我们评估压法工作量的一个标准,特别是对于迭代式开发言。迭代式开发模型里,通常依据用例模型来划分软件的开发周期:优先级别高的用例会在早期的迭代周期中实现,而优先级别低的用例则被安排在后续的迭代周期中完成。可以通过限制每个迭代周期中的用例个数来保证迭代周期长度的合理性。
再次,用例模型在整个开发过程中都扮演着非常重要的角色,它可以驱动软件的分析和设计逐步细化。
最后,测试过程中使用的测试用例-----特别是那些关注软件功能的测试用例---往往也是根据用例模型来确定的。
二.参与者、用例之间的关系
1.关联关系 这是最常使用的关系,用带箭头的实线来描述。
2.泛化关系 一个用例可以被列举为多个子用例,这就被成为用例泛化,这与类间的泛化关系类似。在用例泛化中,子用例表示父用例的特殊形式,可从父用例处继承行为和属性。泛化关系的图形用空心实线箭头表示,箭头指向父类。
3.包含关系 包含:指的是其中一个用例(称为基础用例)的行为包含了另一个用例(称为包含用例)。基础用例包含用例并依赖包含用例的执行结果。但是二者不能访问对方的属性。包含关系的图形为虚线箭头加<>,箭头指向包含用例。
4.扩展关系 扩展用例可以被定义为:基础用例的增量扩展,它俩之间为扩展关系。简单来说,就是当某特定条件出现时,该扩展用例的行为才会被执行。扩展关系的图形为虚线箭头加上<<>>,箭头指向基础用例。
三.
建立用例模型的步骤
- 定义系统
- 确定参与者和用例
- 描述参与者和用例关系
- 确认模型
四.
工程实践
我的工程实践是识别用户的手势,运用深度学习的技术能够准确的识别用户的手势,例如1-10的手势,比心,握手,抱拳,666等各种手势。
用例是应用程序开发中的一个关键技术,主要用来捕获系统的高层次(High Level)用户功能性需求。这个绕口的描述 主要是因为用例不能用于捕获非功能性需求,也不能用于捕获内部的功能性需求。试图这样做将会造成灾难。首先因为用例 是一个非正式的和不精确的建模技术。其次用例的另一个用途是建立我们系统的基本结构,它不仅是定义需求的单位,而且 是估计我们的工作量的单位。