Titre1
Approche objet avec UML (Unified Modeling Language)
Pr. Jean-Marc Jézéquel
IRISA – Univ. Rennes I
Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33 299 842 532 e-mail : [email protected] http://www.irisa.fr/prive/jezequel
© 1997-2001 J.-M. Jézéquel
1
Ingénierie du logiciel
n
Problèmes actuels posés en termes de lignes de produits et de maintenabilité
–coûts de maintenance > 4 x coûts de développement – maintenance évolutive et maintenance corrective
n
Solution : Approche par modélisation
– meilleure continuité entre spécification et réalisation – meilleure communication entre les acteurs d’un projet – meilleure résistance aux changements
© 1997-2001 J.-M. Jézéquel
2
Origines de l’approche objet
n n n
Modélisation => SimulationSimula -> Simula 67
– objet, classe, héritage, liaison dynamique….
Mais aussi
– OS : Moniteurs – ADT : classe abstraite – IA : frame
» unité autonome de connaissance » intelligence, gestion complexité = propriété émergente du système
© 1997-2001 J.-M. Jézéquel
3
Généalogie de UML
UML
(Rumbaugh, Booch, Jacobson) FUSION
(HP-Labs) CLASSERELATION (P. Desfray) CRC (R. Wirf-Brooks)Use-Case (I.Jacobson)
OOA (P. Coad) JSD (M. Jackson) OOA – OODLE (Schlaer & Mellor)
OMT
(J. Rumbaugh et al.)
OOA-OOD
(G.Booch)
Data-Flow SADT/SA-SD (De Marco)
© 1997-2001 J.-M. Jézéquel
Diagrammes Etat-Transition (HAREL)
Entite-Relation Merise (Chen)
4
Un peu de Méthodologie…
n
Une méthode de développement de logiciels, c’est :
– Une notation
» La syntaxe —graphique dans le cas de UML
– Un méta-modèle
» La sémantique — paramétrable dans UML (stéréotypes)
– Un processus
» Détails dépendants du domaine d’activité : n Informatique de gestion n Systèmes réactifs temps-réels n Shrink-wrap software (PC)
© 1997-2001 J.-M. Jézéquel
5
Processus de développement avec UML
n
Approche itérative, incrémentale, dirigée par les cas d’utilisation– Expression des besoins – Analyse
» Elaboration d ’un modèle « idéal »
– Conception
» passage du modèle idéal au monde réel
– Réalisation et Validation
© 1997-2001 J.-M. Jézéquel
6
Modélisation UML
n
Modélisation selon 4 points de vue principaux :
– Aspects statiques du système (le QUI?)
» Description des objets et de leurs relations n Modularité, contrats, relations,généricité, héritage » Structuration en paquetages
– Vision utilisateur du système (le QUOI?)
» Cas d’utilisation
– Aspects dynamiques du système (le QUAND?)
» » » » Diagramme de séquences (scénarios) Diagramme de collaborations (entre objets) Diagramme d’états-transitions (Harel) Diagramme d’activités
– Vision implantation (le OU?)
» Diagramme de composants et de déploiement
© 1997-2001J.-M. Jézéquel 7
Modélisation UML
n
Modélisation selon 4 points de vue principaux :
– Aspects statiques du système (le QUI?)
» Description des objets et de leurs relations n Modularité, contrats, relations, généricité, héritage » Structuration en paquetages
– Vision utilisateur du système (le QUOI?)
» Cas d’utilisation
– Aspects dynamiques du système (le QUAND?)
» » » » Diagramme deséquences (scénarios) Diagramme de collaborations (entre objets) Diagramme d’états-transitions (Harel) Diagramme d’activités
– Vision implantation (le OU?)
» Diagramme de composants et de déploiement
© 1997-2001 J.-M. Jézéquel 8
“Objet” (Définition)
n n
Formellement : la fermeture transitive d’une fonction Concrètement : encapsulation d’un état avec un ensemble d’opérationstravaillant sur cet état
– abstraction d’une entité du monde réel – existence temporelle :
» création, évolution, destruction
– identité propre à chaque objet – peut être vu comme une machine
» ayant une mémoire privée et une unité de traitement, » et rendant un ensemble de services
© 1997-2001 J.-M. Jézéquel
9
“Classe” Définition en temps que type
n n
Implantation d’un type de…