You are on page 1of 30

UML

Introduction : Gnie logiciel


Dfinition
Le gnie logiciel (Software engineering) est un domaine de l'ingnierie
qui permet la conception, la ralisation et la maintenance des systmes
logiciels de qualit.
UML
Introduction : Gnie logiciel
Historique
Apparition dans les annes 1970.
Chaque anne plusieurs milliards de dollars sont perdus dans l'industrie
du logiciel.
En 1995, une tude a t mene (par le Standish Group) sur le
comportement des projets informatiques sur 8380 projets rvle que :

16% des applications sont construites avec succs ;

53% des projets aboutissent mais posent des problmes tels que :
diminution des fonctionnalits fixes de dpart, non-respect des
dlais ou augmentation des cots ;

31% des projets sont simplement abandonns.


UML

Introduction : Gnie logiciel

Quelques domaines de connaissance du gnie logiciel


Analyse des besoins, Conception, construction, Tests, maintenance,
gestion de projet, outils et mthodes, Gestion de la Qualit, ..

Le gnie logiciel touche presque toutes les tapes du cycle de vie


d'un logiciel.

Cycle de vie des logiciels


L'ensemble des tapes du dveloppement d'un logiciel, de sa
conception sa disparition.
UML

Introduction : Gnie logiciel


Quelques modles de cycles de vie

