使用draw.io捕获领域故事 - Darko Kantic


领域驱动设计(DDD)是一种软件开发方法:一组用于帮助开发复杂系统的技术,原理和模式。该术语是由Eric Evans在其2004年的著作《域驱动设计:解决软件中心的复杂性》中提出的。

通过无所不在的统一通用语言进行协作
DDD强调域专家和软件开发人员之间的协作。在研讨会期间,双方将反复工作以定义域的概念模型。“领域”是指我们要为其构建软件系统的主题领域。在研讨会期间,这是初始系统分析阶段的一部分,其任务之一是定义一种通用的通用语言,或者在DDD世界中称为通用语言/无所不在语言/统一语言。通用语言是领域专家和技术专家都理解的一组术语及其关系。有很多技术可以帮助完成此过程,其中之一就是Stefan Hofer和Henning Schwentner开发的领域讲故事/领域叙事(Domain Storytelling,简称DS)。
领域叙事(DS)是一种技术,如领域专家所讲,它是使用象形语言来记录领域故事的。领域故事是系统中发生的情况的特定示例。每个故事都描述了一个过程的特定示例。领域叙事与传统流程建模方法(例如BPMN)的不同之处在于,领域叙事仅对流程的子集进行建模,借助领域叙事,我们可以对实际发生的一些事情进行建模,而不是对系统中可能发生的所有事情进行建模。DS遵循以下原则:一些良好的示例比高级抽象更有用。
在定义了几个领域故事之后,参与者可以谈论该领域中的人员,活动,工具,工作对象和事件。

领域叙事工具
需要以一种图表形式记录领域故事, 可以使用带有一些粘滞便笺的白板。或者,您可以切出一些纸质图标,然后将其粘贴到白板上并使用箭头进行连接。为了在此过程中提供帮助,您可以从“ 域讲故事白板套件”页面下载域讲故事方法创建的资产。
将故事绘制在白板上后,以电子形式重新创建它很有用-因此您可以将其保存以供以后参考。

 Draw.io
在我们的工作场所中,我们将Confluence与draw.io图表工具集成在一起。我们使用draw.io记录我们所有的图表,包括领域故事。draw.io的集成非常有用,因为它将图直接嵌入到页面中。Confluence具有一项不错的功能,可让您直接从原始页面打开draw.io图,如果您需要更新现有图,这将特别方便。
随着时间的流逝,我们已经开发出了自己的语法和图标,它们在draw.io中可以很好地工作。