Nantes Université
Skip to content
GitLab
Explorer
Connexion
S'inscrire
Navigation principale
Rechercher ou aller à…
Projet
T
Trivial Pursuit
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Extraits de code
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de paquets
Registre de conteneur
Registre de modèles
Opération
Environnements
Modules Terraform
Surveillance
Incidents
Service d'assistance
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
GL - Ressources Pédagogiques
Software Design Course
Trivial Pursuit
Validations
4599e75e
Valider
4599e75e
rédigé
il y a un an
par
Gerson Sunyé
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
Add more tips to premilinary design document
parent
2503f2f5
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Pipeline
#78244
réussi
il y a un an
Étape: build1
Étape: test
Étape: publish
Étape: deploy
Modifications
2
Pipelines
1
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
2 fichiers modifiés
trivial-doc/modules/developement/examples/dc-global.puml
+14
-5
14 ajouts, 5 suppressions
trivial-doc/modules/developement/examples/dc-global.puml
trivial-doc/modules/developement/pages/composants.adoc
+45
-44
45 ajouts, 44 suppressions
trivial-doc/modules/developement/pages/composants.adoc
avec
59 ajouts
et
49 suppressions
trivial-doc/modules/developement/examples/dc-global.puml
+
14
−
5
Voir le fichier @
4599e75e
@startuml
package "My System" {
interface Web1
interface Web2
interface Lobby
[GameServer]
[LobbyServer]
...
...
@@ -12,12 +16,17 @@ package "My System" {
[Client web 2]
}
[GameServer] -- [LobbyServer]
[Client web 1] -- [MiddlewareClient1]
[Client web 2] -- [MiddlewareClient2]
[LobbyServer] -up-() Lobby
[GameServer] --( Lobby
MiddlewareClient1 --( Lobby
MiddlewareClient2 --( Lobby
[Client web 1] --() Web1
Web1 )-- [MiddlewareClient1]
MiddlewareClient1 -- [LobbyServer] : Websocket
MiddlewareClient2
-- LobbyServer: Websocket
[Client web 2] --() Web2
Web2 )-- [
MiddlewareClient2
]
@enduml
\ No newline at end of file
This diff is collapsed.
Cliquez pour l'agrandir.
trivial-doc/modules/developement/pages/composants.adoc
+
45
−
44
Voir le fichier @
4599e75e
...
...
@@ -26,7 +26,7 @@ include::example$dc-global.puml[]
@startuml
left to right direction
component
Server
{
component
A as "Component A"
{
portin "WebSockets" as cws
portout "HTTP" as sws
}
...
...
@@ -46,7 +46,7 @@ Required )-- cws
* Serveur :
.Quelques exemples
* Créé tous les objets relatifs au jeu : les joueurs, les cartes, les merveilles et les initialise
s
.
* Créé tous les objets relatifs au jeu : les joueurs, les cartes, les merveilles et les initialise.
* Gère les connections au serveur et les pseudos
* Lorsque tous les joueurs sont prêts, lance la partie et distribue au client ce dont il a besoin : Merveille, cartes au tour 1
* À chaque tour, il reçoit la liste suivante : Le paquet de cartes non jouées, la carte jouée/déposée sur la merveille/défossée,
...
...
@@ -59,6 +59,20 @@ le nombre d'argent à ajouter au joueur
==== Interface A
[TIP]
====
Utilisez la notation UML pour spécifier la signature de chaque operation de l'interface.
====
[WARNING]
====
* La syntaxe de la notation UML est différente de celle de Java{nbsp}!
* Les types de base sont différents aussi{nbsp}! Par exemple, `int`, `float`, `bool` ne sont pas des types UML.
* Si les paramètres sont multivalués (par ex. ensemble, séquence, etc.) utilisez les cardinalités: `names : String [1..4]`
* `List<>`, `Set<>`, etc. ne sont pas des types UML.
====
[plantuml]
....
interface A {
...
...
@@ -66,6 +80,8 @@ interface A {
}
....
TIP: Si nécessaire, utilisez le langage OCL pour spécifier les pré et post-conditions des opérations.
.Contraintes sur les operations
[source, ocl]
----
...
...
@@ -102,14 +118,38 @@ post:
Description de ses responsabilités et de ses interfaces
====
=== Interface C
[plantuml]
....
interface GameServer {
connect(pseudo: String, password: String, ip: String, port: Integer):Boolean
createGame(numberOfPlayers : Integer): Integer
join(gameId : Integer): Integer
notifyPlayersReady(): String
chooseRole(role: String, playerId: Integer)
resist(numberOfPawns: Integer)
playPlaceCard(playerId: Integer, cardName: String)
playHuntCard(cardName: String)
letGo()
putToken(tokenName: String, cardNames: String [0..2])
}
....
== Interactions
[TIP]
====
* Utilisez les diagrammes d'interaction de la notation UML pour valider les interfaces des composants.
== Interactions
* Basez-vous sur les cas d'utilisation (spécification des exigences) pour illustrer les interactions entre les différents composants
====
[
note
]
[
WARNING
]
====
Basez-vous sur les cas d'utilisation (spécification des exigences) pour illustrer les interactions entre les différents composants
* En UML, les interactions se passent au niveau des instances.
* Rappel:
** Niveau classes: Classes, opérations, types, etc.
** Niveau instances: Objets, appels d'opération, valeurs, etc.
====
.Connexion au serveur
...
...
@@ -174,32 +214,6 @@ actor "ClientB:Client" as C2
actor "ClientC:Client" as C3
Serveur -> C1 : recoverWonderMe(Merveille1)
Serveur -> C2 : recoverWonderMe(Merveille2)
Serveur -> C3 : recoverWonderMe(Merveille3)
Serveur -> C1 : recoverDeck(Deck1)
Serveur -> C2 : recoverDeck(Deck2)
Serveur -> C3 : recoverDeck(Deck3)
Serveur -> C1 : recoverWonderLeft(Merveille3)
Serveur -> C1 : recoverWonderRight(Merveille2)
Serveur -> C1 : recoverCardPlayedLeft({})
Serveur -> C1 : recoverCardPlayedRight({})
Serveur -> C2 : recoverWonderLeft(Merveille1)
Serveur -> C2 : recoverWonderRight(Merveille3)
Serveur -> C2 : recoverCardPlayedLeft({})
Serveur -> C2 : recoverCardPlayedRight({})
Serveur -> C3 : recoverWonderLeft(Merveille2)
Serveur -> C3 : recoverWonderRight(Merveille1)
Serveur -> C3 : recoverCardPlayedLeft({})
Serveur -> C3 : recoverCardPlayedRight({})
@enduml
....
...
...
@@ -213,19 +227,6 @@ actor "Rom:Client" as C1
actor "Ted:Client" as C2
actor "Isma:Client" as C3
C1 -> Serveur : giveUnplayedCards("Rom", PaquetCartesNonJouées1:Liste de cartes)
C1 -> Serveur : givePlayedCard("Rom", Carte2 : Carte)
C2 -> Serveur : giveUnplayedCards("Ted", PaquetCartesNonJouées2:Liste de cartes)
C2 -> Serveur : givePlayedCard("Ted", Carte3 : Carte)
C3 -> Serveur : giveUnplayedCards("Isma", PaquetCartesNonJouées3:Liste de cartes)
C3 -> Serveur : giveDiscardedCard("Isma", Carte3 : Carte)
C3 -> Serveur : giveMoney("Isma", 2)
Serveur -> C1 : play()
Serveur -> C2 : play()
Serveur -> C3 : play()
@enduml
....
...
...
This diff is collapsed.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter