Conception Orientée Objet

Génie logiciel, Modélisation statique · course

Voir tous les documents en génie logiciel

Conception Orient´ee Objet

G´enie logiciel

Mod´elisation statique

I. MOUAKHER-ABDELMOULA

2012-2013

Introduction

Introduction

La mod´elisation statique d’un systeme consiste a d´ecrire les composantes

de ce dernier sans tenir compte de leur ´evolution dans le temps.

Diagramme de classes

Diagramme d’objets

Diagramme de composants

Diagramme de d´eploiement

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(2/44)

Premi`ere partie I

Diagramme de classes

Diagramme de classes

Repr´esente les classes constituant le syst`eme et les associations entre

elles.

C’est le diagramme le plus important de la mod´elisation orient´ee

objet.

Regroupe les classes du monde r´eel et les classes n´ecessaires `a

l’impl´ementation du syst`eme.

Permet de g´en´erer la base de donn´ees et les classes utilis´ees dans la

programmation des applications

I. MOUAKHER-ABDELMOULA

Conception Orient´ee 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´emantique, des propri´et´es et un comportement communs.

Association : Relation s´emantique entre deux ou plusieurs classes.

Propri´et´e (attribut) : ´el´ement permettant de d´ecrire une classe ou

une association.

M´ethode : Op´eration r´ealis´ee par les objets d’une classe.

Paquetage : D´ecomposition du diagramme de classes

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(5/44)

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(6/44)

Deuxi`eme partie II

Diagramme d’objets

D´efinitions

Repr´esentation

Classe & Objet

Une classe repr´esente la description abstraite d’un ensemble d’objets

poss´edant les mˆemes caract´eristiques. On peut parler ´egalement de

type.

Exemples : la classe Voiture, la classe Personne.

Un objet est une entit´e aux fronti`eres bien d´efinies, poss´edant une

identit´e et encapsulant un ´etat et un comportement. Un objet est

une instance (ou occurrence) d’une classe.

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(8/44)

D´efinitions

Repr´esentation

Diagramme d’objets

Represente des objets (i.e. instances de classes) et leurs liens (i.e.

instances de relations) pour donner une vue fig´ee de l’´etat d’un

systeme `a 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´ee Objet

(9/44)

D´efinitions

Repr´esentation

Concepts de base

Le diagramme de classes se base sur les concepts suivants :

Objet : Description d’un objet du monde r´eel (instance de classe).

Lien : Relation s´emantique entre deux ou plusieurs objets (instance

d’association).

Valeur : Valeur d’une propri´et´e relative `a un objet.

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(10/44)

D´efinitions

Repr´esentation

Objets

Liens

Objets composites

H´eritage

Repr´esentation d’un objet

Caract´eris´e par une identite et valeurs d’attribut

Attributs facultatifs (uniquement si int´eressants)

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(11/44)

NomObjet : NomClasseNomAttribut=valeurD´efinitions

Repr´esentation

Objets

Liens

Objets composites

H´eritage

Repr´esentation des liens

Publicité

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(12/44)

patientanalyseordonnance1..11..1 : patientordonnancea1 : analysea2 : analysea3 : analysepersonnepatron+collaborateur*1Etienne : personnePaul : personnejacque : personneD´efinitions

Repr´esentation

Objets

Liens

Objets composites

H´eritage

Objets composites

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(13/44)

voiturerouemoteur41 : voiture : roue : roue : roue : roue: moteur : voiture : roue: moteur 4D´efinitions

Repr´esentation

Objets

Liens

Objets composites

H´eritage

H´eritage

Pas de lien d’h´eritage

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(14/44)

personneétudiantenseignantEtienne : étudiantEmilie : enseignantClode : personneD´efinitions

Repr´esentation

Objets

Liens

Objets composites

H´eritage

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(15/44)

Troisi`eme partie III

Diagramme de composants

Introduction

Composant & interface

Port

Assemblage

Structure interne

Diagramme de composants

mod´elisation du syst`eme sous forme de composants r´eutilisables

met en ´evidence les relations de d´ependance entre composants

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(17/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Pourquoi des composants ?

R´eutilisabilit´e : aptitude d’un logiciel `a ˆetre r´eutilis´e, en tout ou en

partie, dans de nouvelles applications

La r´eutilisabilit´e est un facteur important pour la qualit´e d’un

logiciel.

Une classe, de part sa faible granularit´e et ses connexions fig´ees, ne

favorise pas la r´eutilisabilit´e.

Pour faire face a ce probleme : les composants.

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(18/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Programmation par composants

La programmation par composants constitue une ´evolution

technologique soutenue par de nombreuses plateformes (composants

EJB, CORBA, .Net, WSDL)

Met l’accent sur la r´eutilisation du composant et l’ind´ependance de

son ´evolution vis-`a-vis des applications qui l’utilisent.

S’integre tres bien dans le contexte de la programmation orient´ee

objet : assimilable `a une approche objet, non pas au niveau du code,

mais au niveau de l’architecture g´en´erale du logiciel (changement

d’´echelle).

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(19/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Notion de composant

Interface

Repr´esentation

Notion de composant

Un composant doit fournir un service bien pr´ecis.

Les fonctionnalit´es qu’il encapsule doivent ˆetre coh´erentes entre elles

et g´en´eriques (r´eutilisable)

Un composant est une unit´e autonome repr´esent´ee par un classeur

structur´e, st´er´eotyp´e (cid:28)component(cid:29), comportant une ou plusieurs

interfaces requises ou offertes.

Son comportement interne est masqu´e

Pour pouvoir substituer un composant par un autre il suffit de

respecter les interfaces requises et offertes

Les composants impl´ementent typiquement des services sp´ecifiques `a

l’application

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(20/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Notion de composant

Publicité

Interface

Repr´esentation

Remarque

UML1 :composant =n’importe quel element, y compris fichiers,

bibliotheque, etc.

`a partir de UML2.0 utiliser les artefacts (voir Diagramme de

d´eploiement) pour representer des structures physiques (La

manifestation concr`ete d’un composant est un art´efact)

attention : verifier quelle syntaxe est utilisee dans les diagrammes de

composants

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(21/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Notion de composant

Interface

Repr´esentation

Interface

Permet a un composant d’exposer les moyens a utiliser pour

communiquer avec lui

Types d’interfaces

Interface offerte : d´efinit la fa¸con de demander l’acces a un service

offert par le composant

Interface requise : d´efinit le type de services (aide) requis par le

composant

Une interface est attach´ee `a un port du composant

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(22/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Notion de composant

Interface

Repr´esentation

Repr´esentation - Composant et interface(1/2)

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(23/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Notion de composant

Interface

Repr´esentation

Repr´esentation - Composant et interface(2/2)

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(24/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

D´efinition

Repr´esentation

Port

Un port est un point de connexion entre un classeur et son

environnement.

Plusieurs ports peuvent ˆetre d´efinis pour le mˆeme composants selon

le mode d’interaction utilis´e

G´en´eralement, un port est associ´e `a 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´ependance entre le comosant et son environnement)

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(25/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

D´efinition

Repr´esentation

Repr´esentation

Graphiquement, un port est repr´esent´e par un petit carr´e `a cheval

sur la bordure du contour du classeur.

On peut faire figurer le nom du port `a proximit´e de sa repr´esentation.

Les ports peuvent ˆetre typ´es par des interfaces

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(26/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Assemblage de composants (composition)

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(27/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(28/44)

Introduction

Publicité

Composant & interface

Port

Assemblage

Structure interne

Composant composite

Composant & Classe

Structure interne

Un composant ´etant un classeur structur´e, on peut en d´ecrire la

structure interne. L’impl´ementation d’un composant peut ˆetre

r´ealis´ee par :

d’autres composants (Composant composite)

des classes

des artefacts qui l’implantent concr`etement (voir diagramme de

d´eploiement)

Les ´el´ements d’un composant peuvent ˆetre repr´esent´es dans le

symbole du composant, ou `a cˆot´e en les reliant au composant par

une relation de d´ependance.

I. MOUAKHER-ABDELMOULA

Conception Orient´ee 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´ee Objet

(30/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Composant composite

Composant & Classe

Composant composite - Connecteur

Deux types de connecteurs

De d´el´egation : lie un port du composite `a un port d’un de ses

´el´ements

D’assemblage : lie une interface d’un ´el´ement interne avec celle d’un

autre ´el´ement interne

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(31/44)

Introduction

Composant & interface

Port

Assemblage

Structure interne

Composant composite

Composant & Classe

Composant & Classe

Toute les classes doivent ˆetre plac´ees dans les composants

Les d´ependances entre composants doivent suppporter

les associations entre classes (diag. de classe)

l’envoi de messages (diag. d’int´eraction)

Les interfaces doivent rassembler

la liste des op´erations publiques des classes du composants

´eventuellement la liste des attributs publics

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(32/44)

Quatri`eme partie IV

Diagramme de d´eploiement

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 ´el´ements mat´eriels

leurs interconnexions physiques ;

la disposition des fichiers (ex´ecutables, librairies, etc.) sur ces

´el´ements mat´eriels

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(34/44)

Noeud

Supports de communication

Artifact

Noued(1/2)

un noued repr´esente une ressource informatique :

environnement d’ex´ecution ((cid:28) executionEnvironnement (cid:29))

simple p´erifirique ((cid:28) device (cid:29))

Exemples : Ordinateurs, Serveurs, p´erif´eriques, Smartphone,

Syst`emes d’exploitation, Ruteurs, Switches, Firewalls...

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(35/44)

Noeud

Supports de communication

Artifact

Noued (2/2)

Les diagrammes de d´eploiement peuvent montrer des instances de

noeuds (un mat´eriel pr´ecis), ou des classes de noeuds.

un noeud peut ˆetre constitu´e de plusieurs autres noeud

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(36/44)

NoeudNodeInstance1:NoeudServer<<device>>MySQL 5.5<<database>>Noeud

Supports de communication

Artifact

D´efinition et repr´esentation

Publicité

Exemple

Supports de communication

un noeud peut ˆetre interconnect´e de plusieurs autres noued grˆace `a

des chemins de communication

Relations entre noueds

St´eriotyp´e par le nom du protocole de communication

Repr´esentation

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(37/44)

Node1Node2<<HTTP>>Noeud

Supports de communication

Artifact

D´efinition et repr´esentation

Exemple

Quelques st´eriotype

(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´ee Objet

(38/44)

Noeud

Supports de communication

Artifact

D´efinition et repr´esentation

Exemple

Exemple

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(39/44)

Browser ClientWeb serverApplication serverEJB Container<<executionEnvironment>>Database Mgt System<<HTTP>><<RMI>>ODBCNoeud

Supports de communication

Artifact

Repr´esentation

La relation de manifestation

(cid:28) deployment specification (cid:29)

Exemple

Artifact

un noeud est une entit´e sur laquelle les artifact peuvent ˆetre d´eploy´es

un artifact peut repr´esenter n’importe quelle information physique

dont a besoin la plate-forme d’ex´ecution sur laquelle l’application

sera d´eploy´ee

Exemples : fichier, un scipt ou un mod`ele

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(40/44)

Noeud

Supports de communication

Artifact

Repr´esentation

La relation de manifestation

(cid:28) deployment specification (cid:29)

Exemple

Repr´esentation d’un artifact

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(41/44)

(1)(2)(3)Noeud

Supports de communication

Artifact

Repr´esentation

La relation de manifestation

(cid:28) deployment specification (cid:29)

Exemple

La relation de manifestation

On dit qu’un artefact peut manifester, c’est-`a-dire r´esulter et

impl´ementer, un ensemble d’´el´ements de mod`ele.

On appelle manifestation la relation entre un ´el´ement de mod`ele et

l’artefact qui l’impl´emente.

Exemple : artifacts manifestant un composant

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(42/44)

Noeud

Supports de communication

Artifact

Repr´esentation

La relation de manifestation

(cid:28) deployment specification (cid:29)

Exemple

(cid:28) deployment specification (cid:29)

I. MOUAKHER-ABDELMOULA

Conception Orient´ee Objet

(43/44)

Noeud

Supports de communication

Artifact

Repr´esentation

La relation de manifestation

(cid:28) deployment specification (cid:29)

Exemple

Exemple

Un serveur d’application sur lequel sont d´eploy´es plusieurs

artifact(sp´ecifiques 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´ee Objet

(44/44)

:AppServer1ShoppingApp.ear<<artifact>>ShoppinCart.jar<<artifact>>Order.jar<<artifact>>