はじめに(この記事で解決できること)
設計というと、画面やデータベースの構成を考えたり、それを設計書にまとめたりすることをイメージする人は少なくありません。これらは設計工程で行う作業であり、設計そのものの役割ではありません。
設計の役割は、定義された要件をシステムとして実現できる形へ変換することです。
この記事では、「設計とは何をする工程なのか」を本質から解説します。この記事を読むことで、次のことが理解できます。
・設計の本当の役割
・なぜ設計を「変換」と呼ぶのか
・要件と設計の違い
要件はそのままではシステムにならない
要件には、「商品を検索したい」「注文したい」「売上を確認したい」といった、利用者が実現したい内容が定義されています。しかし、その内容だけではシステムを実現することはできません。
「商品を検索したい」という要件だけでは、どの画面から検索するのか、どのデータを対象にするのか、検索結果をどのように表示するのかは決まっていません。
つまり、要件には「何を実現するか」は書かれていますが、「どのように実現するか」は書かれていないのです。そこで、要件を具体的な仕組みへ落とし込む必要があります。
設計とは要件をシステムへ変換する工程である
例えば、「商品を検索したい」という要件であれば、検索画面、検索条件、検索対象となるデータ、検索処理などへ具体化していきます。一つの要件から、システムを構成する複数の仕組みが決まっていくのです。
設計とは、要件をシステムとして実現できる仕組みへ変換する工程です。
変換の方法は一つではない
同じ要件でも、設計の結果が一つに決まるとは限りません。
例えば、「商品を検索したい」という要件でも、検索速度を重視するのか、開発コストを重視するのかによって、採用する仕組みは変わります。
つまり、設計とは決められた答えへ当てはめる作業ではなく、要件に最も適した仕組みを考えながら変換する工程です。前回の記事で説明したように、その判断基準となるのが要件定義です。
まとめ
要件には「何を実現するか」が定義されていますが、それだけではシステムは作れません。
要件を実現できる仕組みへ具体化し、システムとして成立する形に変換していきます。
つまり設計とは、要件をシステムとして実現できる形へ変換する工程なのです。

コメント