[ソフトウェア工学]いくつかのソフトウェアプロセスモデルの一般的な比較

いくつかの一般的なソフトウェアプロセスモデルの比較

まず、ウォーターフォールモデル(滝モデル)

ウォーターフォールモデル(古典生活モデル)は、ソフトウェア開発の体系的、連続的なアプローチを提案しました。ユーザーの要求仕様から、そのプロセスは、計画、モデリング、ビルドおよび展開のプロセスによって開始され、最終的には完全なソフトウェアを提供し、継続的な技術サポートを提供しています。

 

モデルの特長

  • 前のステージの後、作業期間の後に開始するための作業の完了を待つ必要があります。
  • 各ステージには、必要な文書を完了する必要があり、文書を作成するために障害が使命のこのフェーズを完了する資格はありません。
  • 出力文書の前の段階では、正しく、後に正しい結果を得るために、後の段階に作業出力ドキュメントのこれだけ前段のステージの入力ドキュメントです。
  • 文書は、エラーを訂正し、問題の早期発見のため、各審査段階の終了前に完了しなければなりません。実際、初期の段階でコミットより多くのエラーは、より多くの暴露後の時間は、より高いコストをトラブルシューティングするエラーを修正するために必要。そのため、タイムリーなレビューは、ソフトウェアの品質を保証するために、ソフトウェアのコストを削減するための重要な尺度です。

モデルの利点

  • これは、各ステージが順と依存性を有する、開発段階を重視します
  • 初期の研究とニーズ分析を重視し、コーディング実装の観点を延期します
  • これは、分析を行い、テンプレートを提供し、設計、テスト、コーディング、およびメソッドは、このテンプレートに共通の指針を持つことができますサポートしています。

モデルの制限事項

  • ウォーターフォールモデルは、線形モデルであるソフトウェア製品を得るために、すべての開発作業が完了した後まで、送達されなければならない、プロジェクトを推進するための手順に厳密に従っが必要です。すぐにいくつかのソフトウェア・システムのラッシュの配信の開発のためのソフトウェアシステムを作成することはできません非常に便利です。
  • ウォーターフォールモデルは、特定のニーズ、およびソフトウェア開発の無い大きな変更要求(コンパイルシステム、オペレーティングシステムなど)に適しています。漠然とした最初のプロジェクトのような分析を必要とする、ウォーターフォールモデルは適合しません。

該当するシーン

要件の決意、変更の無い大きな需要に適した、仕事がソフトウェアを完了するために、直線的に使用することができます。

第二に、インクリメンタルモデル(インクリメンタルモデル)

反復インクリメンタルモデルは、そのソフトウェアプロセスを考慮すると、基本的な食材の特徴やウォーターフォールモデルのプロトタイプ実装を組み合わせた:全体としてウォーターフォールモデルに従い、プロジェクト開発プロセスの実装、プロジェクトの管理を容易にするために、しかし、ソフトウェアの実際の開発で、ソフトウェアシステムは、すべての増分コンポーネントが作成されるまで、機能的には、ユニットを作成して配信するために、メンバーの変更、およびメンバーずつに分割され、ユーザに配信システムに統合されます。

 

モデルの特長

  • インクリメンタルモデルを使用する場合、最初の増分は、多くの場合、製品のコアです。
  • 顧客の使用の各増分については、次の増分リリースなど、すべての新機能と機能性を評価します。
  • 千鳥線形雪狩りのタイムスケジュールの進展に伴い、このモデルの用途は、それぞれが「増分。」ソフトウェアリリースの線状配列を生成します

モデルの利点

  • 成果の最初のバージョンのコストと時間が非常に少ない必要。
  • 小さな増分リスクによって開発されたシステムが実施示されていません。
  • すぐに最初のバージョンをリリースしているので、ユーザーのニーズの変化を低減することが可能です。
  • 1つまたは2つの追加投資することができ、すなわちプロジェクトの開始時に、追加投資を実行します。

モデルの制限事項

  • コスト管理の複雑さは、スケジュールを発生し、コンフィギュレーションは、組織の能力を超えていてもよいです。
  • 計画を変更するためのユーザの要求がなければ、その結果の増分事故が不安定のその後の増加をもたらすことができます。
  • あなたが早期に思考の安定性と完全性よう要求したくない場合は、いくつかの増分は、再開発する必要があるかもしれませんし、再リリース。

該当するシーン

ビジネス要件を確立し、期限前に開発者の十分な例を見つけることは不可能プロジェクト。

第三に、進化モデル(進化モデル)

ラピッドプロトタイピング(迅速なプロトタイプ)モデル

