ソフトウェアライフサイクルモデル

こんにちは、カブロビテス! ソフトウェアの開発、実装、および使用のどのモデルが以前に存在し、どのモデルが現在主に使用されているのか、なぜ、何であるのかを思い出すことは興味深いと思います。 これは私の小さなトピックです。

実際、 ソフトウェアライフサイクルとは何ですか。システムの作成と使用の過程でシステムで発生する一連のイベントです。 言い換えれば、これはソフトウェア製品を作成する最初の瞬間からその開発と実装の終わりまでの時間です。 ソフトウェアのライフサイクルはモデルとして表すことができます。

ソフトウェアライフサイクルモデルは、ソフトウェア製品の開発、使用、およびメンテナンス中に実行されるアクションプロセスとタスクを含む構造です。
これらのモデルは、3つの主要なグループに分類できます。
  1. 工学的アプローチ
  2. タスクの詳細を考慮に入れる
  3. 急速な発展の最新技術
次に、既存のモデル(サブクラス)を直接検討し、それらの利点と欠点を評価します。

エラーコーディングおよびトラブルシューティングモデル


大学生に典型的な完全にシンプルなモデル。 ほとんどの学生は、このモデルに基づいて、たとえば実験室での作業を開発します。
このモデルには次のアルゴリズムがあります。
  1. 問題の声明
  2. フルフィルメント
  3. 結果の検証
  4. 必要に応じて、最初の段落に移動します
モデルもひどく時代遅れです。 1960年から1970年に典型的なものです。したがって、レビューでは以下のモデルに勝る利点はほとんどありませんが、表面に欠陥があります。 モデルの最初のグループを指します。

カスケードソフトウェアライフサイクルモデル(ウォーターフォール)


図に示したこの方法のアルゴリズムには、以前のモデルのアルゴリズムよりもいくつかの利点がありますが、いくつかの重大な欠点もあります。
カスケードモデルアルゴリズム

利点:短所:モデルの最初のグループを指します。

中間制御を備えたカスケードモデル(渦)


このモデルは、以前のモデルのアルゴリズムによるとほぼ同等ですが、ライフサイクルの各段階でフィードバックがあり、同時に非常に重大な欠点、つまり開発コストが10倍増加します 。 モデルの最初のグループを指します。

Vモデル(テストによる開発)


このモデルには、最新の方法に近いアルゴリズムがありますが、依然として多くの欠点があります。 これは、極端なプログラミングの主要なプラクティスの1つです。

画像

プロトタイプ開発モデル


このモデルは、プロトタイピングと製品プロトタイピングに基づいています。
プロトタイピングは 、ソフトウェアライフサイクルの初期段階で使用されます。
  1. 不明確な要件を明確にする(プロトタイプUI)
  2. 多数の概念的ソリューション(スクリプトの実装)のいずれかを選択します
  3. プロジェクトの実行可能性を分析する
プロトタイプの分類:
  1. 水平および垂直
  2. 使い捨てで進化的
  3. 紙と絵コンテ
水平プロトタイプ-処理ロジックとデータベースに影響を与えることなく、UIのみをモデリングします。
垂直プロトタイプ-建築ソリューションの確認。
使い捨てプロトタイプ-迅速な開発用。
進化的プロトタイプは、進化システムの最初の近似です。

モデルは2番目のグループに属します。

スパイラルソフトウェアライフサイクルモデル


スパイラルモデルは、アップストリームとダウンストリームの概念の利点を結合するために、設計と段階的なプロトタイピングの両方を組み合わせたソフトウェア開発プロセスです。

画像

利点:短所:3番目のグループには、 エクストリームプログラミング (XP)、 SCRUMインクリメンタルモデル (RUP) などのモデルが含まれますが、それらについては別のトピックで説明します。

ご清聴ありがとうございました!

Source: https://habr.com/ru/post/J111674/


All Articles