首页 > 其他分享 >聊一聊对领域驱动设计中“领域”这个词语的理解与分析方法

聊一聊对领域驱动设计中“领域”这个词语的理解与分析方法

时间:2023-04-14 09:34:04浏览次数:35  
标签:词语 核心 子域 业务 划分 聊一聊 干系 领域

1. 什么是领域

百度百科对领域的解释:领域具体指一种特定的范围或区域

领域一般指的是业务的问题域,领域是有边界的,边界内,规定了我们要做什么,要做的范围,软件项目从开始到交付的过程中, 所有涵盖的业务,每个业务模块或者方向都有自己的业务范围和问题

  • 比如做家装行业的公司进行软件系统研发,那么公司的业务的范围都是跟家装相关的,大的领域就是家装领域

2. 什么是子域

想一想面对复杂问题时,如何去解决的,会想到一个常用的方法,把一个复杂的问题,按照一定的关系,逐步分解,逐步的解决问题

做软件工程也是这样,面对一个复杂的领域,也需要对领域进行划分,划分出来的领域就叫做子域

核心思想就是将问题域逐步分解,降低业务理解和系统实现的复杂度

  1. 把复杂的领域,根据业务模块,业务方向等划分,划分为一个个小的,且能解决的子域,每个子域都有自己的业务范围和边界,以及需要解决的问题
  2. 子域也可以继续划分和细化

在领域逐步划分成子域的过程中,子域可以根据自身重要性,功能属性,商业价值等,划分为三类子域,它们分别是:核心域、通用域和支撑域

核心域、通用域和支撑域 其实就是子域上的一个标签属性识别核心域比较重要,通用域和支撑域 看起来就是依赖关系

为什么要划分核心域,通用域,支撑域

  1. 核心域、支撑域和通用域的主要目标是:通过领域划分,区分出子域的功能属性和重要性,从而公司可对不同子域采取不同的资源投入和建设策略,其关注度也会不一样
  2. 划分核心域:重要性很高,是系统成功失败的关键指标,投入优质的资源,重点建设,一些系统的核心域可能包含很高的商业价值
  3. 划分通用域:是为了更好的复用
  4. 划分支撑域:支持其他子域的建设

3. 进行领域分析可能有用的方法(更偏向于B端)

领域和领域的划分,都是属于问题空间,更偏向于业务侧,必须要掌握一定的业务知识,或者能全面的了解到业务

业务侧存在很大的信息差距,尽量取得领导的支持,多参与业务的讨论和分析,多与产品沟通

  1. 很空的一个词语 “商业模式”,就是要搞清楚,企业是怎么赚钱的,途径有哪些,用户群体,给用户提供的服务以及产品,成本结构是怎样的,重要的合作伙伴,做这个项目准备投入多少资源等 可以使用商业模式画布来整理

    • 这里存在很大的信息差距,除非是高级的管理人员,或者外部咨询师,不然很难了解全貌(需要一定的软实力)
    • 一般开发人员接触的信息比较少,尽量和产品或者leader沟通,获取更多的信息,这一步还是比较重要,至少知道公司大概是做啥的,主要业务是那些
  2. 了解项目的背景,愿景和目标,为什么要做,价值是什么

    • 这里存在很大的信息差距,除非是高级的管理人员,或者外部咨询师,不然很难了解全貌(需要一定的软实力)

    • 了解项目的愿景和目标,以及价值 ,提供方向,可以粗略的定位项目的范围,以及那些是要做的,提供决策的依据

    • 建设项目,需要大量的成本,那么公司为什么要做,肯定有必要的原由,能给公司带来一定的价值,具体的价值是什么

  3. 进行干系人的整理和分析,制定相应的访谈计划,了解业务,以及获取干系人的期望和目标

    • 输出干系人分析地图,可视化的展示干系人的信息,关系,联系方式等
    • 针对干系人制定访谈计划,了解业务流程,以及现在的痛点和期望
    • 输出业务流程图 ,也可以根据对干系人的了解,输出角色卡片
  4. 根据业务流程图,组织结构,项目资源,以及项目的愿景和目标,评估要做的范围和内容,大概会涉及到的模块和功能,以及评估时间

    • 带有泳道的业务流程图,可以表达出大概的业务流转情况,一起分析和筛选要做的内容,调整流程图
    • 根据业务流程和对业务的了解,对要做的内容,进行评估,需要那些功能,那些能力的支持,评估每个功能的时间
    • 结合项目的资源,组织结构,评估出大概的时间,以及迭代计划,领导比较关心这个

通过这几个步骤,了解业务的全景,这样就可以根据 组织结构,资源,业务模块,业务方向等划分领域,根据商业模式和项目的愿景与目标,以及价值,定位 核心的业务模块与方向,核心的业务模块与方向 就是核心域

