1

アプリケーションを作成したいという考えがあります (C/C++、C#、および Java プログラミングのバックグラウンドがあるため、クロスコンパイルのために QT Creator で開発します)。では、上級開発者の皆さんにお聞きしたいのですが、次に何をすべきでしょうか? すべての優れたプログラムはアイデアから生まれることを私は知っています。じゃあどうすればいいの?UIのプロトタイプ?その後、コードを開発しますか?アプリケーションの開発の輪のようなものはありますか?
この質問が主観的または議論的であることを意味するものではありません

4

3 に答える 3

1

経験豊富な開発者の観点から言えば、私が働いてきたほとんどの企業は、少なくともある程度プロセス主導のアプローチに従っています。私が見たオープンソース プロジェクトは、その場しのぎのものから非常にプロセス主導のものまで、さまざまです。一般的に、少なくとも企業の世界では、小規模なプロジェクトであっても、次のようなアプローチが私と私が一緒に働いたチームにとってうまく機能しています。もちろん、さまざまなパラダイムを使用する多くのバリエーションがありますが、一般的に、これらはほとんどのパラダイムで見られるタイプのステップです (そして、いくつかの重要なステップを省略したと確信しています)。

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

インクリメンタル開発アジャイル/スクラムなど、一部のアプローチは反復的です。アジャイル/スクラムでは、数週間ごとに完全なサイクルが行われるように、イテレーションは非常に迅速になります。インクリメンタル開発では、サイクルは通常より長く、数か月または数年です。スクラムとインクリメンタル開発の両方で、心に留めておくべき主なことは、各イテレーションの最後に、使用可能なソフトウェアの一部が必要だということです (たとえそれがあまり役に立たなくても)。これにより、実際の顧客または潜在的な顧客、さらには開発者の関心を維持することができます。

アプローチが何であれ、UI プロトタイプを見るか、ユーザビリティ テストを介して、ユーザー (または見込みユーザー) をより早く、より頻繁に関与させることができれば、より良い結果が得られます。

于 2010-04-28T02:33:47.357 に答える
0

アプリケーションの主要部分がどうなるかによると思います。作業の大部分はユーザー インターフェイスの設計から生じるのでしょうか (つまり、「すごい要素」はそこから生まれますか?)、それともほとんどがデータ操作またはその他の「重労働」になるでしょうか (つまり、これらはシンプルなユーザー インターフェイス)?

アプリケーションが人々を「驚かせる」ことを意図している場合、ユーザー インターフェイスのプロトタイプを作成して意見を得ることが大いに役立ちます。これは、コードを開始する前に行うことができ、フィードバックを受け取ったときに増分更新を適用できます。フィードバックを求めている間に、アプリケーションの残りの部分のコーディングに取り掛かることができます。そうすれば、それぞれの部分がどちらか一方を待たずに進んでいきます。

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

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

于 2010-04-26T21:45:42.703 に答える
0

それをクラックします。立ち往生するだけです。

物事を柔軟に設計して、間違った道をたどったことに気付いたときに簡単にリファクタリングできるようにします。UI、ビジネス ロジック、およびデータ層を分離しておくことで、UI が何をする必要があるかを正確に理解した後で、UI などを簡単に作り直すことができます。

どこから始めればよいかを知るのは常に難しいので、私ができる最善のアドバイスは、すべてを考え抜いて、少し選んでから作業に取り掛かることです. 一部のビットをリファクタリングしたり、書き直したりする必要があることを予期してください。これを恐れないでください。それは正常なことです。しかし、どのビットを最初に実行するかを決定しようとして永遠にループし、開始すらしない可能性があります。実装するすべてのビットが最後に首尾一貫して収まるように全体的な計画を念頭に置いている限り、最初にどのビットを実行するかは問題ではありません。

(最初に何かを設計したり、プロトタイプを作成したりせずに大混乱を起こすことをお勧めしているわけではありません。新しいアプリケーションの開発で最も難しい部分の 1 つは、どこから始めればよいかを決めることです。ある時点で、急落して泳ぎ始める)

于 2010-04-26T21:51:50.377 に答える