Вы находитесь на странице: 1из 82

UML

diagramme de classes
Unified Modeling Language

le langage de modlisation objet unifi

Bibliographie UML

Le guide de l'utilisateur UML (2000) Grady Booch, James


Rumbaugh, et Ivar Jacobson, Eyrolles (USA : Addison
Wesley 1999)
UML 2 Par La Pratique : tudes De Cas Et Exercices
Corrigs, Pascal Roques, Eyrolles
UML 2 Pour lanalyse dun systme dinformation, le
cahier des charges du matre douvrage, C. Morley, J.
Hugues, B. Leblanc, Dunod

Bibliographie UML

UML Resource Page


http://www.uml.org/

UML 2 Laurent Audiert


http://laurent-audibert.developpez.com/CoursUML/html/Cours-UML.html

UML en franais

http://uml.free.fr/
Analyse et Conception des Systmes d'Information Les
diagrammes de Unified Modeling Language (UML)
http://www.iutc3.unicaen.fr/~moranb/cours/acsi/menuc
oo.htm
Approche objet pour le dveloppement de logiciels par objets
avec UML de J.-M. Jzquel (IRISA)
http://www.irisa.fr/prive/jezequel/enseignement/
DvpObjetUML.htm

UML
1994 : 50 mthodes objet

Fusion des trois mthodes objet


OMT (Rumbaugh 1990)
Booch (Booch)
OOSE (Jacobson)

UML est le rsultat d'un large consensus


trs nombreux acteurs industriels (IBM, Oracle, HP,
Microsoft, ... Rational Software, Softeam)
Normalisation ISO en cours

Tout le monde partage une mme notation


("esperanto" informatique)
ouvert

Modlisation en plusieurs phases


enrichissement progressif

UML pourquoi faire ?

UML est un langage de modlisation


vocabulaire et rgles
centr sur la reprsentation d'un systme
Adaptable
pas de mthode de dveloppement
il ne fait que proposer un standard de
communication et un certain nombre dartefacts
utiles
Besoin de le coupler avec un modle de
conception (souvent rattach un format de cycle
de vie en V, cycle de vie en Y)

UML conu pour


Visualiser
langage graphique et textuel

Spcifier

prcis sans ambigut

Construire

possible de gnrer du code

Documenter

spcifier l'architecture du systme


exprimer les besoins
spcifier les tests
modliser la planification
grer des versions

Les 13 modles (diagrammes) UML


Statique

Diagramme de classes

ensemble de classes et de relations du systme ( extension dE/R )

Diagramme d'objets (statique)

ensemble d'objets des classes (cas rel ou prototype)

Diagramme de composants (statique)

organisation des ressources (bibliothques, fichiers, base de donnes)

Diagramme de dploiement (statique)

architecture et rpartition d un systme


il sert reprsenter les lments matriels (ordinateurs, priphriques,
rseaux, systmes de stockage...) et la manire dont les composants
du systme sont rpartis sur ces lments matriels et interagissent
entre eux.

Diagramme des paquetages (Package diagram)

un paquetage tant un conteneur logique permettant de regrouper et


d'organiser les lments dans le modle UML,

Diagramme de structure composite (Composite Structure


Diagram)

depuis UML 2.x, permet de dcrire sous forme de bote blanche les
relations entre composants d'une classe.

Les 13 modles (diagrammes) UML


Dynamique

Diagramme de cas d'utilisation


ensemble de cas dutilisation du systme :reprsente les acteurs et
leur activits
Facilite lexpression des besoins des utilisateurs
Diagramme d'tats-transitions
Cycle de vie dobjets (dynamique des tats)
bas sur le rseau de ptri
Diagramme d'activit
dcrit les rgles denchanement des activits
aide la conception de mthodes
bas sur le rseau de ptri
Diagramme de squence
exemple de fonctionnement pour un scnario donn
Diagramme de collaboration
dcrit les collaboration entre les objets (proche diagramme de
squence)
Diagramme de communication
reprsentation simplifie d'un diagramme de squence se
concentrant sur les changes de messages entre les objets.
Diagramme global d'interaction
permet de dcrire les enchanements possibles entre les scnarios
pralablement identifis sous forme de diagrammes de squences
Diagramme de temps
permet de dcrire les variations d'une donne au cours du temps.

