変更に耐えるシステム構造とモデルの関係(上)保守性・拡張性に優れたシステムを作る(3)(2/3 ページ)

» 2006年06月02日 12時00分 公開
[野村佳弘,日立ソフトウェアエンジニアリング]

1. 観点と視点

 「視点」とは、本連載では「どのように見るか」を意味するものとします。システム開発では、1つの「視点」にだけこだわって分析や設計作業を行っていては、(要求の)見落としなどが生じる場合があります。さまざまな「視点」で見ることにより、全体像を明確にして、不足しているもの、無駄なものや背後に隠されたものを明らかにできます。

 「観点」は「見る立場」を意味するものとします。「設計者」の観点(立場)から「機能と入出力」に注目した視点でシステムの分析を行うというように使用します。

 システム分析・設計において、「構造から見る観点」と「担当者から見る観点」で、どのような視点で分析・設計するのかを説明します。

(1)構造から見る観点

 「構造から見る観点」とは、問題領域の要求や、実現すべきシステムがどのような構造になっているかを多面的に分析するためのものです。これには、次のような視点があります。

・機能と入出力に注目した視点

 機能とデータの受け渡しに着目して分析する手法です。機能を中心に考え、機能の入力と出力を分析していきます。機能モデルといいます。

・関係に注目した視点

 データとデータの関係を分析すると、E-R図になるように、「もの」と「もの」の間の関係を分析します。関係モデルといいます。

・事象と状態に注目した視点

 事象により状態が変化するさまを分析する手法です。動的モデルといいます。

 どんな分析手法でも基本的には、この3種類の視点での分析になります。3つの視点により、要求や実現すべきシステムの構造をあぶり出していきます。

(2)担当者から見る観点

 システム開発に関係する担当者としては、エンドユーザーや分析者、設計者、プログラマ、システム統合担当者、システムエンジニアなどがいます。それらの担当者は、同じ分析・設計でも必要とする情報はそれぞれ違ってきます。この担当者から見る観点では以下のような視点があります。

・ユースケースビュー

 エンドユーザーの視点。要求、機能などを分析するための視点

・論理ビュー

 分析・設計者の視点。ソフトウェアの構造を分析・設計するための視点

・実装ビュー

 プログラマの視点。ソフトウェアの実装や管理のための視点

・プロセスビュー

 システム統合管理者の視点。性能、スケーラビリティ、スループットなどを検討する視点

・配置ビュー

 システムエンジニアの視点。システムトポロジー、納品、インストール、ネットワークなどを検討する視点

 それぞれのビューは、担当者が理解を深め、理解を共有することを目的としています。

 このような視点により、例えばユースケースビューは、技術的なことは詳しくないエンドユーザーや業務分析者のために、ユースケース図やユースケース定義などを利用して機能の分析を進めていきます。また、論理ビューでは、分析者や設計者が、機能モデルや関係モデル、動的モデルを通してシステムを分析・設計していきます。ここでは、システム分析者や設計者が理解でき、構造の3つの視点から分析することにより機能など過不足がないシステム構造を定義します。

 このような観点と視点で分析・設計することにより、要求を基にできるだけ要求を満たし乖離のないシステム分析・設計を行い、かつ無駄のないシステムを構築していきます。

 「構造から見る観点」「担当者から見る観点」で分析・設計をするためにUMLを利用することができます。それぞれの観点と対応するUMLダイヤグラムを以下に記します。

構造から見る観点

■機能モデル

ユースケース図、相互作用図(シーケンス図、コラボレーション図)

■静的モデル

クラス図、オブジェクト図

■動的モデル

アクティビティ図、ステートチャート図

担当者から見る観点

■ユースケースビュー

ユースケース図、業務フロー(アクティビティ図)

■論理ビュー

クラス図、相互作用図(シーケンス図、コラボレーション図)、ステートチャート図

■実装ビュー

クラス図、相互作用図(シーケンス図、コラボレーション図)

■プロセスビュー

コンポーネント図

■配置ビュー

配置図

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