Chapitre I - Introduction

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 22

UNIFIED MODELING LANGUAGE: UML

Par : Msc. Peter Abraham Havyarimana

1-1
I. INTRODUCTION
Concepts de l’orienté objet
✓ Classe: est une structure abstraite qui décrit des objets du
monde réel sous deux angles : ses propriétés (ses
caractéristiques) et ses méthodes (les actions qu’elle peut
effectuer ou son comportement).
Une classe est finalement une sorte de moule, de modèle.

✓ Objet: est une instance de classe. Pour faire le parallèle


avec le monde réel, l’objet c’est un peu comme une
maison bâtie sur la base d’un plan particulier.
Tant que les architectes se réfèrent à ce plan, ils produiront
toujours les mêmes maisons.
Un objet est donc issu d'une classe. On dit alors qu’un objet
est une instance d’une et une seule classe.
UML: Unified Modeling Language 1-3
Concepts de l’orienté objet
Techniquement, un objet est caractérisé par 3 choses :
❖ une identité : l’identité doit permettre d’identifier sans
ambiguïté l’objet (adresse/ référence ou nom).
❖ des états : chaque objet a une valeur par défaut
(lorsqu’elle est indiqué à l’instanciation) pour chacune
de ses propriétés. On appelle ces valeurs, des états de
l’objet.
❖ des méthodes : chaque objet est capable d’exécuter
les actions ou le comportement défini dans la classe.
Les actions possibles sur un objet sont déclenchées par des
appels de ces méthodes ou par des messages envoyées par
d’autres objets.
Les concepts de classes et d’objets sont interdépendants.

UML: Unified Modeling Language 1-4


Concepts de l’orienté objet
La classe Voiture. Instance (objet) de la classe Voiture
• Attributs :
– couleur, – Blanche
– poids(Kg), –1500
– prix($), – 7800,

• Opérations/Méthodes :
– démarrer une voiture – démarrer une voiture
– accélérer une voiture – accélérer une voiture

Identité

Etat