Diagramme de classes
statique

Diagramme de classes
Dcrit de manire statique

la structure des objets du domaine danalyse


leurs associations

Diagramme de classes et ER (entit


association)
Le diagramme de classes

reprend les concepts de ER

Entit, association, cardinalit

Ajoute les concepts objet


Mthodes
Hritage

10

11

Les classes
Brique de base
Nom
attribut(s)
Opration(s) (mthode(s))

Nom de la classe
Reprsentation
simplifie

Nom de la classe :: Nom du paquetage


attribut
attribut : type
attribut : type = valeur par dfaut
Opration
Opration (paramtre mode_passage: type ) : type retour
mode_passage : in out inout

Reprsentation
gnrale
dune classe

Les associations

12

Les classes ne sont pas isoles


Une association met en correspondance
des lments densembles
Une association permet la description dun
concept laide dautres concepts
Une association est un lien stable entre
deux classes

Les associations entre classes


Notation
Voiture

Un humain a de 0 N vhicules
Une voiture a un et un seul propritaire
proprietaire

vehicules
0..*

possession

humain

Vue ensembliste
voiture

humain

13

Reprsentation des associations


Le nom
les cardinalits
1
avion
Les rles
vhicule
la navigabilit ( )
Remarques

propulsion

2..*

propulseur

14

Racteur

Pour lire une association il faut se situer du point de vue


de chaque classe lie
Lavion possde au minimum 2 racteurs et peut en avoir un
nombre illimit
Les racteurs jouent le rle de propulseur pour lavion

ici ont ne gre pas les avions en maintenance, pour


lesquels les racteurs peuvent ne pas tre prsents.

la navigabilit des associations

association

Rle A

Rle B

3 implications de navigabilit de A vers B


Conceptuelle
Le concept de A sappuie sur le concept de B

Logique
Les mthodes de A exploitent les mthodes de B

Physique
Les moyens daccs de A vers B seront
implments

15

16

cardinalit
Exactement un
Exactement
Plusieurs (0 ou Plus)
Optionnelle
1 ou plus
Cardinalit spcifique

1
i
*
0..1
1..*
1..2,4

17

Associations spcifiques
Rflexives

enfant

*
2
humain

A pour enfant

parent

agrgation de composition
Si lobjet Dossier disparat, les objets
Documents disparaissent aussi
cardinalit 1
Dossier

agrgation partage

Document

Si lobjet Equipe disparat, les objets Joueur


peuvent continuer
de vivre
Equipe_basket

Joueur
5..10

18

Association N-aires

Professeur

Enseignant

Enseigne

Matire

Destinataire
Classe
1..*
1..*
1..*
1..*
Professeur
Enseigne
Matire
Enseignant
Enseigne
1..*
1..* Destinataire
Classe

Association avec des attributs


examen
tudiant

candidat

objetExa

Matire

preuve
note : real

Remarque :
les associations avec attributs sont vues
comme des classes

19

20

Gnralisation
Simple

Multiple (pas en Java)

Bateau

Voiture

Bateau

tonnage

immatriculation

tonnage

dplacer()

dplacer()

naviguer()

Sous-marin
plonger()

Amphibie
dplacer()

21

Gnralisation des associations

Voiture

poids

Garage

rouler()

Voiture lectrique
batterie
rouler()

Remarque :
les voitures lectriques
ont un garage

22

Classes abstraites
Une classe abstraite {abstract} est une
classe dont les instances sont
obligatoirement les instances dune des
classes filles
exemple
humain (abstrait)
homme
femme
homme

femme

Opration abstraite
Dfinition
opration dune classe abstraite redfinie
dans toutes les classes filles

Exemple
FormeGraphique
{abstract}
calculerSurface() {abstract}

Carr
longueur
calculerSurface()

Cercle

rayon
calculerSurface()

23

24

Visibilit
Diffrentes visibilits des membres dune
classe
But :
encapsulation
Public = +
Protg = #

usager

hritier

Priv = implmentation

corps

25

Visibilit

Classe_1
+a1
- a2
#m1
+m2

Classe_2
+rle1
Classe_3
-rle2
Remarques :
attribut et rle : mthode : +

26

Les interfaces
Interface :
abstraction dun comportement
classe abstraite sans attribut

permet de dfinir plusieurs interfaces pour


la mme classe

Aff_ordi
PageXML
Aff_tablette

Les paquetages (packages)

27

Regroupement dlments de modlisation


classes, paquetages, acteurs, diagrammes
un lment appartient un seul paquetage
un paquetage peut avoir des sous paquetages
les classes dans un paquetage ont des rgles
de visibilit
(public, protg, priv)

graphique

Les paquetages (packages)

28

Paquetages (packages)
Les paquetages sont des lments d'organisation des
modles.
Ils regroupent des lments de modlisation, selon des
critres purement logiques.
Ils permettent d'encapsuler des lments de
modlisation (ils possdent une interface).
Ils permettent de structurer un systme en catgories
(vue logique) et sous-systmes (vue des composants).
Ils servent de "briques" de base dans la
construction d'une architecture.
Ils reprsentent le bon niveau de
graphique
granularit pour la rutilisation.
Les paquetages sont aussi des
espaces de noms.

29

Gnration
de code (Visio)
C++ Microsoft

voiture

-vehicules -proprietaire

-immatriculation : int
0..*

humain
-nom : wchar(idl)

#ifndef __code_essai__voiture__
#define __code_essai__voiture__

#ifndef __code_essai__humain__
#define __code_essai__humain__

// Include files
#include "humain.h"
class voiture
{
public:
voiture();
~voiture();

// Include files
#include "voiture.h"
class humain
{
public:
humain();
~humain();

std::set<voiture*> getVehicules() const


{
return vehicules;
}

long getImmatriculation() const


{
return immatriculation;
}

void setpropirietaire(const humain*


&the_propirietaire)
{
propirietaire = the_propirietaire;
}
private:
long immatriculation;
humain* propirietaire;
};
#endif // __code_essai__voiture__

void setVehicules(const std::set<voiture*>


&the_vehicules)
{
vehicules = the_vehicules;
}
private:
wchar_t nom;
std::set<voiture*> vehicules;
};
// END CLASS DEFINITION humain
#endif // __code_essai__humain__

30

Gnration de Code
(Java) avec
ArgoUML

import java.util.Vector;

public class Garage {


private String adresse;
/**
*
* @element-type Voiture
*/
public Vector vhicules;
public String getAdresse() {
public class Voiture {
return null;
protected int poids;
}}
public Garage lieu;
public void rouler() {
}}
--class VoitureElectrique
extends Voiture {
private int capaciteBatterie;
public void rouler() {
}}

Etude de cas
un systme de rservation de vol
(tir dUML2 par la pratique)

Les interviews des experts mtier auxquelles on a procd ont permis de


rsumer les connaissances du domaine sous la forme des phrases
suivantes :
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Des compagnies ariennes proposent diffrents vols.


Un vol est ouvert la rservation et referm sur ordre de la
compagnie.
Un client peut rserver un ou plusieurs vols, pour des
passagers diffrents.
Une rservation concerne un seul vol et un seul passager.
Une rservation peut tre annule ou confirme.
Un vol a un aroport de dpart et un aroport d'arrive.
Un vol a un jour et une heure de dpart, et un jour et une
heure d'arrive.
Un vol peut comporter des escales dans des aroports.
Une escale a une heure d'arrive et une heure de dpart.
Chaque aroport dessert une ou plusieurs villes.

Nous allons entreprendre progressivement la ralisation d'un modle


statique partir de ces morceaux de connaissance

31

Diagramme de classes du Systme de


rservation de vol

Des compagnies ariennes proposent


diffrents vols

32

33

Diagramme de classes du Systme


de rservation de vol

Un vol a un jour et une heure de dpart,


et un jour et une heure d'arrive.
Un vol est ouvert la rservation et
referm sur ordre de la compagnie.

Cest les compagnie


qui ouvrent et
ferme les
rservation

Etat (ouvert,
ferm) peut tre
vu comme
Ltat courant
de lobjet et/ou
un attribut

