Uml 1

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

Conception orientée objet -

Introduction à UML
Diakite Madibaba

2022 - 2023
Plan du cours
 Introduction
 Modélisation fonctionnelle versus orientée objet
 Concepts de base de la modélisation orientée objet
 Introduction à UML
 Les diagrammes UML
 Vues statiques
 Vues dynamiques

2
Notion de modélisation
 Abstraction du monde réel afin d'en garder les aspects
que l'on veut étudier mais également d'en maîtriser la
complexité.
 Différentes phases dans la mise en œuvre d’un logiciel (de
l’analyse des besoins jusqu’à la conception détaillée voire
la programmation) nécessitent des modèles.
 Il existe différentes approches de modélisation pour
décrire un logiciel et son fonctionnement.
 Deux principales approches de modèles sont: l'approche
fonctionnelle (ou structurée) et l'approche objet.

3
Modélisation

Modélisation

Réalité
Modèle

Implémentation

4
Notion de modèle
 Unmodè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é
 Un même sujet d'étude peut avoir plusieurs modèles,
chacun donnant un point de vue différent sur le sujet.
 Les limites du phénomène modélisé dépendent des
objectifs du modèle.

5
Approches de modélisation

 Approche fonctionnelle : la modélisation est réalisée à


partir de fonctions que doit réaliser le système.
 Approche orientée objet : on identifie les objets
manipulés par le système, avec leurs états et leurs
comportements.

6
Approche fonctionnelle
 Trouve son origine dans les langages procéduraux (C, Ada,
Fortran,… )
 Elle met en évidence les fonctions à assurer et proposent
une approche hiérarchique et modulaire.
 L'architecture du système est dictée par la réponse au
problème (i.e. la fonction du système)
 L'approche fonctionnelle dissocie le problème de la
représentation des données du problème du traitement
de ces données.

7
Approche fonctionnelle

8
Approche fonctionnelle : MERISE
 MERISE est l’une des méthodes les plus connues, utilisées
dans les années 1980 pour organiser la programmation
impérative (notamment)
 Merise est également fondées sur la modélisation séparée
des données et des traitements.
 MCD ( Modèle Conceptuel de Donnée): entité-relation
 MCT (Modèle Conceptuel de Traitement)

9
Approche fonctionnelle : SADT
 La SADT (Structured Analysis Design Technique) est l’une
des méthodes d'analyse fonctionnelle et de gestion de
projets les plus connues.
 Elle permet de décrire les tâches du projet et leurs
interactions.
 La modélisation des données est assez mal couverte par
rapport à la modélisation fonctionnel

10
Approche objet
 L'approche objet considère le logiciel comme une
collection d'objets dissociés, identifiés et possédant des
caractéristiques
 Ces caractéristiques sont soit :
 Des attributs : données caractérisant l'état de l'objet
 Des méthodes : caractérisent son comportement, c'est-à-dire
l'ensemble des actions qu’il peut réaliser
 La fonctionnalité du logiciel émerge alors de l'interaction
entre les différents objets qui le constituent.
 L'une des particularités de cette approche est qu'elle
rapproche les données et leurs traitements associés au
sein d'un unique objet.

11
Conception Orienté Objet
 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 la fonction qu'il est
censé réaliser.
 L'architecture du système est dictée par la structure du
problème.

De quoi se compose le système ?


12
Approche fonctionnelle vs. Approche
orientée objet
1) Gestion des données
 L'approche objet est une approche orientée donnée
 Il y a une forte cohérence entre traitements et données
 L'approche
structurée privilégie une organisation des
données postérieure à la découverte des fonctions
 Le risque d’incohérence entre traitements et données est donc
plus élevé

13
Approche fonctionnelle vs. Approche
orientée objet
2) Gestion de l’évolution des besoins
 En approche objet, l'évolution des besoins se présente comme
un changement de l'interaction des objets:
 S'il y a une modification des données, seul l'objet concerné sera
modifié. Toutes les fonctions à modifier sont bien identifiées : ce sont
ses méthodes.
 Dans une approche structurée, l'évolution des besoins
entraîne souvent une profonde remise en question de la
topologie:
 La décomposition des unités de traitement (du programme principal
aux sous-fonctions) est directement dictée par ces besoins.
 Une modification des données entraîne une modification d'un
nombre important de fonctions éparpillées et difficiles à identifier
dans la hiérarchie de cette décomposition.

14
Concepts de base de l’orienté objet
 Notion d’objet et de classe
 Encapsulation
 Héritage: Spécialisation et généralisation
 Polymorphisme

15
Objet et Classe
 Un objet est défini à la fois par des information sur son état
(attributs) et ses comportements (méthodes).
 Une classe est un type de données abstrait qui précise des
caractéristiques (attributs et méthodes) communes à toute une
famille d'objets et qui permet de créer (instancier) des objets
possédant ces caractéristiques.
 Un objet est une instance de classe

16
Encapsulation
 L'encapsulationconsiste à
masquer les détails
d'implémentation d'un objet,
en définissant une interface.
 L'interface est la vue externe
d'un objet, elle définit les
services accessibles (offerts) aux
utilisateurs de l'objet.
 L'encapsulation garantit
l'intégrité des données, car elle
permet d'interdire, ou de
restreindre, l'accès direct aux
attributs des objets.
17
Héritage
 L'héritageest un mécanisme de transmission des
caractéristiques d'une classe (ses attributs et méthodes)
vers une sous-classe.
 L’héritage permet de définir de nouvelles classes à partir de
classes existantes
Personne
Nom Généralisation
Age

Salarié
Nom
Age Spécialisation
Employeur
Fonction
18
Polymorphisme
 Représente la faculté d'une méthode à pouvoir
s'appliquer à des objets de classes différentes. Le
polymorphisme augmente la généricité, et donc la qualité,
du code.
Animaux
SeDeplacer()

Oiseaux Serpents
SeDeplacer() SeDeplacer()
{ {
en volant en glissant
} }
19
Introduction à UML

20
UML - Petit rappel historique

OMT- Rumbaugh OOSE - Jacobson OOD -Booch

UML- Unified Model Language

 Standard de modélisation objet adopté en 1997 par


l’Object Management Group (OMG)
 Révision des spécifications initiales en 2001 – UML1
 Approbation de la version UML 2.0 en 2004
21
C’est quoi UML ?
 UML est défini par l'OMG comme un « langage visuel
dédié à la spécification, la construction et la documentation
des artefacts d'un système logiciel »

22
Modélisation UML
 UML est un langage de modélisation semi-formel et
graphique
 UML permet de construire plusieurs modèles d’un
système :
 le système du point de vue des utilisateurs,
 la structure interne du système,
 vision globale ou détaillée du système
…
 Les modèles se complètent et peuvent être assemblés.
 Ils sont élaborés tout au long du cycle de vie du
développement d’un système : depuis le recueil des
besoins jusqu’à la phase de conception

23
diagrammes UML
 Différents
diagrammes UML ont été définis. Ces diagrammes
peuvent être utilisés à différentes fins:
 Diagrammes descriptifs versus diagrammes prescriptifs
 descriptif : permet de décrire l'existant
 prescriptifs : permet de décrire le futur système à réaliser
 Diagrammes destinés à différents acteurs
 pour les utilisateurs
 pour les concepteurs/développeurs
 Diagrammes statiques (ou structurels) versus diagrammes
dynamiques (ou comportementaux)
 statiques : permet de décrire les aspects structurels
 dynamiques : permet de décrire les comportements et les
interactions

24
…et un langage pour exprimer des contraintes : OCL
25

Vous aimerez peut-être aussi