用例模型作为UML中4+1视图中非常重要的一员,非常集中地体现了面向对象的分析与设计思想。用例模型将现实世界中连续的一个一个业务流程,按照场景划分到了一个一个的用例中。由于场景的出现,使得用例中的业务流程存在着高度的内聚性,从而成为了日后各种对象的雏形。同时,在用例分析中,又将那些存在于各个用例中的,相同或相近的业务操作提取出来,形成一个一个的子用例或扩展用例,又体现了面向对象设计中的复用性。现在我们来谈谈用例分析中的子用例与扩展用例吧。
前面我们在用例说明中提到了基本流程。基本流程就是所有步骤都非常理想地正确执行,并最终完成所有操作的那个“最佳流程”。在基本流程中,可能有些步骤是多个用例都共有的,可以相互共享的流程。将这部分流程提取出来形成的就是子用例。子用例应当是在逻辑上相对独立的一系统流程组成的用例。这个用例应当是抽象的,没有自己的参与者,只有在调用它的用例中,才能真正明确它的使用者。
如图是一个子用例使用的例子。图中,用例“调整前信息查询”、“调整后信息查询”、“调整前时间段查询”、“调整后时间段查询”都用到了“按单位汇总考核结果”。它们是一种使用关系或者包含关系,因此被绘制成一条虚线,从使用者指向被使用者,并标注为use或include。
另外,在用例中还存在许多扩展流和异常流。当系统在运行到基本流程中某个步骤时,由于满足了某个分支条件或异常条件,这时系统就从基本流程流转到了扩展流或异常流中。扩展流和异常流其实不那么泾渭分明。在业务逻辑上扩展流依然是一种正常的操作,仅仅只是正常操作的另一个操作,而异常流其本身就是有什么东西不对劲了,需要进行一些异常处理,比如用户密码输错了、用户忘带身份证了,等等。扩展流和异常流最终都可能回到基本流程中,也可能不能回来,而从另一个结束点结束。
与子用例相似,扩展流和异常流中的流程如果相对独立、可以为其它流程所共享,则可以提取出来,形成一个单独的用例,叫扩展用例。如果扩展用例是直接从基本流程中某个环节扩展出来,则该环节被成为扩展点,进入扩展用例的条件叫扩展条件。在用例图中,扩展关系被绘制成一根虚线,从扩展用例指向被扩展的用例,并标注为extend。
用例分析中对子用例与扩展用例的分析,使我们对系统的设计,从一开始就将公共的、可共享的部分提取出来,使我们在日后的设计与开发中得以很好地复用,提高了系统的内聚并降低了系统的耦合,是一个优秀软件设计的开始。
我们应当怎样做需求分析
我们应当怎样做需求调研:初识
我们应当怎样做需求调研:拜访
我们应当怎样做需求调研:研讨会
我们应当怎样做需求调研:需求研讨
我们应当怎样做需求调研:迭代
我们应当怎样做需求调研:需求捕获(上)
我们应当怎样做需求调研:需求捕获(下)
我们应当怎样做需求分析:功能角色分析与用例图
我们应当怎样做需求分析:业务流程分析(上)
我们应当怎样做需求分析:业务流程分析(下)
我们应当怎样做需求分析:用例说明
我们应当怎样做需求分析:查询报表分析
我们应当怎样做需求分析:子用例与扩展用例
我们应当怎样做需求分析:行动图和状态图
我们应当怎样做需求分析:业务领域分析
我们应当怎样做需求分析:原文分析法
我们应当怎样做需求分析:领域驱动设计
我们应当怎样做需求分析:非功能需求
我们应当怎样做需求确认:需求列表
我们应当怎样做需求确认:一个需求列表的实例
我们应当怎样做需求确认:快速原型法
我们应当怎样做需求确认:需求规格说明书
我们应当怎样做需求确认:评审与签字确认会
(续)
分享到:
相关推荐
我们应当怎样做需求分析:子用例与扩展用例 27 我们应当怎样做需求分析:行动图和状态图 28 我们应当怎样做需求分析:业务领域分析 33 我们应当怎样做需求分析:原文分析法 35 我们应当怎样做需求分析:领域驱动设计...
"需求分析用例模板"是一个帮助我们系统化、结构化地进行需求收集和表达的工具。这篇博客文章(虽然链接不可用,但我们可以根据常规实践来解释)可能提供了如何编写有效需求分析用例的一些指导。 需求分析用例通常...
### IT知识点解析:需求分析与用例文档撰写 在软件工程和项目管理中,需求分析是确定项目目标、用户需求及系统功能的关键阶段。用例文档作为需求分析的一部分,是描述系统行为、用户交互和预期结果的重要工具。下面...
4. 分析用例关系:考虑用例之间的关系,如包含(Include)、扩展(Extend)等,以理解系统行为的复杂性。 5. 编写用例规范:为每个用例编写详细的用例描述,包括预条件、后条件、基本流和异常流等。 三、结合需求...
3. 确定关系:分析用例之间的关联,如包含、扩展等。 4. 细化用例:完善用例描述,添加前置条件、后置条件和业务规则。 5. 修订和验证:与利益相关者讨论,确保用例的准确性和完整性。 六、用例在软件开发中的作用 ...
4. 正式用例扩展 除了上述非正式用例的内容,正式用例还需要详细描述每个步骤的交互细节,包括可能的输入值、系统的响应和预期结果。备选流特别重要,因为它们考虑到了可能出现的错误或异常情况,确保系统具有足够的...
《需求分析与用例建模》是一份网络文档,详细阐述了软件开发过程中需求分析和用例建模的重要环节。需求分析是软件工程的核心部分,它确保软件开发满足用户的真实需求,而用例建模则是一种有效的方法,帮助开发者理解...
3. 定义用例关系:分析用例之间的关联,如扩展、包含和继承,以便更好地组织和简化用例模型。 4. 编写用例规格说明:为每个用例编写详细的规格说明,包括用例名称、简述、预条件、后条件、主流程、异常流程等。 5....
通过对需求工程的六个阶段的学习,我们可以了解到需求分析在整个软件开发过程中的重要性。基于用例的分析与设计提供了一种有效的方法来组织和理解需求,尤其是在用例图的帮助下,可以更加直观地展示系统的行为。通过...
在需求分析与用例建模过程中,理解并正确应用这些概念和步骤是确保系统开发符合用户需求的关键。这不仅能提高项目的成功率,也能减少后期修改和返工的可能性。通过深入的业务分析和细致的用例建模,我们可以创建出...
### 需求开发与UML用例建模 #### 需求开发的重要性与挑战 在软件开发过程中,需求开发是确保项目成功的关键环节之一。需求开发涉及到识别、分析和记录用户的需求,并将其转化为软件产品可以实现的功能。然而,在...
通过这个实例,我们可以学习如何识别和描述各个参与者(如顾客、管理员等),定义主要的用例(如浏览商品、加入购物车、结算等),并分析可能出现的扩展场景(如库存不足、支付失败等)。 五、用例分析的价值 用例...
用例(Use Case)作为一种常用的需求分析工具,可以帮助我们清晰地理解系统与用户之间的交互。本篇文章将深入探讨如何在需求分析中有效地撰写用例,以及如何结合统一建模语言(UML)来表达这些用例。 一、用例的...
4. **用例的细化和扩展**:探讨如何通过扩展用例来处理可选行为或异常情况,以及如何通过包含用例来减少重复。 5. **用例关系**:解释关联、扩展和包含关系的含义和应用场景,以及它们如何帮助优化用例模型。 6. *...
9. **细化与扩展**:通过扩展用例(Include和Extend关系)来处理复杂情况,保持用例的可读性和可维护性。 10. **用户故事(User Stories)**:用更贴近用户语言的方式表达需求,通常与用例配合使用,提供更直观的...
系统需求分析中的UML用例描述模板是一种关键工具,它帮助开发者和分析师清晰地定义系统的功能需求,确保软件产品能够满足用户的期望。用例描述模板提供了结构化的方式来组织和表达需求,使得所有相关人员都能理解...
专台柜项目是一个涵盖多个阶段的IT开发任务,包括需求分析、详细设计和测试用例。这些阶段是软件工程过程中的关键步骤,确保项目的成功实施和高质量交付。 **需求分析**: 需求分析是项目的第一步,它涉及到识别并...
总的来说,《系统分析师UML用例实战》这本书将帮助读者深入理解UML用例的理论和实践,提升系统分析师在需求分析和系统建模方面的专业能力。通过实际案例的解析和练习,读者可以逐步掌握如何运用UML用例进行系统分析...
### 测试用例分析与设计 #### 一、测试用例概述 测试用例作为软件测试的核心组成部分,其设计和应用对于确保软件质量至关重要。它不仅有助于高效地识别软件缺陷,还能有效地指导测试过程,确保测试活动的有序进行...