编辑推荐: |
本文主要介绍如何使用用例驱动设计,希望对您的学习有所帮助。
本文由火龙果软件Alice编辑,推荐。 |
|
我们需要看到更多的用例和 统一建模语言示例“是我们公平地听到的要求 这些天经常。尽管我们在 我们的第一本书《 使用 UML 进行用例驱动的对象建模 》(Addison-Wesley,1999 年),我们最近说服 Addison-Wesley 让 我们制作一个配套工作簿,我们将在其中剖析设计 一家互联网书店,一步一步,非常详细。这将 涉及显示许多常见错误,然后显示模型 纠正了它的错误。
本文是五篇系列文章中的第一篇,将提供 发布前查看工作簿中的带注释的示例 (要 称为 Applied Use Case Driven Object Modeling , 很方便)。我们将遵循这一过程 在我们的书(也称为 ICONIX 流程)中进行了详细介绍,该书位于 介于非常大的 Rational Unified Process (RUP) 和 非常小的极限编程 (XP) 方法。
ICONIX 流程是用例驱动的,就像 RUP 一样,但缺乏很多 RUP 带来的开销。这也是相对的 小巧紧凑,就像 XP 一样,但它不会丢弃分析和设计 就像 XP 一样。此过程还简化了 UML 的使用,而 密切关注需求的可追溯性。而且, 流程忠实于 Jacobson 最初的愿景,即“使用 Case driven“的意思是,因为它导致了具体的、具体的、 项目团队实际上可以理解的用例 用于推动开发工作。
本文之后的每篇文章都将讨论 通过关注四个 Iconix 流程中使用的关键图。这四篇文章 将具有相同的基本外观和感觉,并具有以下共享元素:
- 描述建模误差的“前 10 名”列表 避免。
- 显示这 10 个前 10 个冲突的 2 个或 3 个冲突的图表 规则,正如我们教授的课程中学生所承诺的那样。
- 另一个显示错误更正的图表 材料。
同类最佳
图 1 显示了该过程的“大图”。这 Diagram 描绘了简化软件方法的本质 开发,其中包括一组最少的 UML 图和一些 有价值的技术,可带您快速从用例到编码,以及 有效。该方法灵活开放;您始终可以 从 UML 的其他方面中进行选择以补充基本 材料。
图 1.用例的“大局” 从动对象建模

该图描绘了 简化的软件开发方法,包括 最少的 UML 图集和一些有价值的技术 这将带您快速从用例到编码,并且 有效。
第二篇文章将讨论域建模。这就是任务 发现代表事物和概念的类 与系统旨在解决的问题相关。 我们将介绍域模型如何充当术语表 人们可以在编写用例中使用。
域建模涉及从数据向外工作 构建问题域的 静态 模型的要求 与拟议的系统相关。我们将指出该方法 比 RUP 更强调域建模,当然也比 RUP 更强调 XP.
第三篇文章将讨论如何编写详细说明 用户将执行的方案。我们将介绍如何 编写完整且明确的用例来描述单个 系统使用的各个方面,而无需假设任何特定设计或 实现。
用例建模涉及从用户向内工作 开始构建 的 动态 模型的要求 solution 空间。我们将讨论如何使用 推而广之,案例推动了整个开发工作。
被遗忘的图
本系列的第四篇文章将讨论稳健性分析,即 起源于 Ivar Jacobson 但已从 UML 的合理实施。这涉及分析 使用案例的叙述性文本,标识一组首次猜测的 对象,并对 这些对象基于它们所扮演的角色。
- 边界对象是 Actor 在与 系统。
- 实体对象通常是来自域模型的对象。
- 控制器充当边界之间的 “胶水” 对象和实体对象。
我们将展示稳健性分析如何作为初步 设计提供了 分析和详细设计。
第五篇也是最后一篇文章将讨论交互建模, 人们构建编织对象的线程的阶段 并使他们能够开始了解新系统将如何 执行有用的行为。我们将演示如何构建序列 图表,使设计人员能够执行以下三项关键任务:
- 在边界对象、实体对象和 控制器,它们将成为模型中的完整对象。
- 显示 对象。
- 完成类之间的操作分配。
我们将解释详细的设计级类图 交互建模的结果代表了 进入项目的编码阶段。
我们想指出它的三个重要特点 方法。
首先,它是迭代和增量的。发生多次迭代 在开发域模型与识别和分析之间 用例。随着团队的进行,其他迭代也存在 贯穿整个生命周期。静态模型以增量方式细化 在通过动态模型(组成 用例、稳健性分析和序列图)。请 但请注意,该方法不需要正式的里程碑 和大量的簿记;相反,优化工作会导致 随着项目团队获得知识和 经验。
其次,该方法提供了高度的可追溯性。在 在每一步中,您都会参考一些 道路。这个过程永远不会让你偏离 离用户的需求太远了。可追溯性也指事实 随着分析的融合,您可以逐步跟踪对象 设计。
第三,该方法提供了 UML 的简化使用。步骤 ,我们将在后续文章中介绍它代表 “极简主义”方法——它们包括最小的 我们认为在通往 一个成功的 OO 开发项目。通过关注 大型且通常笨拙的 UML,项目团队也可以离开 “分析瘫痪”。
电子商务示例
:我们将在上下文中演示 ICONIX 流程的这些方面 在线书店的。重点将放在客户对 系统。
第 2 篇文章将介绍如何构建一个具有 松散耦合的类,每个类都做得很好。
第 3 篇文章将讨论如何编写小而简洁的用例 根据用户操作捕获功能需求,以及 系统响应,以便读者在 一目了然。
第 4 篇文章将演示如何在 order 以收紧用例并使其更容易进入 详细设计。
第 5 篇文章将探讨序列图,我们将使用它来 将 Use cases 指定的行为分配给对象 在这些用例中提到。
|