Conception Orientée Objet

Page 1 sur 44Lecteur de document UniversityLib

Conception Orientée Objet

Génie logiciel, Modélisation statique · course

Voir tous les documents en génie logiciel

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>>