私が現在取り組んでいる研究プロジェクトでは、アプリケーションモデルの概念を定義しようとしています。また、Webアプリケーションに焦点を当てて、アプリケーションモデルを表す方法論/形式を調査しています。
Webで調査を行った後、包括的なアプリケーションモデルに関する具体的な情報は見つかりませんでした。ですから、このトピックについて具体的かつ実践的な視点を与えてくれる熱狂的なプログラマーに質問する価値があると思いました。この質問がプログラマーのstackexchangeに適しているかどうかはわかりません。その場合は、自由に移行してください。私が興味を持っているのは、アプリケーションモデルの概念、およびおそらく関連する方法論/形式に関するフィードバック/アイデアを取得することです。
現在、アプリケーションモデルの正確な定義はありませんが、この概念を定義するには、少なくとも3つの側面が重要だと思います。
ヒューマンコンピュータインタラクションデザインの選択:ユーザーとインタラクションするアプリケーションは、ユーザビリティを改善および簡素化するために、インタラクションパターンを注意深く定義する必要があります。この領域では、ユーザーの好みと特性(ユーザーモデル)、および(場合によっては)デバイスの特性(デバイスモデル)を考慮に入れる必要があります。
アーキテクチャ設計の選択:複雑なアプリケーションは、設計者と開発者が共有して理解するアーキテクチャモデルに基づいている必要があります。
実装設計の選択:アプリケーションを実装するときは、既知の繰り返し発生する問題を特定し、適切な設計ソリューションを再利用してそれらを解決することをお勧めします。
重要な側面が欠けていますか?
以下は、関連する方法論/形式の網羅的ではないリストだと思います。
ConcurTaskTrees:対話型アプリケーションの設計、およびそれらの人間とコンピューターの相互作用のモデル化に役立ちます。
UML:ソフトウェア設計に広く知られ使用されているモデリング言語。アーキテクチャと実装設計のさまざまな側面に対応できます。
デザインパターン:ソフトウェア設計のための既知の再利用可能なソリューションのセット。これらは、実装フェーズでよく使用されます。
他に何か提案はありますか?
要約すると、アプリケーションのモデルを定義するための関連する側面(上記の最初のリストを参照)と、この領域で役立つ形式(上記の2番目のリストを参照)に興味があります。