BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ドメインストーリテリングを使ってコンテキスト境界を見つけ出す

ドメインストーリテリングを使ってコンテキスト境界を見つけ出す

ブックマーク

原文(投稿日:2018/02/14)へのリンク

読者の皆様へ: 皆様のご要望にお応えすべく、ノイズを削減する機能セットを開発しました。皆様が関心をお持ちのトピックを、EメールとWeb通知で受け取ることができます。新機能をぜひお試しください。

ドメイン駆動設計(DDD)による開発では、コンテキスト境界(bounded context)が重要なコンセプトとなる。ドメインストーリテリング(Domain Storytelling)とは、人々とシステムがドメイン内でどのように共同作業するのか、コンテキスト境界を識別する上で使用できるのは何か、どのように連携するのかを見出す手段である — 先日アムステルダムで開催されたDDD Europe 2018で、Stefan Hofer氏とHenning Schwentner氏はこのように説明した。Workplace Solutionsに所属する両氏はこの数年間、ドメインの専門家との会話にストーリテリングを用いており、モデリングの工具箱に加えるべき便利なツールだという感想を持っている。

ドメインストーリテリングでは、ドメインの専門家が仕事の方法を説明する。彼らの話したストーリを絵文字言語や別の言語、あるいは記号を使って記録し、ストーリを視覚化するための注釈テキストを付加する。

  • アクタ - 人、顧客、あるいはもっと技術的な、自動車ないし船のようなもの
  • ワークオブジェクト - ドキュメントやメッセージ、あるいはもっと抽象的な、転送ルートのようなもの
  • アクティビティの矢印

Domain Storytelling

通常、シンボルはドメインに合わせてカスタマイズされ、人と船には違う絵文字が割り当てられる。必要に応じて、シンボルが何を示しているかを説明したテキストを付加する。目標とするのは、記号やテキストを使って、自然言語を読むのに可能な限り近い文章を作ることだ。その上で文章を追加し、数字を使って順序を表示する。通常は、判断のためのゲートウェイは回避される -- ストーリは常に、ひとつの具体的な例を示すべきである。この視覚化には、ドメインの専門家が短時間でストーリに誤解がないことを確認し、修正できるようにする、という意味がある。

コンテキスト境界の候補を見つけるために、Hofer氏とSchwentner氏は、次のようなストーリ内の指標を使用する。

  • 一方向の情報フロー
  • 言葉の違い。例えば、同じ名前を使って異なるものを表現している。
  • トリガの異なるパーツの存在。例えば、ある部分は毎日実施されるが、別の部分はオンデマンドで行われる。

3つの指標が確認できれば、Hofer氏は、2つの異なるコンテキスト間の境界が見つけられたと判断しているが、ただしこれはひとつの目安に過ぎない -- 証明されたものではない、という点にも注意を促している。例えば、ひとつのストーリ内にある一方向の情報フローは境界を示すものだが、ドメインをより深く見れば、それは境界ではなく、さらに複雑な情報フローを示す別のストーリが存在する可能性もある。

Hofer氏とSchwentner氏によれば、コンテキストの境界を見つけるだけでは不十分だ。ビジネスプロセスはしばしば、コンテキスト境界を越えた共同作業である。壁を作ることではなく、別々のコンテキストでも人々が共に作業することの可能なモデルを構築することが目標なのだ、と両氏は強調する。求められているのは、理解しやすく、ミスを起こし難いソフトウェアを構築するための独立したモデルだが、それと同時に、さまざまな人々がシステムを使用できることも必要なのだ。

結論として、ドメインのストーリテリングは価値のあるツールだとHofer氏とSchwentner氏は考えており、多くの人々がそれを利用して、その結果を知らせて欲しいと望んでいる。

もうひとつのモデリングツールは、Alberto Brandolini氏の開発したEvent Stormingで、カンファレンスでは2日間のワークショップが開催されていた。

カンファレンスのすべてのプレゼンテーションは録画されており、今後数ヶ月内の公開が予定されている。DDD Europe 2019の計画が開始されたが、詳細な情報はまだ決定していない。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT