You are on page 1of 19

Mr.

KAIS BEN SALAH

MOOC

Chapitre 2 Introduction UML


I- Introduction
UML pour Unified Modeling Language standardis par lOMG (Object Management Group : www.OMG.org) est une notation base principalement sur les mthodes BOOCH (de BOOCH), OMT de Rumbaugh et OOSE de Jacobson. LUML a t propos afin de standardiser les produits de dveloppement (modle, notation, diagramme) sans standardiser le processus de dveloppement. Il est en fait trs difficile de standardiser le processus de dveloppement qui dpend des personnes, des applications, des cultures, etc. UML se propose de crer un langage de modlisation utilisable la fois par les humains (forme graphique) et les machines (syntaxe prcise). La Figure suivante rsume UML avec ses 5 vues et ses 9 diagrammes.

Les vues et les diagrammes dUML

En rsum : UML est une notation, pas une mthode. UML est un langage de modlisation objet. UML convient pour toutes les mthodes objet. UML est dans le domaine public. UML a pour but de documenter les modles objets.

Mr. KAIS BEN SALAH

MOOC

UML sert : - dcomposer le processus de dveloppement - mettre en relation les experts des mtiers et les analystes - coordonner les quipes danalyse et de conception - sparer lanalyse de la ralisation - prendre en compte lvolution de lanalyse et du dveloppement - migrer facilement vers une architecture objet dun point de vue statique et dynamique

La vue statique est caractrise par : Les cas dutilisation Diagramme dobjet Diagramme de classes Diagramme de composants Diagramme de dploiement

La vue dynamique est caractrise par : Diagramme de collaboration Diagramme de squence Diagramme dtat-transition Diagramme dactivits

II- Concept objet


La mthode Merise utilise deux types de modles pour dcrire une application : - Un modle de donnes - Un modle de traitement Lapproche objet repose sur : - Lassociation des donnes et des traitements dans une mme entit - Lencapsulation masquant les donnes et traitements internes - Un niveau abstrait de manipulation des entits base de classes et un niveau concret base dinstance - Lidentification de chaque instance - Des niveaux daccs aux donnes et traitements (publique, priv et protg) - La sparation des interfaces de manipulation de limplmentation des traitements - Un mcanisme dhritage (hritage pour gnraliser ou spcialiser) - Le polymorphisme : ad hoc (surcharge), paramtrique (gnricit) et dhritage (redfinition).

III- Phase danalyse et de Conception UML


Les tapes de construction dapplication aboutissent sur lmergence de modles. 1- Les uses cases (les cas dutilisation) Ils sont issus de la mthode OOSE de Jakobson. Il sagit dune reprsentation oriente fonctionnalit du systme rsultant de la spcification. 9

Mr. KAIS BEN SALAH Ils intgrent : - Des acteurs externes au systme (primaires ou secondaires). - Des actions (cas dutilisation) permises par le systme.

MOOC

Les cas dutilisation dlimitent le systme, ses fonctions (ses cas), et ses relations avec son environnement. Ils constituent un moyen de dterminer les besoins du systme. Ils permettent dimpliquer les utilisateurs ds les premiers stades du dveloppement pour exprimer leurs attentes et leurs besoins (analyse des besoins). Ils constituent un fil conducteur pour le projet et la base pour les tests fonctionnels. Un acteur est une personne ou un systme qui interagit avec le systme tudi en changeant de linformation (en entre et en sortie). On trouve les acteurs en observant les utilisateurs directs du systme, les responsables de la maintenance ainsi que les autres systmes qui interagissent avec lui. Un acteur reprsente un rle jou par un utilisateur qui interagit avec le systme. La mme personne physique peut jouer le rle de plusieurs acteurs. Dautre part, plusieurs personnes peuvent jouer le mme rle et donc agir comme un mme acteur.

uses Rservation

Authentification Adhrent

uses

uses

Restitution

Emprunt Bibliothcaire extends

Emprunt Compte VIP Le cadre Dlimite le champs du systme dinformation

Diagramme de cas dutilisation : Mdiathque

10

Mr. KAIS BEN SALAH Il est possible de simplifier les actions avec deux types de relations :

MOOC

La relation "extends" : Intgre les caractristiques du use case point La relation "uses" : Indique qu'un use case fait partie d'un sous-ensemble

Les cas dutilisation reprsentent le dialogue entre lacteur et le systme de manire abstraite. Les communications peuvent tre orientes ou pas. 2- Les diagrammes dobjets a- Les objets Les objets informatiques dfinissent une reprsentation simplifie des entits du monde rel, quil sagisse dentits concrtes (avec une ralit physique) ou conceptuelles. Les objets sont des abstractions qui mettent en avant les caractristiques essentielles et dissimulent les dtails. Une abstraction se dfinit par rapport un point de vue (tout dpend de lintrt que lon porte lobjet). Les trois caractristiques fondamentales des objets sont : - Ltat - Le comportement - Lidentit Ltat correspond aux valeurs instancies de tous les attributs de lobjet. Ltat volue au cours du temps. Exemple : pour une voiture, ltat est, la valeur de la marque, de la puissance, de la couleur

: Un e v o i t u r e Couleur = Gris Poids = 1200 k g Puissance = 5 C V Es s e n c e = 30 litres

Son tat

Le comportement dcrit les actions et les ractions dun objet. Le comportement matrialise sous la forme dun ensemble doprations (mthodes et fonctions). Un objet peut faire appel aux comptences dun autre objet par linvocation dune opration (ou envoi de message). Les messages servent implanter les flots de donnes, les flots de donnes, les vnements, Ltat et le comportement sont lis : - Le comportement dpend de ltat (la prcondition de lopration de lopration : le message peut tre accept ou refus). - Ltat est modifi par le comportement (la postcondition de lopration).

11

Mr. KAIS BEN SALAH

MOOC

: Un e v o i t u r e Couleur = Gris Poids = 1200 k g Puissance = 5 C V Essence =

Se-Dplacer (120 km)

30 litres
Changement dtat

: Un e v o i t u r e Couleur = Gris Poids = 1200 k g Puissance = 5 C V Essence =

24 litres

Tout objet possde possde une identit (non modifiable) qui lui est propre et qui le caractrise. Lidentit permet de distinguer tout objet de faon non ambigu indpendamment de son tat (valeurs de ses attributs). Classe dobjet Etudiant : Etudiant OU instances dobjet Mohammed : Etudiant

3- Les diagrammes de Classes La classe est la description abstraite dun ensemble dobjets. Elle peut tre vu comme la factorisation des lments communs un ensemble dobjets. Nom de la classe

+ Attribut public : Type = valeur initiale - Attribut priv : Type 1 # Attribut protg : Type n + Opration publique ( ) - Opration prive ( ) # Opration protge ( )

12

Mr. KAIS BEN SALAH Exemples : 1Commentaires

MOOC

2Tlviseur + Modle : string Instanciation Allumer ( ) Eteindre ( ) Changer de programme ( ) Rgler le volume ( )

TV1 : Tlviseur Modle : Tlviseur LCD Full HD Sony KDL40W4000 - cran 102 cm

3Tlviseur Tlviseur

Association

Compos de : Agrgation Circuit

Utilisateur

13

Mr. KAIS BEN SALAH 4-

MOOC

Tlviseur 1

* (ou 4) Roue

1 Moteur

1 Carrosserie

5Tarte Fruit

Hrite

Tarte aux pommes Compose de

Pomme pommes

14

Mr. KAIS BEN SALAH 4- Les diagrammes de Collaboration

MOOC

Les diagrammes de collaborations font partie de la vue dynamique. Ils mettent laccent sur les relations spatiales entre les objets. Les messages entre ces derniers peuvent tre numrots pour introduire la dimension temporelle (point de vue ordre des messages). Exemple : Les messages entre les objets numrots

Message rflexif

Les objets

