Uml 1
Uml 1
Uml 1
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
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.
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
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