Introduction à la
Modélisation Objet
Conception Orientée Objet (UML) – Chapitre 1
Amir Souissi
©2017
1
Institut Supérieur des Etudes Technologiques (ISET-Tunisie)
Niveau: 2ème année Licence appliquée
Spécialité : DSI, RSI
Mr Amir
Souissi
© 2017
Plan
1. Le système d’Informations
2. Le système Informatique
3. Méthodologies de conception
4. Le paradigme Objet
5. Le langage UML
2
Chapitre1
IntroductionàlaModélisationObjet
Plan
Mr Amir
Souissi
© 2017
1. Le Système d’Informations
Un Système d’Informations (SI) représente l’ensemble des éléments
(personnel, matériel, logiciel, données et procédures) participant au
stockage, classification, traitement, et diffusion de l’information au
sein d’une organisation.
Les Tâches d’un SI :
Collecte
Stockage
Traitement
diffusion
3
Chapitre1
IntroductionàlaModélisationObjet
1.Lesystème
d’informations
Mr Amir
Souissi
© 2017
PlaceduSIdansuneorganisation
4
Chapitre1
IntroductionàlaModélisationObjet
1.Lesystème
d’informations
Système de pilotage
Système d’Information
Système opérant
Organisation
Environnement
Informations traitées
Informations internes
Informations externes
Décisions
Consignes
Informations vers
l’extérieurStockageTraitement
Mr Amir
Souissi
© 2017
2. Le Système Informatique
Système Informatique != Système d’Informations
Système Informatique est un sous ensemble du système
d’informations. Il n’intègre que la dimension technologique, c’est-à-
dire les logiciels et les infrastructures
Pourquoi a-t-on besoin du Système Informatique?
Volume des données de plus en plus important
Automatisation des tâches au sein du système d’informations
Stockage et rangement des données
Préparation aux traitements
Traitements et modification
Utilisation et analyse
 Parler de système d'informations sans évoquer le système
informatique n'a plus de sens. 5
Chapitre1
IntroductionàlaModélisationObjet
2.Lesystème
Informatique
Mr Amir
Souissi
© 2017
LeSystèmeInformatique:définition
L’informatique est la science qui étudie le traitement automatique
de l’information par un ordinateur.
Le système informatique est un environnement matériel et logiciel
pour traiter automatiquement l’information.
 Le Système Informatique est un moyen pour mettre en œuvre le
Système d’Information.
6
Chapitre1
IntroductionàlaModélisationObjet
2.Lesystème
Informatique
Système Informatique
Ordinateur et
ses
périphériques
Programmes
Données Résultats
Mr Amir
Souissi
© 2017
3. Méthodologies de Conception
Un modèle est une représentation d’une situation dans la réalité.
Pourquoi Modéliser ?
Dans une situation donnée, chaque personne peut avoir une
compréhension différente de la situation réelle.
La modélisation avec un ensemble de règles et de notations
permet de partager la compréhension et ainsi favorise la
communication.
Modéliser un système avant sa réalisation permet de comprendre
son fonctionnement mais on peut modéliser un système existant.
La conception est la construction de la solution à un problème
donné.
La conception peut englober la modélisation ou pas: Sans
modélisation le système conçu ne sera pas bien compris.
La conception consiste à répondre à la question « comment faire le
système ? »
7
Chapitre1
IntroductionàlaModélisationObjet
3.Méthodologiesde
conception
Mr Amir
Souissi
© 2017
Cycledeviedulogicielengénéral
8
Expression des besoins
Tests
Codage
Spécification
Analyse
Conception
Validation
Maintenance
Chapitre1
IntroductionàlaModélisationObjet
3.Méthodologiesde
conception
 Définition d’un cahier des charges
 Interviews avec l’acteur métier
 Ce que le système doit être et comment il va être utilisé
 Formalisation du cahier des charges et des contraintes
 Les éléments intervenants dans le SI, leurs structures et leurs