34

Diagramme de classes du Systme de


rservation de vol

Un vol a un aroport de dpart et un


aroport d'arrive

35

Diagramme de classes du Systme


de rservation de vol
Chaque

aroport dessert une ou


plusieurs villes.

36

Diagramme de classes du Systme


de rservation de vol
Un vol peut comporter des escales
dans des aroports.
Une escale a une heure d'arrive et
une heure de dpart.

Diagramme de classes du
Systme de rservation de vol

Une escale peut


appartenir deux
vols (hub)
Donc agrgation et
non composition

37

38

Diagramme de classes du Systme


de rservation de vol
La classe Escale peut-elle hrite de Aroport
?
Non
Une escale nest pas forcment une
destination
Une escale ne dsert pas des villes
Risque de problme dhritage multiple sil y
avait diffrent classes daroport
(rgionales et nationaux)
La classe Escale peut-elle tre supprime
pour devenir une association entre Vol et
Aroport
Oui, mais moins simple et quivalent

39

Diagramme de classes du Systme


de rservation de vol
Un client peut rserver un ou plusieurs vols,
pour des passagers diffrents.
Une rservation concerne un seul vol et un
seul passager.
Une rservation peut tre annule ou
confirme.
Questions
Client = Passager ?
Non

Client : celui qui paye


Passager : celui qui voyage

Quelle classes en plus ?


Client, Passager, Rservation

40

Diagramme de classes du Systme


de rservation de vol

41

Diagramme de classes du Systme


de rservation de vol
Ajout des
attributs ?

Diagramme de classes du
Systme de rservation de vol
Attribut driv /dure
Peut soit tre calcul soit tre stock
En fonction de la difficult le calculer et de la
frquence dutilisation

42

Diagramme de classes du
Systme de rservation de vol
Contraintes
Rsa = un vol + un client
{frozen} UML1 pas UML2
Num. est propre la
compagnie

43

44

Diagramme de classes du Systme


de rservation de vol
La classe Vol regroupe deux concepts
Le vol gnrique
Exemple : Le Paris Toulouse qui part tous les lundi
8h15
Concerne la dure, les escales,

Le vol (spcifique)
Exemple : Le Paris Toulouse de 8h15 du lundi 14
fvrier 2013
concerne les rservations

Il est utile de sparer ces deux concepts


et de les associer

Rsultat final

45

46

Exercice 1 : Diagramme de classes


Dessiner les diagrammes de classes
correspondant aux situations suivantes :

Un polygone est constitu de points. Un point


possde une abscisse et une ordonne.
Un bateau contient des cabines, occupes par
des personnes qui effectuent des activits. Les
personnes sont ou bien des guides, ou bien des
animateurs, ou bien des passagers. Les guides
expliquent des visites aux passagers et les
animateurs animent des animations pour les
passagers.

47

Exercice 2 : Diagramme de classes

Vous devez modliser l'utilisation de


feutres et de stylos. Ils ont un propritaire
unique et un utilisateur. Ils sont composs
d'un corps qui est dcrit par son poids, sa
taille et son niveau d'encre. Ils ont une
mthode crire. Le feutre a aussi un
bouchon color. Le stylo a des mthodes
pour rentrer et sortir sa pointe et le feutre
pour boucher ou dboucher. Parmi les
feutres, ceux qui sont effaables ont une
mthode supplmentaire pour effacer.

48

Exercices 3 : Laboratoire de Recherche

Tir du cours UML dHuchard (Montpelier)


http://www.lirmm.fr/~huchard/FOAD/met
amodeleUML/metamodeleUML_HTML/Page
s/rappeluml.html
Nous nous proposons d'tudier quelques
lments relatifs au systme d'information global
d'un laboratoire de recherche. Un laboratoire de
recherche accueille diffrents membres, qui
peuvent tre des chercheurs, des personnels
administratifs ou des personnels techniques. Une
personne peut tre membre d'au plus deux
laboratoires.

49

Exercices 3 : Laboratoire de Recherche


