Vous êtes sur la page 1sur 39

Cours 3 – Introduction à UML

MODULE INTRODUCTION AU GÉNIE LOGICIEL

MOSTEFAI MOHAMMED AMINE – BATATA SOFIANE COPYRIGHT © ESI 2015-2016


Objectifs du Cours
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Sensibilisation au
Introduction au
besoin de
standard UML
modélisation

Découverte des
différents
diagrammes UML

IGL – Cours 3, Introduction à UML


Plan du Cours
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Section 2 : Section 3 :
Section 1 :
Introduction Diagrammes
Modélisation
à UML UML

IGL – Cours 3, Introduction à UML


Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

IGL | Cours 3, Introduction à UML


SECTION 1
Modélisation
Qu’est-ce qu’un modèle ?
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Les modèles
Un modèle est une représentent le
Le modèle est une
représentation du système selon des
abstraction
monde réel degrés différents de
détails

Une description ou
une analogie qui
Utilise une notation
permet d’observer un
graphique et simple
élément difficile à
observer directement

IGL | Cours 3, Introduction à UML | Section 1, Modélisation 5


Cycle
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Modèle Prototype Produit

IGL | Cours 3, Introduction à UML | Section 1, Modélisation 6


Modèle vs Prototype
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

IGL | Cours 3, Introduction à UML | Section 1, Modélisation 7


Modèle vs Prototype ou Produit
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Modèle Prototype ou Produit

class ClassA{
Classe A
…..
merhod1() }
method2()
class ClassB extends ClassA
{
……
}

Classe B
method3()

IGL | Cours 3, Introduction à UML | Section 1, Modélisation 8


Modélisation
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• L’action de concevoir un modèle dans un langage de modélisation


dédié

IGL | Cours 3, Introduction à UML | Section 1, Modélisation 9


Pourquoi
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Représenter
Permettre des Faciliter
efficacement Réduire les coûts
visions différentes l’observation
l’entité modélisée

Utiliser une
Simplifier les
notation Faciliter la Uniformiser le
aspects
graphique et communication langage
complexes
simple

IGL | Cours 3, Introduction à UML | Section 1, Modélisation 10


Contenu
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Modèle Code

Contenu Packaging Contenu Packaging

Classes Projets Classes Projets

Relations Diagrammes Relations Binaires

Membres Vues Membres


IGL | Cours 3, Introduction à UML | Section 1, Modélisation 11
Modèle vs Code
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Modèle
• Abstrait
• Graphique
• Orienté Conception Code
• Semi formel • Concret
• Grandes lignes • Textuel
• Partiel • Orienté implémentation
• Très détaillé
• Complet

IGL | Cours 3, Introduction à UML | Section 1, Modélisation 12


Transformations
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Reverse Engineering

Code Modèle

Génération de Code

IGL | Cours 3, Introduction à UML | Section 1, Modélisation 13


Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Modélisation
SECTION 1 – DÉBAT (10 MNS)

IGL | Cours 3, Introduction à UML


Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

IGL | Cours 3, Introduction à UML


SECTION 2
Introduction à UML
Origine
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Il existait plusieurs
UML est la fusion
méthodes de
entre les travaux de
modélisation et il y
plusieurs spécialistes
avait un besoin de
de modélisation
standardisation

UML est un langage de


UML a été standardisé
modélisation, pas une
par l’OMG
méthode

IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 16


Pourquoi UML ?
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

UML est UML est


graphique simple

UML est un
standard

IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 17


Historique
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Durant les années 70, la communauté a senti que les techniques d’analyse et
de conception sont aussi importantes que le développement lui-même

• Au début des années 80, la POO se transforme d’un produit de laboratoire en


de vrais produits, Smalltalk et C++ en étaient les premiers tests.

• Plusieurs méthodes d’analyse OO apparurent dont OMT de Rubmaugh,


OOSE de Jacobson et OOAD de Booch

• 1995, Grady et Booch sortent la version 0.8 de UML

• 1996, Jacobson rejoint Grady et Booch au sein de Rational et travaille sur la


version future de UML

IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 18


Versions
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 19


Outils
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Il existe une pléthore d’outils UML sur le marché : payant, gratuits et


open source
• Outils payants : suite rational, Sparx Enterprise Architect
• Outils gratuits / opensource : StarUML, ArguoUML
• Intégration avec les IDE : Eclipse, Visual Studio

IGL | Cours 3, Introduction à UML | Section 2, Introduction à UML 20


Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Introduction à UML
SECTION 2, DÉBAT 05 MNS

IGL | Cours 3, Introduction à UML


Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

IGL | Cours 3, Introduction à UML


SECTION 3
Diagrammes UML
Diagrammes
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Le diagramme permet de Un modèle contient


Le diagramme est une vue Un modèle peut contenir
visualiser un modèle plusieurs types de
partielle du modèle 0, 1 ou N diagrammes
selon un angle de vue diagramme

Chaque diagramme est


Chaque type de Un modèle peut contenir Un diagramme doit être
utilisé dans une ou
diagramme cible un plusieurs diagrammes du compact, lisible et
plusieurs étapes du cycle
aspect particulier du GL même type expressif
de vie du logiciel

Un élément peut se
trouver dans plusieurs
UML 2.5 contient 22
diagrammes en même
diagrammes
temps et éventuellement
du même type

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 23


Types de diagrammes
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 24


Diagramme de cas d’utilisation (DCU)
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Fournit une vision du système en terme d’acteurs et leurs objectifs


• Le but du DCU est de déterminer quelles sont les fonctions effectuées
par chaque acteur

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 25


Diagramme de cas d’utilisation (DCU)
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Système bancaire

ConsulterSolde

Client
ServeurBancaire

EffectuerPaiement

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 26


Diagramme de séquence (DSQ)
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Un diagramme d’interaction qui présente comment chaque processus


interagit avec l’autre et dans quel ordre.
• Le DSQ illustre les interaction sur un axe temporel donné.
• Le DSQ liste les objets impliqués dans l’interaction afin d’atteindre un
certain objectif.
• Ces diagrammes sont associés aux diagrammes de cas d’utilisation.

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 27


Diagramme de séquence (DSQ)
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

original: Album

Utilisateur
AlbumManager

dupliquerAlbum(int)

getAlbum(int):
Album
getPhotos(): Photo[*]

liste= :Photo[*]

Copie: Album

renommer(String)

opt Copier
[Si liste n'est pas vide est si l'album n'est pas verrouillé]

copierPhotos(liste)

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 28


Diagramme d’activité
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Représentation graphique de workflows d’activités


• Décrit les opération étape par étape
• Support de fux conditionnel et itératif

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 29


Diagramme d’activité
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Recevoir Commande

Stock disponible

[Non]
[Oui]

Mettre à jour
inventaire
Approvisionner

Notifier

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 30


Diagramme d’état
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Décrit le cycle de vie d’un système ou d’une entité

Disponible [déterioration] Indisponible

[rendu] [prêté]

En prêt

Perdu

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 31


Diagramme de classes
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Souvent considéré comme le diagramme le plus important


• Définit les classes, leurs attributs et leurs relations
• Décrit la conception du système
• Utilisé aussi pour les taxonomies de domaine

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 32


Diagramme de classes
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

«entity»
Position

1..* Chemin
1

«interface»
IGeoService

+ afficherPositionLivreur(): Position

«interface»
IGeoCalcul

+ proposerCheminLivreur(): Chemin

GeoService

+ afficherPositionLivreur(): Position
GeoCalcul

+ proposerCheminLivreur(): Chemin

«entity»
Livreur

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 33


Diagramme de paquets
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Un paquet est un groupement d’éléments UML


• Le paquet peut fournir un espace de nom pour les éléments qu’il
contient
• Tous les éléments UML peuvent être groupés dans des packages (pas
uniquement les classes)
• Le diagramme de paquets définit les dépendances entres les paquets
constituant un modèle

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 34


Diagramme de paquets
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Commun

RH
Pédagogie

+ EmploiDeTemps
+ Scolarité

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 35


Diagramme de déploiement
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Le diagramme de déploiement définit le « déploiement » physique des


entités et des systèmes
• Par exemple, un système logiciel composé de plusieurs sous-systèmes
logiciels et plusieurs serveurs physiques : définition où chaque sous-
système va être déployé

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 36


Diagramme de déploiement
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

«device» «device»
PC Client
Serveur BDD Serveur Application

Application web
«database»
BDD «executable»
TCP HTTP Navigateur

Serveur web

IGL | Cours 3, Introduction à UML | Section 3, Diagrammes UML 37


Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

Diagrammes UML
SECTION 3, DÉBAT 05 MNS

IGL | Cours 3, Introduction à UML


Bibliographie
Mostefai Mohammed Amine – Batata Sofiane | Copyright © ESI 2015-2016

• Software Engineering Right Edition, Ian Sommerville, Addison Wesley,


2007
• Software Development and Professional Practice, John Dooley, APress,
2010
• Software Development Life Cycle (SDLC), Togi Berra, course session 2
• Rational Unified Process - Best Practices for Software
• Development Teams, IBM / Rational, 1998

IGL – Cours 3, Introduction à UML 39

Vous aimerez peut-être aussi