relations selon 3 vues : fonctionnelle, statique et dynamique
 Conception générale : élaboration de l’architecture générale du logiciel
 Conception détaillée : définir avec précision chaque module du logiciel
 Implémentation dans un langage de programmation
 Contrôle de qualité
 Vérifier la conformité avec le cahier des charges
 Actions correctives (corriger les erreurs) et évolutives (Intégrer des
changements)
Mr Amir
Souissi
© 2017
DifférentesméthodesdeconceptiondeSI
Méthodes Fonctionnelles
Première génération (1960-1970)
Le système est vue comme un ensemble de traitements
Décomposer un problème en sous-problèmes (les fonctions en sous-
fonctions).
Pas de limites précises pour les décompositions
Redondance possible des données
Méthodes Systémiques
2ème génération (197x-198x)
Le système est traité comme un ensemble d’entités communicants entre
elles et avec l’extérieur.
Introduction des niveaux d’abstraction dans la conception : conceptuel,
logique et physique.
Double démarche de conception : les données et les traitements
(MCD et MCT, MLD et MLT, …)
Pas de règle précise pour la fusion des deux aspects 9
Chapitre1
IntroductionàlaModélisationObjet
3.Méthodologiesde
conception
Mr Amir
Souissi
© 2017
DifférentesméthodesdeconceptiondeSI
10
Chapitre1
IntroductionàlaModélisationObjet
3.Méthodologiesde
conception
 Il est intéressant d’envisager les traitements en fonction des
données sur lesquels ils vont s’appliquer.
Les méthodes Objets
Dernière génération de méthodes d’analyse et de conception de SI
(198x, …)
Inclure les concepts objets dans le processus de conception du SI.
Intégrer dans l’objet des données et des traitements
Simplifier le passage du conceptuel au physique
Ses principales étapes sont :
Identification des différents types de liens
Identification des objets et des classes d’objets
Identification des sous-systèmes
Exemples: OMT, MCO, O*, OOSE, …
Mr Amir
Souissi
© 2017
4. Le paradigme Objet
L’approche objet décrit le SI sous forme de :
Classes
Encapsulation des données et des traitements dans une même
entité
Objets
Des instances de classes qui interagissent ensemble
Relations entre les classes
Association
Héritage
Polymorphisme
11
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Mr Amir
Souissi
© 2017
Classe/Objet
Les objets sont regroupés dans des classes définies par des attributs
et des méthodes.
classe : objet :
L’existence d’un attribut clé n’est pas obligatoire
Le nom d’un attribut est unique par classe
Un attribut est simple/composé, monovalué/multivalué
Un type et une valeur sont attribué par défaut à chaque attribut
Une instance de classe est un objet
12
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Nom
Attributs
opérations
Désignation
Valeurs
Personne
Nom
Prénom
Créer()
Supprimer()
Personne
Ben Salah
Mohamed
Mr Amir
Souissi
© 2017
Classe/Objet:Encapsulation
Mécanisme consistant à rassembler, au sein d’une même structure, les
données et les traitements
 Définition des attributs et méthodes au niveau de la classe
 L’implémentation de la classe est cachée pour l’utilisateur
