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

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

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

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

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

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

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

基本的な要件の特定

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

初期プロトタイプの開発

最初のプロトタイプはこの段階で開発され、非常に基本的な要件が示され、ユーザーインターフェイスが提供されます。これらの機能は、開発された実際のソフトウェアの内部ではまったく同じように機能しない場合があります。一方、回避策は、開発されたプロトタイプで顧客に同じルックアンドフィールを与えるために使用されます。

プロトタイプのレビュー

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

プロトタイプの改訂と強化

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

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

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

ソフトウェアプロトタイピング-タイプ

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

使い捨て/ラピッドプロトタイピング

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

進化的プロトタイピング。

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

インクリメンタルプロトタイピング

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

エクストリームプロトタイピング

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

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

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

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

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

通常、ソフトウェアプロトタイピングが使用されます。プロトタイプの作成に費やされた労力が、開発された最終的なソフトウェアにかなりの価値をもたらすように、決定は非常に慎重に行う必要があります。このモデルには、次のように説明する独自の長所と短所があります。

プロトタイピングモデルの利点は次のとおりです。

  • 実装前であっても、製品へのユーザーの関与が増加しました。

  • システムの動作モデルが表示されるため、ユーザーは開発中のシステムをよりよく理解できます。

  • 欠陥をはるかに早く検出できるため、時間とコストを削減できます。

  • より迅速なユーザーフィードバックが利用可能であり、より良いソリューションにつながります。

  • 不足している機能は簡単に特定できます。

  • 紛らわしいまたは難しい機能を特定できます。

プロトタイピングモデルのデメリットは次のとおりです。

  • プロトタイプへの依存度が高すぎるため、要件分析が不十分になるリスク。

  • ユーザーは、プロトタイプと実際のシステムで混乱する可能性があります。

  • 実際には、システムの範囲が当初の計画を超えて拡大する可能性があるため、この方法論はシステムの複雑さを増す可能性があります。

  • 開発者は、技術的に実現可能でない場合でも、既存のプロトタイプを再利用して実際のシステムを構築しようとする場合があります。

  • 適切に監視されていない場合、プロトタイプの作成に費やされる労力は多すぎる可能性があります。