4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ユビキタス言語について

Last updated at Posted at 2019-05-16

image.png
image.png

こちら2つを読んで

ユビキタス言語とは

ソフトウェア開発チーム全体で作り上げる共有言語

  • ドメインのユーザーが使う用語とプログラムを構成する用語を一致させた言葉
  • プロダクトオーナー、開発者間のコミニュケーションを円滑にするためのようなもの

ユビキタスとは

「満遍なく」とか「どこにでもある」という意味

ユビキタス言語の考え方

その業務自体が、どのような考えでどのように動くのか

  • プロジェクトにとっての最善の用語か
  • ユビキタス言語における変更は、モデルに対する変更である
  • ドメインエキスパートは用語や理解を伝えるために適切かどうかに、開発者は設計を妨害する不整合さがないかどうかに着目すべき

ユビキタス言語のスコープ

  • チーム。チームによって話されて、チームが開発する単一のドメインモデルで表現される
  • 「業界全体で」とか「全社的に」あるいは「世界中で」共通なドメイン言語を想定したものではない(ユニバーサルではない)
  • 境界づけられたコンテキストごとに、それぞれのユビキタス言語が存在する
  • 境界づけられたコンテキストは、当初の想定よりも比較的小さくなる。
  • 境界づけられたコンテキストは、ひとつの業務ドメインのユビキタス言語全体をとらえることができる程度の大きさにとどまるもの

具体的にやること

シンプルな定義をまとめた用語集や図を作る

ポイント

  • ユビキタス言語は日々変化していく(仕様や機能も変わっていくので)
  • ユビキタス言語がそのままドメインモデル名となる

参考文献

Eric Evans. エリック・エヴァンスのドメイン駆動設計
https://amzn.to/2E2QmHB

ヴァーン・ヴァーノン. 実践ドメイン駆動設計
https://amzn.to/2E6uMlU

雑感

狭義では実際のコードと対応づく言葉だけを定義していくものな気がするが、広義では共有言語なので単語集くらいの気持ちで運用しはじめてみるのが大事そう

言葉に対する理解度は可視化しないと乖離も出やすいし、共通認識を合わせるスタンスの具体的アプローチとして適していそう

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?