Vous êtes sur la page 1sur 29

UML 2

Introduction
LOGICIEL
Logiciel est un ensemble d’entités nécessaires au
fonctionnement d’un processus de traitement automatique de
l’information.
Parmi ces entités, on trouve par exemple :
des programmes (en format code source ou exécutables) ;
des documentations d’utilisation ;
des informations de configuration
LOGICIEL
Ensemble de programmes qui permet à un système informatique
d’assurer une tâche ou une fonction en particulier
Logiciel = programme + utilisation
MATÉRIEL ET LOGICIEL

Systèmes informatiques :
80 % de logiciel ;
20 % de matériel.
Depuis quelques années, la fabrication du matériel est assurée par
quelques fabricants seulement.
Le matériel est relativement fiable. Le marché est standardisé.

Les problèmes liés à l'informatique sont essentiellement des


problèmes de logiciel.
LA CRISE DU LOGICIEL

Mise en évidence au début des années 70, la crise se caractérise


par :
l’absence de maîtrise des projets, au niveau des coûts et des
délais
la mauvaise qualité des produits : les produits ne répondent
pas aux besoins définis et des erreurs résiduelles persistent
dans le produit final.
un stock important de projets en attente faute d’une gestion
rigoureuse
LA CRISE DU LOGICIEL

Étude sur 8 380 projets (Standish Group, 1995) :


Succès : 16 %;
Problématique : 53 % (budget ou délais non respectés, défaut de
fonctionnalités) ;
Échec : 31 % (abandonné).
Le taux de succès décroît avec la taille des projets et la taille des
entreprises.
Génie Logiciel (Software Engineering) :
Comment faire des logiciels de qualité ?
Qu'attend-on d'un logiciel ? Quels sont les critères de qualité ?
CRITÈRES DE QUALITÉ
D'UN LOGICIEL

Utilité
Adéquation entre le logiciel et les besoins des utilisateurs ;
Utilisabilité
Fiabilité
Interopérabilité
Interactions avec d'autres logiciels ;
Performance
Portabilité
Réutilisabilité
Facilité de maintenance
Un logiciel ne s'use pas pourtant, la maintenance absorbe une très
grosse partie des efforts de développement.
CYCLE DE VIE

La qualité du processus de fabrication est garante de la


qualité du produit
Pour obtenir un logiciel de qualité, il faut en maîtriser le processus
d'élaboration.
La vie d'un logiciel est composée de différentes étapes.
La succession de ces étapes forme le cycle de vie du logiciel. Il
faut contrôler la succession de ces différentes étapes.
ETAPES DU DÉVELOPPEMENT
Étude de faisabilité
Spécifcation
Déterminer les fonctionnalités du logiciel.
Conception
Déterminer la façon dont le logiciel fournit les différentes
fonctionnalités recherchées.
Codage
Tests
Essayer le logiciel sur des données d'exemple pour s'assurer qu'il
fonctionne correctement.
Maintenance
MODÉLISATION
MODÈLE
Un modèle est une représentation abstraite de la réalité qui
exclut certains détails du monde réel.
Il permet de réduire la complexité d'un phénomène en éliminant les
détails qui n'influencent pas son comportement de manière
significative.
Il reflète ce que le concepteur croit important pour la compréhension
et la prédiction du phénomène modélisé, les limites du phénomène
modélisé dépendent des objectifs du modèle.
LANGAGES DE MODÉLISATION
Un langage de modélisation doit définir :
La sémantique des concepts ;
Une notation pour la représentation de concepts ;
Des règles de construction et d'utilisation des concepts.
Des langages à différents niveaux de formalisation
Langages formels (Z,B,VDM) : le plus souvent mathématiques,
au grand pouvoir d'expression et permettant des preuves
formelles sur les spécifications ;
Langages semi-formels (MERISE, UML...) : le plus souvent
graphiques, au pouvoir d'expression moindre mais plus faciles
d'emploi.
METHODOLOGIE DE
MODÉLISATION
L'industrie du logiciel dispose de nombreuse méthodologie
de modélisation :
Adaptés aux systèmes procéduraux (MERISE...) ;
Adaptés aux systèmes temps réel (ROOM, SADT...) ;
Adaptés aux systèmes à objets (OMT, Booch..).
MODÉLISATION PAR DECOMPOSITION
FONCTIONNELLE
Approche descendante :
Décomposer la fonction globale jusqu'à obtenir des fonctions
simples à appréhender et donc à programmer.
C'est la fonction qui donne la forme du système.
MODÉLISATION PAR DÉCOMPOSITION
FONCTIONNELLE
MODÉLISATION ORIENTÉE OBJETS
La Conception Orientée Objet (COO) est la méthode qui conduit
à des architectures logicielles fondées sur les objets du système,
plutôt que sur une décomposition fonctionelle.
C'est la structure du système lui donne sa forme.
On peut partir des objets du domaine (briques de base) et
remonter vers le système global : approche ascendante.
HISTORIQUE (UML)
Début des années 1990
◼les premiers processus de développement OO apparaissent