ソフトウェア開発プロセスは、初期の開発は、完全かつ正確な要求仕様を取得することは困難であり、アプリケーション開発者は、そのフォームの要件と仕様はしばしば不完全、不正確で、解決すべき問題をあいまいにする傾向があります時にはあいまいな。また、開発プロセス全体は、ユーザーが変更の需要が生じ、新たな要件を発生させることができます。この変化と不確実性の需要に対応するためには、(迅速なプロトタイプは)ので、ラピッドプロトタイピングのための開発手法があります。

 

モデルの特長

  • ラピッドプロトタイピングは、ユーザーのニーズを得るために、または設計の妥当性をテストするために使用されました。要件や設計を確定すると、プロトタイプは放棄されます。このように、ラピッドプロトタイピングのメンバーは、プロトタイピングのコスト、迅速な開発を保存するために、簡単に変更するために、高速で必要とします。
  • ラピッドプロトタイピングは完全に必要としないので、適用される使用、およびされています。このようなプロトタイプのインタフェース、ワークフローおよびローカル問題のために他のプロトタイプとして、特別なプロトタイプを構築する傾向があります。
  • それが効果を持つことができ、他のプロセスモデルの組み合わせを必要としないソフトウェアのライフサイクル全体を通してすることができ、およびラピッドプロトタイピング。たとえば、ウォーターフォールモデルにおけるラピッドプロトタイピングのアプリケーション、ウォーターフォールモデルは、要求分析期間が存在の欠如に対処します。

モデルの利点

  • 私たちは、徐々にコンセンサスに到達するために開発者とユーザーを促す、新しい要件やタスクを導入する顧客を鼓舞することができます。
  • 不確実な需要を避け、開発プロセスに多くの資源を無駄にしているため、開発リスクを軽減します。

モデルの制限事項

  • アカウントへのソフトウェアの全体的および長期的な保守性を考慮せず、
  • おそらく満たす品質要件のために新しいモデルの再設計を導入して、製品を放棄させ、

該当するシーン

プロトタイプメソッドは、ユーザーのニーズに適している明確ではないが、状況が常に需要が変化しています。システムは非常に複雑ではありません規模が大きくない場合は、この方法が良いです。

スパイラルモデル(スパイラルモデル)

大規模で複雑なソフトウェアについては、プロトタイプを開発することは、多くの場合、基準以下です。ウォーターフォールモデルと二つのモデルを組み合わせたスパイラルモデルの進化モデルは、これら二つのモデルの欠如のために無視され、リスク分析、アップに追加されました。

 

4つのステップ

  • 計画:対象のソフトウェア、プロジェクト開発の制限が明示的に選択された実施形態を決定します。
  • リスクアセスメント:選択したプログラムの分析、リスクを排除、リスクを特定し、
  • プロジェクトの実装:ソフトウェア開発、製品検証段階の実装。
  • ユーザーの評価:評価および開発作業、修正案を提案し、開発計画の確立の次のサイクル。

モデルの特長

  • ウォーターフォールモデル、すべての重要な意思決定のためのソフトウェア開発に携わるユーザーの利便性を提供し、ユーザー要件の動的な変更をサポートするために、スパイラルモデルと比較すると、
  • ソフトウェア開発のスパイラルモデルを使用して、開発者は、リスク評価の経験と専門知識の富を持っている必要があります。

モデルの利点

  • ソフトウェアの再利用に焦点を当てます。
  • 早期のエラー解消に焦点を当てました。
  • 最初の場所での品質目標。
  • 開発フェーズとメンテナンスフェーズを兼ね備えています。

モデルの制限事項

  • 開発者は、リスク評価における豊富な経験を持っている必要があります。
  • 受託開発のプロセスモデルは、通常、事前および出版物に指定する必要があります。

該当するシーン

スパイラルモデルは、開発者とユーザのリスクレベルが適切な対応を行うために、米国とロシアの進化を理解するように見えることができ、リスク分析を強調しています。したがって、このモデルは大規模で複雑なシステムに適しており、高いリスクを有します。

第四に、噴水モデル(噴水モデル)

噴水のモデルが提案されているオブジェクト指向ソフトウェア開発手法のために設計されています。単語「噴水」は、オブジェクト指向のソフトウェア開発プロセスは、反復及びシームレスの遷移での画像を表現するために使用されます。

オブジェクト指向の方法では、オブジェクトは、問題の本当の実体を抽象化するだけでなく、建設・ソフトウェア・システムの基本的な要素でもあります。従って、オブジェクト指向のアプローチで確立オブジェクトモデルは、両方の分析のために、デザインも使用することができ、オブジェクトモデルフレームワーク分析フェーズは、ソフトウェアの基礎として、設計段階にシームレスに移行することによって得ることができます。

検討中の噴水のプロセスアプローチモデルは、便利なオブジェクト指向のアプローチに基づいており、代替反復的のソフトウェア、設計と実装の分析をもたらし、そして進化の仕方によって、ソフトウェアは徐々に完全な、段階的に段階的細かいです。

 

モデルの特長

  • 噴水モデルは、モデルは、オブジェクト指向開発に適合されるように、駆動対象駆動ユーザーの要求です。
  • 噴水のモデルは、反復的な開発プロセスを可能にし、非断続的、反復的な開発活動は、多くの場合、モデルのニーズは反復プロセスで数回繰り返されることを意味は、ソフトウェアシステムを改善し続ける、シームレスには、このような分析などの開発活動(、デザインを指し、コーディングの間には明確な境界は)ありません。

モデルの利点

  • 明確な境界線の噴水モデルの様々な段階、開発者が同時にできます。利点は、あなたがケン・プロジェクトとして開発効率を向上させることができるということです。開発時間を節約できます。

モデルの制限事項

  • 開発のさまざまな段階での噴水のモデルが重なっているので、開発プロセスに多くの開発者が必要であり、プロジェクトの管理を助長されていません。
  • 噴水モデルが増加して監査をより困難に、厳格な管理の書類が必要です。

第五に、開発モデルベースのコンポーネント(コンポーネントbaseedモデル開発)

コンポーネントベースのアプローチの開発は、事前にパッケージコンポーネント・アプリケーション・システムの使用が構成されています。メンバーは、完成したメンバーが商品化されて、内部のメンバーによって開発することができます。本質的に進化モデルであるスパイラルモデルの多くの特性を有するモデルベース開発の部材は、ソフトウェア・コンポーネントを反復する必要があります。違いは、ソフトウェア開発のアプリケーション内のメンバーは、コンポーネントベースの開発モデルを予め包装、ということです。

第六に、形式手法モデル(形式手法モデル)

フォーマルメソッドは、厳密なデジタル的に基づくソフトウェア開発方法論であり、その主な活動は、正式なコンピュータソフトウェアの数学的な仕様を生成することです

七、統一プロセス(UP)モデル

統一プロセスモデルは、UMLの手法やツールでサポートされている「ユースケースとリスク・ドリブン、アーキテクチャ中心、反復と増分」開発プロセス、です。全体のソフトウェア開発プロジェクトは、多くの小さな「ポケットプロジェクト」、各「ポケット項目は」通常のソフトウェアプロジェクトのすべての要素が含まれて分割されていることの繰り返し手段:企画、分析、設計、建設、統合とテストだけでなく、内部および外部リリース。

八、アジャイル(アジャイル開発)

アジャイル開発の全体的な目標は、顧客満足度「の貴重なソフトウェアの可能な限り、かつ連続配信など」です。ソフトウェア開発プロセスの柔軟性を追加することで、アジャイル手法は、ユーザーが遅れて開発サイクルの需要を追加または変更することができます。

アジャイルプロセスの多くの典型的な方法があり、アジャイルプロセスを達成するための原理のセットに基づいて、各方法が考え(アジャイルマニフェスト)を主張しています。

エクストリームプログラミング(XP)

XPは、アジャイル開発の典型的な方法であり、それは軽量(アジャイル)、値、原理、実践および4部の挙動から成り、高効率、低リスク、柔軟な、予測可能な、科学的なソフトウェア開発方法論であります。

  • 四つの値:通信、シンプルさ、フィードバックおよび勇気。
  • 5つの原則:迅速なフィードバック、シンプルさが徐々に修正、変更および高品質の作品を促進前提としています。
  • 12ベスト・プラクティス:計画ゲーム、小さなリリース、メタファー、シンプルなデザイン、テストまず、リファクタリング、ペアプログラミング、コード、継続的インテグレーション、週40時間働いて、オンサイト顧客とコーディング標準の集団所有。

クリスタル法(クリスタル)

クリスタルXPのシステムおよび方法、など人間中心が、実際には異なるという概念があります。クリスタルの方法論は、厳密に各プロジェクトは、戦略、規則と方法論の異なるセットを必要とすることを、高度に訓練されたプロセスを追跡することは一般に困難であるを考慮に入れて。したがって、高い出力効率と操作性のバランスを達成するために、少なくとも規律と依然として成功した方法で結晶を探索するXP異なる方法を訓練。

スクラムを探している(スクラム)

製品を達成するために、反復30日に1回は「スプリント」と呼ばれている反復アプローチ、および需要主導型の優先順位を使用します。並行して自己組織化と自己政府グループ増分品以上を実現しています。調整は簡単な毎日のミーティングで行われます。

アダプティブソフトウェア開発(ASD)

投機、コラボレーションと学習:ASDのコアは、開発の段階を重ね、3つの非直線的です。

著者: 火曜日

出典:https://www.cnblogs.com/jojop/p/11801241.html

公開された46元の記事 ウォン称賛18 ビュー30000 +

おすすめ

転載: blog.csdn.net/IGGIRing/article/details/105025067