Qu’est ce que la modélisation?

36

Transcript of Qu’est ce que la modélisation?

Page 1: Qu’est ce que la modélisation?
Page 2: 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

Page 3: Qu’est ce que la modélisation?

❑Qu’est ce que la modélisation?

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 3

Page 4: Qu’est ce que la modélisation?

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

Page 5: Qu’est ce que la modélisation?

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

Page 6: Qu’est ce que la modélisation?

Un modèle: … des vues multiples

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 6

Page 7: Qu’est ce que la modélisation?

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

Page 8: Qu’est ce que la modélisation?

❑GL et Modélisation: Un lien incontournable

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 8

Page 9: Qu’est ce que la modélisation?

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

Page 10: Qu’est ce que la modélisation?

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

Page 11: Qu’est ce que la modélisation?

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

Page 12: Qu’est ce que la modélisation?

➢ 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

Page 13: Qu’est ce que la modélisation?

❑Modélisation Orienté Objet avec UML

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 13

Page 14: Qu’est ce que la modélisation?

➢ 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

Page 15: Qu’est ce que la modélisation?

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

Page 16: Qu’est ce que la modélisation?

➢ 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

Page 17: Qu’est ce que la modélisation?

+ 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

Page 18: Qu’est ce que la modélisation?

❑Diagrammes d’UML

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 18

Page 19: Qu’est ce que la modélisation?

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

Page 20: Qu’est ce que la modélisation?

➢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

Page 21: Qu’est ce que la modélisation?

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

Page 22: Qu’est ce que la modélisation?

« 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

Page 23: Qu’est ce que la modélisation?

➢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

Page 24: Qu’est ce que la modélisation?

❑ 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

Page 25: Qu’est ce que la modélisation?

➢ 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

Page 26: Qu’est ce que la modélisation?

❑ 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

Page 27: Qu’est ce que la modélisation?

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..*

Page 28: Qu’est ce que la modélisation?

❑ 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

Page 29: Qu’est ce que la modélisation?

❑ 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

Page 30: Qu’est ce que la modélisation?

➢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

Page 31: Qu’est ce que la modélisation?

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

rali

sati

onS

cialisa

tion

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 31

Page 32: Qu’est ce que la modélisation?

➢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

Page 33: Qu’est ce que la modélisation?

➢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

Page 34: Qu’est ce que la modélisation?

➢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

Page 35: Qu’est ce que la modélisation?

➢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

Page 36: Qu’est ce que la modélisation?

Génie Logiciel L3 ISIL- Mme S.S. Bendib 2021-2022 36

Bonne révision!