Vous êtes sur la page 1sur 28

Introduction à UML

2ème Année Ingénieur-INFORMATIQUE.

2014-2015.

BENAISSA Rédha.

Cours S.I 1
Introduction à UML
La complexité des logiciels

 Le logiciel est complexe par nature à gérer cette complexité

Gérer cette complexité

 Les systèmes peuvent être décomposés selon:


- Ce qu’ils font (approche fonctionnelle)
- Ce qu’ils sont (approche objet)

 L’approche objet gère plus efficacement la complexité.


Cours S.I 2
Introduction à UML
La complexité des logiciels
 Une méthodologie permet de donner un cadre au
développement logiciel.
 Un processus de développement décrit une méthode qui
permet de :
- Construire, déployer et maintenir un logiciel.
Définir une séquence d'étapes, partiellement ordonnées, qui
permettent d'obtenir un système logiciel ou faire évoluer un
système existant.
La plupart des modèles des processus reprennent les
étapes fondamentales mais les organisent différemment.
Cours S.I 3
Introduction à UML
Modèles en cascade
 Principe:
Considérer le développement logiciel comme une succession d’étapes
réalisées de façon strictement séquentielle

- Chaque étape correspond à une


activité de base

- Chaque étape est validée

- Il n’y a pas (ou peu) de retours en arrière

Cours S.I 4
Introduction à UML
Modèles en cascade
 Avantages:
- Simple et facile à comprendre
- Force la documentation : une phase ne peut se terminer avant qu'un
document soit validé
- Le test est inhérent à chaque phase.
- Les progrès sont tangibles (pour l’équipe de développement).

 Limites:
- Modèle dirigé par les documents: Non compréhensibles par les clients, le
produit final est la première chose que voit le client.
- L’hypothèse de la faisabilité: Ne marche que si les exigences sont stables et le
problème est connu.
- Problèmes découverts en phase de validation.

Cours S.I 5
Introduction à UML
Modèles incrémentaux
 Principe:
Diviser le projet en incréments

- Un incrément = une sous partie


fonctionnelle cohérente du produit
final.

- Chaque incrément ajoute de nouvelles


fonctions
- Chaque incrément est testé comme un
produit final
- Les incréments sont définis a priori
(classification des exigences – par le
client si possible)

Cours S.I 6
Introduction à UML
Modèle incrémental - 1
 Architecture évolutive
- La première version constitue le noyau.
- Les versions suivantes s’appuient sur l’existant et étendent l’architecture.

- Chaque version donne lieu à un cycle de vie complet.

Cours S.I 7
Introduction à UML
Modèle incrémental - 2
 Architecture stable
- La première version fournit une enveloppe complète.
- Chaque nouvelle version fournit un ou plusieurs sous système en
respectant l’architecture.
- Le développement en parallèle est possible (surtout pour les incréments).

Cours S.I 8
Introduction à UML
Modèles incrémentaux
 Avantages:
- Une première version du système est fournie rapidement.

ROI rapide (Retour sur investissement).


Réduit le stress du management !
En général, cette version n’est pas mise en production.

- Les risques d’échec sont diminués.

Découverte des problèmes assez tôt.


Les parties importantes sont fournies en premier et seront donc testées plus longuement.
Les clients peuvent ajouter des exigences à tous moments.

Cours S.I 9
Introduction à UML
Modèles incrémentaux
 Limites:
- Les incréments:
Difficile à définir : mapper des exigences sur des incréments est complexe
Trop peu d’incréments --> on se rapproche du modèle en cascade
Trop d’incréments --> ingérable
- L’architecture:
Difficile de concevoir une architecture stable dès le début ou facilement évolutive
Difficile d’identifier des services techniques communs

- Ne traite pas toutes les évolutions, notamment celles qui remettent


en cause l’architecture

Cours S.I 10
Introduction à UML
Les méthodes d’analyse
Méthodes fonctionnelles :
- S’inspirent de l’architecture des ordinateurs
- On s’intéresse aux fonctions du système
ex : SADT

Méthodes orientées données :


- On ne s’intéresse pas aux traitements
ex : MERISE
Méthodes orientées objets :
-On ne sépare pas les données et les traitements
ex : Booch, OMT
Cours S.I 11
Introduction à UML
Conception par objets
Démarche incrémentielle.
Grandes étapes:
o Identifier les entités du domaine.

