【JSTQB Foundation Level 】 入社1年目の自分がJSTQBのソフトウェア開発ライフサイクルモデルを要約してみた。

JSTQB Foundation Levelを今後受験する人むけて、第二章の<font color="Red">ソフトウェア開発ライフサイクルモデル</font>についてまとめてみました。


# 目次
<br>

* [試験概要](https://qiita.com/yamamoto_slj/private/e3d68b67e2678f51f5c4#%E8%A9%A6%E9%A8%93%E6%A6%82%E8%A6%81)
    * [ソフトウェア開発ライフサイクルモデル](https://qiita.com/yamamoto_slj/private/e3d68b67e2678f51f5c4#21%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%83%A2%E3%83%87%E3%83%AB)
        * [シーケンシャル開発モデル](https://qiita.com/yamamoto_slj/private/e3d68b67e2678f51f5c4#%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B7%E3%83%A3%E3%83%AB%E9%96%8B%E7%99%BA%E3%83%A2%E3%83%87%E3%83%AB)
            * [ウォーターフォールモデル](https://qiita.com/yamamoto_slj/private/e3d68b67e2678f51f5c4#%E3%82%A6%E3%82%A9%E3%83%BC%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A9%E3%83%BC%E3%83%AB%E3%83%A2%E3%83%87%E3%83%AB)
            * [V字モデル](https://qiita.com/yamamoto_slj/private/e3d68b67e2678f51f5c4#v%E5%AD%97%E3%83%A2%E3%83%87%E3%83%AB)
        * [イテレーティブ開発モデル](https://qiita.com/yamamoto_slj/private/e3d68b67e2678f51f5c4#%E3%82%A4%E3%83%86%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%96%E9%96%8B%E7%99%BA%E3%83%A2%E3%83%87%E3%83%AB)
        * [インクリメンタル開発モデル](https://qiita.com/yamamoto_slj/private/e3d68b67e2678f51f5c4#%E3%82%A4%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%A1%E3%83%B3%E3%82%BF%E3%83%AB%E9%96%8B%E7%99%BA%E3%83%A2%E3%83%87%E3%83%AB)
       


# 試験概要

* 試験日　　受験受付：随時受付　
　　　　　　随時実施
* 受験料　　22,000円
* 合格率　　2021年度　67.2%
* 試験内容　四肢択一式 40問：60分

ソフトウェアテストについての試験です
<br>
# 2.1ソフトウェア開発ライフサイクルモデル

<font color="Red">ソフトウェア開発ライフサイクルモデル</font>とはソフトウェア開発プロセス全体を進行する方法を定義する枠組みやパターンのこと

利点　　・プロジェクトの進捗状況が明確になる
　　　　・開発やテストなどの工程を効率的に管理できる
　　　　・各工程の品質の向上が期待できる
　　　　・プロジェクト全体のリスクが軽減できる　　　　など

一般的なソフトウェア開発ライフサイクルモデルを二つに分類すると
・<font color="Red">シーケンシャル開発モデル</font>
・<font color="Red">イテレーティブ開発モデルとインクリメンタル開発モデル</font>

<br><br><br>類似した概念で<font color="Red">ソフトウェア開発ライフサイクル</font>というのがあります
違いは

<br>・ソフトウェア開発ライフサイクルモデル
ソフトウェア開発プロセス全体を進行する方法を定義する枠組みやパターンのこと　（簡潔に言えばソフトウェア開発プロセスの進行方法を表す）

・ソフトウェア開発ライフサイクル
ソフトウェア製品が生まれて成長し、最終的に退役するまでの一連の段階を示すもの　（簡潔に言えばソフトウェアの成長と変遷を表す）



## シーケンシャル開発モデル
シーケンシャル開発モデルとはいくつかの独立および連続するフェーズ(段階)を順番に実行してシステムを完成させるモデル

特徴　　・ソフトウェア開発の活動・作業をシーケンシャル(連続的)行う
　　　　　プロセス
　　　　・基本的には、着手した活動が完了し合意したあとで、次の活動に
　　　　　着手する
　　　　・開発機関が長く、プロダクト完成までに、時間がかかる　など


<br>代表
・ウォータフォールモデル
・V字モデル


### ウォーターフォールモデル

<font color="Red">ウォータフォールモデル</font>とはソフトウェア開発を要件定義から順次進行し、各段階を完了してから次の段階に進むモデル

特徴　　・滝の流れと同じように、原則として逆戻りはしない

　　　　・他の開発サイクルモデルの基本となる形
　
　　　　・各段階で詳細に設計やテストが行われるため、エラーを早期に
　　　　　検出しやすい　　　　　　　　　など

![ウォーターフォールの流れ (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540014/ae62aec1-7b2e-7c67-10e5-91c9315af4c4.png)


### V字モデル

V字モデルとは開発工程とテスト工程の対応関係を表したモデル

特徴　　・各フェーズにテストレベルを対応させて、「早期テストの原則」
　　　　　を実装している

　　　　・ウォーターフォールモデルを基本に変形したモデル

　　　　・上流の活動とテストレベルの対応が明確になる　　　など

![v字モデルのイメージ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540014/e8e5fef0-192f-89a1-a5c4-12eaf6f18509.png)


## イテレーティブ開発モデル
<font color="Red">イテレーティブ開発モデル</font>とは逐次的なサイクルでソフトウェアを開発し、各サイクルで進化させるモデル
（<font color="Red">逐次的</font>とは、段階的に進行し、一つの工程や作業が順番に実施されること）
<br>
特徴　　・プロジェクトを複数の反復に分け、各反復ごとに要件の一部を
　　　　　開発　
　　　　・テストし、徐々に完成度を高める
　　　　・初期の段階で全ての要件を詳細に定義する代わりに、
　　　　　プロジェクト進行中に要件を追加・変更することを許容する
　　　　・初めの反復からプロダクトが利用可能

![aq.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540014/50102d1f-6f9b-fec3-8115-aa7dff93c781.png)



<br>代表
・RUP(ラショナル統一プロセス)
・スクラム
・カンバン
・スパイラル


## インクリメンタル開発モデル
<font color="Red">インクリメンタル開発モデル</font>とはプロジェクトを段階的に分割し、各段階で新しい機能や機能の拡張を追加するモデル


特徴　　・プロジェクトを複数の段階に分け、各段階ごとに機能を
　　　　　追加していく
　　　　・各段階ごとに機能の変更や修正を加えることが容易で、
　　　　　要件の変更にも対応しやすい
　　　　・各段階で一部の機能が利用可能になり、部分的なリリースが可能　
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　など
![iq.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3540014/e5038a37-6aa4-4a55-3ff3-bf20dfec0e1a.png)





<b>以上　2.1ソフトウェア開発ライフサイクルモデル

参考になれば幸いです。