Le modle en cascade
(waterfall
UML
UML

Introduction : Gnie logiciel


Approches de modlisation de logiciel : l'approche objet et l'approche
fonctionnelle.

Le modle fonctionnel
Cette approche drive des langages de programmation procduraux.

Le modle oriente objet


Le logiciel est considr comme un ensemble d'objets possdant des
caractristiques spcifiques qui interagissent entre eux.

Une caractristique d'un objet peut tre un attribut ou une mthode.


On utilisera un langage orient objet de prfrence (Java, C++, PHP...).

Cette approche permet de rapprocher les donnes leur traitement.


UML

Design patern
Les Design Patterns (en franais Patrons de conception, Modles de
conception) sont un recueil de bonnes pratiques de conception des
problmes en programmation oriente objet.

Dans le cycle de vie d'un logiciel, la phase de conception gnrale est


capitale (description gnrale de l'architecture du systme).

Les design patterns (patrons de conception) reprsentent un ensemble


de bonnes pratiques pour la rsolution d'un ou de plusieurs problmes
de conception.

Le design pattern MVC fait partie de ceux qui se basent sur une
dmarche oriente objet.
UML

Introduction : Gnie logiciel


Une application doit tre base sur une architecture, qui reprsente son
pilier central.

Si l'architecture est fragile alors l'application est fragile.


Si l'architecture est vulnrable alors il est inutile de croire que
l'application est scurise.

Dans l'architecture d'un systme logiciel, on reprsente gnralement


les sous-systmes et leurs interactions par des modules.
UML

Introduction : Gnie logiciel


Le modle Agile
Le terme "agile" dfinit une approche de gestion de projet qui est en
rupture avec les approches traditionnelles prdictives et squentielles
de type cycle en V ou waterfall (en cascade).

La notion mme de "gestion de projet" est remise en question au profit


de "gestion de produit".

L'objectif d'un projet consiste bien donner naissance un produit.


Une enqute de 1994 du Standish Group

Parmi les motifs d'checs, arrivent en tte :


Manque d'implication des utilisateurs finaux : 12,8 %.
Changements de spcifications en cours de projet : 11,8 %.
UML

Introduction : Gnie logiciel


Le modle Agile
L'approche Agile propose d'impliquer le client du dbut la fin du projet
et en adoptant un processus itratif et incrmental.

Elle considre que le besoin ne peut tre fig et propose de s'adapter


aux changements de ce dernier.

L'approche agile se distingue de l'approche traditionnelle par le fait de


ngliger voir oublier le cahier des charges!.
UML
Conclusion
Les tudes en gnie logiciel ont relev diverses croyances errones de la
communaut des ingnieurs qui ont un impact direct sur leurs
mthodes de travail.

Exemples
Un logiciel est construit par assemblage de fonctions et de standards :
Les standard et fonctions existantes sur le march sont une aide
utile, mais ne sont pas suffisent.

Ajouter des personnes une quipe d'ingnieurs rattrape le retard:


C'est le contraire, les personnes qui arrivent doivent tre formes et
informes sur le logiciel en cours de construction par les autres
ingnieurs, ce qui entrane des retards supplmentaires.

Le travail est termin une fois que le logiciel fonctionne :


L'exprience montre que la majeure partie du travail commence aprs la
UML
Modlisation

Notion de systme
Un systme est un ensemble dlments matriels ou immatriels
(Homme, machine, mthodes, ..) en interaction dynamique qui
transforment, par un processus, des lments appels entres en
dautres lments appels sorties.

Exemple : Matire premire usine produits.

Composants d'un systme


UML
Modlisation
Composants d'un systme
UML
Systme dinformation
Le SI est un ensemble de ressources (humaines, matrielles, logicielles)

Un systme dinformation est dit automatis si toutes les


transformations significatives dinformation sont effectues par des
machines de traitement automatique.

Pourquoi automatiser un SI?


Deux raisons principales justifient lautomatisation dun SI :

La simplification et lamlioration du travail (facturation,


comptabilit, paye, ..).

Aide la dcision : slection grande vitesse dinformation partir


dune grande masse de donnes et la mettre la disposition des
responsables pour la dcision.
UML
Rle du systme d'information
Outil de communication (externe et interne)
Saisie Traitement et Stockage Diffusion
Identifier des alertes de gestion : Tableau de bord comportant des
alertes
Prparer les statistiques dont les managers ont besoin
aide la dcision : Pour dcider, il est ncessaire davoir des
informations Pertinentes , Fiables, Disponibles.

Fonctions du systme dinformation


Recueil de linformation
Cette tape est la plus importante, mais galement la plus lourde.
Elle se fait en collectant l'ensemble des donnes partir :
De documents crits
De l'analyse d'un produit existant dans certains cas
De discussions avec les acteurs (dcideurs, utilisateurs)
De l'analyse des flux du domaine
Flux informels (climat social, savoir faire, ) : difficiles recueillir et exploiter, mais de
grande importance.
UML
Mmorisation de linformation

Traitement de linformation (calcul, tri, classement, rsum, )

Diffusion de linformation (diter, imprimer, afficher, )


Pour tre exploite, linformation doit parvenir dans les meilleurs
dlais son destinataire.
Les moyens de diffusion de linformation sont multiples : support
papier, forme orale et sur de supports numriques.
UML
Modlisation
Quest-ce que la modlisation
La modlisation est une technique qui permet de comprendre
un systme par ltablissement de modles.

Ce modle permet de mettre au point une solution un


problme.

Un modle est une abstraction de la ralit. C'est une vue qui


reflte des aspects importants de la ralit.

Un modle dfinit une frontire entre la ralit et la


perspective de l'observateur. Ce n'est pas "la ralit", mais
une vue trs subjective de la ralit.
Pourquoi modliser ?
Pour mieux comprendre le systme
Nous construisons des modles de systmes complexes parce que
nous sommes incapables d'apprhender ces systmes entirement
Parce qu'un modle est une simplification de la ralit.

La modlisation d'un systme se fait :


en prcisant sa structure.
en dfinissant ce quil fait, son comportement.
en fournissant un canevas qui guide sa construction.

Les principes de modlisation


Les modles peuvent tre exprims diffrents niveaux de prcision.
Les bons modles ne perdent pas le sens de la ralit.
Si un systme est trs important, le dcomposer en sous systme.

Comment modliser?
En utilisant une mthode : faon de faire, directives (Merise)
En en choisissant un langage : ventuellement un outil (UML)
Modliser avec UML

UML (Unified Modeling Language)


UML est un langage qui permet de reprsenter des modles, mais il ne
dfinit pas le processus d'laboration des modles : ce nest donc pas
une mthode de modlisation.
Historique
Deux approches
Approche fonctionnelle
1960 fin 1970
l'important c'est les traitements
Sparation nette des donnes (MCD) et traitements
(MCT)
Approche objet
1980 dbut 1990 : premires gnration
L'important c'est l'objet
Objet = donnes + traitements
20
Historique
Dbut des annes 1990
les premiers processus de dveloppement OO apparaissent
prolifration des mthodes et notations taient la cause de
grande confusion :
mthode OOD de Grady Booch (1991)
mthode OMT de James Rumbaugh (1991)
mthode OOSE de Ivar Jacobson (1991)
mthode OOA/OOD de Coad and Yourdon (1992)
mthode de Schlaer and Mellor (1992)
Etc.
Les versions se succdent :
Dbut 1998 : UML 1.2, UML 1.3
En 2001 : UML1.4
En 2003 : UML 1.5
En 2005 : UML 2.0
2007 : UML 2.1 21
Quest ce que UML ?
UML(Unified Modeling Language ou langage de modlisation unifi)
Langage = syntaxe + smantique :
syntaxe : notations graphiques consistant
essentiellement en des reprsentations conceptuelles
d'un systme
smantique : sens prcis pour chaque notation.

22
Introduction

UML est une notation, pas une mthode

UML est un langage de modlisation objet

UML convient pour les mthodes objet

INDPENDANT du langage de programmation

Domaine d'application : permet de modliser


n'importe quel systme

Support par plusieurs outils (AGL) : Objecteering,


Open tools, Rational Rose, PowerAMC, WinDesign,
UML

Dmarches de modlisation avec UML


itrative et incrmentale,
guide par les besoins des utilisateurs du systme,
phase d'analyse : on clarifie et on valide les besoins des utilisateurs.
phase de conception : prise en compte des besoins des utilisateurs.
phase de test : on vrifie que les besoins des utilisateurs sont satisfaits.

centre sur l'architecture logicielle.


Les vues UML

Schma des 4+1 vues


UML reprsente diverses projections dun systme par des vues.
Le modle conceptuel d'UML

Modle conceptuel d'UML


Le modle conceptuel d'UML comprend les notions de base gnriques
du langage. Il dfinit trois sortes de briques de base : les lments,
les relations, et les diagrammes.

Les lments : quatre types


Les lments structurels (classe, interface, collaboration, cas
d'utilisation, classe active, composant, noeud) ;
les lments comportementaux (interaction, automate tats finis) ;
les lments de regroupement (package) ;
les lments d'annotation (note).
Le modle conceptuel d'UML
Les relations
Trois types de relations dans UML :
l'association ;
la gnralisation ;
la dpendance ;

Les diagrammes
Reprsentation graphique d'un ensemble d'lments et de relations
qui constituent un systme.
S'intresse un aspect prcis du modle. C'est une perspective du
modle, pas "le modle".
Les diagrammes UML

Vues statiques
Les diagrammes de classes
Les diagrammes dobjets
Les diagrammes de cas dutilisation
Les diagrammes de composants
Les diagrammes de dploiement

Vues dynamiques
Les diagrammes de squence
Les diagrammes de collaboration
Les diagrammes dtats-transition
Les diagrammes dactivits
Diagramme dUML
Cas dutilisation
Objets Composants

Classes Vue logique statique Vue Implmentation


(Structure des objets) (composants logiciels)

Vue externe
(fonctions systme)
Squence Vue dploiement
Vue logique dynamique
(Environnement
(Comportement)
dimplantation)
Collaboration

Activits
tats transitions Dploiement

29
Le modle conceptuel d'UML
Conclusion
UML est une dmarche :
itrative et incrmentale,
guide par les besoins des utilisateurs du systme :
le primtre du systme modliser est dfini par les besoins des
utilisateurs.
le but du systme modliser est de rpondre aux besoins de ses
utilisateurs (les utilisateurs sont les clients du systme).
centre sur l'architecture logicielle.

You might also like