Software-engineering-se-models-qa1
SEモデルQ&A#1
質問:ソフトウェアエンジニアリングで使用されたさまざまなタイプのモデルについて説明してください。
回答:
ソフトウェア開発では複数のモデルが使用され、モデルはアプリケーションの要件に基づいて選択されます。 たとえば、小規模プロジェクトではウォーターフォール法を使用でき、大規模プロジェクトではスパイラル法が推奨されます。 次の基準に基づいて、ソフトウェアエンジニアリングのモデルを選択します。
- アプリケーションとプロジェクトの性質
- 技術と方法の使用
- 必要な制御と派遣
さまざまなモデルの詳細を以下に示します。
ウォーターフォールの方法論
この方法は非常に古く、まだシンプルであることがこの方法の成功の鍵であるため、通常使用されるトレンディです。 この方法では、実行されるすべてのアクションがソフトウェア開発のプロセスで計画されます。 小規模なプロジェクトには、ウォーターフォール法が非常に適しています。 この方法の特徴は、すべてのステージにシーケンスがあることです。 1つのステージの終了後、次のステージがそのポイントで開始し、すべてのステージの出力が次のすべてのステップの入力に変換されました。 そのため、このモデルの2番目の名前はシーケンスモデルです。 システムに関する研究では、最初の段階が始まり、その後、分析、設計、コーディング、テスト、および制御が1つずつ行われます。 すべてのステージが滝のような順序で1つずつ完了したため、これがこの名前の理由です。
利点
- シンプルさとシーケンスシステムの理由により、非常に簡単に使用できます。
- この方法の主な品質はシンプルであるため、ユーザーはすぐに理解できます。
- すべてのステップに関する完全な情報を定義します。
- このモデルは、プロジェクトの計画とスケジューリングに非常に役立ちます。
- エラーの正確さのコストを削減します。
- 重要なのは、システムが顧客のニーズを満たす可能性が高まることです。
制限事項
- このプロセスでは期待が非常に急速になりますが、これは正しくありません。
- すべてのモデルに非常に必要な部分であるこのモデルに関与しないリスク要因。
- この方法では、ユーザーのトレーニングセッションは必要ありません。
- ソフトウェアのタイムテストが完了しない限り、エラーを見つけることはできません。
プロトタイプモデル
これは実用的なシステムであり、モデルの目的は、再び使用できる新しいシステムに関してテストしたアイデアを開発することです。 プロトタイピングは、開発可能なシステムのモデルを作成するプロセスです。 このモデルの主な部分は、ソフトウェアシステムから顧客のニーズを考えることができる一方で、設計とコーディングの前にソフトウェアのニーズを修正することはできません。 顧客のニーズに関する知識に基づいて作成されたプロトタイプモデル。 プロトタイプモデルは、システムがどのように機能したかを考える設計を提供します。 プロトタイプの目的は、システムのニーズについて十分に理解することです。 最後に、そのような結果は非常に低い変数になります。
開発プロセスの後のプロトタイプ、エンドユーザーは、プロトタイプの利点を活用し、この開発者についての重要な考えを提供する機会を与えます。
- 何がいいですか。
- 変更の領域
- 不足している情報
- 不要な要件
プロトタイプモデルで行われた必要な変更をフィードバックを得た後、それを使用するためにユーザーに再度提供します。 このアプローチは、以下の2つのポイントがカバーされている場合に適しています。
- 開始時に少しのニーズがわかる場合。
- 顧客が完全なソフトウェアの代わりに短距離テストを希望する場合。
利点
- このモデルは、顧客がクリアする必要がない場合により適しています。
- このタイプのモデルは、問題のサイズが大きい領域で使用します。
- メンテナンスのコストが削減されます。 このモデルを使用する主な要因は、そのコスト削減です。
- このモデルは、ソフトウェアを使用する人とソフトウェアシステムを開発したグループとの間のコミュニケーションのギャップを減らすのに非常に役立ちます。
- プロトタイピングモデルの最終的なソフトウェア変更の比較では、モデル変更は迅速かつ安価です。
制限事項
- 品質を無視する可能性がある場合は、迅速な作業を行います。
- ほとんどの時間設計とコードが使用されないため、ソフトウェアシステムのコストが増加する可能性があります。
- プロトタイプモデルの作業プロセスを見た後、ソフトウェアに対するユーザーの期待が高まります。 *その場合、プロトタイピングの結果が顧客のニーズに合わない場合、そのシステムについて否定的に考えることができます。
統合強化モデル
このモデルは、ウォーターフォールとプロトタイピングモデルの組み合わせです。 このモデルの目的は、必要なニーズに合わせて低レベルでシステムを起動し、バージョン番号の形式で試用版として導入することです。 1. その後、ユーザーの観点からいくつかの変更が行われ、ソフトウェアはバージョン2の形を取ります。 その後、開発者はこのプロセスを必要な変更を加えて1つずつ繰り返し、新しいバージョンが市場に導入できるようになるたびに繰り返しました。 このステップは、サブシステムと呼ばれる低レベルで始まり、その後、段階的に実行され、一連のバージョンが市場に投入されました。 このモデルには4つのステップがあります。
- 設計段階-設計がニーズを満たしていれば、要件に応じて設計する必要があります。その場合、設計は新規または既存のものにすることができます。
- 実装フェーズ-このフェーズでは、ソフトウェア開発のプロセスが実装されます。
- 評価フェーズ-このフェーズでは、すべてのタイプの評価が行われます。
スパイラルモデル
スパイラルモデルは1986年にBoehmによって導入されました。 リスク要因がないため、多くのモデルが失敗しましたが、スパイラルモデルにはリスク要因が含まれています。これは、ベームが将来が不確実であることを知っているためです。 このモデルでは、さまざまなタイプのアクティビティが、多くのサイクルを持つスパイラルのように発生します。 各サイクルには4つのステップがあります。
- 計画-これは、目標と代替リソースの取得に関するものです。
- リスク分析-評価の代替とリスク要因を解決する要因について知っています。
- 開発-次のレベルの製品の開発。
- 顧客評価-顧客はプロトタイピングおよびその他のモデルを評価します。
第1サイクル中:
- 製品の動機をつかみ、代替の計画を立てます。
- さまざまなリスクが分析されます。
- プロトタイプモデルの作成。
- プロトタイプの評価はユーザーが行います。
第2サイクル中:
- 顧客による評価は計画の基礎です。
- 顧客の反応は、リスク要因の分析の基盤です。
- 最高のプロトタイプモデルを作成します。
- 新しいプロトタイプモデルメソッドにアクセスするための顧客の関与。
3番目と4番目のサイクルの焦点は、エラーのないプロトタイプモデルを作成し、計画を立てて簡単にリスクを解決することです。 各段階では、少しの時間を消費して、より良いバージョンのソフトウェアが作成されます。 コストは、プロジェクトのすべてのポイントでのスパイラルの半径で表されます。
利点
- 顧客の評価により、スパイラルの各サイクルが完了しました。
- これにより、迅速な開発が可能になります。
- それは現実の品質を持ち、両方の開発タイプで機能します。