标签:词语,核心,子域,业务,划分,聊一聊,干系,领域
From: https://www.cnblogs.com/lifeng618/p/17317275.html

相关文章

  • v2G技术优化配电系统负荷曲线 从电池中管理使用电动车(EVS)和电力注射构成控制EV的充电
    v2G技术优化配电系统负荷曲线关键词:电动汽车,负荷方差,蒙特卡洛,JAYA算法算法:PSO,MC,JAYA从电池中管理使用电动车(EVS)和电力注射构成控制EV的充电和排放作为有吸引力的研究领域的问题。为大量的电池充电,如果没有控制,损坏配电系统。通过采用使用EVS的最佳规划,他们的停车位可以作为......
  • 自动驾驶领域各大顶会顶刊集合梳理
    自动驾驶是近年来备受关注的热门领域之一,无论是Google、特斯拉、百度等知名企业,还是各大学术机构,都在积极探索自动驾驶的技术与应用。为了促进该领域的交流与发展,一些重要的顶级会议和期刊应运而生。这些国际学术会议与期刊不仅为自动驾驶技术的研究提供了平台,同时也为企业和机构......
  • 安全技术的新挑战:人工智能在网络安全领域的应用与风险分析
    ​ 随着人工智能技术的不断发展,其在网络安全领域的应用也越来越广泛。然而,人工智能技术的应用也带来了新的安全挑战和风险。一、人工智能技术在网络安全领域的应用人工智能技术在网络安全领域的应用主要包括:入侵检测、威胁情报分析、漏洞扫描、恶意代码检测等。这些应用可以大......
  • 机器学习技术在商业领域的应用
    ​ 机器学习是一种人工智能技术,它可以让计算机通过学习数据和模式来自主地进行决策和预测。随着数据量的不断增加和计算能力的提高,机器学习技术在商业领域的应用也越来越广泛。机器学习技术的应用场景机器学习技术可以应用于各个领域,包括金融、零售、医疗、制造等。在金融领域......
  • 企业如何建立自己的垂直领域ChatGPT
     ChatGPT的泛用性极高,上知天文,下通地理,参考古今,博稽中外,几乎无所不知,无所不晓。但如果涉及垂直领域的专业知识点,ChatGPT难免也会有语焉不详,闪烁其词的毛病,本次我们将特定领域的学习材料“喂”给ChatGPT,让它“学习”后再来回答专业问题。专业领域语料问题所谓专业领域语......
  • 在「机器人领域」使用ChatGPT提高生产力
    以下文章来源于空中机器人前沿 ,作者小米编辑:一点人工一点智能原文:在「机器人领域」使用ChatGPT提高生产力最近几个月,ChatGPT大火,它是OpenAI于去年11月底推出的人工智能聊天机器人程序,已经成为了历史上增长最快的消费者应用程序[1]。毫无疑问,ChatGPT受到了各个行业的广泛关注。其......
  • 领域驱动设计-软件核心复杂性应对之道:第一章
    第一部分让领域模型发挥作用​ 每个模型都表示人们感兴趣的某方面显示或某种想法。模型是一种简化。它是对现实的解释,并把与解决问题密切相关的方面抽象出来,而忽略无关的细节。​ 每个软件程序的目的都是为了执行某项活动,或是满足用户的某种需求。用户会把软件程序应用于某个主......
  • #yyds干货盘点#聊一聊forEach函数
    前端循环中会用到forEach,其实forEach有很多问题:forEach无法终止或者跳出循环forEach()方法不支持使用break或continue语句来跳出循环或跳过某一项。如果需要跳出循环或跳过某一项,应该使用for循环或其他支持break或continue语句的方法。forEach删除自身元素,index不可被重置在forEac......
  • 千“垂”百炼:垂直领域与语言模型(1)
    UsingLanguageModelsinSpecificDomains(1)微信公众号版本:https://mp.weixin.qq.com/s/G24skuUbyrSatxWczVxEAg这一系列文章仍然坚持走“通俗理解”的风格,用尽量简短、简单、通俗的话来描述清楚每一件事情。本系列主要关注语言模型在垂直领域尝试的相关工作。Thisseries......
  • VisionMobile:2013年Q3移动开发者经济报告(二):第一章、2013年Q3设备领域的状况:拐点
    第一章:2013年Q3设备领域的状况:拐点2013年,应用生态系统在演进中出现拐点。2013年Q1,苹果的iOS和Google的Android前所未有地在智能手机总出货量中占有92%份额,宣告平台土地争夺战结束。于此同时,新的移动平台品种,黑莓10,FirefoxOS和Tizen在2013年推出手机,希望能与Apple/Google双寡头竞......