◼prolifération des méthodes et notations étaient la cause de


grande confusion :
• méthode OOD de Grady Booch (1991)
• méthode OMT de James Rumbaugh (1991)
• méthode OOSE de Ivar Jacobson (1991)
• méthode OOA/OOD de Coad and Yourdon (1992)
• méthode de Schlaer and Mellor (1992)
• Etc.
HISTORIQUE (UML)
Fin 1994
J. Rumbaugh rejoint G. Booch chez Rational Software
OMT + OOD ➔ Unified Method (oct 1995)
Fin 1995
I. Jacobson les rejoint chez Rational Software
Unified Method + OOSE ➔ UML 0.9 (juin 1996)
Début 1997
Partenaires divers : Microsoft, Oracle, IBM, HP et autres leaders
collaborent
➔ UML 1.0 (jan 1997)
Fin 1997
l’OMG (Object Management Group) retient UML 1.1 comme norme
de modélisation
HISTORIQUE (UML)
Les versions se succèdent :
Début 1998
• UML 1.2
En 1998
• UML 1.3
En 2001
• UML1.4
En 2003
• UML 1.5
En 2005
• UML 2.0
QU’EST CE QUE UML ?
UML(Unified Modeling Language) un langage de
modélisation unifié
Langage = syntaxe + sémantique :
• syntaxe : notations graphiques consistant essentiellement en
des représentations conceptuelles d'un système
• sémantique : sens précis pour chaque notation

21
QU’EST CE QUE UML ?
UML est caractérisé par :
• un travail d'expert
• utilise l’approche orientée objet
• normalisé, riche
• Formel : sa notation limite les ambiguïté et les
incompréhensions
• langage ouvert
• INDÉPENDANT du langage de programmation
• Domaine d'application : permet de modéliser n'importe
quel système
• Supporté par plusieurs outils (AGL) : Objecteering,
Open tools, Rational Rose, PowerAMC, WinDesign, …

22
QU’EST CE QUE UML ?
Attention
UML est un langage (et non pas une méthode) qui :
permet de représenter les modèles
ne définit pas le processus d'élaboration des modèles.

23
DIAGRAMMES D'UML
UML propose de décrire le système à l’aide de 9 (13) diagrammes.
Chacun de ces diagrammes correspond :

-Soit à la description d’une partie du système


-Soit à la description du système selon un point de vue particulier

24
DIAGRAMMES D'UML
UML1.1 comprend 9 de diagrammes :
Diagramme

Est sorte de

Cas d d’utilisation
Cas ’utilisation Classes
Classes États
EtatsTransitions
Transitions Séquence
Séquence

Collaboration Composants Déploiement Activité Objets

25
DIAGRAMMES D'UML
UML définit deux types de diagrammes, structurels
(statiques) et comportementaux (dynamiques)
Modélisation de la structure
• diagramme de classes
• diagramme d’objets
• diagramme de composants
• diagramme de déploiement
Modélisation du comportement
• diagramme de cas d'utilisation
• diagramme d’états
• diagramme d’activités
• diagramme de collaboration
• diagramme de séquence

26
DIAGRAMME D’UML
Les diagramme d’UML peuvent être utilisés pour
représenter différents points de vues :
Vue externe : vue du système par ses utilisateurs
finaux
Vue logique statique : structure des objets et leurs
relations
Vue logique dynamique : comportement du
système
Vue d’implémentation : composants logiciels
Vue de déploiement : répartition des composants

27
DIAGRAMME D’UML
Cas d’utilisation
Objets Composants

Classes Vue logique statique Vue Implémentation


(Structure des objets) (composants logiciels)

Vue externe
(fonctions système)
Séquence Vue déploiement
Vue logique dynamique
(Environnement
(Comportement)
d’implantation)
Collaboration

Activités
États transitions Déploiement

28
Question ?

Vous aimerez peut-être aussi