SHOEISHA iD

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

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

Developers Summit 2023 Summer セッションレポート

『ソフトウェアアーキテクチャの基礎』島田浩二氏が語る、エンジニアが最初に知っておくべきアーキテクチャリテラシー

【C-1】これから学ぶ人のためのソフトウェアアーキテクチャ入門

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

よいアーキテクチャはどのようにして実現されるのか? 複数の視点を持つメリット

 『Design It!』では、ソフトウェアシステムを分割することにより、アーキテクトが品質特性を含むシステム要求を満たす戦略を立てられると説明されている。しかし島田氏は、システムの構造には多様性があり、単一の形態に限られないという基本的な前提がある点に注意が必要であると説明した。

 書籍『実践ソフトウェアアーキテクチャ』では、ソフトウェアアーキテクチャをソフトウェア要素間の関係で構成されるシステムの構造、または複数の構造として定義している。システムの複数の構造を検討することがこの分野の重要な作業であり、これに取り組むための一つの方法として、「4+1ビュー」というモデルがある。このモデルはシステムをさまざまな視点から見ることを促し、システムがどのように使われるか、どのような状態になるかに基づいて、その構造を総合的に理解する手法である。

 「4+1ビュー」では、論理ビュー、プロセスビュー、実装ビュー、デプロイメントビューという異なる視点がある。論理ビューでは、ソフトウェアのモジュール構成やデータベースの論理モデルを考慮する。プロセスビューでは、実行単位の相互作用や通信のタイミングを検討する。実装ビューでは、ソフトウェアモジュールの構成管理、ファイルディレクトリ構造、ソースコードのリポジトリ管理、ビルド単位の決定、依存物の管理が行われる。デプロイメントビューでは、ビルド単位やアーティファクトをインフラストラクチャー構造にどのように対応付けてデプロイするかが検討される。

さまざまな視点によってシステム構造を検討し、設計の整合性を保証する
さまざまな視点によってシステム構造を検討し、設計の整合性を保証する

 これらのさまざまなビューを通してソフトウェアアーキテクチャにおけるシステムの構造を検討する。全体を横断して設計の整合性を取りながら構造を決定することが重要である。たとえあるビューでは問題がないように見えても、別のビューからは異なる問題が浮き彫りになる可能性があるからだ。

次のページ
ソフトウェアアーキテクチャへの効果的なアプローチとは? 取り組み方のポイントを紹介

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2023 Summer セッションレポート連載記事一覧

もっと読む

この記事の著者

森 英信(モリ ヒデノブ)

就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...

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

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング