18

私は今年ソフトウェア工学を勉強していますが、タイトルの質問について少し混乱しています。

私の教授と参考文献 (「Software Engineering A Practitioner Approach」) の両方が、3 つのタイトルを異なるモデルとして区別しています。ただし、それらの方法論は同じように見えますが、異なるステートメントを使用してそれらを定義しているため、明らかな違いはわかりません。事実上、それらはすべて同じプロセス モデルを表していると思います。

異なるモデルをよりよく説明できる人はいますか?

4

3 に答える 3

16

Craig Larman はこのトピックについて幅広く書いています。彼の有名な論文Iterative and Incremental Development: A Brief History (PDF) と彼の著書Agile and Iterative Development: A Manager's Guideをお勧めします。

これが私が物事を要約する方法です:

インクリメンタル開発

インクリメンタル開発は、システム機能が増分 (小さな部分) に分割されるプラクティスです。各増分では、要件から展開まで、ソフトウェア開発プロセスのすべてのアクティビティを実行することにより、機能の垂直スライスが提供されます。

インクリメンタル開発 (追加) は、ソフトウェア開発で反復開発 (やり直し) と一緒に使用されることがよくあります。これは、反復およびインクリメンタル開発 (IID) と呼ばれます。

進化的方法

進化進化という用語は、Tom Gilb が 1976 年に出版した彼の著書Software Metricsで紹介したもので、彼は IID の実践 (おそらく最も古いもの) である EVO について書いています。進化的開発は、利害関係者に高い価値を早期に提供すること、および利害関係者からのフィードバックを取得して活用することに重点を置いています。

Software Development: Iterative & Evolutionaryの中で、Craig Larman は次のように述べています。

進化的反復開発とは、要件、計画、見積もり、およびソリューションが、開発の反復が始まる前に主要な先行仕様の取り組みで完全に定義され「凍結」されるのではなく、反復の過程で進化または洗練されることを意味します。進化的方法は、新製品開発における予測不可能な発見と変化のパターンと一致しています。

そして、さらなる進化的要件進化的および適応計画進化的配信について説明します。リンクを確認してください。

スパイラルモデル

スパイラル モデルは、1980 年代半ばに Barry Boehm によって形式化されたもう 1 つの IID アプローチであり、反復開発をより適切にサポートするためにウォーターフォールを拡張し、(反復リスク分析による) リスク管理に特に重点を置いています。

反復的および漸進的な開発の引用: 簡単な歴史:

IID の出版物における 1985 年のランドマークは、Barry Boehm の「A Spiral Model of Software Development and Enhancement」でした (ただし、より頻繁に引用されるのは 1986 年です)。スパイラル モデルは、チームがリスクによって開発サイクルに優先順位を付けた最初のケ​​ースではありませんでした。たとえば、Gilb と IBM FSD は、以前にこのアイデアのバリエーションを適用または提唱していました。ただし、スパイラル モデルは、リスク主導の反復の概念と、反復ごとにリスク評価の個別のステップを使用する必要性を形式化し、際立たせました。

今何?

アジャイル手法は、IID および進化的手法のサブセットであり、最近では好まれています。

参考文献

于 2010-10-09T21:57:21.187 に答える
7

これらの概念は通常、十分に説明されていません。

インクリメンタルとは、成果物 (ドキュメント、モデル、ソース コードなど) のプロパティであり、一度に作成するのではなく、少しずつ作成することを意味します。たとえば、要件分析中にクラス モデルの最初のバージョンを作成し、UI モデリング後にそれを拡張し、詳細設計中にさらに拡張することさえあります。

Evolutionaryは、成果物、つまりユーザーに提供される作業成果物の特性であり、この点で、それは特定の種類の「増分」です。つまり、配信されるものはすべて、完全には機能しない最初の形式でできるだけ早く配信され、その後、より多くの機能を備えた状態で頻繁に再配信されることを意味します。これは、多くの場合、反復的なライフサイクルを意味します。

[反復的なライフサイクルですが、実行するタスクを指します (製品を指す「インクリメンタル」とは対照的に、これはSEMATが採用した見解です)。これは、同じタスクを実行することを意味します。何度も入力します。たとえば、反復的なライフサイクルでは、設計、コーディング、単体テスト、リリース、そして同じことを何度も繰り返すことに気付くでしょう。反復とインクリメンタルはお互いを意味するものではないことに注意してください。両方の任意の組み合わせが可能です。]

ライフサイクルのスパイラル モデルは、 Barry Boehmによって提案されたモデルであり、ウォーターフォールの側面と、反復アプローチや組み込みの品質管理などの革新的な進歩を組み合わせたものです。

「作業成果物」、「タスク」、「ライフサイクル」などの概念については、 ISO/IEC 24744を参照してください。

お役に立てれば。

于 2010-10-09T18:32:29.253 に答える