Définition d’une interface : vue externe de l’objet
Sert à protéger l’information contenue dans l’objet
Possibilité de modifier l’implémentation sans modifier l’interface
13
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Méthodes public
objet
Données privées
Méthodes privées
Interface
Mr Amir
Souissi
© 2017
Classe/Objet:Encapsulation
14
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
public class compte {
private float solde;
public float getSolde (){
return solde;
}
public void setSolde ( float solde){
this.solde = solde;
}
}
Accesseur
public
Mutateur
public
Compte
Solde
Créer()
Concepteur Développeur
Utilisateur
Interface (ex : graphique)
Je veux créer
un nouveau
compte
Compte C = new compte();
C.creer();
Implémentation
Donnée
privée
Mr Amir
Souissi
© 2017
Classe/Objet:Contraintes
On peut exprimer des contraintes statiques sur les classe, les objets,
les attributs ou les opérations.
Elles expriment surtout des contraintes de domaine
Elles sont directement exprimés sur les représentations graphiques
du SI étudié.
Exemples :
Certaines méthodes objet ne définissent pas un langage précis pour
l’expression des contraintes.
15
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Employé
ID
Âge
Calcul_salaire()
{âge <=65}
Tâche
priorité {priorité ne doit pas augmenter}
Mr Amir
Souissi
© 2017
Associations
Une association relie une ou plusieurs classes.
Elle représente un lien conceptuel entre les objets des classes considérés.
16
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Classe 1
Attributs
Opérations
Classe 2
Attributs
Opérations
[Nom_Association]
[rôle1] [rôle2]
card1 card2
Au niveau de l’implémentation, le nom sera
remplacée par des attributs spécifiques.
Le rôle explicite la sémantique du lien.
La cardinalité caractérise les associations binaires.
Exprime la multiplicité des instances d’objets des
classes participantes à une association
Mr Amir
Souissi
© 2017
Associations:NotationOMT
17
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Employé
ID
Nom
Créer()
Service
Intitulé
Créer()
Supprimer()
Affecter
Diriger
1+
{sub-set}
Durée
date
Attributs de lien
Contrainte
E/A OMT
(0,1)
(1,1)
(0,N)
(1,N)
3,4
1+
3,4
Quels sont les règles de gestions exprimés par ce modèle?
Cardinalité
Mr Amir
Souissi
© 2017
Héritage
18
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Certaines classes possèdent des caractéristiques communes.
Grouper dans la classe générale les caractéristiques communes des
classes spécifiques.
Elimine la redondance des données et comportements
Facilite les opérations de mise à jour
Donne plus de sémantique aux représentations conceptuelles
Classe B « EST UN » Classe A
Ex: Avion est un Véhicule
Véhicule
Nb_passagers
Vitesse
Avion
Nb_passagers
Vitesse
Altitude
Hérite de
Attributs hérités
Classe A
Classe B
Classe de Base
(classe mère ou générale
ou super classe)
Classe dérivée
(classe fille ou spécifique
ou sous classe)
spécialisation
généralisation
Mr Amir
Souissi
© 2017
Héritage:SimplevsMultiple
19
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Notation OMT
Spécialisation non disjointe
Spécialisation disjointe
Personne
Enseignant Etudiant Adulte Enfant
Etudiant-Enseignant
Héritage simple
Héritage multiple
Les contraintes d’héritage expriment l’intersection ou non entre les instances
des spécialisations.
Avec OMT on ne distingue pas les classes abstraites des classes concrètes.
Mr Amir
Souissi
© 2017
Polymorphisme
20
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Le polymorphisme est le concept qui consiste à fournir une seule
interface à différents types d’entités.
Polymorphisme statique de surcharge (Overloading): des méthodes
de même nom dans des classes différentes ou dans la même classe,
avec des signatures différentes.
Différenciation par la signature
Polymorphisme dynamique d’héritage (Redéfinition ou Overriding):
des méthodes de même noms et de mêmes signatures dans deux
classes différentes de la même hiérarchie.
La méthode de la classe est appelée en priorité.
Forcer l’appel de la méthode de la classe mère (super).
Forcer l’accès aux membres de la classe actuelle (this)
Mr Amir
Souissi
© 2017
Polymorphisme:Exemple
21
Chapitre1
IntroductionàlaModélisationObjet
4.LeparadigmeObjet
Véhicule
Deplacer()
Voiture
Deplacer()
Deplacer (int)
Bateau
Deplacer()
Bateau.Deplacer()
Voiture.Deplacer()
{
super.Deplacer();
}
Voiture.Deplacer()
Voiture.Deplacer(120) Méthodes surchargées
Méthodes redéfinies
Surcharge: l’appel de la méthode se fait selon la signature correspondante.
Redéfinition: l’appel de la méthode se fait selon l’objet qui fait appel.
Mr Amir
Souissi
© 2017
5. Le langage UML
22
Chapitre1
IntroductionàlaModélisationObjet
5.LelangageUML
L’approche objet est la dernière évolution dans l’analyse et la
conception des SI.
L’approche objet permet d’améliorer la productivité des concepteurs et
des développeurs.
L’approche objet simplifie le passage conceptuel/physique et facilite le
prototypage par la réutilisation (modules dans des bibliothèques) et non
par le développement.
Durant les dernières décennies, plus de 50 méthodes objet ont été
proposées.
Divers concepts sont utilisés
Divers modèles proposés
Diverses démarches suivies
Diverses notations graphiques supportées
Diverses sémantiques accordées aux mêmes concepts
On ne parle plus de langage  Problème de communication
Mr Amir
Souissi
© 2017
UML:Lasolution
23
Chapitre1
IntroductionàlaModélisationObjet
5.LelangageUML
Besoin d’unification
UNIFIED
Pour la modélisation
MODELING
Sous forme de langage
LANGUAGE
Proposer une méthode unifiée revient à proposer une autre méthode
Il est plus intéressant d’avoir un langage unifié qui sera associé à n’importe
qu’elle démarche.
UML peut être associé à toute démarche de conception :
À n’importe quelle étape de la démarche
Avec différents environnements de développement
Mr Amir
Souissi
© 2017
UML:Historique
24
Chapitre1
IntroductionàlaModélisationObjet
5.LelangageUML
Genèse :
Unification des concepts et des modèles de 3 méthodes connues
(Booch, OMT, OOSE)
Standardisation:
UML est un standard des notations graphiques et du vocabulaire
utilisé par l’ACOO des SI (et même des systèmes en général).
UML n’est pas une méthode de conception mais un ensemble de
notations unifiées.
UML est à présent est un standard adopté par l’OMG (Object
Management Group)
Partenaires:
IBM, Microsoft, UniSys, HP, Oracle, …
Mr Amir
Souissi
© 2017
UML:Evolution
25
Chapitre1
IntroductionàlaModélisationObjet
5.LelangageUML
UML :
 évolue mais reste stable