Le laboratoire a un directeur qui doit tre membre du laboratoire et ne
peut diriger qu'un laboratoire. Tout membre est dcrit par un nom. Un
cot annuel de base est affect chaque catgorie de personnel
(chercheur, administratif, technique, etc.) ; il est partag par tous les
membres d'une mme catgorie ; un chercheur appartient une et une
seule catgorie. Les chercheurs ont un thme de recherche (par exemple
bases de donnes, algorithmique, etc.) ; les administratifs une fonction
(par exemple responsable de service, comptable, etc.) ; les personnels
techniques une spcialit (par exemple rseau, tlphonie, etc.).
Le laboratoire offre un certain nombre de ressources matrielles. Nous
nous limiterons dans ce sujet aux tlphones et aux stations de travail.
Une ressource a un tat ("bon", "moyen","mauvais") et un numro affect
sa cration (et non modifiable par la suite). Elle peut tout instant tre
affecte un ou plusieurs utilisateurs (membres du laboratoire). Les
tlphones ont de plus un numro d'appel, un type et un tarif
d'abonnement annuel. Les stations de travail disposent d'un systme
d'exploitation et ont un cot annuel de maintenance.
Le laboratoire regroupe plusieurs projets de recherche ou de veille
technologique, qui lui sont propres et auxquels des membres du
laboratoire de toutes les catgories sont affects pendant une priode de
temps dtermine et selon un certain pourcentage. Par exemple, Marie
peut tre affecte au projet "Systme d'aide la synthse de molcules
chimiques" entre janvier 2004 et octobre 2007 hauteur de 50% de son
temps de travail.

50

Exercices 3 : Laboratoire de Recherche


