From b8470f6e91937e5e541f76588fad3cd068828615 Mon Sep 17 00:00:00 2001 From: Mathis Emeriau <mathis.emeriau@etu.univ-nantes.fr> Date: Sun, 18 Dec 2022 20:55:20 +0100 Subject: [PATCH] Added some architecture documentation again and maybe the last time. --- README.adoc | 2 +- .../pages/a-player-disconnets.plantuml | 14 +++++ .../architecture/pages/architecture.adoc | 61 +++++++++++++------ .../architecture/pages/game-ended.plantuml | 17 ++++++ .../architecture/pages/system-stop.plantuml | 7 +++ 5 files changed, 83 insertions(+), 18 deletions(-) create mode 100644 catan-doc/modules/architecture/pages/a-player-disconnets.plantuml create mode 100644 catan-doc/modules/architecture/pages/game-ended.plantuml create mode 100644 catan-doc/modules/architecture/pages/system-stop.plantuml diff --git a/README.adoc b/README.adoc index 300f68e..ee7849b 100644 --- a/README.adoc +++ b/README.adoc @@ -33,7 +33,7 @@ Mathis Emeriau et Tristan Ramé == Livrables attendus -** Analyse du domaine{nbsp}: mise à jour du livrable précédent +** Analyse du domaine ** Spécification des exigences{nbsp}: Spécification de *tous* les cas d'utilisation du projet. ** Spécification des composants{nbsp}: Spécification de *tous* les composants du projet. ** Conception détaillée{nbsp}: Conception détaillée de tous les composants. diff --git a/catan-doc/modules/architecture/pages/a-player-disconnets.plantuml b/catan-doc/modules/architecture/pages/a-player-disconnets.plantuml new file mode 100644 index 0000000..b16675c --- /dev/null +++ b/catan-doc/modules/architecture/pages/a-player-disconnets.plantuml @@ -0,0 +1,14 @@ +@startuml +start +:User1 disconnected; +fork +:Disconnect User2; +fork again +:Disconnect User3; +fork again +:Disconnect User4; +end fork +:Closed the game; +:Initialize the system; +end +@enduml \ No newline at end of file diff --git a/catan-doc/modules/architecture/pages/architecture.adoc b/catan-doc/modules/architecture/pages/architecture.adoc index 7387bd7..acc4655 100644 --- a/catan-doc/modules/architecture/pages/architecture.adoc +++ b/catan-doc/modules/architecture/pages/architecture.adoc @@ -57,20 +57,20 @@ include::deployment-diagram-instance.adoc[] == Vue de la fiabilité -[NOTE] -==== -Dans cette partie, vous allez présenter les différents choix architecturaux pour assurer la fiabilité du système. +//[NOTE] +//==== +//Dans cette partie, vous allez présenter les différents choix architecturaux pour assurer la fiabilité du système. -Vous devez aussi présenter les prévisions de fonctionnement dans des conditions limite{nbsp}: -* Comment le système est initialisé{nbsp}? -* Comment le système est arrêté{nbsp}? -* Comment sont gérés les failles et le redémarrage du système{nbsp}? -==== +//Vous devez aussi présenter les prévisions de fonctionnement dans des conditions limite{nbsp}: +//* Comment le système est initialisé{nbsp}? +//* Comment le système est arrêté{nbsp}? +//* Comment sont gérés les failles et le redémarrage du système{nbsp}? +//==== -[TIP] -==== -Utilisez des diagrammes d'activité UML pour décrire l'initialisation et l'arrêt du système. -==== +//[TIP] +//==== +//Utilisez des diagrammes d'activité UML pour décrire l'initialisation et l'arrêt du système. +//==== .Initialisation du système [plantuml] @@ -78,6 +78,24 @@ Utilisez des diagrammes d'activité UML pour décrire l'initialisation et l'arr include::example$ad-initialization.plantuml[] ---- +.Arrêt du système +[plantuml] +---- +include::system-stop.plantuml[] +---- + +.Le joueur 1 se déconnecte +[plantuml] +---- +include::a-player-disconnets.plantuml[] +---- + +.La partie est finie +[plantuml] +---- +include::game-ended.plantuml[] +---- + == Vue du développement //[NOTE] @@ -103,11 +121,20 @@ Phase de développement non commencée. == Vue logique -[NOTE] -==== -L'objectif de la vue logique est de décrire les différents composants qui jouent un rôle commun -dans les différents projets qui respectent une même architecture. -==== +//[NOTE] +//==== +//L'objectif de la vue logique est de décrire les différents composants qui jouent un rôle commun +//dans les différents projets qui respectent une même architecture. +//==== + +Cette configuration de composants pourrait tout à fait marcher dans un autre projet. On a une database, qui est utilisé +par un serveur, et le serveur et les utilisateurs communiquent. Notre façon de communiquer, en mettant plusieurs étapes, +permettra une adaptabilité plus facile à chaque type de projet. + +Le composant Middleware permet ainsi de prendre l'information des clients, en TypeScript, de le traduire en WebSocket, +de le transmettre à la partie serveur Middleware qui lui fera la transcription inverse mais en Java cette fois-ci. +Pourquoi en Java ? Le logiciel est prévu comme cela, mais les langages TypeScript et Java ne sont pas obligatoires. Un +projet peut reprendre cette structure avec des langages différents. //== Vue des processus diff --git a/catan-doc/modules/architecture/pages/game-ended.plantuml b/catan-doc/modules/architecture/pages/game-ended.plantuml new file mode 100644 index 0000000..c0e5774 --- /dev/null +++ b/catan-doc/modules/architecture/pages/game-ended.plantuml @@ -0,0 +1,17 @@ +@startuml +(*) --> if "Game ended" then + -->[true] ======B1====== + --> "Disconnect User1" + --> ===B2=== + ===B1=== --> "Disconnect User2" + --> ===B2=== + ===B1=== --> "Disconnect User3" + --> ===B2=== + ===B1=== --> "Disconnect User4" + --> ===B2=== + --> "Closed the game" + --> "Initialize the system" + --> (*) + else + ->[false] error +@enduml \ No newline at end of file diff --git a/catan-doc/modules/architecture/pages/system-stop.plantuml b/catan-doc/modules/architecture/pages/system-stop.plantuml new file mode 100644 index 0000000..ae6f339 --- /dev/null +++ b/catan-doc/modules/architecture/pages/system-stop.plantuml @@ -0,0 +1,7 @@ +@startuml +(*) --> if "Game not ended" then + ->[true] "error" + else + -->[false] "System shutdown" + --> (*) +@enduml \ No newline at end of file -- GitLab