1

私が現在取り組んでいる研究プロジェクトでは、アプリケーションモデルの概念を定義しようとしています。また、Webアプリケーションに焦点を当てて、アプリケーションモデルを表す方法論/形式を調査しています。

Webで調査を行った後、包括的なアプリケーションモデルに関する具体的な情報は見つかりませんでした。ですから、このトピックについて具体的かつ実践的な視点を与えてくれる熱狂的なプログラマーに質問する価値があると思いました。この質問がプログラマーのstackexchangeに適しているかどうかはわかりません。その場合は、自由に移行してください。私が興味を持っているのは、アプリケーションモデルの概念、およびおそらく関連する方法論/形式に関するフィードバック/アイデアを取得することです。

現在、アプリケーションモデルの正確な定義はありませんが、この概念を定義するには、少なくとも3つの側面が重要だと思います。

  • ヒューマンコンピュータインタラクションデザインの選択:ユーザーとインタラクションするアプリケーションは、ユーザビリティを改善および簡素化するために、インタラクションパターンを注意深く定義する必要があります。この領域では、ユーザーの好みと特性(ユーザーモデル)、および(場合によっては)デバイスの特性(デバイスモデル)を考慮に入れる必要があります。

  • アーキテクチャ設計の選択:複雑なアプリケーションは、設計者と開発者が共有して理解するアーキテクチャモデルに基づいている必要があります。

  • 実装設計の選択:アプリケーションを実装するときは、既知の繰り返し発生する問題を特定し、適切な設計ソリューションを再利用してそれらを解決することをお勧めします。

重要な側面が欠けていますか?

以下は、関連する方法論/形式の網羅的ではないリストだと思います。

  • ConcurTaskTrees:対話型アプリケーションの設計、およびそれらの人間とコンピューターの相互作用のモデル化に役立ちます。

  • UML:ソフトウェア設計に広く知られ使用されているモデリング言語。アーキテクチャと実装設計のさまざまな側面に対応できます。

  • デザインパターン:ソフトウェア設計のための既知の再利用可能なソリューションのセット。これらは、実装フェーズでよく使用されます。

他に何か提案はありますか?

要約すると、アプリケーションのモデルを定義するための関連する側面(上記の最初のリストを参照)と、この領域で役立つ形式(上記の2番目のリストを参照)に興味があります。

4

2 に答える 2

1

アプリケーションを実際にモデル化する方法に関するベスト プラクティスを探している場合は、「ドメイン駆動設計」(別名「DDD」) を調べることを強くお勧めします。

DDD は基本的に、ドメインの専門家 (問題の領域を知っている人) と開発者の間で「同じ言語を話す」という考えから生まれたベスト プラクティスであり、モデル化を考えるのではなく、問題のドメイン自体を (通常は UML を使用して) 実際にモデル化します。アプリケーション。経験上、最終的にはこれがアプリケーションに最適なモデルを提供することもわかっています。これは、可能な限り複雑な問題領域の現実を表しているためです。これは通常、アプリケーションが対処する必要があるものです。

DDD の主な情報源は、同名のEric Evans の本です。また、InfoQ での Evans 氏の 2 つの講演「 Putting the model to work」と「strategic design 」もお見逃しなく。ウィキペディアの記事にもいくつかのリンクがあります (ただし、主題への最良の紹介ではないようです)。

于 2011-04-05T11:03:52.003 に答える
1

現在2011年であることを考えると、非常に奇妙に(そして時代遅れに)見えるかもしれませんが、構造化分析に興味があるかもしれません-おそらく最新のフレーバー(IEM)を使用してください。

概念は「古い」ものですが、それでも価値があると思います。すべてを網羅する方法論を提供しようとする最新の試みよりも必ずしも悪いわけではありません。

それとも、年齢を示しているだけなのかもしれません。芝生から降りてください...

于 2011-03-21T17:27:17.950 に答える