DESS MIAGe
2001 - 2002
Etude de cas UML
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe SOMMAIRE
I. II. 1. 2. 3. III. 1. 2. 3. 4. 5. IV.
2001 - 2002
Introduction ___________________________________________________________ 3 Spcifications ________________________________________________________ 3 Description des cas dutilisation_________________________________________ 3 Description des scnarios ______________________________________________ 4 Structure de lIHM ___________________________________________________ 7 Analyse ____________________________________________________________ 11 Dictionnaire des donnes _____________________________________________ 11 Diagramme des classes _______________________________________________ 13 Diagramme dtat transition __________________________________________ 14 Diagrammes de squence _____________________________________________ 15 Diagrammes de collaboration _________________________________________ 17 Conclusion _________________________________________________________ 19
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
I. Introduction
2001 - 2002
UML est un langage de modlisation fond sur les concepts objet : lobjet dUML est de fournir une notation standard utilisable dans le dveloppement de systmes informatiques bass sur lobjet. Cependant, UML nest pas une mthode car il ninclut pas la manire dutiliser les concepts quil se propose cest dire lenchanement des tapes qui mnent la rsolution des problmes poss. En consquence, nous allons utiliser la dmarche propose par les enseignements de lUT1 pour traiter ltude de cas ASSURANCETOUTRISK.
II. Spcifications
Lnonc dun besoin exprime un comportement ou une proprit que le futur systme doit respecter, la formulation doit se faire en termes comprhensibles. Dans notre cas, les besoins sont exprims dans lnonc du problme : Envisager une automatisation complte du processus de gestion du CRAI. Fournir un tat rcapitulatif des activits mensuelles.
1. Description des cas dutilisation
Les cas dutilisations sont des outils formels qui permettent de consigner et dexprimer des interactions entre les utilisateurs et le systme. On peut noter que les cas dutilisations sont utiliss durant tout le processus car ils servent la cration de lIHM, la spcification des tests (recette)
Systme
Crer CRAI Agent informa tique Modifier CRA I Chef de projet
Valider CRAI
Responsable DSI
Crer Etat
Responsable unit utilisatrice
Ces cas dutilisation seront dtaills ci-aprs dans les scnarios.
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
La hirarchie des acteurs est la suivante :
2001 - 2002
Responsable unit utilisatric e
Agent informat ique
Chef de projet Responsable DSI
2. Description des scnarios
Un cas dutilisation est une abstraction de un ou plusieurs scnarios, une instance de cas dutilisation est appele un scnario. Les scnarios pourraient tre dcrits sous forme textuelle mais nous vous proposons le formalisme vu en cours. On utilisera des diagrammes de squences particuliers pour dcrire formellement ces scnarios. NB : Les scnarios ne traitent pas lidentification des acteurs, on considre donc que lors des interactions avec le systme, les acteurs sont identifis au pralable. Scnario Crer CRAI
Systme : Agent informatique Formulaire CRAI vierge Formulaire CRAI complt
Objectif : un agent, y compris un chef de projet, souhaite saisir un CRAI. Un CRAI est en fait une liste dinterventions. Le systme affiche un formulaire avec les zones de saisies ncessaires pour un CRAI. Lagent peut saisir ainsi toutes les informations.
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
2001 - 2002
Scnario Modifier CRAI
Systme : Agent informatique Formulaire CRAI rempli Formulaire CRAI modifi
Objectif : Lagent informatique modifie un CRAI quil a saisit auparavant et le renvoie. Le systme renvoie le CRAI de la semaine en cours pour permettre la modification de celuici. Si le CRAI a dj t valid, on lui prsente le CRAI de la semaine suivante.
Scnario Valider CRAI
Systme : Chef de projet Liste CRAI Choix CRAI Formulaire CRAI Formulaire CRAI Valid
Objectif : un chef de projet doit valider les CRAI chaque fin de semaine. Le chef de projet doit vrifier le CRAI de son choix (en fait toutes les interventions qui constituent le CRAI), celui-ci lui sera renvoy par le systme, sil est correct, il le valide, sinon il faut le corriger avant validation.
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
2001 - 2002
Scnario Crer Etat
: Responsable DSI
Systme
: Chef de projet
: Responsable unit utilisatrice
Demande Synthse Hebdo Etat Synthse Hebdo
Demande Synthse Mensuelle Etat Synthse Mensuelle Etat Synthse Mensuelle Et at Synthse Mensuelle
Requte Rponse
Requte Rponse
Objectif : le responsable DSI ou le chef de projet ont la possibilit de crer des tats hebdomadaires ou mensuels. Trois scnarios sont distinguer : Cration dun tat hebdomadaire par le chef de projet pour grer ses projets. Cration dun tat mensuel par le DSI dont une copie est transmise au chef de projet et au responsable de lunit utilisatrice. Cration dune requte libre dans le but de donner plus de souplesse au systme propos.
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
3. Structure de lIHM
2001 - 2002
A partir du diagramme des cas dutilisation, nous avons dfini lIHM suivante, celle ci est donne titre dexemple, cest lors de la phase de conception que le choix de larchitecture logicielle cible sera effectivement ralis. On peut remarquer que chaque cas dutilisation identifi est reprsent dans la structure des menus droulants.
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
2001 - 2002
A partir des scnarios, nous avons dfini les formulaires de saisie, modification, et validation des CRAI, ainsi que les tats hebdomadaires mensuels.
Ecran pour la saisie, modification des CRAI.
Cet cran sert pour deux oprations distinctes, le champ mode permet de savoir quel type dopration est en cours (cration ou modification).
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
2001 - 2002
Ecran pour valider un CRAI
Ecran pour le choix dun CRAI par un chef de projet
Cet cran est affich avant le prcdent pour que le chef de projet puisse choisir le CRAI correspondant valider pour un agent particulier.
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
2001 - 2002
Ecran pour la synthse dactivits hebdomadaire par projet ou par unit
Ecran pour la synthse mensuelle
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
III. Analyse
2001 - 2002
Lanalyse consiste partir des cas dutilisation et des besoins recueillis laborer la structure du systme un niveau dabstraction qui va au-del de limplmentation physique. Lessentiel est de sassurer que tous les besoins fonctionnels sont raliss quelque part dans le systme.
1. Dictionnaire des donnes
Dictionnaire des donnes Sigle Libell Type Rgle Matricule, Nom, Prenom, Anne, Semaine, Code activit, Code projet, Description de l'intervention, Unit utilisatrice concerne, Temps hebdomadaire (en heures), Validation, CumulAgent, Mode Un chef de projet est un agent Un chef de projet est un agent
CRAI Matricule Nom Prnom Anne Semaine CodeActivit CodeProjet Description CodeService Temps Validation CumulAgent ChoixCRAI
Formulaire CRAI Matricule d'un employ Nom d'un agent Prnom d'un agent Anne de cration du CRAI Semaine de cration du CRAI Code de l'activit ralise Code du projet concern Description de l'intervention Code du service Temps hebdomadaire (en heures) Validation de l'intervention Cumul des heures hebdomadaires d'un agent Choix d'un CRAI pour validation
Struct. Entier Chaine Chaine Date Date Entier Chaine Chaine Chaine Entier Boolen Heure Struct.
Texte libre
Calcule par (TempsPass) Code projet, Code agent Code projet, Code agent, Anne, Semaine, Code activit, Description de l'intervention, Unit utilisatrice concerne, Temps hebdomadaire (en heures), Cumul
SynthseHebdo LibellService CumulProjet
Synthse des Activits Hebdomadaires Libell du service Cumul des heures hebdomadaires d'un projet
Struct. Chaine Heure
Calcule par (Temps hebdomadaire) Anne, Semaine1, Semaine2, Code projet, Libell du projet, Unit utilisatrice concerne, Temps mensuel projet (en heures), Cumul projets, Temps mensuel unit (en heures), Cumul units,
SynthseMensuelle Mois LibellProjet
Synthse des Activits Mensuelles Mois Libell du projet
Struct. Date Chaine
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
Temps mensuel projet (en heures) Temps mensuel unit (en heures) Cumul projets Cumul units Adresse de l'employ E-mail de l'employ Cot de l'intervention Taux de facturation Libell de l'activit
2001 - 2002
Calcule par (Temps hebdomadaire consacre une intervantion inclue au projet) Calcule par (Temps hebdomadaire consacre une intervention lie l'unit) Calcule par (TempsMensuelProjet) Calcule par (TempsMensuelUnit)
TempsMensuelProjet TempsMensuelUnit CumulProjets CumulUnits Adresse Email Cout TauxFacturation LibellActivit
Heure Heure Heure Heure Chaine Chaine Rel Rel Chaine
Lgende: Les donnes calcules sont prsentes en italique
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
2. Diagramme des classes
2001 - 2002
Ce diagramme donne une reprsentation statique du systme. Il se compose de classes et de leurs relations. Une classe regroupe des donnes et des mthodes.
Employ mat ri cul e : I nt eger nom : Str in g prno m : Str ing adres se : St ri ng email : St ri ng Rec herc her_Em( ) t ravaille
0..n
Agent Rechercher_Ag() 1..n Sav oir Faire cot : Double Rechercher_Sa() 1 Date semaine : Date anne : Date
Chef projet
Responsable
est responsable
Rechercher_Da() Rechercher_Da() 1 1 Serv ice codeServ ice : String libellServ ice : String
0.. n 0..n 0..n dirige
<<Asso n-aires>> Interv ention temps : Integer description : String v alidation : Boolean Crer_Int() Rechercher_In() Modif ier_In() Valider_In() Calculer_In() 0..n 0..n
0..n Unit Utilisatrice 1 0..n 0.. n
1..n Ac ti v it
1 1
0..n Projet codeProjet : String libellProjet : String Rechercher_Pr() Calculer_Pr()
Rechercher_Un() Calcule r_Un()
codeActiv it : Integer libellActiv it : String Rechercher_Ac()
Facturation tauxFacturation : Single Rechercher_Fa()
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
3. Diagramme dtat transition
2001 - 2002
Voici le DET de la classe Intervention. Les autres DET nont pas t prsents car ils ntaient pas pertinents.
Modificat ion / Modifier_Int()
Cration / Crer_Int()
Rpertori
Validation / Valider_Int ()
Valid
Suppression / Supprimer_Int()
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
4. Diagrammes de squence
2001 - 2002
Dans les diagrammes suivants, nous avons choisi dutiliser lobjet interface comme chef dorchestre pour grer les diffrents changes entre objets.
Crer CRAI
Ce diagramme prsente les interactions entre les diffrents objets et lobjet interface de Crer CRAI.
: Crer CRAI : Interv ention : Agent : Activ it : Projet : Unit Utilis atrice : Date
Rechercher_Ag(Integer)
Rechercher_Ac(Integer)
Rechercher_Pr(St ring)
Rechercher_Un(String)
Rechercher_Da( )
Crer_Int(String, Integer, Agent, Activ it, Projet, Serv ice, Date)
Modifier CRAI
: Intervention : Agent : Activit : Projet : Unit Ut ilis atrice : Date
: Modifier CRAI
Rechercher_In(Date, Date, Integer) Rechercher_Ag(Integer) Rechercher_Ac (Integer) Rechercher_Pr(String)
Rechercher_Un(String) Rechercher_Da( ) [ Pour toutes les interventions ] Modifier_In(String, Integer, Agent, Activit, Projet, Service, Date)
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
2001 - 2002
Valider CRAI
: Valider CRAI : Intervention
Rechercher_In(Dat e, Date, Int eger)
[ Pour chaque intervention ] Valider_In(Boolean)
Crer Etat
Lobjet interface envoie plusieurs messages sur un mme objet selon la requte qui sera considre puisque cet tat dcrit une interaction entre objets pour la cration des tats mensuels et hebdomadaires.
: Crer Etat
: Activit
: Agent
: Date
: Projet
: Unit Utilisatrice
: Facturation
: Intervention
: Savoir Faire
: Employ
Rechercher_Ac(Integer) Rechercher_Ag(Integer)
Rechercher_Da(Date, Dat e)
Rechercher_Pr(S tring) Calculer_Pr(ListeProjet) Rechercher_Un(String) Calculer_Un(ListeUnit )
Rechercher_Fa(Projet, Service) Rechercher_In(Date, Date, Integer) Calculer_In(ListeIntervention) Rechercher_Sa(Agent, Activit) Rechercher_Em(Integer)
En ce qui concerne la cration dune requte libre, le diagramme na pas t reprsent : les objets ncessaires seront fonction de la requte.
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
5. Diagrammes de collaboration
2001 - 2002
Ces diagrammes ont t gnrs automatiquement avec ROSE partir des diagrammes de squence. Crer CRAI
: Intervention
6: Crer_Int(String, Integer, Agent, Activit, Projet, Service, Date) : Activit 1: Rechercher_Ag(Integer) 2: Rec hercher_Ac(Int eger) : Crer CRAI 4: Rechercher_Un(String) : Agent
5: Rechercher_Da( ) 3: Rechercher_Pr(S tring) : Date : Unit Utilisatrice
: Projet
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
2001 - 2002
Modifier CRAI
: Intervention : Agent
2: Rechercher_Ag(Integer) 1: Rechercher_In(Date, Date, Integer) 7: Modifier_In(String, Integer, Agent, Activit, Projet, Service, Date) 5: Rechercher_Un(String) : Modifier CRAI : Unit Utilisatrice 4: Rechercher_Pr(String)
: Activit
3: Rechercher_Ac(Integer)
: Projet 6: Rechercher_Da( )
: Date
Valider CRAI
: Valider CRA I
1: Rechercher_In(Date, Date, Integer) 2: Valider_In(Boolean)
: Intervention
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN
DESS MIAGe
IV. Conclusion
2001 - 2002
La dmarche que nos avons utilise nous a permis de fournir les spcifications fonctionnelles, statiques et dynamiques du systme tudi. Une tude plus complte aurait consist poursuivre le travail prsent en phase de conception dans laquelle les abstractions du mtier mises en vidence par notre analyse auraient t confrontes la ralit logicielle. Enfin, la dmarche propose est oriente donnes. Toutefois, nous aurions pu adopter une mthode base sur lapproche par composants, par exemple la dmarche E-process de la socit B&T Associs.
Anne-Laure VALDIVIA, David ROUSSE, Philippe CASSAN