Conception Orientée Objet
Génie logiciel
Modélisation statique
I. MOUAKHER-ABDELMOULA
2012-2013
Introduction
Introduction
La modélisation statique d’un systeme consiste a décrire les composantes
de ce dernier sans tenir compte de leur évolution dans le temps.
Diagramme de classes
Diagramme d’objets
Diagramme de composants
Diagramme de déploiement
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(2/44)
Première partie I
Diagramme de classes
Diagramme de classes
Représente les classes constituant le systè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.
Permet de générer la base de données et les classes utilisées dans la
programmation des applications
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(4/44)
Diagramme de classes
Le diagramme de classes se base sur les 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.
Méthode : Opération réalisée par les objets d’une classe.
Paquetage : Décomposition du diagramme de classes
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(5/44)
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(6/44)
Deuxième partie II
Diagramme d’objets
Définitions
Représentation
Classe & Objet
Une classe représente la description abstraite d’un ensemble d’objets
possédant les mêmes caractéristiques. On peut parler également de
type.
Exemples : la classe Voiture, la classe Personne.
Un objet est une entité aux frontières bien définies, possédant une
identité et encapsulant un état et un comportement. Un objet est
une instance (ou occurrence) d’une classe.
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(8/44)
Définitions
Représentation
Diagramme d’objets
Represente des objets (i.e. instances de classes) et leurs liens (i.e.
instances de relations) pour donner une vue figée de l’état d’un
systeme à un instant donne
Peut etre utilise pour
illustrer le modele de classes en montrant un exemple qui explique le
modele
preciser certains aspects du systeme en mettant en evidence des
details imperceptibles dans le diagramme de classes
exprimer une exception en modelisant des cas particuliers ou des
connaissances non generalisables qui ne sont pas modelises dans un
diagramme de classe
Le diagramme de classes modelise les regles et le diagramme
d’objets modelise des faits
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(9/44)
Définitions
Représentation
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).
Valeur : Valeur d’une propriété relative à un objet.
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(10/44)
Définitions
Représentation
Objets
Liens
Objets composites
Héritage
Représentation d’un objet
Caractérisé par une identite et valeurs d’attribut
Attributs facultatifs (uniquement si intéressants)
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(11/44)
NomObjet : NomClasseNomAttribut=valeurDéfinitions
Représentation
Objets
Liens
Objets composites
Héritage
Représentation des liens
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(12/44)
patientanalyseordonnance1..11..1 : patientordonnancea1 : analysea2 : analysea3 : analysepersonnepatron+collaborateur*1Etienne : personnePaul : personnejacque : personneDéfinitions
Représentation
Objets
Liens
Objets composites
Héritage
Objets composites
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(13/44)
voiturerouemoteur41 : voiture : roue : roue : roue : roue: moteur : voiture : roue: moteur 4Définitions
Représentation
Objets
Liens
Objets composites
Héritage
Héritage
Pas de lien d’héritage
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(14/44)
personneétudiantenseignantEtienne : étudiantEmilie : enseignantClode : personneDéfinitions
Représentation
Objets
Publicité
Liens
Objets composites
Héritage
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(15/44)
Troisième partie III
Diagramme de composants
Introduction
Composant & interface
Port
Assemblage
Structure interne
Diagramme de composants
modélisation du système sous forme de composants réutilisables
met en évidence les relations de dépendance entre composants
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(17/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Pourquoi des composants ?
Réutilisabilité : aptitude d’un logiciel à être réutilisé, en tout ou en
partie, dans de nouvelles applications
La réutilisabilité est un facteur important pour la qualité d’un
logiciel.
Une classe, de part sa faible granularité et ses connexions figées, ne
favorise pas la réutilisabilité.
Pour faire face a ce probleme : les composants.
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(18/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Programmation par composants
La programmation par composants constitue une évolution
technologique soutenue par de nombreuses plateformes (composants
EJB, CORBA, .Net, WSDL)
Met l’accent sur la réutilisation du composant et l’indépendance de
son évolution vis-à-vis des applications qui l’utilisent.
S’integre tres bien dans le contexte de la programmation orientée
objet : assimilable à une approche objet, non pas au niveau du code,
mais au niveau de l’architecture générale du logiciel (changement
d’échelle).
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(19/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Notion de composant
Interface
Représentation
Notion de composant
Un composant doit fournir un service bien précis.
Les fonctionnalités qu’il encapsule doivent être cohérentes entre elles
et génériques (réutilisable)
Un composant est une unité autonome représentée par un classeur
structuré, stéréotypé (cid:28)component(cid:29), comportant une ou plusieurs
interfaces requises ou offertes.
Son comportement interne est masqué
Pour pouvoir substituer un composant par un autre il suffit de
respecter les interfaces requises et offertes
Les composants implémentent typiquement des services spécifiques à
l’application
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(20/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Notion de composant
Interface
Représentation
Remarque
UML1 :composant =n’importe quel element, y compris fichiers,
bibliotheque, etc.
à partir de UML2.0 utiliser les artefacts (voir Diagramme de
déploiement) pour representer des structures physiques (La
manifestation concrète d’un composant est un artéfact)
attention : verifier quelle syntaxe est utilisee dans les diagrammes de
composants
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(21/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Notion de composant
Interface
Représentation
Interface
Permet a un composant d’exposer les moyens a utiliser pour
communiquer avec lui
Types d’interfaces
Interface offerte : définit la façon de demander l’acces a un service
offert par le composant
Interface requise : définit le type de services (aide) requis par le
composant
Une interface est attachée à un port du composant
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(22/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Notion de composant
Interface
Représentation
Représentation - Composant et interface(1/2)
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(23/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Notion de composant
Interface
Représentation
Représentation - Composant et interface(2/2)
Publicité
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(24/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Définition
Représentation
Port
Un port est un point de connexion entre un classeur et son
environnement.
Plusieurs ports peuvent être définis pour le même composants selon
le mode d’interaction utilisé
Généralement, un port est associé à une interface requise ou offerte.
L’utilisation des ports permet de modifier la structure interne d’un
classeur sans affecter les clients externes (un grand niveau
d’indépendance entre le comosant et son environnement)
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(25/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Définition
Représentation
Représentation
Graphiquement, un port est représenté par un petit carré à cheval
sur la bordure du contour du classeur.
On peut faire figurer le nom du port à proximité de sa représentation.
Les ports peuvent être typés par des interfaces
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(26/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Assemblage de composants (composition)
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(27/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(28/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Composant composite
Composant & Classe
Structure interne
Un composant étant un classeur structuré, on peut en décrire la
structure interne. L’implémentation d’un composant peut être
réalisée par :
d’autres composants (Composant composite)
des classes
des artefacts qui l’implantent concrètement (voir diagramme de
déploiement)
Les éléments d’un composant peuvent être représentés dans le
symbole du composant, ou à côté en les reliant au composant par
une relation de dépendance.
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(29/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Composant composite
Composant & Classe
Composant composite
Composant peut etre forme de composants internes assembles par
leurs interfaces
Composition hierarchique de composants
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(30/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Composant composite
Composant & Classe
Composant composite - Connecteur
Deux types de connecteurs
De délégation : lie un port du composite à un port d’un de ses
éléments
D’assemblage : lie une interface d’un élément interne avec celle d’un
autre élément interne
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(31/44)
Introduction
Composant & interface
Port
Assemblage
Structure interne
Composant composite
Composant & Classe
Composant & Classe
Toute les classes doivent être placées dans les composants
Les dépendances entre composants doivent suppporter
les associations entre classes (diag. de classe)
l’envoi de messages (diag. d’intéraction)
Les interfaces doivent rassembler
la liste des opérations publiques des classes du composants
éventuellement la liste des attributs publics
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(32/44)
Quatrième partie IV
Diagramme de déploiement
Noeud
Supports de communication
Artifact
Introduction
Disposition physique des differents materiels qui entrent dans la
composition d’un systeme, ainsi que disposition des programmes
executables sur ces materiels.
identifient les éléments matériels
leurs interconnexions physiques ;
la disposition des fichiers (exécutables, librairies, etc.) sur ces
éléments matériels
Publicité
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(34/44)
Noeud
Supports de communication
Artifact
Noued(1/2)
un noued représente une ressource informatique :
environnement d’exécution ((cid:28) executionEnvironnement (cid:29))
simple périfirique ((cid:28) device (cid:29))
Exemples : Ordinateurs, Serveurs, périfériques, Smartphone,
Systèmes d’exploitation, Ruteurs, Switches, Firewalls...
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(35/44)
Noeud
Supports de communication
Artifact
Noued (2/2)
Les diagrammes de déploiement peuvent montrer des instances de
noeuds (un matériel précis), ou des classes de noeuds.
un noeud peut être constitué de plusieurs autres noeud
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(36/44)
NoeudNodeInstance1:NoeudServer<<device>>MySQL 5.5<<database>>Noeud
Supports de communication
Artifact
Définition et représentation
Exemple
Supports de communication
un noeud peut être interconnecté de plusieurs autres noued grâce à
des chemins de communication
Relations entre noueds
Stériotypé par le nom du protocole de communication
Représentation
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(37/44)
Node1Node2<<HTTP>>Noeud
Supports de communication
Artifact
Définition et représentation
Exemple
Quelques stériotype
(cid:28) HTTP (cid:29) : Hypertext Transport Protocol
(cid:28) TCP/IP (cid:29) : Transmission Control Protocol/ Internet Protocol
(cid:28) RMI (cid:29) : Remote Method Invocation
(cid:28) JDBC (cid:29) : Java Database connectivity
(cid:28) ODBC (cid:29) : Open Database connectivity
(cid:28) RPC (cid:29) : Remote Procedure Calls
(cid:28) asynchronous (cid:29)
(cid:28) synchronous (cid:29)
(cid:28) Web service (cid:29)
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(38/44)
Noeud
Supports de communication
Artifact
Définition et représentation
Exemple
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(39/44)
Browser ClientWeb serverApplication serverEJB Container<<executionEnvironment>>Database Mgt System<<HTTP>><<RMI>>ODBCNoeud
Supports de communication
Artifact
Représentation
La relation de manifestation
(cid:28) deployment specification (cid:29)
Exemple
Artifact
un noeud est une entité sur laquelle les artifact peuvent être déployés
un artifact peut représenter n’importe quelle information physique
dont a besoin la plate-forme d’exécution sur laquelle l’application
sera déployée
Exemples : fichier, un scipt ou un modèle
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(40/44)
Noeud
Supports de communication
Artifact
Représentation
La relation de manifestation
(cid:28) deployment specification (cid:29)
Exemple
Représentation d’un artifact
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(41/44)
(1)(2)(3)Noeud
Supports de communication
Artifact
Représentation
La relation de manifestation
(cid:28) deployment specification (cid:29)
Exemple
La relation de manifestation
On dit qu’un artefact peut manifester, c’est-à-dire résulter et
implémenter, un ensemble d’éléments de modèle.
On appelle manifestation la relation entre un élément de modèle et
l’artefact qui l’implémente.
Exemple : artifacts manifestant un composant
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(42/44)
Noeud
Supports de communication
Artifact
Représentation
La relation de manifestation
(cid:28) deployment specification (cid:29)
Exemple
(cid:28) deployment specification (cid:29)
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(43/44)
Noeud
Supports de communication
Artifact
Représentation
La relation de manifestation
(cid:28) deployment specification (cid:29)
Exemple
Exemple
Un serveur d’application sur lequel sont déployés plusieurs
artifact(spécifiques de la plate-forme J2EE) composition entre artifact :
l’artifact ShoppingApp.ear contient les artifacts ShoppingCart.jar et
Order .jar
I. MOUAKHER-ABDELMOULA
Conception Orientée Objet
(44/44)
:AppServer1ShoppingApp.ear<<artifact>>ShoppinCart.jar<<artifact>>Order.jar<<artifact>>