開発の最初の段階としてプロトタイピングはどのくらい一般的ですか?


10

私は過去数学期にいくつかのソフトウェア設計コースを受講してきましたが、多くの形式論にはメリットがあると思いますが、プログラム自体については何も教えてくれないように感じます。

  • プログラムが何ができるかを説明しているとしても、ユースケースの仕様からはプログラムがどのように動作するかはわかりません。
  • 品質要件が含まれていても、要件ドキュメントからユーザーエクスペリエンスについて何も伝えることはできません。
  • シーケンス図は、ソフトウェアがコールスタックとしてどのように機能するかをよく説明していますが、非常に制限されており、システム全体の非常に部分的なビューを提供します。
  • クラス図は、システムがどのように構築されているかを説明するのに最適ですが、ソフトウェアが何である必要があるのか​​を理解するのにまったく役に立ちません。

この形式主義のどこが一番重要なのでしょうか。プログラムがどのように見え、動作し、どのような経験をするのでしょうか。それを元に設計するほうが理にかなっていますか?プロトタイプを介してプログラムがどのように機能するかを理解し、それを実際に実装するために努力するほうがよいのではないでしょうか。

私はおそらく理論家から工学を教えられていることに苦しんでいることを知っていますが、私は尋ねる必要があります、彼らは業界でこれを行うのですか?人々は、プログラムが何に準拠すべきかではなく、プログラムが実際に何であるかをどのように理解しますか?人々はたくさんプロトタイプを作っていますか、それともほとんどがUMLなどの正式なツールを使用していますか?


2
私の読書から、あなたはソフトウェア開発のユーザーインターフェースの部分にあまりにも集中しているようです。プロトタイプは、UIの開発と改良に優れており、コアロジックを作り出す(または、実装することになっているビジネスロジックが何であるかを正確に把握する)ほどではありません
Anon。

1
人間のユーザーがいる場合、通常はGUIがあります。GUIの外観とその実行方法は、システム全体の設計に影響します。
Job

回答:


6

GUIアプリケーションを構築している場合は、常にプロトタイプまたはPOC(概念実証)を作成します。アプリのビジュアルボキャブラリーを確立します。通常、POCを通じてクライアントを関与させ、目的が何であり、何に焦点を当てるべきかを確実に理解してもらいます。プロトタイプを作ったことを後悔していません。プロトタイプコードを製品コードに変換しようとしないでください。プロトタイプから学んだことに基づいて、製品コードを最初から開始してください。

そうは言っても、サーバー側アプリケーション(サービス、ミドルウェアなど)のプロトタイプを作成することはほとんどありません。そのための投資収益率は実際にはわかりません(新しいテクノロジを実行していて、さまざまな概念を証明する必要がある場合を除きます)。


+1私の会社のプロトタイプはかなり頻繁ですが、主にGUIでの概念実証としてだけでなく、問題に対する新しいアプローチを調査するときにも、サーバー側でも同様です。
2010

6

ビジネスの世界では、それはかなり重要です

私も、あなたがビジネスの世界にぶつかるまで、それを考えるのに使います。次に、要件を取得して構築するだけの単純なものではなくなります。

ユーザーの「フロー」図とlo-fiプロトタイプが実際に意味を成しているのは、そのビジネスです。

「プログラム」の動作はおそらく簡単な部分です。LOB(Line Of Business)アプリでは、そのほとんどが単なるCRUDです。課題は、にあるビジネスロジックやルール。ユーザーフロー図とビジネスプロセスフローは、効果的に理解して計画するために非常に重要になります。


1

プログラムが「動作する」とはどういう意味ですか?特定の最終的な実装以外の正確な実装の詳細を探しているようですが、これは意味がありません。上位レベルの要素は実装をガイドするものであり、それを決定するものではありません。

私の経験では、プロトタイピングはあまり一般的ではありません。私は確かに仕様、要件、アーキテクチャなどと組み合わせてそれを教えられました、そしてそれは非常に役に立ちます。

「ソフトウェアが何である必要があるか」に関しては、それが要件です。ポイント全体が欠落しているようです。

多くの場合、インターフェースは事前にスケッチされており、ユースケースはインターフェースの「フロー」に使用できます。ユーザーエクスペリエンスはまったく失われていません。いくつかの要素が欠けていると感じた場合は、教授が言及していない別のことを行ってください。デザインは、天から受け継がれた明確なルールのセットで構成されていません。


0

私の個人的な見解では、プロトタイピングには多くのリップサービスが与えられていますが、プロトタイプは、生命の兆候を示した後、単に「ベータ版」、またはさらに悪いことにv1.0にリブランドされています。


+1まさにその通りです。プロトタイプは、プロジェクトの完了を発表する傾向があるマーケティングによって見られます。
2010

1
これは、プロトタイプを作成することを拒否するためではなく、時間をかけてプロトタイプをできるだけ良くするための議論です。
イナイマティ

0

プロトタイピングには2種類あります-実際には3種類:

  1. 「実際の」コーディングを開始する前に、プロトタイプを作成して設計を改善し、リスクを低減します(エンジニアリング)

  2. 一連の洗練されたプロトタイプとしてプロジェクトを構築します(アジャイル)

  3. プロトタイプを作成し、動作したらすぐに出荷します(カウボーイ)



0

プロトタイプは、実行する必要があることの「反復0」と見なすこともできます。それはいくつかのことを満たします:

  • それはコンセプトが実行できることを証明します。これはあなたの上司または支払っているクライアントにあるかもしれません。
  • 生産力に到達するのが難しいかもしれないものを識別し、必要な作業量の一般的な考えを与えることができます。
  • あなたは実際に何かをするコードを持っています。これは非常に重要です!

完全に異なるアプローチが必要であることがわかっていない限り、すべてのプロトタイプは、最終製品の構築に高い確率で役立つはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.