`
fangang
  • 浏览: 860272 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
311c4c32-b171-3767-b974-d26acf661fb2
谈谈用例模型的那些事儿
浏览量:37620
767c50c5-189c-3525-a93f-5884d146ee78
一次迭代式开发的研究
浏览量:67633
03a3e133-6080-3bc8-a960-9d915ed9eabc
我们应当怎样做需求分析
浏览量:405587
753f3c56-c831-3add-ba41-b3b70d6d913f
重构,是这样干的
浏览量:85370
社区版块
存档分类
最新评论

我们应当怎样做需求分析:子用例与扩展用例

阅读更多
用例模型作为UML中4+1视图中非常重要的一员,非常集中地体现了面向对象的分析与设计思想。用例模型将现实世界中连续的一个一个业务流程,按照场景划分到了一个一个的用例中。由于场景的出现,使得用例中的业务流程存在着高度的内聚性,从而成为了日后各种对象的雏形。同时,在用例分析中,又将那些存在于各个用例中的,相同或相近的业务操作提取出来,形成一个一个的子用例或扩展用例,又体现了面向对象设计中的复用性。现在我们来谈谈用例分析中的子用例与扩展用例吧。

前面我们在用例说明中提到了基本流程。基本流程就是所有步骤都非常理想地正确执行,并最终完成所有操作的那个“最佳流程”。在基本流程中,可能有些步骤是多个用例都共有的,可以相互共享的流程。将这部分流程提取出来形成的就是子用例。子用例应当是在逻辑上相对独立的一系统流程组成的用例。这个用例应当是抽象的,没有自己的参与者,只有在调用它的用例中,才能真正明确它的使用者。




如图是一个子用例使用的例子。图中,用例“调整前信息查询”、“调整后信息查询”、“调整前时间段查询”、“调整后时间段查询”都用到了“按单位汇总考核结果”。它们是一种使用关系或者包含关系,因此被绘制成一条虚线,从使用者指向被使用者,并标注为use或include。

另外,在用例中还存在许多扩展流和异常流。当系统在运行到基本流程中某个步骤时,由于满足了某个分支条件或异常条件,这时系统就从基本流程流转到了扩展流或异常流中。扩展流和异常流其实不那么泾渭分明。在业务逻辑上扩展流依然是一种正常的操作,仅仅只是正常操作的另一个操作,而异常流其本身就是有什么东西不对劲了,需要进行一些异常处理,比如用户密码输错了、用户忘带身份证了,等等。扩展流和异常流最终都可能回到基本流程中,也可能不能回来,而从另一个结束点结束。

与子用例相似,扩展流和异常流中的流程如果相对独立、可以为其它流程所共享,则可以提取出来,形成一个单独的用例,叫扩展用例。如果扩展用例是直接从基本流程中某个环节扩展出来,则该环节被成为扩展点,进入扩展用例的条件叫扩展条件。在用例图中,扩展关系被绘制成一根虚线,从扩展用例指向被扩展的用例,并标注为extend。

用例分析中对子用例与扩展用例的分析,使我们对系统的设计,从一开始就将公共的、可共享的部分提取出来,使我们在日后的设计与开发中得以很好地复用,提高了系统的内聚并降低了系统的耦合,是一个优秀软件设计的开始。

我们应当怎样做需求分析
我们应当怎样做需求调研:初识
我们应当怎样做需求调研:拜访
我们应当怎样做需求调研:研讨会
我们应当怎样做需求调研:需求研讨
我们应当怎样做需求调研:迭代
我们应当怎样做需求调研:需求捕获(上)
我们应当怎样做需求调研:需求捕获(下)
我们应当怎样做需求分析:功能角色分析与用例图
我们应当怎样做需求分析:业务流程分析(上)
我们应当怎样做需求分析:业务流程分析(下)
我们应当怎样做需求分析:用例说明
我们应当怎样做需求分析:查询报表分析
我们应当怎样做需求分析:子用例与扩展用例
我们应当怎样做需求分析:行动图和状态图
我们应当怎样做需求分析:业务领域分析
我们应当怎样做需求分析:原文分析法
我们应当怎样做需求分析:领域驱动设计
我们应当怎样做需求分析:非功能需求
我们应当怎样做需求确认:需求列表
我们应当怎样做需求确认:一个需求列表的实例
我们应当怎样做需求确认:快速原型法
我们应当怎样做需求确认:需求规格说明书
我们应当怎样做需求确认:评审与签字确认会

(续)
分享到:
评论

相关推荐

    我们应当怎样做需求分析

    我们应当怎样做需求分析:子用例与扩展用例 27 我们应当怎样做需求分析:行动图和状态图 28 我们应当怎样做需求分析:业务领域分析 33 我们应当怎样做需求分析:原文分析法 35 我们应当怎样做需求分析:领域驱动设计...

    需求分析与用例模型(扩展阅读)_用例和用例图

    需求分析与用例模型(扩展阅读)_用例和用例图,面向对象的分析方法

    uml实验报告整合

    1.在logic view中创建“分析模型”包,在该包中添加“用例实现”包,在“用例实现”包中添加跟踪关系图(类图),在跟踪关系图中描述用例与用例实现的关系。为系统中主要的用例实现添加顺序图。 如下图: 2.在...

    uml rational rose

    1.在logic view中创建“分析模型”包,在该包中添加“用例实现”包,在“用例实现”包中添加跟踪关系图(类图),在跟踪关系图中描述用例与用例实现的关系。为系统中主要的用例实现添加顺序图。 如下图: 2.在...

    基于UML 的资料室管理系统用例时序图状态图

    第2章 系统需求分析 2 1.1项目描述 2 1.1.1 开发背景 2 1.1.2 开发目的 2 1.1.3 业务范围 2 1.1.4 参考文档 3 1.1.5 术语说明 3 1.2约束及假定 3 1.2.1软件运行环境及技术约束 3 1.2.2 交付及部署约束 3 1.3功能性...

    面向对象与UML资料

    用例的层次:高层用例与扩展用例 53 主要、次要和可任选的用例 53 基本用例和真实用例 53 正确性、完整性、一致性、清晰性和现实性 54 可验证性和可追溯性 55 可跟踪性 55 greenfield工程、再工程、界面工程 56 第三...

    编写有效用例

    作者Alistair Cockburn凭借自己在面向对象领域的丰富经验,并参考其他专家的良好建议,扩展了典型的用例处理方法,为软件开发人员编写用例提供了一种“基本、具体和实用的”指南

    UML和模式应用(架构师必备).part01.rar

    6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22...

    UML和模式应用(架构师必备).part02.rar

    6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22...

    UML和模式应用(架构师必备).part07.rar

    6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22...

    UML和模式应用(架构师必备).part06.rar

    6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22...

    UML和模式应用(架构师必备).part03.rar

    6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22...

    UML和模式应用(架构师必备).part04.rar

    6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22...

    UML和模式应用(架构师必备).part08.rar

    6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22...

    UML和模式应用(架构师必备).part05.rar

    6.16 准则:什么样的测试有助于发现有用的用例 6.17 应用UML:用例图 6.18 应用UML:活动图 6.19 动机:用例还有其他益处吗?语境中的需求 6.20 示例:Monopoly游戏 6.21 过程:在迭代方法中如何使用用例 6.22...

    凯捷:扩展制造业AI应用报告

    凯捷发布了新报告“扩展制造业AI应用”。人工智能颠覆了制造业的游戏规则。它有可能在广度和深度上改变整个制造业务的性能。但是,只有制造商真正将精力集中在AI可以最大限度提升价值的地方,然后推动解决方案规模化...

    商品进销存管理系统之需求分析与系统设计

    通过详细的需求分析,我们确保系统不仅满足用户期望的功能性需求,还考虑了性能、可用性、安全性等非功能性需求。 在可行性分析中,进行了经济可行性的评估,包括投资回报率的计算和图表展示,这有助于决策者更好地...

    基于 SpringCloud 的企业系统自动生成平台.docx

    第三章需求分析 14 3.1功能性需求分析 14 3.1.1用户管理 14 3.1.2角色管理 14 3.1.3系统参数设置 14 3.1.4系统日志 15 3.1.5上传下载 15 3.1.6创建数据表 15 3.1.7编辑深层配置 16 3.1.8数据同步 16 3.1.9代码预览 ...

    基于UML的仓储管理系统的设计与实现

    3.2 系统扩展功能需求用例分析 30 3.3 系统整体功能描述 32 第四章 业务领域分析与设计 33 4.1 系统顺序图,状态图 33 4.2 定义基本对象与类 40 4.3 入库系统类图 41 4.4 定义对象与类的属性与操作 41 4.5 系统设计...

    物流委托管理子系统的设计与实现

    论文围绕物流委托管理子系统,基于MVC模式,Struts框架,和Hibernate数据持久化技术,结合软件工程的开发理论,进行了需求分析,设计,实现和测试。论文首先确定实现物流委托管理子系统需要使用的关键技术,并对其...

Global site tag (gtag.js) - Google Analytics