Qu’est ce que la modélisation?
Transcript of Qu’est ce que la modélisation?
❑Qu’est ce que la modélisation?
❑GL et Modélisation: Un lien incontournable
❑Modélisation Orientée Objet avec UML
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 2
❑Qu’est ce que la modélisation?
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 3
La modélisation est la représentation d'un système par un autre, plus facile à appréhender. Il peut s'agir d'un système mathématique ou physique. Le modèle sera alors numérique ou analogique.
La modélisation est une technique d’ingénierie quiconsiste à créer une représentation simplifiée d’unproblème : le modèle.
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 4
Un modèle est une représentation abstraite et simplifiée (i.e. qui exclut certains détails), d’une entité (phénomène, processus, système, ...) du monde réel en vue de le décrire, de l’expliquer ou de le prévoir.
Un modèle 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.
Un modèle informatique est une représentation simplifiée de la réalité en vue de réaliser un traitement avec un ordinateur.
Qu’est ce qu’un modèle?
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 5
Un modèle: … des vues multiples
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 6
Modéliser permet de:
✓ Simuler
C’est un support de raisonnement et de simulation.
✓ Comprendre
Réduite une réalité à une entité finie et manipulable permet de mieux la comprendre.
✓ Améliorer
Comprendre un modèle permet son éventuelle amélioration.
Durant un processus de développement:
➢ Comprendre les besoins fonctionnels du client et mieux répondre à ses attentes;
➢ Communiquer avec les autres développeurs, pour avancer;
➢ Communiquer avec les responsables Système pour les besoins techniques;
Pourquoi modéliser?L’élaboration de modèles peut concerner:➢ un système existant➢ un système à créer
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 7
❑GL et Modélisation: Un lien incontournable
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 8
Cycle de développement d’un logiciel
Besoins du client
Selon un modèle de développement
Description 1
Description 2
Description 3
Description n = Logiciel exploitable
GL et Modélisation
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 9
Description i Modèle de la phase i
Analyse Modèle d’analyse
Conception Modèle conceptuel
Programmation Programme (Modèle
dans un langage
de programmation)
Selonun Formalisme de description
GL et Modélisation
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 10
Bases de l’objet:
➢ Encapsulation
▪ Regroupement du code (ce que fait une entité) et des informations;
▪ Masquage d’information au monde extérieur :
- Meilleure: - modularité (partie interface, partie privée);
- sécurité
- lisibilité
➢ Héritage
▪ Construire une classe à partir d’une autre (réutilisation)
▪ Factoriser dans une classe générique (abstraction)
➢ Polymorphisme
▪ Unicité de nom de fonction pour des codes d’implémentation différents;
▪ Liaison dynamique.
Pourquoi une modélisation Orientée Objet?
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 11
➢ la modélisation orientée objet se présente comme une approche fédératrice au cœur du système informatique actuel qui offre:
▪ la modularité;
▪ la réutilisabilité;
▪ l’extensibilité;
▪ la lisibilité;
▪ la capacité à manipuler la complexité.
➢ Pour la conception orientée objet, l’industrie se tourne vers la notation unifiée, le langage de notation UML (Unified Modeling Language).
➢ UML s’impose dans le monde des entreprises comme un des principaux outils de conception des modèles utilisés pour représenter les systèmes à développer.
GL et Modélisation Orientée Objet
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 12
❑Modélisation Orienté Objet avec UML
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 13
➢ En 1994, le consensus se fait autour de trois méthodes :
• OMT de James Rumbaugh (General Electric) fournit unereprésentation graphique des aspects statique, dynamique etfonctionnel d'un système ;
• OOD de Grady Booch, définie pour le Department of Defense, introduitle concept de paquetage (package) ;
• OOSE d'Ivar Jacobson (Ericsson) fonde l'analyse sur la description desbesoins des utilisateurs (cas d'utilisation, ou use cases)
➢ UML n'est pas une méthode ou un processus;
➢ UML est un langage pseudo-formel;
➢ Basé sur les concepts orientés objet.
UML: Unified Modeling LanguageLangage de modélisation unifié
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 14
La dernière version de la spécification validée par l’OMG est UML 2.5.1 (2017)
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 15
UML 2.5.1
UML: Unified Modeling LanguageLangage de modélisation unifié
2017
➢ un langage de modélisation graphique avec une syntaxe et une sémantique;
➢ conçu pour:
▪ décrire des besoins de systèmes;
▪ comprendre et esquisser des architectures logicielles;
▪ concevoir des solutions et communiquer des points de vue;
➢ peut être appliqué à toutes sortes de systèmes ne se limitant pas au domaine informatique.
UML: Unified Modeling LanguageLangage de modélisation unifié
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 16
+ UML est un langage pseudo-formel et normalisé
• clair et précis
• encourage l'utilisation d'outils
+ UML est un support de communication performant
• l'analyse devient plus facile
• facilite la compréhension de représentations abstraites
complexes
La mise en pratique d'UML nécessite un apprentissage et une
adaptation de réflexion en termes d’objets.
UML: Unified Modeling LanguageLangage de modélisation unifié
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 17
❑Diagrammes d’UML
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 18
Diagrammes d’UML (Version 2.5.1 (2017))
Diagrammes d’UML
Diagrammede structure composite
Diagrammede classe
Diagrammede composantsDiagrammes
d’objets
Diagrammede déploiement
Diagrammede paquetages
Diagramme de profils
Diagrammesde structure
Diagrammes de comportement
Diagramme de cas d’utilisation
Diagrammed’états-transitions
Diagrammed’interaction
Diagramme d’activités
Diagrammede communication
Diagrammeglobal d’interaction
Diagrammede séquence
Diagramme de temps
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 19
➢Diagramme de cas d’utilisationreprésente les principales fonctionnalités du système ainsi que les utilisateurs du système et leurs interactions avec celui-ci.
(exprime la relation entre l’utilisateur et les objets (acteurs) que le système met en œuvre).
Acteur : une entité externe qui interagit avec le système (opérateur,autre système…).
L’acteur peut consulter ou modifier l’état du système. En réponse àl’action d’un acteur, le système fournit un service qui correspond à sonbesoin.
- Acteurs principaux : personnes qui utilisent les fonctionsprincipales du système ;
- Acteurs secondaires : personnes qui effectuent des tâchesadministratives ou de maintenance ;
- Matériel externe.
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 20
Cas d’utilisation (Use case) : un ensemble d’actions réalisées par lesystème en réponse à une action d’un acteur.
❖ L’ensemble des cas d’utilisation décrit les objectifs du système.
« Cas 1
Cas 2Cas 3
Cas 4
« includes »« extends »
Acteur 1
Acteur 2
Système
Diagramme de cas d’utilisation
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 21
« includes » : Le cas d’utilisation incorpore obligatoirement un autre casd’utilisation. (La réalisation du premier cas nécessite celle du second).
Exemple:
(Pour consulter un compte, il est obligatoire d’entrer un mot de passe)
« extends » : Le cas d’utilisation incorpore d’une manière facultative un autre cas d’utilisation. (Le premier cas d’utilisation peut éventuellement faire appel au second).
Exemple:
(Recevoir un message peut déclencher l’alarme)
Généralisation: le cas d'utilisation descendant hérite des propriétés du parent. Exemple:
(‘Payer par chèque’ est un cas particulier de ‘Payer ‘)
Consulter compte
Entrermot de passe
Recevoir un message
Déclencher l’alarme
Payer facture
Payerpar chèque
Diagramme de cas d’utilisation
« extends »
« includes »1 2
1 2
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 22
➢Diagramme de classedécrit la structure d’un système en termes de classes et de relations entre ces classes.
Une classe est représentée par un rectangle constitué de:
- Nom de la classe
- Attributs
- Méthodes
Les liens entre classes peuvent exprimer une relation:
- d ’association
- d’héritage
- d’agrégation
- de composition
- de dépendance
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 23
❑ Attributs:propriétés communes aux objets de la classe.❖ Les valeurs des attributs d’un objet expriment l’état de ce dernier.
❑ Noms d’opérations:constitue l’interface ie le comportement quepeuvent avoir les objets de la classe.
❖ Nom de la méthode ≠ Implémentation de la méthode
Nom_de_la_classe
nom_attribut_1: type_1nom_attribut_2: type_2
nom_opération-_1(): type_1nom_opération_2: void
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 24
➢ Association:Une relation sémantique reliant deux classes et qui se lit indistinctement dans les deux sens.
Exemple:
▪ Entre les classes ‘Véhicule’ et ‘Personne’, il y a l’association ‘possède’.
▪ Entre les classes ‘Etudiant ’ et ‘Groupe’, il y a l’association ‘appartient’.
PersonneVéhicule
GroupeEtudiant
possède
appartient
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 25
❑ Rôle:
Des rôles peuvent être définis.
Exemple:
enseignant employeur
▪ Le rôle d’une personne dans une université est enseignant.
▪ Le rôle d’une université pour une personne est employeur.
❑ Cardinalité:
Un couple de valeurs permettant de préciser la relation entre deux instances (objets) de classes.
Multiplicités possibles:0 .. 1 : aucune ou au plus un objet 1 .. * : au moins un ou plusieurs objets
1 ..1 ou 1: exactement un seul objet n .. n ou n : exactement n objets
* ou 0 .. * : 0 ou plusieurs objets m .. n : au moins m et au plus n objets
Personne Universitéenseigne
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 26
Exemple:
- Une entreprise contient au moins un employé et au plus * employés.
- Une personne travaille dans une seule entreprise.
❑ Associations multiples:
Entre deux classes, il peut y avoir deux ou plusieurs associations.
▪ Un employé travaille dans une entreprise.
▪ Un employé peut diriger une entreprise.
Employé Entreprisetravaille
Employé Entreprisetravaille
peut diriger
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 27
11..*
❑ Auto-association:
Exprime la relation d’une classe avec elle-même.
Exemple:
❑ Associations n-aires:
Exprime une relation de plus de deux classes.
Exemple:
Personne
est le parent
est l’enfant
Salle Etudiant
Cours
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 28
❑ Attributs d’association:
Une association peut avoir des attributs.
Exemple:
❑ Classe d’association:
Une classe qui fait partie d'une relation d'association entre deux autres classes.
Exemple:
Sportif joggingfaire
heuredurée
Etudiant
nomcode…..
Cours
nom…..
Inscription
sectionsemestre.....
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 29
➢Héritage:Lorsque deux ou plusieurs classes partagent plusieurs attributs (et méthodes).
Exemple:
▪ ‘Enseignant’ et ‘Etudiant’ sont des sous-classes de la classe ‘Personne’ ( relation
d’héritage).
▪ La classe ´Personne’ est une super-classe pour les classes ‘Enseignant’ et ‘Etudiant’
Personne
nomPrenomdate de naissance
Etudiant
Filièreannée…
Enseignant
gradespécialité…
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 30
Pourquoi l’héritage?▪ Réutiliser le code;▪ Eviter la duplication de constituants (attributs, méthodes);▪ Organiser sémantiquement et symboliquement les classes;▪ Spécialiser ou généraliser une classe.
Propriétés de l’héritage:❖ Transitif : si A hérite de B et B hérite de C, alors A hérite de C;❖ Non-réflexif : une classe n’hérite pas d’elle-même;❖ Antisymétrique : si A hérite de B, alors B n’hérite pas de A.
Diagramme de classe
C
B
A
Gé
né
rali
sati
onS
pé
cialisa
tion
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 31
➢Agrégation:Une association non-symétrique qui attribut à l'une des classes le rôle d'agrégat et à l'autre classe le rôle d'agrégé. L'agrégation peut être assimilée à une appartenance faible.
Elle est représentée par un losange vide côté agrégat.
Exemple:
▪ Une page peut contenir des images mais celles-ci peuvent appartenir à d'autres pages.
▪ La destruction d'une page n'entraîne pas celle de l'image mais seulement la suppression du lien.
Diagramme de classe
Page Web Image1..* 0..*
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 32
➢Composition:Une agrégation forte dans laquelle l’élément n’existe pas sans l’agrégat et ne peut être en relation qu’avec un seul agrégat.
Elle est représentée par un losange noir côté agrégat.
Exemple:
▪ Un hôtel est composé de chambres.
▪ Un composant ne peut appartenir à un moment donné qu'à un seul composé.
▪ La cardinalité ne peut être que de ‘1’ maximum coté composant.
▪ La suppression du composé entraîne celle du composant..
Hôtel Chambre1..*
Diagramme de classe
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 33
➢Dépendance:Une relation de type « utilise un » ( « use ») qui signifie qu’une des deux classes utilise l’autre.
Un élément A dépend d'un élément B, lorsque A utilise des services de B.
De ce fait, tout changement dans B peut avoir des répercussions sur A.
Exemples:
Diagramme de classe
Evenementsouris
Fenêtre graphique
Moyenne
note1note2
calcul (Coefficient c)
Coefficient
coeff1coeff2
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 34
➢Exemple récapitulatif:
Diagramme de classe
Vehicule
Voiture
Roue Moteur Chassis
Personnepossède0..* 0..1
4..4
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 35
Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 36
Bonne révision!