Deux oprations au moins sont possibles pour un
laboratoire : une mthode calculeCoutAnnuel qui
totalise les cots annuels relatifs l'ensemble de
son personnel et de ses ressources,
une mthode editeAnnuaire qui, partir des
tlphones existants, affiche le numro de
tlphone et les noms des membres qui y
accdent.
Questions : Proposez un diagramme de classes
permettant de reprsenter les lments du texte
ci-dessus. Prvoyez des mthodes d'accs
(accesseurs) aux attributs, des constructeurs et
des mthodes de toute nature (par exemple
affectation d'une ressource un utilisateur,
inscription d'un membre du laboratoire, etc.).

Diagramme de cas
dutilisation
Diagramme de contexte
statique
(use case)

Diagramme de contexte
statique (use case)

53

But
regarder le systme construire de l'extrieur,
du point de vue de l'utilisateur et des
fonctionnalits qu'il en attend.
spcification de la fonctionnalit offerte par
cette mme entit
trs utile en phase de spcification des besoins
dcrit un ensemble cohrent de fonctions pour
l'utilisateur

Diagramme de contexte statique

54

Diagramme de contexte statique


Le systme

Une bote qui englobe les cas dutilisations

Acteurs

Le bonhomme (stick man)


Une bote si systme extrieur

Type dacteurs

Principaux pour un cas

ce cas rend service cet acteur


Le strotype << primary >> vient orner lassociation reliant un cas
dutilisation son acteur principal,

Secondaires pour un cas

Les autres acteurs, Ils sont sollicits pour des informations


complmentaires.
le strotype << secondary >> est utilis pour les acteurs secondaires

Cardinalit (Multiplicit) dassociations


*
1*
01
1

de 0 n
de 1 n
0 ou 1
1 et un seul

55

Diagramme de cas dutilisation


Les cas peuvent tre interne
Non reli un acteur

Les cas peuvent tre structurs


<<include>> un cas inclut un autre
<<Extend>> variante dun cas

56

Dmarche dutilisation des cas


dutilisation :

57

tapes
1.
2.

3.
4.

5.

Identifier les acteurs


Identifier les cas
Dessiner les diagrammes de cas
Dcrire les cas en crivant des
scnarii sous forme textuelle
Rcapituler les cas, les structurer
et sassurer de la cohrence
densemble

Exercice : Guichet Automatique


de Banque (G.A.B.)

58

Le GAB offre les services suivants:

Distribution d'argent tout porteur de carte de crdit


(carte Visa, ou de la banque), via un lecteur de carte et
un distributeur de billets.
Consultation de solde de compte, dpt en numraire et
dpt de chques pour les clients de la banque porteurs
d'une carte de crdit de la banque.

Par ailleurs:

Toutes les transactions sont scurises, via:

le Systme d'Autorisation Visa, pour les transactions de


retrait effectues avec une carte Visa;
le Systme d'Information de la banque, pour autoriser
toutes les transactions effectues par un client avec sa
carte de la banque, mais galement pour accder au
solde des comptes.

Le GAB ncessite des actions de maintenance, telles que


le rechargement en billets du distributeur, la rcupration
des cartes avales et des chques dposs, etc.

Exercice GAB

59

Identification des acteurs humains et


systmes :
2. Identification des cas dutilisations des
humains (acteurs principaux)
3. Ajouter les systmes extrieurs (acteurs
secondaires)
1.

Correction GAB
Sans les acteurs
secondaires

60

Correction GAB
Avec les
acteurs
secondaires
Pour les
clients

61

Exercice GAG : Partie dynamique

62

Pour les cas dutilisation (partie statique)


Dcrire textuellement les diffrentes tapes du
cas
Quelle sont les conditions vrifier pour que ce
cas soit possible ?
Liste ordonnes des tapes (actions du scnarios)
sans erreurs
Quelles sont les erreurs possibles ?
Quelles sont les enchanements alternatifs ?

Modle conceptuel des


traitements
Diagramme dactivits
http://www.uml-sysml.org

Les diagrammes dactivits

64

Pourquoi faire ?
mettre laccent sur les traitements.
Ils sont donc particulirement adapts la
modlisation du cheminement de flots de contrle et
de flots de donnes.

Ils permettent ainsi de reprsenter graphiquement


le comportement dune mthode ou le droulement
dun cas dutilisation

Utilisation courante

adapts la description des cas dutilisation


Ils viennent illustrer et consolider la description
textuelle des cas dutilisation
Dcrire des activits squentiels

une utilisation dUML comme langage de programmation


visuelle

65

Les composants des diagrammes


dactivits
Action
Le plus petit traitement qui puisse tre exprim
Une action a une incidence sur ltat du systme
Graphique : rectangle ou rectangle arrondi

Transition

Le passage dune activit vers une autre est


matrialis par une transition.
Graphiquement les transitions sont reprsentes
par des flches en traits pleins qui connectent
les activits entre elles

66

Les composants des diagrammes dactivits

Action de type Signaux

(2)

Action denvoie de signal (1)


Action de rception de signal
(2)
Action temporelle (3)

(1)

(3)

(2)

67

Les composants des diagrammes dactivits

nud initial (initial node)


le flot dbute lorsque lactivit enveloppante est
invoque.
Une activit peut avoir plusieurs nuds initiaux.
Un nud initial possde un arc sortant et pas darc
entrant.
Graphiquement : un petit cercle plein

nud de fin dactivit (final node)


Un nud final est un nud de contrle possdant
un ou plusieurs arcs entrants et aucun arc sortant.
Graphiquement : un cercle vide contenant un petit
cercle plein

68

Les composants des diagrammes dactivits

nud de fin de flot (flow final)


lorsquun flot dexcution atteint un nud de
fin de flot, le flot en question est termin,
Pas dincidence sur les autres flots actifs de
lactivit enveloppante.
Graphiquement : un cercle vide barr dun X :

69

Les composants des diagrammes dactivits

Nud de dcision (decision node)

Un nud de dcision est un nud de contrle


qui permet de faire un choix entre plusieurs
flots sortants.
un arc entrant et plusieurs arcs sortants
accompagns de conditions [if] [else]
(condition de garde)
Graphiquement : un losange

Nud de fusion (merge node)

Un nud de fusion qui rassemble plusieurs


flots alternatifs entrants en un seul flot sortant.
accepte un flot parmi plusieurs
Graphiquement : un losange

70

Les composants des diagrammes dactivits

nud de bifurcation (fork node)


spare un flot en plusieurs flots concurrents
possde donc un arc entrant et plusieurs arcs sortants.
Graphiquement, un trait plein
appari gnralement avec un nud dunion

nud dunion (join node)

synchronise des flots multiples.


possde donc plusieurs arcs entrants et un seul arc
sortant.
Lorsque tous les arcs entrants sont activs, larc sortant
lest galement.
Graphiquement, un trait plein

Remarque

il est possible de fusionner un nud de bifurcation et un


nud dunion, et donc davoir un trait plein possdant
plusieurs arcs entrants et sortants

71

72

Exemple:
Retrait
dargent

72

73

Autres
exemples
avec nuds
dobjets
et partitions

http://www.uml-sysml.org

http://fr.wikipedia.org/wiki/Diagramme_dactivit

Avec sous
diagramme

74

75

Exercice 1 : Rechercher une chane


de caractres
Lutilisateur recherche sur un moteur une
chane de caractres
Si la chane exacte est trouves, alors les
rsultats possdant cette chane sont
affichs, sinon des suggestions sont
proposes lutilisateur, il peut alors
choisir parmi les suggestions, pour dfinir
une nouvelle recherche
Si aucune suggestion nest trouve alors
un message signifiant quil ny a pas de
rsultat est affich

Correction exercice 1

76

77

Exercice 2 : Evaluation dun travail


Un tudiant doit remettre un mmoire via internet
avant une date. Si la date est dpasse, il a pour
note 0. Sinon, deux relecteurs doivent relire le
document et mettre une note. Si les deux notes ont
un cart infrieur 3 points, la note moyenne est
attribue au mmoire. Sinon, les deux relecteurs
doivent prendre contact par mail, justifier leur note et
proposer une note commune. Si lune des notes est
infrieure 5, ltudiant doit refaire son mmoire et
un relecteur doit valider le mmoire. La note nest
pas change.
Ralis un diagramme dactivit pour ce problme

Chaque utilisateur (tudiant, relecteur) doit en plus


sidentifier avant de pouvoir dposer, tlcharger,
relire, ou noter. Il faut grer les pertes de mots de
passe et les erreurs de mots de passe.
Ralis un diagramme dactivit pour ce problme

78

Rappel : Cycle de vie en V

Spcification des
besoins
Conception gnrale

Conception dtaille

Test

Test

Test

Recette
Intgration
du logiciel

Intgration des
modules

Codage et tests unitaires

Documentations

Diagrammes UML et Cycle en V

79

Diagramme de cas dutilisation

Trs utile en phase de spcification de besoin

Diagramme de classes

Trs utile en phase de conception gnrale


Description simple des classes (pas de mthodes,
de typage ni de cardinalit

Trs utile en phase de conception dtaille


Description dtaille

Diagramme dactivits

Trs utile en phase de conception gnrale


Pour dcrire les flux dinformations et les
interactions entre le(s) systme(s) et le(s)
utilisateur(s)

80

Rappel : Mthode SCRUM (AGILE)


Le dcoupage fin

Diagrammes UML et modle Agile

81

Avec Agile
Plus de concepteur qui dcrit TOUT puis un
programmeur qui code TOUT

Avant le premier sprint


Faire des modlisation simple du domaine
(diagramme de cas)

Au dbut de chaque sprint


sance de modlisation en groupe de ce qui est
ncessaire pour ce sprint
coller les modles rsultant sur les murs
Repartir des anciens modles et ajouter les
nouveaux concepts (cas dutilisation, classes,
activit)

Conclusion
Il existe un grand nombre de modles
Modles orients Base de donnes
Entit Association (conceptuel)
Modle Relationnel (logique)

Modles orients Objets


Modles UML
Nous avons vu trois diagrammes sur les 13
Diagramme de classes (statique)
Diagramme de cas (statique)
Diagramme dactivits (dynamique)
Les autres seront vu en L3 :
UE 5-7 EP2 Gnie Logiciel : modlisation UML

82

Conclusion
Passage des classes aux tables
relationnelles

Notion de classes persistantes


Solution ORM : Object Relational Mapping
En Java par exemple : Hibernate
Des objets sont sauvegards dans des tables
persistance
Les accs la base de donnes sont grs par
des appels des mthodes objet
Des fichiers de configuration assure la
correspondance entre les classes et les tables
(mapping)
Vue en L3
UE 5-7 EP1 : dveloppement objet

83

Вам также может понравиться