皆さんこんにちはこんばんは、まずここブログを運営してます。「よーす」です。
開発に関わっていると、ウォーターフォールやら、アジャイルやら、プロトタイプやらスパイラルやらよくわからない名前の開発手法をよく耳にすると思います。
そこで今日は、システム開発にあたって使われる開発手法の1つ「ウォーターフォール方式開発」について、朝食を例にしながらわかりやすく解説していきます!
ウォーターフォール開発の全体図
何事も全体図の理解をすることが大切です。
まずは、一般的なウォーターフォール開発の全体図を紹介します。
ウォーターフォール開発
要件定義
↓
設計
↓
開発
↓
テスト
↓
導入
↓
納品
設計の部分で外部と内部設計、テストの部分で単体テストと統合テストをちょっと省きましたが大まかにいうとこんな感じです。
システム開発の手法と考えてしまうと、どうしても頭に残りにくいので誰でもイメージのしやすい朝食に置き換えて考えてみましょう。
朝食ウォーターフォール開発の全体図
朝食ウォーターフォール開発全体図
食べたいものをまとめる:要件定義
↓
レシピを作る:設計
↓
料理:開発
↓
味見:テスト
↓
盛り付け:導入
↓
配膳:納品
こんな流れで朝食というプロジェクトを完遂することができます。
では、この全体図を元に各工程の内容を見ていきましょう!
食べたいものをまとめる(要件定義)
要件定義とは、「どうのようにクライアントの要望を叶えるかをまとめたもの」です。
これだけだと、結局なにをまとめればいいのかイメージしずらいです。なので朝食でイメージしてみましょう!
我が家の朝食で例えると、要件定義とはつまり妻に「どんなものが食べたいのかを聞いてまとめること」です。
まとめるためには、ヒアリングが必要になります。
ヒアリングすること
- パンと米どちらが良いか?
- どんな栄養素が取りたいか?
- 量はどのくらい食べたいか?
- 何時に食べたいか? などなど
そして、実際に要望をもらいましょう!
レシピを作る:設計
朝食レシピ
- ご飯
食材:白米、水
料理器具:炊飯器
料理手順:1,米を洗う。2,炊飯器の窯に米を入れる。3、適量の水を入れる。4,炊飯のスイッチを押す - 豆腐味噌汁
食材:味噌、豆腐、水、だしパック
料理器具:鍋
料理手順:1,水を鍋にいれる。2,だしパックを水の入った鍋に入れる。3,味噌を鍋に入れる。4,豆腐を切って鍋に入れる。 - 鮭
食材:鮭
料理器具:グリル
料理手順:1,グリルに鮭を入れる。2,火をつける。3,7分ぐらい焼く - 納豆
食材:納豆
料理手順:1,たれとからしをいれる。2,混ぜる。
レシピはこれで完成です。
料理:開発
ここでやっと料理(開発)に取り掛かっていきます。
料理をする時は、どうやったらおいしくなるかやどうゆう工程で作れば効率よく料理できるかを考えて作ります。
味見:テスト
料理ができたところで、ちゃんとおいしくできているのかチェックするために味見をします。
これがシステム開発でいう、テストになります。
盛り付け:導入
味見が完了したら、料理をお皿に盛って配膳準備完了です。
システム開発でいう、実際にお客様環境に入れることを言います。
配膳:納品
盛り付けまでできたら、ついに妻の元に運びます。
これで朝食(システム開発)の完了です。
もちろん、妻から味が薄いなどの要望があれば対応しなくてはいけません。
それが保守になりますが、これはまたの機会にしましょう。
最後に
こんな感じで、ウォーターフォール開発も違うものに例えると頭に入りやすくなりますね。
開発としては、シンプルな開発手法なんじゃないかと個人的に感じています、
メリットデメリットはありますが、それは詳しくまとめられている方がいっぱいあるのでそちらを参考にしてみてください。
参考
https://mayonez.jp/topic/3101?page=2
最後まで読んで頂きありがとうございました。