Ce diagramme est donc utilis pour illustrer comment les objets interagissent entre eux en changeant des messages. Ainsi, un diagramme de collaboration reprsente une collaboration, c'est--dire un ensemble de rles d'objet lis dans un contexte particulier, et une interaction, qui reprsente l'ensemble des messages changs entre les objets pour effectuer une opration ou produire un rsultat. Il s'agit d'un diagramme d'interaction qui affiche, pour un vnement systme dfini par un cas

15

Mr. KAIS BEN SALAH

MOOC

d'utilisation (cas d'utilisation : dans un diagramme de cas d'utilisation, reprsentation d'un ensemble d'vnements qui se produit lorsqu'un acteur utilise un systme pour terminer un processus. En temps normal, un cas d'utilisation est un processus relativement important (il ne s'agit pas d'une tape ou d'une transaction individuelle.), le mode de collaboration d'un groupe d'objets avec un autre. 5- Les diagrammes de squence Les principales informations contenues dans un diagramme de squence sont les messages changs entre les lignes de vie, prsents dans un ordre chronologique. Ainsi, contrairement au diagramme de communication, le temps y est reprsent explicitement par une dimension (la dimension verticale) et scoule de haut en bas. Ainsi, ces diagrammes mettent laccent sur les relations temporelles. Et des nombreuses notations annexes permettent de prciser la nature des messages (appel de procdure, simple signal, message rptitif, conditionnel, rflexif,) et les donnes transfres.

: Classe A Message simple()

: Classe B

Objet en attente

Objet actif

Tant queFaire

Rpter

Fin Tant que

Jusqu

Message aprs un temps (avec dlai)

Message rflexif () Message Synchrone ()

Message Asynchrone ()

16

Mr. KAIS BEN SALAH 6- Les diagrammes dtat (diagramme dtat transition)

MOOC

Les diagrammes dtat servent dcrire le comportement des objets (classes) complexes. Ce sont des diagrammes dtat tendus avec des conditions (gardes) sur les transitions et des actions sur les transitions et les tats. Ils sont attachs une classe dobjets. Ils dcrivent les squences dtats dun objet : en rponse aux stimuli reus en utilisant ses propres actions Dfinitions : Un tat est une condition dans la vie dun objet, pendant laquelle il satisfait quelques conditions, excute quelques actions ou attend quelques vnements. Un vnement est une occurrence remarquable, qui a la capacit de dclancher une transition dun tat vers un autre tat

Etat intermdiaire Etat initial Etat final

Evnement Etat 1 Etat 2

Comme nous lavons dj indiqu, ltat dun objet est dfini par les valeurs de ses attributs. Dans un diagramme dtat, il faut toujours avoir un tat initial, mais nous pouvons avoir plusieurs tats de fin.

17

Mr. KAIS BEN SALAH Exemple :

MOOC

Diagramme dtat (ordinateur)

Dmarrer En Attente Echec de dmarrage Dmarrage en cours

Dmarrage OK

Arrter le Traitement

En marche

Arrter lordinateur

Arrt

7- Les diagrammes dactivit Ces diagrammes sont des variantes des diagrammes dtat-transition, ils dcrivent le comportement dune opration ou dune mthode, ils permettent la mise en vidence de lorganisation des activits. Ils reprsentent la fois, les comportements conditionnels et parallles. Ils regroupent graphiquement les activits par objet. A un niveau macroscopique, les diagrammes dactivit permettent de dcrire des enchanements de fonctionnalits. Ils compltent donc bien les cas dutilisation au niveau de lanalyse des besoins. A un niveau microscopique, les diagrammes dactivit permettent, par exemple, de dcrire lalgorithme dune action dun diagramme dtats.

18

Mr. KAIS BEN SALAH Exemple :

MOOC

Client

Fournisseur

Commander un produit

Grer la commande

Recevoir le produit

Expdier le produit

Rgler la facture

Encaisser la facture

8- Les diagrammes de composants Les composants sont les parties lmentaires dun systme. Et puisque le systme est limplmentation dune ou plusieurs classes, un composant rside au niveau dun ordinateur et non pas dans la tte dun analyste. Les fichiers de donnes, les fichiers excutables, les documents et les librairies sont considrs comme des composants. Les diagrammes de composants sont en quelque sorte, la description de larchitecture logicielle.

19

Mr. KAIS BEN SALAH

MOOC

Ainsi, nous modlisons les composants et les relations qui permettent de les lier pour que: - Les clients peuvent visualiser la structure et les fonctionnalits du systme finalis, - Les dveloppeurs admettent une structure sur laquelle, ils peuvent travailler, - Les rdacteurs techniques peuvent fournir une documentation et des fichiers daide expliquant parfaitement le systme implment, - Le processus de rutilisation soit facile. Syntaxe

UML propose deux strotypes pour les composants : processus et Thread

Le module reprsente une unit pour le regroupement et la manipulation de composants. Exemple : le module Java java.lang contient les composants String, Integer, ...

20

Mr. KAIS BEN SALAH Exemples : 1-

MOOC

Module

Interface

Composants

2-

9- Les diagrammes de dploiement Ces diagrammes montrent comment les composants sont dploys sur le matriel (Hardware) et comment les composants hardware sont connects ensemble. Ainsi, ils reprsentent une description de larchitecture Hardware.

21

Mr. KAIS BEN SALAH Exemples : 1-

MOOC

2-

22

Mr. KAIS BEN SALAH

MOOC

IV- Elments dune dmarche


UML nimpose pas de processus. La dmarche naturelle, implique par la notation UML, part des cas dutilisation qui expriment un point de vue fonctionnel sur le systme. Puis les diagrammes de collaboration et de squence associs aux cas font apparatre les classes dobjets impliques dans le systme et donc passer une vue objets (cf. figure 26). Mais on peut aussi bien passer une vue hirarchie de fonctions partir des cas dutilisation. Diagrammes essentiels par phase : Analyse des besoins : cas dutilisation. Analyse du systme : diagrammes de classes, de collaboration, dactivits (enchanement des cas). Conception : diagrammes de classes, de squences, dactivits (conception des mthodes), dtats, de composants, de dploiement.

23

Mr. KAIS BEN SALAH

MOOC

24

Mr. KAIS BEN SALAH

MOOC

ANNEXE

Introduction JDBC
La technologie JDBC (Java DataBase Connectivity) est une API fournie avec Java (depuis sa version 1.1) permettant de se connecter des bases de donnes, c'est--dire que JDBC constitue un ensemble de classes permettant de dvelopper des applications capables de se connecter des serveurs de bases de donnes (SGBD). L'API JDBC a t dveloppe de telle faon permettre un programme de se connecter n'importe quelle base de donnes en utilisant la mme syntaxe, c'est--dire que l'API JDBC est indpendante du SGBD. De plus, JDBC bnficie des avantages de Java, dont la portabilit du code, ce qui lui vaut en plus d'tre indpendant de la base de donnes d'tre indpendant de la plate-forme sur laquelle elle s'excute.

L'accs aux bases de donnes avec JDBC


Dans un systme client/serveur, l'accs aux bases de donnes avec JDBC peut s'effectuer selon un modle deux couches ou bien un modle trois couches. Pour le modle deux couches, une application Java est intimement lie avec une base de donnes. A cet effet, il faut bien videmment disposer, pour la base de donnes concerne, d'un pilote JDBC adquat. Les instructions SQL sont directement envoyes la base, cette dernire renvoyant les rsultats par un biais tout aussi direct. La base de donnes peut tre excute sur la machine locale (celle sur laquelle l'application Java fonctionne) ou bien sur tout autre ordinateur du rseau (Intranet ou Internet).

Dans le modle 3 couches, une troisime couche (le serveur d'application) vient s'intercaler entre l'application Java et la base de donnes. Les instructions SQL et les rsultats livrs en

25

Mr. KAIS BEN SALAH

MOOC

retour y transitent. Ce modle prsente l'avantage d'intgrer dans cette couche un contrle d'accs.

26

You might also like