o Structurer le domaine en analysant les propriétés de ces entités et leurs

relations.

o Identifier les opérations que savent effectuer ces entités.

o Décrire précisément ces opérations en les reliant à des messages.

o Décrire le lancement du programme.


Cours S.I 12
Introduction à UML
Intérêt d’un standard de modélisation universel

Notation unifiée pour toutes les méthodologies OO.

Cours S.I 13
Introduction à UML
L’unification
Des méthodes:
- La guerre des méthodes ne fait plus avancer la technologie des
objets.
- Recherche d’un langage commun unique
Utilisable par toutes les méthodes
Adapté à toutes les phases du développement
Compatible avec toutes les techniques de réalisation

 Sur plusieurs domaines d’applications:


-Logiciels  Ingénierie des logiciels
-Logiciels et matériels  Ingénierie des systèmes
- Personnes  Ingénierie des affaires
Cours S.I 14
Introduction à UML
Modèles et techniques utilisés par les méthodes
objets
 Triple perception du système d’information
- Dimension statique: objets
- Dimension dynamique: événements/états
- Dimension fonctionnelle : flux/processus

 Démarche itérative plus que descendante (cycle itératif)


– Identifier les entités du domaine
– Structurer le domaine en analysant les propriétés de ces entités et leurs relations
– Identifier les opérations que savent effectuer ces entités
– Décrire précisément ces opérations en les reliant à des messages
– Décrire le lancement du programmeCours S.I 15
Introduction à UML
Avantages de la conception objet

– Réduction de la « distance » entre langage utilisateur et langage


conceptuel
– Regroupement de l’analyse des données et des traitements
– Simplification des transformations entre niveau conceptuel et
niveau physique
– Abstraction forte.
– Orienté vers la réutilisation : notion de composants, modularité,
extensibilité, adaptabilité, souplesse.

Cours S.I 16
Introduction à UML
UML : langage de modélisation graphique et
textuel
 UML unifie
- Les concepts, quels que soient le domaine d’application
- Les notations et concepts orientés objet
 UML est indépendant:
- Du type du système-logiciel, matériel, organisation..
- Du domaine métier : gestion, ingénierie, finance…

 UML permet de :
- Comprendre et de décrire les besoins,
- Concevoir et construire des solutions,
- Documenter un système tout au long du cycle de développement,
- Communiquer entre les membres de l’équipe de projet.
Cours S.I 17
Introduction à UML
UML : Objectifs
-Montrer les limites d’un système et ses fonctions principales à l’aide
des cas d’utilisation et des acteurs.
- Illustrer les réalisations de Cas d ’Utilisation à l’aide de diagrammes
d’interaction.
- Représenter la structure statique d’un système à l’aide de
diagrammes de classes, associations, contraintes.
- Modéliser la dynamique, le comportement des objets à l’aide de
diagrammes états/transitions.
- Révéler l’implantation physique de l’architecture avec des
diagrammes de composants et de déploiement.

- Un langage utilisable par l’homme et la machine : permettre la


génération automatique de code.
Cours S.I 18
Introduction à UML
Modélisation en diagrammes
Système réel ABSTRACTION Modèle

Modèle est une simplification de la réalité qui permet de mieux


comprendre le système à développer.
Il permet :
· De visualiser le système comme il est ou comme il devrait l'être.
· De valider le modèle vis à vis des clients.
· De spécifier les structures de données et le comportement du système.
· De fournir un guide pour la construction du système.
· De documenter le système et les décisions prises.
Diagramme
- Support graphique de modélisation, chaque diagramme propose un point de
vue différent.
- mise en œuvre d’un ensemble d’éléments de visualisation représentant des
éléments de modélisation (graphe). Cours S.I 19
Introduction à UML
UML : les diagrammes (1)
Modèles manipulés au moyen de vues graphiques : 9 diagrammes
-Diagrammes des cas d’utilisation : Fonctions du système du point de
vue des utilisateurs
-Diagrammes de séquence : Représentation temporelle des objets et
de leurs interactions
- Diagrammes de collaboration :Représentation spatiale des objets,
des liens et des interactions
- Diagrammes de classes : Structure statique en terme de classes et
relations qui les lient
- Diagrammes d’objets : Représentation des objets et de leurs relations
(liens)