Couvre le cycle de développement logiciel de la spécification des besoins à
l’implantation
est un support de communication (conséquence de la standardisation)
Mr Amir
Souissi
© 2017
UML:Vues
26
Chapitre1
IntroductionàlaModélisationObjet
5.LelangageUML
UML voit le système étudié selon différentes perspectives.
Vue
Logique
Vue
Implantation
Vue
Déploiement
Vue
Processus
Vue
Cas d’Utilisation
Aspect parallélisme :
Tâches, Processus , Threads
Interactions
Aspect répartition:
Nœuds
Modules
Aspect fonctionnel :
Acteurs , Cas d’utilisations, collaboration
Aspect statique:
Paquetages, méthodes, Nœuds
Aspect statique :
Classes, objets, paquetages
Aspect dynamique:
interactions, activités, séquences,
états-transitions
Mr Amir
Souissi
© 2017
UML:Axesdemodélisation
27
Chapitre1
IntroductionàlaModélisationObjet
5.LelangageUML
UML permet de modéliser un système selon trois axes.
Fonctionnel
Dynamique
Statique
Ce que le système Fait
Ce que le système Est
Comment le système Evolue
Décritlesservicesrendus
Décrit les réactions du système
dans le temps
Mr Amir
Souissi
© 2017
UML:Diagrammes
28
Chapitre1
IntroductionàlaModélisationObjet
5.LelangageUML
 UML utilise des diagrammes pour modéliser le système ou une partie du système
selon une vue qui correspond à l’un des axes de modélisation.
 Un diagramme UML est une représentation graphique d’une séquence d’opérations
ou de la structure d’un système.
 Chaque diagramme est construit par un ensemble d’éléments du langage UML. Ces
éléments graphiques ont une sémantique unique qui simplifie la compréhension du
modèle du système. Fonctionnel
Dynamique
Statique
Cas d’utilisations
Classes
Objets
Composants
Déploiement
Séquences
Collaborations
Etats-transitions
Activités
9 diagrammes UML1.4
+
4 diagrammes UML2.x

introduction à la modélisation objet

  • 1.
    Introduction à la ModélisationObjet Conception Orientée Objet (UML) – Chapitre 1 Amir Souissi ©2017 1 Institut Supérieur des Etudes Technologiques (ISET-Tunisie) Niveau: 2ème année Licence appliquée Spécialité : DSI, RSI
  • 2.
    Mr Amir Souissi © 2017 Plan 1.Le système d’Informations 2. Le système Informatique 3. Méthodologies de conception 4. Le paradigme Objet 5. Le langage UML 2 Chapitre1 IntroductionàlaModélisationObjet Plan
  • 3.
    Mr Amir Souissi © 2017 1.Le Système d’Informations Un Système d’Informations (SI) représente l’ensemble des éléments (personnel, matériel, logiciel, données et procédures) participant au stockage, classification, traitement, et diffusion de l’information au sein d’une organisation. Les Tâches d’un SI : Collecte Stockage Traitement diffusion 3 Chapitre1 IntroductionàlaModélisationObjet 1.Lesystème d’informations
  • 4.
    Mr Amir Souissi © 2017 PlaceduSIdansuneorganisation 4 Chapitre1 IntroductionàlaModélisationObjet 1.Lesystème d’informations Systèmede pilotage Système d’Information Système opérant Organisation Environnement Informations traitées Informations internes Informations externes Décisions Consignes Informations vers l’extérieurStockageTraitement
  • 5.
    Mr Amir Souissi © 2017 2.Le Système Informatique Système Informatique != Système d’Informations Système Informatique est un sous ensemble du système d’informations. Il n’intègre que la dimension technologique, c’est-à- dire les logiciels et les infrastructures Pourquoi a-t-on besoin du Système Informatique? Volume des données de plus en plus important Automatisation des tâches au sein du système d’informations Stockage et rangement des données Préparation aux traitements Traitements et modification Utilisation et analyse  Parler de système d'informations sans évoquer le système informatique n'a plus de sens. 5 Chapitre1 IntroductionàlaModélisationObjet 2.Lesystème Informatique
  • 6.
    Mr Amir Souissi © 2017 LeSystèmeInformatique:définition L’informatiqueest la science qui étudie le traitement automatique de l’information par un ordinateur. Le système informatique est un environnement matériel et logiciel pour traiter automatiquement l’information.  Le Système Informatique est un moyen pour mettre en œuvre le Système d’Information. 6 Chapitre1 IntroductionàlaModélisationObjet 2.Lesystème Informatique Système Informatique Ordinateur et ses périphériques Programmes Données Résultats
  • 7.
    Mr Amir Souissi © 2017 3.Méthodologies de Conception Un modèle est une représentation d’une situation dans la réalité. Pourquoi Modéliser ? Dans une situation donnée, chaque personne peut avoir une compréhension différente de la situation réelle. La modélisation avec un ensemble de règles et de notations permet de partager la compréhension et ainsi favorise la communication. Modéliser un système avant sa réalisation permet de comprendre son fonctionnement mais on peut modéliser un système existant. La conception est la construction de la solution à un problème donné. La conception peut englober la modélisation ou pas: Sans modélisation le système conçu ne sera pas bien compris. La conception consiste à répondre à la question « comment faire le système ? » 7 Chapitre1 IntroductionàlaModélisationObjet 3.Méthodologiesde conception
  • 8.
    Mr Amir Souissi © 2017 Cycledeviedulogicielengénéral 8 Expressiondes besoins Tests Codage Spécification Analyse Conception Validation Maintenance Chapitre1 IntroductionàlaModélisationObjet 3.Méthodologiesde conception  Définition d’un cahier des charges  Interviews avec l’acteur métier  Ce que le système doit être et comment il va être utilisé  Formalisation du cahier des charges et des contraintes  Les éléments intervenants dans le SI, leurs structures et leurs relations selon 3 vues : fonctionnelle, statique et dynamique  Conception générale : élaboration de l’architecture générale du logiciel  Conception détaillée : définir avec précision chaque module du logiciel  Implémentation dans un langage de programmation  Contrôle de qualité  Vérifier la conformité avec le cahier des charges  Actions correctives (corriger les erreurs) et évolutives (Intégrer des changements)
  • 9.
    Mr Amir Souissi © 2017 DifférentesméthodesdeconceptiondeSI MéthodesFonctionnelles Première génération (1960-1970) Le système est vue comme un ensemble de traitements Décomposer un problème en sous-problèmes (les fonctions en sous- fonctions). Pas de limites précises pour les décompositions Redondance possible des données Méthodes Systémiques 2ème génération (197x-198x) Le système est traité comme un ensemble d’entités communicants entre elles et avec l’extérieur. Introduction des niveaux d’abstraction dans la conception : conceptuel, logique et physique. Double démarche de conception : les données et les traitements (MCD et MCT, MLD et MLT, …) Pas de règle précise pour la fusion des deux aspects 9 Chapitre1 IntroductionàlaModélisationObjet 3.Méthodologiesde conception
  • 10.
    Mr Amir Souissi © 2017 DifférentesméthodesdeconceptiondeSI 10 Chapitre1 IntroductionàlaModélisationObjet 3.Méthodologiesde conception Il est intéressant d’envisager les traitements en fonction des données sur lesquels ils vont s’appliquer. Les méthodes Objets Dernière génération de méthodes d’analyse et de conception de SI (198x, …) Inclure les concepts objets dans le processus de conception du SI. Intégrer dans l’objet des données et des traitements Simplifier le passage du conceptuel au physique Ses principales étapes sont : Identification des différents types de liens Identification des objets et des classes d’objets Identification des sous-systèmes Exemples: OMT, MCO, O*, OOSE, …
  • 11.
    Mr Amir Souissi © 2017 4.Le paradigme Objet L’approche objet décrit le SI sous forme de : Classes Encapsulation des données et des traitements dans une même entité Objets Des instances de classes qui interagissent ensemble Relations entre les classes Association Héritage Polymorphisme 11 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet
  • 12.
    Mr Amir Souissi © 2017 Classe/Objet Lesobjets sont regroupés dans des classes définies par des attributs et des méthodes. classe : objet : L’existence d’un attribut clé n’est pas obligatoire Le nom d’un attribut est unique par classe Un attribut est simple/composé, monovalué/multivalué Un type et une valeur sont attribué par défaut à chaque attribut Une instance de classe est un objet 12 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet Nom Attributs opérations Désignation Valeurs Personne Nom Prénom Créer() Supprimer() Personne Ben Salah Mohamed
  • 13.
    Mr Amir Souissi © 2017 Classe/Objet:Encapsulation Mécanismeconsistant à rassembler, au sein d’une même structure, les données et les traitements  Définition des attributs et méthodes au niveau de la classe  L’implémentation de la classe est cachée pour l’utilisateur Définition d’une interface : vue externe de l’objet Sert à protéger l’information contenue dans l’objet Possibilité de modifier l’implémentation sans modifier l’interface 13 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet Méthodes public objet Données privées Méthodes privées Interface
  • 14.
    Mr Amir Souissi © 2017 Classe/Objet:Encapsulation 14 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet publicclass compte { private float solde; public float getSolde (){ return solde; } public void setSolde ( float solde){ this.solde = solde; } } Accesseur public Mutateur public Compte Solde Créer() Concepteur Développeur Utilisateur Interface (ex : graphique) Je veux créer un nouveau compte Compte C = new compte(); C.creer(); Implémentation Donnée privée
  • 15.
    Mr Amir Souissi © 2017 Classe/Objet:Contraintes Onpeut exprimer des contraintes statiques sur les classe, les objets, les attributs ou les opérations. Elles expriment surtout des contraintes de domaine Elles sont directement exprimés sur les représentations graphiques du SI étudié. Exemples : Certaines méthodes objet ne définissent pas un langage précis pour l’expression des contraintes. 15 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet Employé ID Âge Calcul_salaire() {âge <=65} Tâche priorité {priorité ne doit pas augmenter}
  • 16.
    Mr Amir Souissi © 2017 Associations Uneassociation relie une ou plusieurs classes. Elle représente un lien conceptuel entre les objets des classes considérés. 16 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet Classe 1 Attributs Opérations Classe 2 Attributs Opérations [Nom_Association] [rôle1] [rôle2] card1 card2 Au niveau de l’implémentation, le nom sera remplacée par des attributs spécifiques. Le rôle explicite la sémantique du lien. La cardinalité caractérise les associations binaires. Exprime la multiplicité des instances d’objets des classes participantes à une association
  • 17.
  • 18.
    Mr Amir Souissi © 2017 Héritage 18 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet Certainesclasses possèdent des caractéristiques communes. Grouper dans la classe générale les caractéristiques communes des classes spécifiques. Elimine la redondance des données et comportements Facilite les opérations de mise à jour Donne plus de sémantique aux représentations conceptuelles Classe B « EST UN » Classe A Ex: Avion est un Véhicule Véhicule Nb_passagers Vitesse Avion Nb_passagers Vitesse Altitude Hérite de Attributs hérités Classe A Classe B Classe de Base (classe mère ou générale ou super classe) Classe dérivée (classe fille ou spécifique ou sous classe) spécialisation généralisation
  • 19.
    Mr Amir Souissi © 2017 Héritage:SimplevsMultiple 19 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet NotationOMT Spécialisation non disjointe Spécialisation disjointe Personne Enseignant Etudiant Adulte Enfant Etudiant-Enseignant Héritage simple Héritage multiple Les contraintes d’héritage expriment l’intersection ou non entre les instances des spécialisations. Avec OMT on ne distingue pas les classes abstraites des classes concrètes.
  • 20.
    Mr Amir Souissi © 2017 Polymorphisme 20 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet Lepolymorphisme est le concept qui consiste à fournir une seule interface à différents types d’entités. Polymorphisme statique de surcharge (Overloading): des méthodes de même nom dans des classes différentes ou dans la même classe, avec des signatures différentes. Différenciation par la signature Polymorphisme dynamique d’héritage (Redéfinition ou Overriding): des méthodes de même noms et de mêmes signatures dans deux classes différentes de la même hiérarchie. La méthode de la classe est appelée en priorité. Forcer l’appel de la méthode de la classe mère (super). Forcer l’accès aux membres de la classe actuelle (this)
  • 21.
    Mr Amir Souissi © 2017 Polymorphisme:Exemple 21 Chapitre1 IntroductionàlaModélisationObjet 4.LeparadigmeObjet Véhicule Deplacer() Voiture Deplacer() Deplacer(int) Bateau Deplacer() Bateau.Deplacer() Voiture.Deplacer() { super.Deplacer(); } Voiture.Deplacer() Voiture.Deplacer(120) Méthodes surchargées Méthodes redéfinies Surcharge: l’appel de la méthode se fait selon la signature correspondante. Redéfinition: l’appel de la méthode se fait selon l’objet qui fait appel.
  • 22.
    Mr Amir Souissi © 2017 5.Le langage UML 22 Chapitre1 IntroductionàlaModélisationObjet 5.LelangageUML L’approche objet est la dernière évolution dans l’analyse et la conception des SI. L’approche objet permet d’améliorer la productivité des concepteurs et des développeurs. L’approche objet simplifie le passage conceptuel/physique et facilite le prototypage par la réutilisation (modules dans des bibliothèques) et non par le développement. Durant les dernières décennies, plus de 50 méthodes objet ont été proposées. Divers concepts sont utilisés Divers modèles proposés Diverses démarches suivies Diverses notations graphiques supportées Diverses sémantiques accordées aux mêmes concepts On ne parle plus de langage  Problème de communication
  • 23.
    Mr Amir Souissi © 2017 UML:Lasolution 23 Chapitre1 IntroductionàlaModélisationObjet 5.LelangageUML Besoind’unification UNIFIED Pour la modélisation MODELING Sous forme de langage LANGUAGE Proposer une méthode unifiée revient à proposer une autre méthode Il est plus intéressant d’avoir un langage unifié qui sera associé à n’importe qu’elle démarche. UML peut être associé à toute démarche de conception : À n’importe quelle étape de la démarche Avec différents environnements de développement
  • 24.
    Mr Amir Souissi © 2017 UML:Historique 24 Chapitre1 IntroductionàlaModélisationObjet 5.LelangageUML Genèse: Unification des concepts et des modèles de 3 méthodes connues (Booch, OMT, OOSE) Standardisation: UML est un standard des notations graphiques et du vocabulaire utilisé par l’ACOO des SI (et même des systèmes en général). UML n’est pas une méthode de conception mais un ensemble de notations unifiées. UML est à présent est un standard adopté par l’OMG (Object Management Group) Partenaires: IBM, Microsoft, UniSys, HP, Oracle, …
  • 25.
    Mr Amir Souissi © 2017 UML:Evolution 25 Chapitre1 IntroductionàlaModélisationObjet 5.LelangageUML UML:  évolue mais reste stable Couvre le cycle de développement logiciel de la spécification des besoins à l’implantation est un support de communication (conséquence de la standardisation)
  • 26.
    Mr Amir Souissi © 2017 UML:Vues 26 Chapitre1 IntroductionàlaModélisationObjet 5.LelangageUML UMLvoit le système étudié selon différentes perspectives. Vue Logique Vue Implantation Vue Déploiement Vue Processus Vue Cas d’Utilisation Aspect parallélisme : Tâches, Processus , Threads Interactions Aspect répartition: Nœuds Modules Aspect fonctionnel : Acteurs , Cas d’utilisations, collaboration Aspect statique: Paquetages, méthodes, Nœuds Aspect statique : Classes, objets, paquetages Aspect dynamique: interactions, activités, séquences, états-transitions
  • 27.
    Mr Amir Souissi © 2017 UML:Axesdemodélisation 27 Chapitre1 IntroductionàlaModélisationObjet 5.LelangageUML UMLpermet de modéliser un système selon trois axes. Fonctionnel Dynamique Statique Ce que le système Fait Ce que le système Est Comment le système Evolue Décritlesservicesrendus Décrit les réactions du système dans le temps
  • 28.
    Mr Amir Souissi © 2017 UML:Diagrammes 28 Chapitre1 IntroductionàlaModélisationObjet 5.LelangageUML UML utilise des diagrammes pour modéliser le système ou une partie du système selon une vue qui correspond à l’un des axes de modélisation.  Un diagramme UML est une représentation graphique d’une séquence d’opérations ou de la structure d’un système.  Chaque diagramme est construit par un ensemble d’éléments du langage UML. Ces éléments graphiques ont une sémantique unique qui simplifie la compréhension du modèle du système. Fonctionnel Dynamique Statique Cas d’utilisations Classes Objets Composants Déploiement Séquences Collaborations Etats-transitions Activités 9 diagrammes UML1.4 + 4 diagrammes UML2.x