Projet Génie Logiciel
description
Transcript of Projet Génie Logiciel
Des patterns à la 3ème dimension
Projet Génie Logiciel
EPSI 2011 : PACELLI / CUISINIER
Le projet : Du .obj à la 3 Dimension …
• Problème : Utilisation de code tiers.
Pont / Bridge (patron de conception)
• Problème : Communication inter-couches.
Commande (patron de conception)
• Problème : Communication inter-couches.
Chaîne de responsabilité (patron de conception)
• Problème : Mettre à jour l’état d’avancement d’un traitement long. (barre de progression et description de l’étape en cours)
Etat (patron de conception)
class Etat
Message
Common::Traitement
- abonnes: List<IObservateur>- courant: int- etapes: List<Etape>- nomTraitement: string
+ Abonner(IObservateur) : void+ AjouterEtape(Etape) : void+ Desabonner(IObservateur) : void- etape_ValeurChanged(object, EventArgs) : void# OnEtapeMaj(EventArgs) : void- OnFinTraitement(EventArgs) : void- OnSuivant(EventArgs) : void+ Suivant() : void+ Traitement(string)+ Traitement(string, Etape[])
«property»+ EtapeActuelle() : Etape+ NomTraitement() : string+ PourcentageTotal() : int
Common::Etape
- nom: string- pourcentage: int
+ Etape()+ Etape(string)
«property»+ Nom() : string+ Pourcentage() : int
«event»+ ValeurChanged() : EventHandler
• Problème : appeler une fonction en fonction d’un événement.
Observateur (patron de conception)
class Observateur
«interface»Common::IObservateur
+ OnEtapeMaj(object, EventArgs) : void+ OnFinTraitement(object, EventArgs) : void+ OnSuivant(object, EventArgs) : void
Form
View::frmPrincipal
- instance: Principal- suivant: IChaineResponsabilite
- ckFilDeFer_CheckedChanged(object, EventArgs) : void- cmInitCamera_Click(object, EventArgs) : void- Exporter(object, EventArgs) : void+ frmPrincipal(IPluginRendu, int)- frmPrincipal_FormClosing(object, FormClosingEventArgs) : void- Importer(object, EventArgs) : void- InitialiserMenu() : void- MAJInfos(Modele) : void+ OnEtapeMaj(object, EventArgs) : void+ OnFinTraitement(object, EventArgs) : void+ OnSuivant(object, EventArgs) : void- Quitter() : void- tmiAPropos_Click(object, EventArgs) : void- tmiQuitter_Click(object, EventArgs) : void+ TraiterMessage(object, Pacu.Common.Message) : void
«property»+ Suivant() : IChaineResponsabilite
Message
Common::Traitement
- abonnes: List<IObservateur>- courant: int- etapes: List<Etape>- nomTraitement: string
+ Abonner(IObservateur) : void+ AjouterEtape(Etape) : void+ Desabonner(IObservateur) : void- etape_ValeurChanged(object, EventArgs) : void# OnEtapeMaj(EventArgs) : void- OnFinTraitement(EventArgs) : void- OnSuivant(EventArgs) : void+ Suivant() : void+ Traitement(string)+ Traitement(string, Etape[])
«property»+ EtapeActuelle() : Etape+ NomTraitement() : string+ PourcentageTotal() : intData::Principal
- instance: Principal- moteurRendu: MoteurRendu- plugins: GestionnairePlugins- ressources: GestionnaireRessources- suivant: IChaineResponsabilite
+ AjouterResponsabilite(IChaineResponsabilite) : void+ OnEtapeMaj(object, EventArgs) : void+ OnFinTraitement(object, EventArgs) : void+ OnSuivant(object, EventArgs) : void- Principal()+ TraiterMessage(object, Message) : void
«property»+ Instance() : Principal+ MoteurRendu() : MoteurRendu+ Plugins() : GestionnairePlugins+ Ressources() : GestionnaireRessources+ Suivant() : IChaineResponsabilite
-instance
-instance