Sdlc-software-prototyping

提供:Dev Guides
移動先:案内検索

SDLC-ソフトウェアプロトタイプモデル

ソフトウェアプロトタイプとは、開発中の製品の機能を表示するソフトウェアアプリケーションプロトタイプを構築することを指しますが、実際には元のソフトウェアの正確なロジックを保持していない場合があります。

ソフトウェアプロトタイピングは、開発の初期段階で顧客の要件を理解できるため、ソフトウェア開発モデルとして非常に人気が高まっています。 これは、顧客から貴重なフィードバックを得るのに役立ち、ソフトウェア設計者と開発者が開発中の製品に正確に期待されることについて理解するのに役立ちます。

ソフトウェアプロトタイプとは何ですか?

プロトタイプは、機能が制限されたソフトウェアの実用モデルです。 プロトタイプは、実際のソフトウェアアプリケーションで使用される正確なロジックを常に保持しているわけではなく、労力の見積もりの​​下で検討するための余分な労力です。

プロトタイプを使用して、ユーザーが開発者の提案を評価し、実装前に試してみることができます。 また、ユーザー固有の要件であり、製品設計時に開発者が考慮していない可能性がある要件を理解するのにも役立ちます。

以下は、ソフトウェアのプロトタイプを設計するために説明される段階的なアプローチです。

基本的な要件の特定

この手順では、特にユーザーインターフェイスの観点から、非常に基本的な製品要件を理解する必要があります。 この段階では、内部設計とパフォーマンスやセキュリティなどの外部の側面のより複雑な詳細は無視できます。

初期プロトタイプの開発

初期のプロトタイプはこの段階で開発され、非常に基本的な要件が示され、ユーザーインターフェイスが提供されます。 これらの機能は、開発された実際のソフトウェアで内部的に同じ方法で正確に機能しない場合があります。 一方、回避策は、開発したプロトタイプで同じ外観を顧客に提供するために使用されます。

プロトタイプのレビュー

開発されたプロトタイプは、顧客およびプロジェクトの他の重要な利害関係者に提示されます。 フィードバックは体系的に収集され、開発中の製品のさらなる機能強化に使用されます。

プロトタイプの修正と強化

フィードバックとレビューコメントはこの段階で議論され、時間と予算の制約、実際の実装の技術的実現可能性などの要因に基づいて、顧客といくつかの交渉が行われます。 受け入れられた変更は、開発された新しいプロトタイプに再び組み込まれ、顧客の期待に応えるまでサイクルが繰り返されます。

プロトタイプは、水平または垂直の寸法を持つことができます。 水平プロトタイプは、製品のユーザーインターフェイスを表示し、内部機能に集中することなく、システム全体をより広く表示します。 反対側の垂直プロトタイプは、製品の特定の機能またはサブシステムの詳細な精緻化です。

水平プロトタイプと垂直プロトタイプの両方の目的は異なります。 水平プロトタイプは、ユーザーインターフェイスレベルとビジネス要件に関する詳細情報を取得するために使用されます。 市場でビジネスを獲得するために、販売デモで提示することもできます。 垂直プロトタイプは本質的に技術的であり、サブシステムの正確な機能の詳細を取得するために使用されます。 たとえば、特定のサブシステムでのデータベース要件、相互作用、データ処理の負荷。

ソフトウェアプロトタイプ-タイプ

業界ではさまざまな種類のソフトウェアプロトタイプが使用されています。 以下は、広く使用されている主要なソフトウェアプロトタイプタイプです。

スローアウェイ/ラピッドプロトタイピング

使い捨てのプロトタイピングは、ラピッドまたはクローズエンドのプロトタイピングとも呼ばれます。 このタイプのプロトタイピングでは、最小限の要件分析でほとんど労力をかけずにプロトタイプを作成します。 実際の要件が理解されると、プロトタイプは破棄され、ユーザーの要件を明確に理解して実際のシステムが開発されます。

進化的プロトタイピング

ブレッドボードプロトタイプとも呼ばれる進化的プロトタイプは、最初は最小限の機能で実際の機能プロトタイプを構築することに基づいています。 開発されたプロトタイプは、システム全体が構築される将来のプロトタイプの中心となります。 進化的プロトタイピングを使用することにより、十分に理解されている要件がプロトタイプに含まれ、要件が理解されたときに追加されます。

増分プロトタイピング

インクリメンタルプロトタイプとは、さまざまなサブシステムの複数の機能プロトタイプを構築し、利用可能なすべてのプロトタイプを統合して完全なシステムを形成することです。

極端なプロトタイピング

極端なプロトタイピングは、Web開発ドメインで使用されます。 3つの連続したフェーズで構成されます。 最初に、既存のすべてのページを含む基本的なプロトタイプがHTML形式で表示されます。 次に、プロトタイプサービスレイヤーを使用してデータ処理をシミュレートします。 最後に、サービスが実装され、最終プロトタイプに統合されます。 このプロセスはエクストリームプロトタイピングと呼ばれ、プロセスの第2段階に注意を引くために使用されます。この段階では、実際のサービスをほとんど考慮せずに完全に機能するUIが開発されます。

ソフトウェアプロトタイプ-アプリケーション

ソフトウェアプロトタイプは、オンラインシステムなど、ユーザーとのやり取りが多いシステムの開発に最も役立ちます。 データを処理する前にユーザーがフォームに記入するか、さまざまな画面を表示する必要があるシステムは、実際のソフトウェアが開発される前でも、プロトタイプを非常に効果的に使用して正確なルックアンドフィールを提供できます。

データ処理が多すぎ、ほとんどの機能が内部にあり、ユーザーインターフェイスがほとんどないソフトウェアは、通常、プロトタイピングの恩恵を受けません。 プロトタイプ開発は、そのようなプロジェクトでは余分なオーバーヘッドになる可能性があり、多くの追加の努力が必要になる場合があります。

ソフトウェアのプロトタイピング-長所と短所

ソフトウェアプロトタイプは典型的な場合に使用され、プロトタイプの構築に費やされた努力が開発された最終ソフトウェアにかなりの価値を追加するように、決定は非常に慎重に行われるべきです。 このモデルには、次のような長所と短所があります。

プロトタイプモデルの利点は次のとおりです-

  • 製品の実装前であっても、製品へのユーザーの関与が増加しました。
  • システムの作業モデルが表示されるため、ユーザーは開発中のシステムをよりよく理解できます。
  • 欠陥をより早く検出できるため、時間とコストが削減されます。
  • より迅速なユーザーフィードバックが利用可能であり、より良いソリューションにつながります。
  • 欠落している機能は簡単に特定できます。
  • 混乱した機能や困難な機能を特定できます。

プロトタイプモデルの欠点は次のとおりです-

  • プロトタイプへの依存が多すぎるため、要件分析が不十分になるリスク。
  • ユーザーは、プロトタイプと実際のシステムで混乱する可能性があります。
  • 実際には、システムの範囲が元の計画を超えて拡大する可能性があるため、この方法論によりシステムの複雑さが増す可能性があります。
  • 開発者は、技術的に実行可能でない場合でも、既存のプロトタイプを再利用して実際のシステムを構築しようとする場合があります。
  • プロトタイプを適切に監視しないと、プロトタイプの構築に費やした労力が多すぎます。