ソフトウェアの開発工程には「設計」という工程があり、基本設計(外部設計)と詳細設計(内部設計)の2つに分かれています。それぞれで役割は異なりますが、そもそも設計工程は重要なのかを本稿にて解説していきます。
基本設計(外部設計)と詳細設計(内部設計)の違い
「ソフトウェアの設計」という言葉は少し曖昧ではありますが、「仕様を決める設計」と「ソースコードの設計」で大きく異なります。どちらも設計であることには変わりませんが、ここで表現する「仕様を決める設計」とはエンドユーザから見た画面のレイアウトや、実際の動作(どのように動くのか)を定める部分を示します。これを基本設計(外部設計)と言います。
一方で、「ソースコードの設計」は文字通りソースコードを作り上げるための設計書です。具体的には、どのような条件分岐で処理を動かすか、変数名、クラス名、メソッド名、それぞれに対する定義、などが対象になり、これを詳細設計(内部設計)と呼びます。
基本設計(外部設計)と詳細設計(内部設計)はどちらが重要なのか
結論から言うとどちらも重要なので、設計工程はソフトウェアの開発をする上で欠かせない工程となります。しかし、重要と分かりつつも上手くできていない現場が多いのです。
どちらも難しいので、当然と言えば当然なのですが、基本設計の場合「仕様を決める設計」と冒頭で触れましたが、そもそも仕様を決めるためには開発に関する知識が無いとできません。
例えば、実現が難しいのにも関わらず、実現ができる前提で設計が行われたりすると、開発工程まで進み始めて実現不可能な事に気づいたりします。
また、要件定義の内容がしっかりと設計に落とし込めていないケースなどもあります。 詳細設計の場合「ソースコードの設計」になるので、ソースコードを書いているのとほとんど変わりはありません。プログラミングをしているのと遜色がないと感じている方もいるのではないでしょうか。
もちろん開発工程から外部に委託するなどの際にはそのようなケースで必要になる際もあると思いますが、ソースコード設計の非効率さは永遠のテーマになります。
ソフトウェア開発をしていると、開発工程、テスト工程など下流部分に問題があると判断されがちですが、設計工程の改善が一番見直すべき工程であり、プロジェクト成功に密接につながってくる工程と言えるのではないでしょうか。
- カテゴリ:
- キーワード: