From 55817f3a77086894707758a9db50be1c88529f9b Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 10 Feb 2014 21:51:00 -0500 Subject: add models to the UML --- docs/DesignDocument-classes.dot | 102 ++++++++++++++++++++++++++++------------ docs/DesignDocument.md | 5 +- 2 files changed, 75 insertions(+), 32 deletions(-) diff --git a/docs/DesignDocument-classes.dot b/docs/DesignDocument-classes.dot index c91f7b1..deaee46 100644 --- a/docs/DesignDocument-classes.dot +++ b/docs/DesignDocument-classes.dot @@ -2,7 +2,6 @@ digraph systemModel { rankdir="LR"; splines="line"; - /* subgraph _clusterModels { label="Models" node[shape="record"]; @@ -15,7 +14,6 @@ digraph systemModel { Team[label="
Team"]; User[label="
User | role | password hash"]; } - */ subgraph _clusterViews { label="views/"; @@ -193,33 +191,75 @@ digraph systemModel { } */ - subgraph controller2view { - MainController:index -> main_homepage; - MainController:edit -> main_edit -> MainController:update -> main_edit; - - #LoginController:login -> common_permission_denied; - #LoginController:logout -> common_invalid; - - SearchController:show_results -> search_results; - - MessagesController:new_alert -> messages_new_alert -> MessagesController:post_alert; - MessagesController:show_private -> messages_private -> MessagesController:post_private -> messages_private; - - TournamentsController:index -> tournaments_index; - TournamentsController:show -> tournaments_show; - TournamentsController:new -> tournaments_new -> TournamentsController:create -> tournaments_edit -> TournamentsController:end; - TournamentsController:edit -> tournaments_edit -> TournamentsController:update -> tournaments_edit; - - MatchesController:show -> matches_show; - MatchesController:edit -> matches_edit -> MatchesController:update -> matches_edit; - - TeamsController:index -> teams_index; - TeamsController:show -> teams_show; - TeamsController:edit -> teams_edit -> TeamsController:update -> teams_edit; - - UsersController:index -> users_index; - UsersController:show -> users_show; - UsersController:new -> users_new -> UsersController:create -> users_edit -> UsersController:delete; - UsersController:edit -> users_edit -> UsersController:update -> users_edit; - } + ################################################################### + # controller/view relations + ################################################################### + MainController:index -> main_homepage; + MainController:edit -> main_edit -> MainController:update -> main_edit; + + #LoginController:login -> common_permission_denied; + #LoginController:logout -> common_invalid; + + SearchController:show_results -> search_results; + + MessagesController:new_alert -> messages_new_alert -> MessagesController:post_alert; + MessagesController:show_private -> messages_private -> MessagesController:post_private -> messages_private; + + TournamentsController:index -> tournaments_index; + TournamentsController:show -> tournaments_show; + TournamentsController:new -> tournaments_new -> TournamentsController:create -> tournaments_edit -> TournamentsController:end; + TournamentsController:edit -> tournaments_edit -> TournamentsController:update -> tournaments_edit; + + MatchesController:show -> matches_show; + MatchesController:edit -> matches_edit -> MatchesController:update -> matches_edit; + + TeamsController:index -> teams_index; + TeamsController:show -> teams_show; + TeamsController:edit -> teams_edit -> TeamsController:update -> teams_edit; + + UsersController:index -> users_index; + UsersController:show -> users_show; + UsersController:new -> users_new -> UsersController:create -> users_edit -> UsersController:delete; + UsersController:edit -> users_edit -> UsersController:update -> users_edit; + + ################################################################### + # controller/model relations + ################################################################### + Server -> MainController:edit; + MainController:update -> Server; + + User -> LoginController:login; + + Tournament -> SearchController:show_results; + Match -> SearchController:show_results; + Team -> SearchController:show_results; + User -> SearchController:show_results; + + Tournament -> TournamentsController:index; + Tournament -> TournamentsController:show; + Match -> TournamentsController:show; + Tournament -> TournamentsController:edit; + TournamentsController:create -> Tournament; + TournamentsController:update -> Tournament; + TournamentsController:end -> Tournament; + + Match -> MatchesController:index; + Match -> MatchesController:show; + Team -> MatchesController:show; + User -> MatchesController:show; + Match -> MatchesController:edit; + MatchesController:update -> Match; + + Team -> TeamsController:index; + Team -> TeamsController:show; + User -> TeamsController:show; + Team -> TeamsController:edit; + TeamsController:update -> Team; + + User -> UsersController:index; + User -> UsersController:show; + User -> UsersController:edit; + UsersController:create -> User; + UsersController:update -> User; + UsersController:delete -> User; } diff --git a/docs/DesignDocument.md b/docs/DesignDocument.md index 61a5767..7f12c66 100644 --- a/docs/DesignDocument.md +++ b/docs/DesignDocument.md @@ -400,6 +400,9 @@ does not show interactions with the `User` model that solely check authorization to perform an action. It does not show controller methods calling the error views. It shows transitions from a view to a controller *only* when that is the *primary* purpose of the view; many -workflows can be interupted at any time. +workflows can be interupted at any time. Arrows betwen models and +controllers indicate which direction data is flowing. Any data +flowing from a model to the method of a controller is implicitly +passed to the view that method renders. ![](DesignDocument-classes.pdf)\ -- cgit v1.2.3