SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

現在地からオブジェクト指向プログラミングを捉えなおす、リ・オリエンテーション【OCC2024基調講演レポート】

  • X ポスト
  • このエントリーをはてなブックマークに追加

モデリングの5段階

 ここまでオブジェクト指向プログラミングの段階論を解説したが、モデリングにも段階論がある。羽生田氏はモデリングの5段階について以下のように説明した。

モデリングの段階論
モデリングの段階論

 まず第1段階は「箱と矢印」で、物事を整理するための方法論である。この方法で、要求や要求の中に出てきた重要な用語を整理する。次の第2段階のUML(統一モデリング言語)について羽生田氏は、「箱と矢印にちょっとだけ毛が生えた程度の表記統一をしようと軽い気持ちで使うのが無難。ただ難しい表記法や細かい文法の詳細は覚える必要がありません」と言い切る。

 第3段階の概念モデリングは、ドメインや業務の構造を導入したモデリングだ。第4段階では企画・要求のレベルのモデリングが導入される。これにはビジネスキャンバスやステークホルダ分析といった概念を用いる。そして、これらの概念とオブジェクト指向プログラミングを統合するのが、第5段階のDDDの活動である。

 羽生田氏は、特に重要だという第3段階のドメイン(概念)モデリングについてさらに深掘りした。これに取り組むためには、該当の業務分野のエキスパートと「モブモデリング」を積み重ねることが重要だ。「(ドメインモデリングは)オブジェクト指向プログラミングと違って設計原則がまとめられていません。そのため、どうしても業務分野ごとにノウハウというのを学んでいく必要があります」と羽生田氏。

 とはいえ、すべての分野に利用できるパターンはある。羽生田氏が提唱する「5W1Hビジネスモデルパターン」と「モノ・コト・バに基づくカテゴリ表」だ。何か事象が発生したときにその構造をみんなで整理するためにこれらの考え方を活用できるという。

5W1Hビジネスモデルパターン

5W1Hビジネスモデルパターン

モノ・コト・バに基づくカテゴリ表
モノ・コト・バに基づくカテゴリ表

 さらに羽生田氏はドメインモデルの本質について「人間はどうしても思考してしまう動物なので、その業務をそのままモデル化することは、現実にはあり得ない。素直なモデルと思っていてもそれは人類の長い歴史があって、素直に見ていると思い込んでいるだけ」と補足する。

 また、ソリューションのレベルのモデルと業務領域のモデルは、重なってしまっているそうだ。それを解きほぐし、どこまでが共通の了解事項で、どこからが自分たちが新たに考え出した発想概念なのかを整理し、モデルの中に取り込む必要があるわけだ。

 「とはいえ、深いモデルを作り上げるためには発明が大事です。発見と発明を繰り返しながら、業務の現場のエキスパートと一緒に仮説検証していくことがモデリングの際には重要だと思います」

次のページ
オブジェクト指向と関数型の関係

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

岡田 果子(オカダ カコ)

 IT系編集者、ライター。趣味・実用書の編集を経てWebメディアへ。その後キャリアインタビューなどのライティング業務を開始。執筆可能ジャンルは、開発手法・組織、プロダクト作り、教育ICT、その他ビジネス。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

大河原 由貴(編集部)(オオガワラ ユキ)

 2023年に新卒で翔泳社へ入社し、CodeZine編集部に配属。筑波大学生命環境学群生物学類卒。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/19450 2024/06/11 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング