システム アーキテクトのシステム アーキテクトによるエンジニアおよびエンドユーザーための MSD Architects.
MSD Architects.          MSD Architects Header
トップページ ソリューション コンサルティング 研究開発 品質 MSD Architects 概要 お問い合わせ
コンサルティング
ソフトウェア設計 コンサルティング

「ソフトウェア設計 コンサルティング」では、仕様変更に強いシステムにしたい、拡張性の高い設計にしたい、再利用性の高い設計にしたい、 といった、ニーズに答えるシステムの設計方式を提案します。

仕様変更に強いシステムとは、仕様変更に対するシステムの変更作業コストが最少となるシステムです。 もちろん、仕様変更が発生しないようにプロジェクトをマネージメントすることが最も重要なことですが、 どうしても仕様変更が発生してまう場面があります。

仕様変更にかかるコストは、仕様書 ( 要件定義書、基本設計書、詳細設計書、プログラム設計書、単体試験仕様書/成績書、結合試験仕様書・成績書、総合テスト仕様書・成績書 ) の改版コスト、 プログラムの改修コスト、リグレッションテストにかかるコストがあります。 これらのコストの中で、仕様書の改版にかかるコストは、どのようなシステムでも避けようがありません。 ( 非機能要件性の高いプログラム設計書、単体試験仕様書/成績書仕様書は、その限りではありません。 ) しかし、プログラムの改修コスト、リグレッションテストにかかるコストは、設計方式により大きく削減することができます。

つまり、仕様変更に強いシステムとは、プログラムの改修コスト、リグレッションテストコストを最小限することであり、 これを実現するために、設計方式に N 層システムモデルを適用することを提案します。

N 層システムモデルは、システム要件をコンポーネント単位ににモデリングし、 コンポーネントの性質に基づき、大きくプレゼンテーション層、ビジネスプロセス層、データアクセス層に分類します。

プレゼンテーション層、ビジネスプロセス層、データアクセス層の各層に配置されたコンポーネントの依存性は低く、 ユーザーインターフェースに対する仕様変更は、プレゼンテーション層のユーザーインタフェースコンポーネントの改修のみに留まります。 同様に、業務に対する仕様変更は、ビジネスプロセス層のビジネスプロセスコンポーネントの改修のみ、 データ構造に対する仕様変更は、データアクセスコンポーネントの改修のみに留まり、 最小限のコストで仕様変更に対処できます。

さらに、N 層システムモデルは、拡張性、再利用性においても最小限のコストで対処できます。

しかしながら、N 層システムモデルにも欠点はあります。 N 層システムモデルは、対仕様変更性、拡張性、再利用性の実現の代償として、 初期設計コストが、その他のシステムモデルより高くなってしまいます。

N 層システムモデルは、対仕様変更性、拡張性、再利用性を考慮しないシステムモデルと比較すると、 対仕様変更性、拡張性、再利用性を設計に取り入れている分のコストが発生します。 システム化対象の業務が半恒久的に変化がなく、仕様変更が全く発生しないような条件では、 N 層システムモデルは、冗長なシステムモデルとなります。

これらの N 層システムモデルの利点と欠点を把握したうえでは、 仕様変更が多く発生すると予測できている業務に対応するコンポーネント周辺に限り N 層システムモデルを適用するいったように、柔軟に最適な設計方法を提案させていただきます。