アーキテクチャ設計に有用なUMLによるモデリング

今日のシステム開発では、アーキテクチャ設計の成否がシステムの品質とプロジェクトの成功に大きな影響を与えます。このような状況になった経緯には次の要因が関係しています。

  1. 従来よりもシステムに求められる非機能要求のレベルが高まっている
  2. 高いレベルの非機能要求を実現するために、様々な技術を組み合わせてシステムを開発しなければならなくなっている
  3. 上記の状況と基幹系システムの再構築の増加などが相まって、大人数で効率よく開発するとともに、高品質を達成しなければならなくなっている**

アーキテクチャ設計においては、アーキテクチャのアイデアを検討するため、アーキテクチャの妥当性を検証するため、アーキテクチャを多くの開発者に伝えるためなど、様々な動機からモデリングを行います。その際、UMLによるモデリングは優れた効果を発揮します。以下、アーキテクチャ設計の工程において検討される6つのテーマについて、UMLを使ってモデリングする手法を解説します。

配置図でモデリングするテーマ - ソフトウェアの配置

配置図を用いてUMLによるモデリングを行うテーマとしては、「ソフトウェアの配置」と「システム間連携」があります。

システムが1台のハードウェアだけで構成されることはまずありません。クライアントマシン、Webサーバ、アプリケーションサーバ、データベースサーバといったように、複数のハードウェアに役割を与えて1つのシステムとして稼働させます。

このことは、異なる役割を有するハードウェアに、役割に応じてソフトウェアを分散配置しなければいけないことを意味します。

以下の図は「まいにち宅配便」のソフトウェア配置を記述した配置図です。配置図を使ってソフトウェア配置を記述するには、主に「ノード」「コンポーネント」「成果物」の要素を使います。

ソフトウェアの配置図

ノードとは、ハードウェアやミドルウェアなどを記述する要素であり、図中では「配達予約アプリサーバ(ハードウェア)」や「Tomcat(ミドルウェア)」がノードに当たります。

コンポーネントとは、インタフェースを提供しているプログラムの集合を記述する要素であり、配置図ではノードに配置するソフトウェアを表現するために使います。図中の「配達予約システム」や「配達予約DB」がコンポーネントに当たります。

成果物とは、ファイルを記述する要素であり、配置図ではノードに配置するファイルを表現するために使います。図中の「配達予約ファイル」がこれに当たります。

配置図を記述した後は、典型的な種類のユースケース(画面系、帳票系、バッチ系、システム間連携系)や非機能要求が実現できそうかどうかを確認する必要があります。この確認を行うと、配置先が決まっていないコンポーネント、役割上不適切な配置をしているコンポーネント、コンポーネント間で通信できる配置などを見つけることができます。

『出典:システム開発ジャーナル Vol.5(2008年7月発刊)
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。