UML Diagrammes Statiques
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
214
On Slideshare
214
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 1 Génie logiciel et méthodes de conception orientées objetp j UML Modélisation statique A. ABDELLATIF abdelaziz.abdellatif@fst.rnu.tn 2012-2013 GL & MCOO A. Abdellatif Sommaire Introduction Diagramme de classes Diagramme d’objets Diagramme de composants Diagramme de déploiement UML : Modélisation statique 2 Synthèse
  • 2. 2 GL & MCOO A. Abdellatif Introduction La modélisation statique d’un système consiste à décrire les composantes de ceconsiste à décrire les composantes de ce dernier sans tenir compte de leur évolution dans le temps. Elle se fait à l’aide des diagrammes suivants : Diagramme de classes Diagramme d’objets Diag amme de composants UML : Modélisation statique 3 Diagramme de composants Diagramme de déploiement Diagramme de classesg
  • 3. 3 GL & MCOO A. Abdellatif Diagramme de classes : Présentation Représente les classes constituant le système et les associations entre ellessystème et les associations entre elles. C’est le diagramme le plus important de la modélisation orientée objet. Regroupe les classes du monde réel et les classes nécessaires à l’implémentation du système. d é é l b d d é UML : Modélisation statique 5 Permet de générer la base de données et les classes utilisées dans la programmation des applications. GL & MCOO A. Abdellatif Diagramme de classes : Concepts de base Le diagramme de classes se base sur les concepts suivants :concepts suivants : Classe : Description formelle d’un ensemble d’objets ayant une sémantique, des propriétés et un comportement communs. Association : Relation sémantique entre deux ou plusieurs classes. Propriété (attribut) : élément permettant de décrire une classe ou une association. é é é é UML : Modélisation statique 6 Méthode : Opération réalisée par les objets d’une classe. Paquetage : Décomposition du diagramme de classes
  • 4. 4 GL & MCOO A. Abdellatif Diagramme de classes : Représentation d’une classe Nom classe Attributs Personne Matricule Nom Prenom Date naissance UML : Modélisation statique 7 Méthodes Date_naissance Age () Forme minimale GL & MCOO A. Abdellatif Diagramme de classes : Représentation détaillée d’une classe Personne + + + - # Matricule Nom Prenom Date_naissance Permanant : int : char : char : date : boolean = vrai + Age () : intVisibilité : + Public Type de données Valeur initiale UML : Modélisation statique 8 + Public - Privé # Protégé Type de valeur de retour
  • 5. 5 GL & MCOO A. Abdellatif Diagramme de classes : Représentation d’une association Classe A Classe BClasse A Classe B Avec possibilité de préciser : •Un nom d’association UML : Modélisation statique 9 •Une décoration •Le rôle de chaque classe •Des cardinalités GL & MCOO A. Abdellatif Diagramme de classes : Représentation d’une association Tra va ille r d a n s E m p lo y é E n tre p ris e Tra va ille r d a n s > E m p lo y é E n tre p ris e Travaille dansE m ploy é E ntrepris e Nom d’association Décoration UML : Modélisation statique 10 Travaille dans Fait travailler E m ploy é E ntrepris e Rôle
  • 6. 6 GL & MCOO A. Abdellatif Cardinalités possibles : Diagramme de classes : Cardinalités (multiplicité) Employé 1 Un et un seul 1..1 Un et un seul 0..1 Zéro ou un (optionnel) m..n De m à n 0..* Zéro ou plusieurs 0..* 1..1 UML : Modélisation statique 11 p * Zéro ou plusieurs 1..* Un à plusieurs Entreprise GL & MCOO A. Abdellatif Diagramme de classes : Navigabilité d’association Chaque sens d’une association binaire peut être navigable ou non. La navigabilité est représentée pas une flèche. La non navigabilité est représentée par une croix. L’absence de ces deux symbole veut dire que l’association est navigable dan les deux sens. 0..* 1..* Commande Article UML : Modélisation statique 12 Signification : Une occurrence de Commande stocke une liste des Articles. Une occurrence d’Article ne stocke pas une liste des commandes.
  • 7. 7 GL & MCOO A. Abdellatif Diagramme de classes : Classe association Si l’association est porteuse de données, elle est représentée par une classe association. Une classe association peut avoir des propriétés et des méthodes. 0..* 1..* Commande Article UML : Modélisation statique 13 LigcoCommande + quantite : int GL & MCOO A. Abdellatif Diagramme de classes : Les contraintes Lorsque les cardinalités ne sont pas ffi t t d i l è l dsuffisantes pour traduire les règles de gestion, un digramme de classe peut être complété par des contraintes. {contrainte} UML : Modélisation statique 14 Une contrainte concerne une ou plusieurs associations.
  • 8. 8 GL & MCOO A. Abdellatif Diagramme de classes : Les contraintes Toute règle peut être représentée sous f d iforme de contraintes. Contraintes couramment utilisée : {ordonnée} : Signifie l’existence d’une relation d’ordre entre les objets de la classe indiquée par la contrainte. {Sous-ensemble} : Indique qu’une collection UML : Modélisation statique 15 est incluse dans une autre. {Ou exclusif} : Signifie la participation exclusive d’un objet à l’une ou l’autre des associations. GL & MCOO A. Abdellatif Diagramme de classes : Les contraintes : exemples 1..1 0 * Livre Chapitre 1..1 0.. {Ordonnée} 0..1 0..* 1..1 1..* Inscrit dans Section Etudiant {Sous-ensemble} 1..1 0 * UML : Modélisation statique 16 Représente 1..1 Se déplace 0..* Reçoit 0.. Equipe Match {Ou exclusif}
  • 9. 9 GL & MCOO A. Abdellatif Diagramme de classes : Association d’agrégation Une agrégation est une association qui représente une relation d’inclusion structurelle ou comportementale d’un élément dans un ensemble. 0..1 Entreprise Véhicule Agrégat Agrégé UML : Modélisation statique 17 0..* Entreprise GL & MCOO A. Abdellatif Diagramme de classes : Association de composition Une composition est une association qui décrit une contenance structurelle entre instances. Composite Composants 1..1 1..1 1..1 Vehicule UML : Modélisation statique 18 Remarque : La destruction de l’objet composite entraîne la destruction des objets composants 4..41..11..1 Moteur BoiteVitesse Roue
  • 10. 10 GL & MCOO A. Abdellatif Diagramme de classes : Association de qualification Permet de partitionner les objets d’ l t à t id’une classe par rapport à certaines propriétés de l’autre classe. Class_1 Class_2 Clé UML : Modélisation statique 19 0..* Répertoire Fichier Nom_repertoire GL & MCOO A. Abdellatif Diagramme de classes : Association n-aire Association reliant plus que deux classes. A B UML : Modélisation statique 20 Remarque : Les associations n-aires sont généralement remplacées par une classe. Class_assoc C
  • 11. 11 GL & MCOO A. Abdellatif Diagramme de classes : Association n-aire (Exemple) Section Module 0 *0 * 1..1 0..* 1..1 0..* Section Module Emploi du temps + + H début H fin : int : int Replacé par Salle Jour Emploi du temps + H début : int UML : Modélisation statique 21 1..1 0.. 1..1 0.. Salle Jour + H fin : int GL & MCOO A. Abdellatif Diagramme de classes : Association d’héritage Représente une relation d’héritage entre super classes et sous classes. A Personne + + + + CIN Nom Prénom Date naissance + Age () : int UML : Modélisation statique 22 BC Pilote + Date embauche Passager + Numero billet
  • 12. 12 GL & MCOO A. Abdellatif Diagramme de classes : Association d’héritage multiple Moyen transport Terrestre Aérien Maritime UML : Modélisation statique 23 Voiture Avion BateauHydravion GL & MCOO A. Abdellatif Diagramme de classes : Association d’héritage exclusif Client {Exclusif} UML : Modélisation statique 24 Particulier Exclusif
  • 13. 13 GL & MCOO A. Abdellatif Diagramme de classes : Association d’héritage :règles Une association d’héritage ne peut pas être : Réflexive : Symétrique : Class_1A B A UML : Modélisation statique 25 Transitive : BA C GL & MCOO A. Abdellatif Exemple de diagramme de classes: Système de réservation de vols Source : UML par la pratique : études de cas et exercices corrigés Pascal Roques Eyrolles UML : Modélisation statique 26 y
  • 14. 14 GL & MCOO A. Abdellatif Exemple de diagramme de classes: Système de réservation de vols Énoncé : 1. Des compagnies aériennes proposent différents vols.p g p p 2. Un vol est ouvert à la réservation et refermé sur ordre de la compagnie. 3. Un client peut réserver un ou plusieurs vols, pour des passagers différents. 4. Une réservation concerne un seul vol et un seul passager. 5. Une réservation peut être annulée ou confirmée. 6. Un vol a un jour et une heure de départ , et un jour et une heure d’arrivée. 7 Un vol a un aéroport de départ et un aéroport d’arrivée UML : Modélisation statique 27 7. Un vol a un aéroport de départ et un aéroport d’arrivée. 8. Un vol peut comporter des escales dans des aéroports. 9. Une escale a une heure d’arrivée et une heure de départ. 10. Chaque aéroport dessert une ou plusieurs villes. GL & MCOO A. Abdellatif Exemple de diagramme de classes: Système de réservation de vols CompagnieAerienne nomCompagnie Client codeClient nomClient infoescale0..* escale 0..* relier21..1 arrivee 0..* relier 11..1 depart 0..* <concerner 1..1 0..* effectuer 1..1 0..* Propose 1..* 1..* Vol numeroVol dateDepart heureDeprt dateArrivee heureArrivee ouvrirReservation () fermerReservation () prenomClient adresseClient numTel numFax Reservation dateReservation numeroReservation confirmer () annuler () Aeroprt nomAeroprt UML : Modélisation statique 28 dessert 0..* 0..* concerne 0..* 1..1 Passager nomPassager prenomPassager Ville nomVille InfosEscale heureArrivee heureDepart {ordonnée}
  • 15. 15 GL & MCOO A. Abdellatif Exemple de diagramme de classes: Système de réservation de vols CompagnieAerienne nomCompagnie Client codeClient nomClient infoescale0..* escale 0..* relier21..1 arrivee 0..* relier 11..1 depart 0..* <concerner 1..1 0..* effectuer 1..1 0..* Propose 1..* 1..* Vol numeroVol dateDepart heureDeprt dateArrivee heureArrivee ouvrirReservation () fermerReservation () prenomClient adresseClient numTel numFax Reservation dateReservation numeroReservation confirmer () annuler () Aeroprt nomAeroprt ns UML : Modélisation statique 29 dessert 0..* 0..* concerne 0..* 1..1 Passager nomPassager prenomPassager Ville nomVille InfosEscale heureArrivee heureDepart {ordonnée} Vols Réservation Diagramme d’objetsg j
  • 16. 16 GL & MCOO A. Abdellatif Diagramme d’objets : Présentation C’est un diagramme de classes appliqué è à l bjconcrètement à quelques objets. Appelé aussi diagramme d’instances. Permet de préciser un diagramme de classes en l’illustrant par des exemples Permet de vérifier l’adéquation du diagramme de classes à des cas UML : Modélisation statique 31 diagramme de classes à des cas particuliers. GL & MCOO A. Abdellatif Diagramme d’objets : Concepts de base Le diagramme de classes se base sur les concepts suivants : Objet : Description d’un objet du monde réel (instance de classe). Lien : Relation sémantique entre deux ou plusieurs objets (instance d’association). UML : Modélisation statique 32 Valeur : Valeur d’une propriété relative à un objet.
  • 17. 17 GL & MCOO A. Abdellatif Correspondance entre diagrammes de classes et diagrammes d’objets 1..* 0..* 1 0..* 0..* 1..* 1..*1..* 1..* 0..* 1 * 1..*1..* Diagramme classes Diagramme objets LienAssociation UML : Modélisation statique 33 1 0..* 1..* 1..* 1..* 1..* ObjetClasse GL & MCOO A. Abdellatif Diagramme d’objets : Représentation d’un objet N bj t Trois représentations possibles : Nom objet Nom objet:Nom classe :Nom classe Exemples : Objet nommé Objet nommé avec sa classe Objet anonyme UML : Modélisation statique 34 C250 C250:Modèle voiture :Modèle voiture
  • 18. 18 GL & MCOO A. Abdellatif Diagramme d’objets : Représentation détaillée d’un objet Nom objet:Nom classe Nom propriété = valeur Nom propriété de la classe Valeur propriété pour l’objet UML : Modélisation statique 35 C250:Modèle voiture Marque Année = Mercedes = 2002 GL & MCOO A. Abdellatif Diagramme d’objets : Représentation des liens Objet 1 Objet 2 Remarques : •Pas de cardinalités j j UML : Modélisation statique 36 •Possibilité de nommer le lien
  • 19. 19 GL & MCOO A. Abdellatif Diagramme d’objets : Représentation des liens : exemple Diagramme de classes : Diagramme d’objets : 1..* 1..4 1..1 1..1 Vehicule RoueMoteur Voiture Moteur UML : Modélisation statique 37 Roue AV D Roue AG Roue AR D Roue AR G GL & MCOO A. Abdellatif Diagramme d’objets : Représentation des liens : exemple Diagramme de classes : 0..1 Dirige 0..* Dirigé parEmployé UML : Modélisation statique 38 Diagramme d’objets : DirigeMohamed:Employé Ali:Employé
  • 20. 20 GL & MCOO A. Abdellatif Diagramme d’objets : Objets multiples Lorsqu’un objet est lié à plusieurs autres objets, on peut : Représenter explicitement tous ces objets : Objet A Objet B1 Objet B2 Objet B3 UML : Modélisation statique 39 Représenter ces objets par un objet multiple: Objet A :Classe C GL & MCOO A. Abdellatif Diagramme d’objets : Objets multiples : exemple Diagramme de classes : 0..1 Dirige 0..* Dirigé parEmployé UML : Modélisation statique 40 Diagramme d’objets : DirigeMohamed:Employé :Employé
  • 21. 21 GL & MCOO A. Abdellatif Diagramme d’objets : Objets composites Un objet composite est une instance d’une classe ayant une association de composition. 0..1 Classe A :Classe A 1:Classe B 2:Classe B 3:Classe B UML : Modélisation statique 41 0..* Classe B 1:Classe B 2:Classe B 3:Classe B GL & MCOO A. Abdellatif Diagramme d’objets : Objets composites : exemple Fenetre me s 1 1 1 2 1 1 Zone travailBarre défilement Palette d'outils F t Diagramm declasses e UML : Modélisation statique 42 :Fenetre :Palette d'outils1:Barre défilement :Zone travail2:Barre défilement Diagramme D’objets
  • 22. 22 Diagramme de composantsg p GL & MCOO A. Abdellatif Diagramme de composants : Présentation Un diagramme de composant décrit la façon selon laquelle les composantes logicielles seront réalisées. Il représente les choix de réalisation. Il est destiné aux réalisateurs (développeurs) UML : Modélisation statique 44 (développeurs).
  • 23. 23 GL & MCOO A. Abdellatif Diagramme de composants : Concepts de base Le diagramme de composants se base sur les concepts suivants :concepts suivants : Composant : Toute sorte d’élément physique permettant la réalisation d’un logiciel. Dépendance entre composants : Relation de dépendance entre deux ou plusieurs composants. Programme principal : Constitue le point d’entrée dans une application. UML : Modélisation statique 45 Sous-programme : Procédure ou fonction ne contenant aucune classe. Sous-système : Regroupement d’un ensemble de composants. GL & MCOO A. Abdellatif Diagramme de composants : Les composants Les composants représentent toute sortes d’éléments physiques permettant la réalisation d’un logicielphysiques permettant la réalisation d un logiciel. Un composant est appelé aussi module. Un composant se présente sous forme de fichier. Dans l’approche objet, chaque classe constitue un composant. Chaque classe (composant) est représentée par deux éléments : une spécification et un corps UML : Modélisation statique 46 éléments : une spécification et un corps.
  • 24. 24 GL & MCOO A. Abdellatif Diagramme de composants : Les composants: représentation Trois représentations possibles : Composant A <<Composant>> Composant A UML : Modélisation statique 47 Composant A xx GL & MCOO A. Abdellatif Diagramme de composants : Les composants: Exemple <<Composant>> Vérificateur d’orthographe Vérificateur d'orthographe UML : Modélisation statique 48 Vérificateur d’orthographe xx
  • 25. 25 GL & MCOO A. Abdellatif Diagramme de composants : Dépendance entre composants Dans un diagramme de composants, la l i d dé d ili érelation de dépendance est utilisée pour indiquer qu’un composant fait référence aux services offerts par un autre composant. Cette notion est utile pour représenter a dépendance de compilation entre composants. UML : Modélisation statique 49 composants. GL & MCOO A. Abdellatif Diagramme de composants : Dépendance: représentation Composant A Composant B Exemple : Editeur texte UML : Modélisation statique 50 Vérificateur d'orthographe Vérificateur grammaire
  • 26. 26 GL & MCOO A. Abdellatif Diagramme de composants : Programme principal Chaque application a un point d’entrée appelé programme principal (main). Main UML : Modélisation statique 51 GL & MCOO A. Abdellatif Diagramme de composants : Les sous-programmes Les sous-programmes regroupent les procédures et les fonctions qui n’appartiennent à aucune classe. F1 UML : Modélisation statique 52
  • 27. 27 GL & MCOO A. Abdellatif Diagramme de composants : Les sous-systèmes Dans le cas de systèmes complexes, un ensemble de composants peuvent êtreensemble de composants peuvent être regroupés dans un sous-système. Constitue la notion de bibliothèque. Utilise le formalisme de paquetage. UML : Modélisation statique 53 Sous-système 1 Composant A Composant B Diagramme de déploiementg p
  • 28. 28 GL & MCOO A. Abdellatif Diagramme de déploiement : Présentation Représente la structure physique du è i f i l é i i dsystème informatique et la répartition des composantes logicielles sur ce système. Constitue un moyen pour représenter les différentes architectures selon laquelle le nouveau logiciel peut être déployé : Architecture centralisée UML : Modélisation statique 55 Architecture centralisée Architecture client/serveur à deux niveaux Architecture client/serveur à trois niveaux Architecture client/serveur à n niveaux GL & MCOO A. Abdellatif Diagramme de déploiement : Concepts de base Le diagramme de déploiement se base sur les concepts suivants : Noeud : Description d’un dispositif matériel. Composant : Composante logicielle. Association de noeud : Relation entre deux noeuds. UML : Modélisation statique 56 Instance de noeud : C’est une occurrence d’un dispositif matériel.
  • 29. 29 GL & MCOO A. Abdellatif Diagramme de déploiement : Les noeuds Chaque dispositif matériel est représenté par un noeud. Un nœud est décrit par : Un nom (obligatoire) Un stéréotype (serveur, client, imprimante, routeur, …) UML : Modélisation statique 57 p , , ) Une adresse réseau Une cardinalité GL & MCOO A. Abdellatif Diagramme de déploiement : Les nœuds : représentation <<Serveur de données>> SD 190.190.10.10 Nom du noeud Type de dispositif UML : Modélisation statique 58 Adresse réseau 1 Cardinalité
  • 30. 30 GL & MCOO A. Abdellatif Diagramme de déploiement : Les composants Dans chaque nœud, on peut indiquer les composants logiciels qui vont y être installés. On utilise le même formalisme que celui du diagramme de composants. UML : Modélisation statique 59 GL & MCOO A. Abdellatif Diagramme de déploiement : Les composants: représentation <<Serveur de données>> SD 190.190.10.10 UML : Modélisation statique 60 1 SGBD Oracle
  • 31. 31 GL & MCOO A. Abdellatif Diagramme de déploiement : Les associations Les nœuds sont inter reliés par des i iassociations. Chaque association entre deux nœuds représente l’existence d’un support de communication entre eux. Pour chaque association, on peut préciser : Le nom UML : Modélisation statique 61 Le nom Le rôle de chaque côté La cardinalité GL & MCOO A. Abdellatif Diagramme de déploiement : Les associations:représentation Nom association 1..1 Rôle 1 1..* Rôle 2 Noeud 1 Noeud 2 UML : Modélisation statique 62
  • 32. 32 GL & MCOO A. Abdellatif Diagramme de déploiement : Les associations:exemple OAS TCP-IP1..3 1..1 Internet 1..1 Serveur Applications Serveur de données SGBD Oracle IIS CRM UML : Modélisation statique 63 0..* USB Client Imprimante Navigateur GL & MCOO A. Abdellatif Diagramme de déploiement : Instances de noeud Dans un diagramme de déploiement, on peut é l i d dreprésenter les instances des nœuds. Cette possibilité est utilisée surtout pour représenter de façon exhaustive des parties du diagramme de déploiement. Les instances de nœuds se distinguent des nœuds par le fait que leurs noms sont UML : Modélisation statique 64 nœuds par le fait que leurs noms sont soulignés.
  • 33. 33 GL & MCOO A. Abdellatif Diagramme de déploiement : Les associations:représentation Instance de nœud UML : Modélisation statique 65 GL & MCOO A. Abdellatif Diagramme de déploiement : Les associations:exemple Serveur app 1 Serveur app 2 Serveur de données UML : Modélisation statique 66 Serveur app 3
  • 34. 34 GL & MCOO A. Abdellatif Synthèse Utiliser les diagrammes de classes pour décrire des composantes structurelles d’undécrire des composantes structurelles d un SI. Utiliser les diagrammes d’objets pour illustrer et tester les diagrammes de classes. Utiliser les diagrammes de composants pour montrer la façon selon laquelle le logiciel sera découpé en composantes UML : Modélisation statique 67 logiciel sera découpé en composantes. Utiliser les diagrammes de déploiement pour envisager les différentes façons selon lesquelles le logiciel peut être exploité.