Dns 软件产品公司的领域是什么(参考领域驱动设计)?

Dns 软件产品公司的领域是什么(参考领域驱动设计)?,dns,architecture,domain-driven-design,Dns,Architecture,Domain Driven Design,我最近被提升为一家软件开发公司的软件架构师,该公司为保险公司、医疗保健公司、研究公司和政府机构等客户群体生产企业内容管理产品 我在这个组织和以前的工作中设计过中等复杂的应用程序 作为一名新的架构师,我希望探索领域驱动的设计概念和各种架构类型,以便将我们的产品迁移到云服务提供商,并将我们的产品从基于媒体的部署转变为软件即服务(SAAS)产品 在我看来,要正确地执行此操作,我需要从为其编写软件的域创建一个域模型 然而,我面临的问题是,当一家产品软件公司的产品满足不同垂直客户的不同需求时,它的领域是什

我最近被提升为一家软件开发公司的软件架构师,该公司为保险公司、医疗保健公司、研究公司和政府机构等客户群体生产企业内容管理产品

我在这个组织和以前的工作中设计过中等复杂的应用程序

作为一名新的架构师,我希望探索领域驱动的设计概念和各种架构类型,以便将我们的产品迁移到云服务提供商,并将我们的产品从基于媒体的部署转变为软件即服务(SAAS)产品

在我看来,要正确地执行此操作,我需要从为其编写软件的域创建一个域模型

然而,我面临的问题是,当一家产品软件公司的产品满足不同垂直客户的不同需求时,它的领域是什么。我怀疑这个域是某种元域,而不是像航运、保险或医疗保健这样的常规业务域

对于这个场景,我有以下问题


问题:就领域驱动的开发而言,这样一家公司的领域是什么,我该如何表达,我可以创建一个域模型吗?

识别核心域可能很棘手,因为软件应用程序的核心用途可能会混淆,因为需要提供所有支持功能才能使应用程序有用

这些线索可以帮助您确定核心域和支持域之间的功能并对其进行分类:

  • 若您删除了一项功能,您的软件是否不再可以从您的域类别之外的产品中识别出来?您正在处理一个核心域
  • 贵公司的愿景/使命/与众不同之处是什么?它们通常显示核心域
  • 在Gartner提供的行业报告中,您和您的竞争对手属于哪一类?这是您的核心域
  • 如果您的产品针对不同的客户领域,那么几乎所有客户都使用哪些共同功能?这是您的核心域
  • 功能是否为行业标准?其他人也有吗?如果有现成的软件,您可以购买现成的软件并将其集成到您的应用程序中,而不是构建它吗?如果是,则您正在处理一个支持域
  • 如果您删除某些功能是因为客户不使用它或不重视它,那么您的产品是否仍有市场?这是一个支持域
回答这些问题将为您指明正确的方向,但您的核心领域的边界对于您的产品价值主张来说可能是独一无二的。随着产品的成长和成熟,毫不犹豫地扩展和收缩核心领域


最重要的是,与你的领域专家和销售人员交谈。他们通常很清楚产品宣传是什么,核心价值是什么,插件是什么。

软件的作用是什么?它解决了什么目标?如何解决?它是一个ECM软件,因此它的核心是文档管理,即以数字格式存储、分类、标记和检索文档。通过工作流管理、案例管理、捕获和扫描等增值功能(即将非数字和数字文档转换为ECM执行其功能所需的格式),软件的这一核心功能得到了进一步增强。还有一些模块提供与不同系统的集成,如ERP、特定领域的应用程序等。。还有更多,但这足以解释软件正在做什么。好吧,我想您刚刚列出了软件域的几个子域;)您还可以使用模型探索的惠而浦过程来探索模型: