質問

アプリケーションを作成したいという考えがあります(C/C ++、C#、Javaプログラミングの背景があるので、相互コンパイルのためにQTクリエーターで開発します)。だから今、私はあなたに上級開発者に尋ねています、私は次に何をすべきですか?私はすべての良いプログラムがアイデアから来ていることを知っています。それでは、私は何をすべきですか? UIのプロトタイプ?次に、コードを作成しますか?アプリケーションの開発の円のようなものはありますか?
私はこの質問が主観的または議論的であるという意味ではありません

役に立ちましたか?

解決

BES、ベテランの開発者の観点から、私が働いていたほとんどの企業は、少なくともややプロセス駆動型のアプローチをフォローしています。私が見たオープンソースプロジェクトは、アドホックから非常にプロセス駆動型まで、大きく異なる可能性があります。一般的に、少なくとも企業の世界では、小さなプロジェクトでさえ、私と私が一緒に働いたチームにとって、以下のアプローチのようなものがうまくいきました。もちろん、さまざまなパラダイムを使用して多くのバリエーションがありますが、一般的に、これらは私がほとんどのパラダイムで見られるステップのタイプです(そして、私はいくつかの核心のステップを残したと確信しています):

  • まず、要件を適切に処理してください。ユーザーが自分が望むものを正確に確信していない場合、UIプロトタイプから始めるという@Michael Heroldのアプローチは間違いなく1つの良い提案です。また、ある種の反復アプローチで行きたいと思うかもしれません アジャイル/スクラム.
  • 次に、目標を達成するのに十分な柔軟性が必要な、ある種の高レベルアーキテクチャを定義します。あなたのアプリはクライアントサーバーになりますか?データベースが必要ですか?複数のスレッド?複数のプロセス?それらのいずれかが「はい」だった場合、それらのスレッド/プロセスはどのように通信しますか。上記の質問に答えた後、ブロック図を作成します。
  • プロジェクトが中サイズ以上の場合は、クラスまたはUMLタイプの図を描画することもできます。どのようなクラスが必要か、彼らの関係を考えてください。
  • 試してみたい場合 テスト駆動型開発 アプローチ、今こそ要件を単体テストに変えるのに良い時期かもしれません。
  • あなたが何を解決しようとしているのか、どのようにそれを解決するのかについての良いアイデアを得たら、最終的にソリューションのコーディングを開始できます。

いくつかのアプローチは、ような反復的です 増分開発 また アジャイル/スクラム. 。アジャイル/スクラムでは、数週間ごとに完全なサイクルを経るように、反復は非常に迅速になります。増分開発では、サイクルは通常、数か月または数年です。スクラムと漸進的な開発の両方で、留意すべき主なことは、各反復の終わりに、使用可能なソフトウェアを持っていることです(たとえそれがあまりしなくても)。これは、実際のまたは潜在的な顧客、さらには開発者を維持するのに役立ちます。

あなたのアプローチが何であれ、UIプロトタイプを見るか、または介して、より早く、より頻繁にユーザー(または見込みユーザー)を巻き込むことができます ユーザビリティテスト, 、 よりいい。

他のヒント

アプリケーションの主要部分に依存すると思います。作業の大部分は、ユーザーインターフェイスのデザイン(つまり、「すごい要因」がどこから来たのか)から来るのでしょうか、それともほとんどデータ操作または他の「重いリフティング」になるのでしょうか(つまり、これらは私の結果です。シンプルなユーザーインターフェイス)?

アプリケーションが人々を「すごい」ことを意図している場合、ユーザーインターフェイスをプロトタイプし、それについて意見を得ることが重要です。これは、コードを開始する前に実行でき、フィードバックを受け取るときに増分更新を適用できます。フィードバックを求めている間、アプリケーションの残りの部分のコーディングに取り組み始めることができます。そのため、各ピースはどちらかを待たずに動いています。

良いことは、正しく行われた場合、これらの2つのことは完全に(またはほぼ完全に)分離され、互いに独立している必要があるということです。

最後の注:ユーザーインターフェイスをプロトタイプすることにより、頭の中のアイデアを固めるのに役立つ可能性があり、ユーザーインターフェイスの背後にあるコードの設計が容易になります。さまざまな方法が人によって機能しますが、私の経験では、インターフェイスのプロトタイピングは非常に便利です。

それで割れます。立ち往生してください。

間違った道を歩んだことに気付いたら、物事を柔軟にするように設計してみてください。 UI、ビジネスロジック、データ層を分離しておくと、後でUIなどを簡単にやり直して、何をしなければならないかを正確に理解できます。

どこから始めればよいかを知るのは常に難しいので、私が与えることができる最善のアドバイスは、それをすべて熟考し、少し選んで、仕事に取り掛かることです。いくつかのビットをリファクタリングしたり、書き直す必要があることを期待してください - これを恐れないでください、それは正常です。しかし、あなたはそこに座って、最初に何をするべきかを決め、決して始めないことを決めようとして永遠に座ることができます。あなたが実装するビットが最後に首尾一貫して適合するように、あなたが全体的な計画を念頭に置いている限り、あなたが最初にどちらをするかは本当に重要ではありません。

(私はあなたが最初に何もデザイジやプロトタイプをせずにオフになって大きな混乱を起こすことを提案していません。それは、新しいアプリケーションを開発する最も難しい部分の1つがどこから始めるかを決定することです。ある時点で、あなたはただ取る必要があります思い切って水泳を始めます)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top