Méthode
Ou
comportement
UML: Unified Modeling Language 1-5
Concepts de l’orienté objet
✓ Orienté objet : organisation d’un logiciel sous la forme
d’une collection d’objets indépendants incorporant
structure de données et comportement.
✓ Attributs : il s'agit des données caractérisant l'objet. Ce
sont des variables stockant des informations sur l'état de
l'objet
✓ L’encapsulation permet de définir des niveaux de visibilité
des éléments de la classe. Ces niveaux de visibilité
définissent ce qu’on appelle la portée (ou encore le
périmètre) de la l’attribut/méthode. Il existe trois niveaux de
visibilité :
❖ Publique (+): les attributs publics sont accessibles à tous.
❖ Protégée (#): les attributs protégés sont accessibles seulement
dans la classe elle-même et aux classes dérivées.
❖ Privée (-): les attributs privés sont accessibles seulement par la
classe elle-même.
UML: Unified Modeling Language 1-6
Concepts de l’orienté objet
Modularité :
Décomposer un programme en un ensemble de modules
cohérents et faiblement couplés pouvant être compilés
séparément.
Hiérarchisation :
Ranger ou ordonnancer les abstractions
héritage => généralisation / spécialisation ("genre de")
agrégation => composition par regroupement ("partie de")
Généralisation de classe
• Factoriser dans une classe, appelée superclasse, les
attributs et/ou opérations des classes considérées.
• Permettre de réaliser une hiérarchie des classes

UML: Unified Modeling Language 1-7


Concepts de l’orienté objet
Spécialisation
• Elle représente la démarche inverse de la généralisation
• Consiste à créer à partir d’une classe, plusieurs classes
spécialisées.

Se construit en deux temps :


✓ d’abord par héritage des
opérations et des attributs
d’une super-classe et
✓ ensuite par ajout
d’opérations et/ou d’attributs
spécifiques à la sous-
classe.

UML: Unified Modeling Language 1-8


Concepts de l’orienté objet

Polymorphisme
• Capacité donnée à une même opération de s’exécuter
différemment suivant le contexte de la classe où elle se
trouve.
• Une opération définie dans une super-classe peut
s’exécuter de manière différente selon la sous-classe
où elle est héritée.
• Le polymorphisme permet la spécialisation des
traitements en fonction de la spécialisation des objets.
De plus, il n’existe aucune restriction quant à la nature
ou au nombre des traitements qui peuvent être définis
sur les objets.

UML: Unified Modeling Language


1-9
Concepts de l’orienté objet
Interfaces : c’est un ensemble de signatures de
méthodes publiques d'un objet.

Une classe concrète doit


fournir une implémentation
pour toutes les méthodes
d'une interface, soit dans
sa déclaration, soit parce
qu'elle en hérite.
L'implémentation des
méthodes d'une interface
suit les mêmes règles que
la redéfinition.

1-10
UML: Unified Modeling Language
Concepts de l’orienté objet
Persistance
• La persistance est la propriété donnée à un objet de
continuer à exister après la fin de l’exécution du
programme qui l’a créé.
• Par défaut dans l’approche objet, aucun objet n’est
persistant. Les modèles décrivent le système en
exécution en mémoire centrale et ne tiennent pas
compte à priori de l’état du système qui doit être stocké
sur disque.

UML: Unified Modeling Language


1-11
Maîtrise du processus de développement
Pour maîtriser le développement, une organisation doit choisir et
appliquer un modèle de processus définissant:
• Les phases du développement: définitions des besoins, spécifications,
planification, conception, codage, tests...
• Les produits intermédiaires: prototype, documentations...
• Les critères de changement de phase,
• Un cadre pour la gestion de projet.
L'accent est mis sur les phases amont : analyse, conception et non plus
seulement sur la programmation.

UML: Unified Modeling Language


1-13
Quel langage faut-il utiliser pour modéliser?

•Plusieurs langages et méthodes existaient/existent


• Un seul langage a réussi à s’imposer pour la
modélisation d’applications orienté objet
UML : Unified Modeling Language
- Un standard mondialement utilisé (plus de 80 % des projets)
- Standardisé par OMG
- Très bien outillé et documenté (livres, tutoriels, forums, etc.) .

UML: Unified Modeling Language


1-14
Quelques définitions
• Un modèle est une représentation simplifiée de tout ou partie d’un
système d’information existant ou futur, mettant en évidence
certains aspects essentiels.
• Pour élaborer un modèle, on s’appuie sur un méta-modèle plus ou
moins explicité.
• Un langage de modélisation est un ensemble de concepts et de
règles permettant de construire des modèles. Un langage de
modélisation peut être représenté par un méta-modèle.
• Un diagramme correspond à la forme graphique d’un modèle.

Dans ce cours, nous nous intéressons uniquement au langages de


modélisation UML ainsi que les méthodes associés à UML qui
permettent de représenter un processus de développement logiciel.

UML: Unified Modeling Language


1-15
Historique d’UML
Les premiers consensus (1995)
OMT (James Rumbaugh) : vues statiques, dynamiques et fonctionnelles
d'un système

•OOD (Grady Booch) : vues logiques et physiques du système


•Définie pour le DOD, afin de rationaliser de développement
d'applications ADA, puis C++.
•Ne couvre pas la phase d'analyse dans ses 1ères versions
(préconise SADT).
•Introduit le concept de package (élément d'organisation des
modèles).

•OOSE (Ivar Jacobson) : couvre tout le cycle de développement


•Issue d'un centre de développement d'Ericsson, en Suède.
•La méthodologie repose sur l'analyse des besoins des utilisateurs.
L'unification et la normalisation des méthodes (1995-1997)
(la fusion et synthèse des méthodes dominantes) : (OMT, OOD & OOSE) a abouti
au langage de modélisation UML (Unified Modeling Langage).
UML: Unified Modeling Language
1-16
Evolution d’UML

OMT-2
James Rumbaugh

UML 0.8
OOSPLay ‘95 UML 0.9 UML 1.0 UML 1.1
Booch ‘93 Proposé à un Standard
Juin 96
Grady Booch standard OMG OMG
fin 1997 ADTF fin 1997

Partenaires divers Task force


OOSE
Ivar Jacobson

UML UML UML UML UML UML UML 2.4.1


1.2 1.3 1.4 1.5 2.0 2.3 2013
1998 2001 2003 2005 2010

UML 2.5.1
2017

UML : Unified Modeling Language

17
UML et l’OMG

OMG = Object Management Group (www.omg.org)

Fondé en 1989 pour standardiser et promouvoir l’objet


Version 1.0 d’UML (Unified Modeling Language) en
janvier 1997 et la Version 2.5.1 en février 2017

Définition d’UML selon l’OMG :


Langage visuel dédié à la spécification, la construction et la
documentation des artefacts d’un système logiciel

UML: Unified Modeling Language 1-18


Aperçu d’UML
• UML est un langage de modélisation orientée objet
• UML n’est pas une méthode
• UML a été adopté par toutes les méthodes orientées objet
• UML est dans le domaine public ; c’est un standard
• UML est un langage pour :
– Visualiser
• Chaque symbole graphique possède une sémantique
– Spécifier
• De manière précise et complète, sans ambiguïté
– Construire
• Une partie du code des classes peut être généré
automatiquement
– Documenter
• Les différents diagrammes, notes, contraintes, exigences
sont conservés dansUMLun document
: Unified Modeling Language

19
Rôle de l’analyse
• Le but de l’analyse est de traduire dans un langage qui se
rapproche doucement de celui des informaticiens les modèles
exprimés dans l’expression des besoins
• Cependant, pour rester compréhensible par les clients ou
utilisateurs, elle ne prend en considération que des entités du
domaine (métier)
• Elle sert d’interface, avec l’expression des besoins, aux
dialogues avec les clients et les utilisateurs
• L’analyse doit servir de support pour la conception, l’implantation
et la maintenance
• Le modèle de l’analyse décrit le problème (ce que doit faire le
système et comment il le fait tel que vu d’un point de vue métier)
sans spécifier la solution technique (avec les canevas
logiciels)
Analyse = LE-QUOI
UML : Unified Modeling Language

20
Rôle de la conception

• Le but de la conception est de fixer les choix techniques


et de préparer l’implantation.
• Le modèle de la conception décrit la solution (comment
le problème est résolu)
– Conception = LE-COMMENT
• La conception doit servir de support pour l’implantation
et la maintenance
• Le plus souvent, le modèle de la conception n’est pas
destiné à être compréhensible par les utilisateurs mais
par les développeurs.

UML : Unified Modeling Language

21
Principes de la modélisation
Objectif principal de la modélisation = maîtriser la complexité
• Modéliser = abstraire la réalité pour mieux comprendre le
système à réaliser / réalisé
• Le modèle doit être relié au monde réel
– Par exemple : l’existant avant les travaux, le réalisé, le
restant à réaliser
• Un modèle peut être exprimé avec différents niveaux
d’abstraction / raffinement
– Par analogie : répartition électrique de l’immeuble, de la
cage d’escalier, de l’appartement, de la pièce
• Une seule « vue » du système n’est pas suffisante
– Les intervenants multiples du projet informatique possèdent
des préoccupations multiples
• Par analogie : plan de masse, vues de face et de côté,
schéma électrique, plan de plomberie, plan de calculs de
construction. UML : Unified Modeling Language

22
Pourquoi et comment modéliser en orienté objet

• Relier le modèle au monde réel par la notion d’objet


• Orienté objet = abstraire et décomposer le système informatique
en objets
– Le monde réel est constitué d’objets physiques ou
immatériels
– Tracer les objets virtuels de modélisation depuis les objets du
monde réel
• Relier les objets (réels) du problème et les objets (virtuels)
de la solution
– Favoriser les abstractions naturelles du monde réel utilisables
en modélisation
• Objets vus comme des « boîtes noires » : seules les
propriétés visibles de l’extérieur intéressent
• Objets possédant un nom, qualifiables, classables, dé-
/composables, interagissants avec d’autres objets, etc.
UML : Unified Modeling Language

23
Avantages de la modélisation
UML est un langage de modélisation standardisé qui peut être
utilisé pour différents environnements de programmation et
processus de développement. Il est conçu pour que la majorité
des développeurs de logiciels le comprennent et soient en
mesure de l’appliquer à leur travail.
Au lieu de les considérer comme un simple « plus », accordez à
vos diagrammes UML une place centrale dans votre
documentation. Ces visuels peuvent aider les équipes
d’ingénieurs à :
✓ former rapidement les nouvelles recrues ou les développeurs
qui changent d’équipe.
✓ appréhender le code source.
✓ planifier les nouvelles fonctionnalités avant leur programmation.
✓ communiquer plus facilement avec des publics techniques et
non techniques.
UML: Unified Modeling Language
1-24

Vous aimerez peut-être aussi