全1284文字

 システム開発では、要件定義の次に設計工程になります。設計工程はさらに、「概要設計」「外部設計」「内部設計」という工程で進めます。これらの工程での作業には、それぞれ異なるスキルが必要です。

 実際の開発現場では、設計の各工程は流れ作業のひとコマのように見えます。筆者は「設計は、システムの作者が作り上げる一つの大きなストーリー」と捉えています。つまり、何かを成すときに「目的」を掲げるように、システムを作り上げるときにも目的を定め、それを達成するためのストーリーを考えるのです。

 そのストーリーの通過点として設計の各工程、すなわち概要設計、外部設計、内部設計のそれぞれに目標を設定します。

 例えば、設計全体で「変化の激しい市況に対応するため、拡張性の高いシステムの構築を目指す」という目的を掲げたとします。このとき、概要設計では「まず核となる業務と商品に対応したシステムを構築する」という目標を掲げ、システムの対象スコープを定めます。

 次に外部設計では、システム拡張に容易に対応できるように「全業務共通の基本フローおよび全商品共通の機能を定義する」という目標を立てます。内部設計の前提となる方式設計では「SOA(サービス指向アプローチ)を基本としたシステムアーキテクチャーにする」という目標を立て、内部設計では、「メッセージング技術を利用した素結合なフレームワークを構築する」という目標を立てます。このように、設計には全体を通したストーリーが必要です。