Cours S.I 20
Introduction à UML
UML : les diagrammes (2)
-Diagrammes d’états-transitions : Comportement d’une classe en
terme d’états, lié au cycle de vie des objets

- Diagrammes d’activités : Représentation du comportement d’une


opération, d’un cas d’utilisation, ou d’un processus métier en terme
d’actions

- Diagrammes de composants : Composants physiques d’une


application, dépendance entre ces composants

- Diagramme de déploiement : Déploiement des composants sur les


dispositifs matériels, modes de connexion..

Cours S.I 21
Introduction à UML
Classification des diagrammes
L’ensemble des 9 diagrammes peut être réparti sur les trois axes
de modélisation.
Que fait le système

Séquence ment des actions


Sur quoi le système agit dans le système
Cours S.I 22
Introduction à UML
Comment modéliser avec UML ?
UML est un langage qui permet de représenter des modèles,
mais il ne définit pas le processus d'élaboration des modèles !

Les auteurs d'UML préconisent d'utiliser une démarche :


 Itérative et incrémentale,
 Guidée par les besoins des utilisateurs du système,
 Centrée sur l'architecture logicielle.

Cours S.I 23
Introduction à UML
Comment modéliser avec UML ?
 Une démarche itérative et incrémentale ?

 L'idée est simple : pour modéliser (comprendre et représenter) un système


complexe, il vaut mieux s'y prendre en plusieurs fois, en affinant son analyse
par étapes.

Cette démarche devrait aussi s'appliquer au cycle de développement dans


son ensemble, en favorisant le prototypage.

Le but est de mieux maîtriser la part d'inconnu et d'incertitude qui


caractérisent les systèmes complexes.

Cours S.I 24
Introduction à UML
Comment modéliser avec UML ?
 Une démarche pilotée par les besoins des utilisateurs ?
 Avec UML, ce sont les utilisateurs qui guident la définition des modèles :

o Le périmètre du système à modéliser est défini par les besoins des utilisateurs (les
utilisateurs définissent ce que doit être le système).
o Le but du système à modéliser est de répondre aux besoins de ses utilisateurs (les
utilisateurs sont les clients du système).

Les besoins des utilisateurs servent aussi de fil conducteur, tout au long du cycle
de développement(itératif et incrémental) :
o A chaque itération de la phase d'analyse, on clarifie, affine et valide les besoins des
utilisateurs.
o A chaque itération de la phase de conception et de réalisation, on veille à la prise en
compte des besoins des utilisateurs.
o A chaque itération de la phase de test, on vérifie que les besoins des utilisateurs sont
satisfaits
Cours S.I 25
Introduction à UML
Comment modéliser avec UML ?
 Une démarche centrée sur l'architecture ?
 Une architecture adaptée est la clé de voûte du succès d'un
développement : la vue 4+1
 Elle décrit des choix stratégiques qui déterminent en grande partie les
qualités du logiciel (adaptabilité, performances, fiabilité...).

Vue logique Vue des composants


Besoin des
utilisateurs
Vue des processus Vue de déploiement

Cours S.I 26
Introduction à UML
 Processus de développement
Expression des S’accorder sur ce qui doit être fait dans le système
besoins

Analyse Comprendre les besoins et les décrire dans le système

Conception S’accorder sur la manière dont le système doit être construit

Implémentation Codage du résultat de la conception

Test Le système est-il conforme au cahier des charges?

Code
Cours S.I 27
exécutable
Introduction à UML
Étapes du processus de développement et modèles
Capture des besoins : Modèle des cas d’utilisation - décrit les besoins de l’utilisateur.

Analyse : Modèle d’analyse - définit la structure statique et le comportement dynamique


des objets.
Conception :
Modèle de conception - définit la structure statique du système en termes de sous-systèmes,
de classes et d'interfaces et les collaborations entre les sous-systèmes, les classes et les
interfaces.
Modèle de déploiement - définit la disposition physique des différents modules

Implémentation : Modèle de réalisation - définit les composants de réalisation et le passage


des classes vers ces composants.

Test : Modèle de test - décrit les scénarios de test.

Cours S.I 28

Vous aimerez peut-être aussi