こんにちは、みっちゃんです。
今回の記事では、システム開発の流れを示すモデルとして、代表的なものを3つ紹介します。
システム開発だけではなく、実社会でも活用できるモデルなので是非覚えておいてください。
目次(まとめ)
- システム開発は「要件定義」「設計」「プログラミング」「テスト」の段階からなる
- 「ウォーターフォール」モデルは、1つ1つ順番に取り組むモデル
- 「プロトタイピング」モデルは、適宜プロトタイプを示しながら取り組むモデル
- 「スパイラル」モデルは、全体のシステムを分割して、1つ1つ取り組むモデル
- 参考文献
システム開発は「要件定義」「設計」「プログラミング」「テスト」の段階からなる
システムを開発するためには、まずそのシステムで何を実現したいのか、明確にしておく必要があります。
これを「要件定義」といいます。
システムエンジニアは、「要件定義」で定義された要件をもとに、それを実現するためのシステム「設計」を行い、「プログラミング」します。
最終的には、開発したシステムが思った通りに機能するかどうかを「テスト」します。
これら4つの段階をどのように踏んでいくかということで、以下に示すようないくつかのモデルが知られています。
「ウォーターフォール」モデルは、1つ1つ順番に取り組むモデル
「ウォーターフォール」とは、英語で「滝」の意味です。
つまり、上から順番に実行していくモデルです。
「要件定義」が終わったら「設計」を行い、それが終わったら「プログラミング」を行い、最後に「テスト」するということです。
シンプルなモデルではあるのですが、1つ問題があります。
それは、最後に「テスト」するまで、システムが見えないということです。
システム開発を依頼した人にとっては、どんなシステムになりそうか適宜確認したいでしょうが、それは叶いません。
「プロトタイピング」モデルは、適宜プロトタイプを示しながら取り組むモデル
「ウォーターフォール」モデルの問題を解消するモデルとして、「プロトタイピング」モデルがあります。
このモデルでは、開発初期の段階で、プロトタイプを作成することで、システム開発を依頼した人にどんなシステムになりそうか示すことができます。
依頼者のイメージと擦り合わせができるという点でメリットがありそうです。
ただし、プロトタイプを作るのも、簡単な作業とは言えないので、イメージの擦り合わせの妥協点を決めておかないと、システム開発が滞ってしまうという問題があります。
「スパイラル」モデルは、全体のシステムを分割して、1つ1つ取り組むモデル
「スパイラル」モデルでは、まず全体のシステムをいくつかのサブシステムに分割します。
1つ1つのサブシステムを順番に取り組むのですが、1つのサブシステムが完成すれば、それをプロトタイプとして示すことができるという利点があります。
システム開発を依頼した人の特徴(嗜好性など)を理解しながら、全体のシステムを構築していけるという点でも良いモデルかもしれません。
参考文献
きたみりゅうじ「キタミ式イラストIT塾 応用情報技術者」技術評論社