2017-08-17 36 views
1

私は、オンラインクイズWebアプリケーションで構成された私の最初のMVCプロジェクトに取り組んでいます。私は現在ドキュメントを作成していますが、クラス図がどのように見えるかを調べようとしています。管理者、教師、学生の3種類のユーザーがいます。私が必要とするかもしれコントローラの場合UMLクラス図WebアプリケーションのMVCパターン

* UsersDAO * QuestionsDAO *クイズモデル *クイズクエリ

:これまでのところ、私は私のモデルの一部としてこれを必要とする結論に達している

LoginControllerとQuizController多分UserController

"Controller"ごとに "View"が必要かどうか、またはすべてのタイプのユーザーに "Controller"が必要なのかどうか分かりません。私がインターネットで見つけた例は、ひとつのアクションしか含んでいないので非常に単純です。

お願いします。

答えて

1

UMLの要点は抽象的にシステムを設計することです。コントローラーやビューのようなものは、どのようなシステムを構築するかによって異なる実装の詳細です。モデリングする必要があるのは、ビジネスオブジェクトとそれらの関係です。永続化する方法やそれらの関係管理された

ビューやコントローラのようなものは普遍的な概念ではありません。すべてのフレームワークがそれらの概念を持っているわけではありません。その結果、それらを含むモデルは、定義ではではなく、「ユニバーサル」です。 FWIW、私はまた、DAO、DTO、View Modelsなどのモデリングに影を投げます。これらは実装の詳細であり、フレームワーク、データストアなどに大きく依存します。

+1

私はUMLで両方を行うことができます。しかし、抽象的な部分から始まり、後でそれを洗練する必要があります。 –

+0

あなたは何でもすることができますが、ある時点ではもうあなたはUMLではありません。実装の詳細に入ると、あなたはUMLの外にいます。 –

+0

これは、その名前の "普遍的な"ビットの全体的なポイントです。最終的にMVVM構造のフレームワークでこれを実装することにしたらどうなるでしょうか?どのようにして "コントローラー"の考え方を伝えますか?コントローラーの概念は普遍的な概念ではないので、UML設計の一部でなければならないものではありません。 –

1

あなたのモデルは、操作(ログインシステムなし)の下に含まれています

教師(CRUD)、デザイン・試験問題、およびスコアが

学生(CRUD)、クイズを取り、クイズを得るに答えますスコア

クイズ(CRUD)

ですから、目でこのモデルを実装することができますREE Controller:あなたはViewを使用していますが、新しいViewを追加する必要があり、他の操作のためにできるCRUD操作について

TeacherController 
StudentController 
QuizController