分析的还有一种重要产品是领域模型,其目标是使负责该系统基本行为的全部核心类可视。 ——Grady Booch,《面向对象项目的解决方式》
本篇记录6大步骤中的第二步:领域建模。
包含例如以下内容:
- 什么是领域模型?
- 领域模型的价值和意义所在
1、什么是领域模型
“是什么”
领域模型,就是将领域概念(即这个领域内的行话)以可视化的方式抽象成一个或一套模型。
领域模型比《领域词汇表》更进一步,它不仅关注重要的领域概念,并且它还刻画这些概念之间的关系。
“什么样”
就UML而言,领域模型最常採用以下两种图表示:
- 类图
- 状态图
“为什么”
领域建模是公认的促使OO项目成功的最佳实践之中的一个。
2、领域模型的价值
领域模型在软件开发中的作用,如上图所看到的。那么。它的意义又在哪里呢?
领域建模是探索问题领域的工具,可以帮助我们探索和提炼问题领域知识。
2.1对于需求人员
对于需求人员,领域建模可以帮助他们促进用户沟通。解决分析瘫痪。
需求分析阶段,常会遇到两个困难,
- 第一个困难,用户的參与不够。造成需求分析成果中如果的成分太多。
“參与不够”,表现为用户參与不够多,用户參与不够深入。 - 第二个困难,问题领域太复杂时,需求分析的开展会遇到困难。
2.2对于开发者
对于开发者。领域建模可以破解“领域知识不足”的死结。
破解“领域知识不足”的死结的关键是要“理顺概念关系,搞清业务规则”。
这恰是领域模型的强项——通过对复杂的领域进行概念抽象和关系抽象从而建立模型。获得对领域知识整体上的把握,就不会掉入杂乱无章的概念堆里。
2.3可扩展性
领域建模的输入和输出例如以下图所看到的:
从图中可以看到。领域模型的驱动因素是功能,反过来,领域模型的质量高低可以决定软件的可扩展性。可以说,“功能决定怎样建模,模型决定功能扩展”。
功能是领域建模的核心驱动力,也是领域模型评审和改进的驱动力。