软件设计:从专业到卓越
张刚
资深技术专家
374 人已学习
立即订阅
软件设计:从专业到卓越
15
15
1.0x
00:00/00:00
登录|注册

第 4 章 领域建模

软件开发解决的是现实世界的问题。如果不能正确理解现实世界,也就不可能产出高质量的软件。
对业务的概念、概念间的关系及概念本质的认知,就是领域模型。领域模型是高质量软件开发和持续演进的基础,也是领域驱动设计方法的核心,还是微服务和云原生时代重要的基础概念。可以说,没有良好的领域模型做基础,就很难做好软件开发。
本章将从三个方面介绍领域建模的相关知识和方法。
领域模型的概念。
如何获取高质量领域模型,以及领域模型的持续演进特征。
如何把领域模型应用于需求分析和开发活动。

4.1 领域模型的概念

如果你正在开发一个模拟物体运动的软件,那么最起码要懂牛顿第二定律。如果开发的软件和航空航天等领域相关,那么还要懂万有引力、空气动力学、流体力学甚至相对论的知识。如果不懂这些知识,那开发出来的软件一定是谬误百出,无法使用。
在商业领域也是一样。例如,开发一个零售系统,就需要对采购、物流、销售、客服等领域的知识有深入的了解。行行皆学问。不管开发什么系统,不重视对应领域的基本概念和业务知识,都是不行的。

4.1.1 领域模型是什么

首先我们给出领域模型的定义。
领域模型定义了问题空间中的关键概念,以及这些概念之间的关系。
领域模型和问题空间密切相关
领域模型之所以有意义,是因为它在解决特定领域的问题。例如,当说到“应收账款”时,显然是在讨论财务领域,更具体地说是会计领域的问题。离开了特定领域去泛泛地讨论概念,是没有意义的。还有一种情况是,一个概念具有的意义需要有领域的限定才能说清楚。例如,当说到“轨道”时,它可能是天文学领域的行星运动轨道,也可能是铁路领域的火车轨道,只有先限定领域,这个概念才有真正的价值。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

领域建模在软件开发中扮演着至关重要的角色。本文详细介绍了领域模型的概念、重要性以及使用 UML 类图表达领域模型的方法。领域模型定义了问题空间中的关键概念及其关系,是解决特定领域问题的基础。文章强调了熟悉常见的概念间关系和多样化的表达方式的重要性,并通过清晰的示例图和详细的解释,帮助读者快速了解领域建模的重要性以及如何应用 UML 类图来表达领域模型。此外,文章还探讨了领域模型反映了认知的重要性,以及如何建立高质量的领域模型。通过捕获、辨析和演进这三个关键概念及对应的实践方法,读者可以更好地理解如何从需求分析和业务表述中捕获业务概念,以及如何建立高质量的领域模型。文章内容丰富,涵盖了领域建模的核心知识和实践方法,对于软件开发人员和领域建模感兴趣的读者具有重要的参考价值。同时,文章还介绍了子域的概念,以及持续演进业务概念的重要性,为读者提供了全面的领域建模知识。文章强调了统一语言的重要性,以及如何将领域模型指导软件开发,为读者提供了实践指导和技术实现策略。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件设计:从专业到卓越》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部