poly projet de genie logiciel 2005. table des matières introduction weblang diagrammes machines...

15
POLYPOLY PROJET DE GENIE LOGICIEL 2005

Upload: alfonse-foucher

Post on 04-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

POLYPOLYPROJET DE GENIE LOGICIEL

2005

Page 2: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Table des matières Introduction WebLang Diagrammes Machines d’états Topics dynamiques Communications Conclusion

Page 3: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Introduction Nous avons utilisé WebLang jusqu’à la fin

du projet. Cela nous a permis de n’avoir que quatre fichiers : Application.la

Serveur Player.java

Client (Player + GUI) Manager.java

Pages Web pour gérer les parties (Servlet). C.java

Classe contenant les constantes d’application

Page 4: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

WebLang Avantages

Ça nous a permis de n’avoir qu’un fichier principal (Application.la) quasiment jusqu’à la fin du projet.

Nous n’avons pas eu à nous occuper des interactions, des relations entre les classes du côté serveur, ni de tout ce qui était particulier aux CMP Beans, ce qui nous a permis de nous concentrer sur l’architecture.

Page 5: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

WebLang Désavantage

A chaque modification, il faut compiler plusieurs fichiers au lieu d’un. Cela était peu pratique pour nous car nous devions en plus corriger des erreurs causées par quelques bugs de WebLang après chaque compilation.

Page 6: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Diagramme de collaboration

Page 7: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Diagramme de classes Serveur (CMPBeans)

Page 8: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Machines d’états du serveur

Page 9: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Machine d’états du client

Page 10: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Topics dynamiques Nous avons utilisé les « topics » dynamiques. Il y a un « topic » permanent utilisé notamment

pour la communication entre le serveur et les clients qui ne font pas encore partie d’un jeu.

Les autres « topics » sont créés et détruits à la création et destruction de chaque partie par le Manager. Le nom du « topic » porte le nom du jeu auquel il est associé.

Les clients connectés à un jeu communiquent avec le serveur en utilisant le « topic » du jeu.

Page 11: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Communications Les communications sont faites par l’appel

aux fonctions (RMI) et par les « topics » dynamiques.

Page 12: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Communication Serveur-Client

Le Jeu envoie les messages textes à tous les utilisateurs du même jeu sur le topic du jeu.

Le format de message est : MSG := CODE USERNAME {PARAMS}

Le Player reçoit grâce à un « listener » : receiverFromAListener

et transmet les ordres à exécuter selon le message à la GUI.

Page 13: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Communication Client-Serveur

Le Player communique avec le serveur par RMI (Remote Method Invocation) en faisant appel à la fonction « action » de « Game »

Le format de cette fonction est: void action(String username, int code, String params)

username ::= nom de l’utilisateur qui a exécuté l’action

code ::= code de l’action params ::= paramètres de l’action, séparés

par des espaces

Page 14: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Communication Player - GUI

Player fait appel à différentes méthodes de PlayerGUI, en utilisant « invokeLater » pour assurer l’exécution dans l’ordre donné.

PlayerGUI fait appel à la fonction « action » de Player : action(String source) source ::= indique l’action exécutée sur la

GUI par l’utilisateur (générée par les « listeners »).

Page 15: POLY PROJET DE GENIE LOGICIEL 2005. Table des matières Introduction WebLang Diagrammes Machines détats Topics dynamiques Communications Conclusion

Conclusion Ce projet nous a permis d’approfondir nos

connaissances sur les sujets suivants : JMS(Topiques, Queues, etc. ) JBoss J2EE (CMP Beans, MDBs, etc.) Weblang Interfaçage graphique avec Swing/AWT Eclipse (gestion de projets, plugins) Le travail en groupe Représentation formelle de l’architecture

d’application (Diagramme des classes, diagramme de collaboration, etc.)

Les règles de Monopoly (certains membres de l’équipe n’ayant jamais joué à ce jeu) :)