Académique Documents
Professionnel Documents
Culture Documents
1. Généralités : Modélisation et
approche O.O.
vérification Système
logiciel
Domaine du problème
Domaine de la solution
INTRODUCTION
Point de vue historique
MODÈLES
Décrire
les données et
les traitements
OUTILS
DÉMARCHE
manuels
Les étapes
automatisés
Méthode de
construction
d’un S.I
Processus de développement
Conception
• Comprendre le • Réaliser la
problème en • Concevoir une solution
solution en
terme de métier informatique en terme terme de
du client. de responsabilité programme.
fonctionnelle.
Analyse Implémentation
INTRODUCTION
Des méthodes fonctionnelles aux méthodes Objet
OOPSLA’96
UML 0.9
Booch’93 OMT-2
objet3
Classe 4
Classe 31 Classe 32
objet4
But
modélisation des propriétés statiques et dynamiques de
l’environnement dans lequel sont définis les besoins (domaine
du problème),
formalisation de la perception du monde et des phénomènes
qui s’y déroulent,
Avantages
capacité de regrouper ce qui a été séparé,
construire le complexe à partir de l’élémentaire,
intégrer statiquement et dynamiquement les constituants d ’un
système.
Qu’est-ce qu’un Objet ?
Définition Générale:
«Ce sur quoi porte notre connaissance »
Pour les technologies objet:
«C’est une abstraction du monde réel »
Pour l’analyse du domaine:
«C’est une entité pertinente du domaine »
Dans un langage de programmation orientée objets:
«C’est un ensemble de fonctions associées à une
structure de données »
Les Objets
Définition
Concept, abstraction ou entité ayant des liens et un sens pour
une application donnée
Exemples:
Objets matériels (table, chaise, crayon, avion…)
Objets immatériels, concepts (compte en banque, équation, match
de boxe…)
Objets virtuels (groupe de travail, division…)
…
Ma Voiture
Bleu Couleur
979 kg Masse
12 CV Puissance fiscale
30 litres Quantité de carburant
Les Objets: L'état
L'état évolue au cours du temps:
Certaines valeurs d'attribut vont évoluer
D'autres vont rester constantes
Exemple
Ma Voiture Ma Voiture
Un objet Opération 2
{…}
Les Objets: Caractéristiques
L'état et le comportement sont liés:
Le comportement, à un instant donné, dépend de l'état
courant.
L'état peut être modifié par le comportement.
Exemple: Un avion ne peut atterrir que s'il est en vol.
atterrir représente un comportement de l'avion.
en vol correspond à un état de l'avion.
:Avion
Atterrir En vol
:Avion
: Tour de contrôle Décoller
Au sol
Les Objets: L'identité
Nom de Classe
Attributs
Opérations ()
Moyen de transport
Type
Poids
Couleur
Démarrer ()
Accélérer ()
Freiner ()
21
L’encapsulation
22
L’encapsulation
23
L’encapsulation
L’encapsulation
Interface / Implémentation
LIRE_NOM MAJ_NOM AGE
Interface
PARTIE VISIBLE
<<acteur>>
Un autre acteur
Un acteur
Un cas d’utilisation
Les Acteurs
Même si on les utilise dans les modèles, les acteurs ne font pas partie
du système puisqu’ils résident en dehors de celui ci.
Les Acteurs
Trois types d ’acteurs :
Ex :
Traiter Prêt
Traiter un Valider Mot
versement de passe
Traiter un
versement
guichetier Conseiller
Traiter Prêt
financier
Relation « extends »
ajout optionnel de comportement dans un cas
d’utilisation
àutiliser quand on décrit une variation sur un
comportement normal
Relation d‘inclusion : définition
La relation d ’inclusion signifie que le cas d'utilisation source comprend le
comportement décrit par le cas d'utilisation destination en un point
d’insertion bien déterminé
Cas Cas
d ’utilisation d’utilisation
source <<include>> destination
exemple
<<include>> Valider
Passer
Utilisateur
commande
Cas Cas
d’utilisation d’utilisation
source <<extend>> destination
Condition d ’extension
exemple
Passer
commande <<extend>> Passer
urgente commande
Fixer priorité Fixer priorité
Relation de généralisation : définition
Une relation de généralisation entre cas d’utilisation signifie que le
cas d'utilisation enfant est une spécialsation du cas d’utilisation
parent. Le cas d’utilisation parent peut être abstrait.
Cas
d’utilisation Valider
Utilisateur
Parent
Cas Vérifier
d’utilisation mot de Scanner
passe rétinien
Enfant
Un diagramme de cas d'utilisation
Virement
Vérification supplém.
Après identification
Virement par
minitel <<extend>>
<<Include>> Client local
Types de diagrammes
o diagrammes structurels statiques
– Diagramme de classes
– Diagramme d’objets
o Diagrammes d’implantation
– Diagramme de composant
– Diagramme de déploiement
Le Modèles de structure
Opérations
Personne
Personne
nom
prénom
dateNaissance
Poste de travail
age() Département
Objet et Classe : les Attributs
Nom de classe
Personne Rectangle
nom : string Côté1
prénom : string Côté2
dateNaiss : date
Adresse : string Ajouter( )
CalculerAge ( ) Déplacer( )
changerAdresse ( ) Périmètre( )
Classe
+ Attribut public Personne
# Attribut protégé
- Attribut privé - nom : chaîne
- date_naissance: date
+ Opération publique( ) + calculer_age ()
# Opération protégée( ) + rechercher()
- Opération privée( )
Les Relations entre classes
Lien et Association
Association
Une relation sémantique entre classes
Représente l'ensemble des liens entre les objets des classes qui
participent à l'association
Degré d'une association
Le nombre de classes qui participent à l'association
Une association peut être réflexive
Lien
Une connexion physique entre objets
Une instance d'une association
Similarité : classe-objet et association-lien
Les relations entre classes
Lien et Association
Une association est une relation structurelle qui précise que les
objets d’une classe sont reliés aux objets d’une autre classe
Travaille pour
Personne société association
Travaille pour
Ali MarocTelecom
Travaille pour liens
Khalid Marjane
Lien et Association : multiplicité
La multiplicité est une information qui définit combien d’objets
de la classe considérée peuvent être liés à un objet de l’autre
classe
1
Personne Société
1..*
Multiplicité = cardinalité
Lien et Association : multiplicité
1
1 (un et un seul)
* 0..*
plusieurs (zéro ou plus)
0..1
facultatif (au plus un)
1..*
obligatoire (au moins 1)
2..4
deux, trois ou quatre
Khalid/employé:Personne
INWI/employeur:Entreprise
Rachid/employé:Personne
Les relations entre classes : Les
agrégations
Représente une association non symétrique dans laquelle
une classe joue un rôle prédominant par rapport à l’autre
classe.
Les critères suivants impliquent une agrégation:
une classe fait partie d’une autre classe;
les objets d’une classe sont subordonnés aux objets
d’une autre classe;
Tout Partie
A Une agrégation B
Entreprise 1 Service
*
0..1 Composite
Composite Composant
* Composant
Fenêtre Fenêtre
1 1 1
scrollbar[2]:Ascenseur
titre:EnTete
scrollbar 2 1 titre 1 corps corps:Panneau
Ascenseur EnTete Panneau
Les relations entre classes : La
composition
Forme d’agrégat avec appartenance forte et vies
coïncidentes des parties au tout:
La destruction du composite implique la destruction de tous ses
composants,
La création, la modification et la destruction des composants sont de la
responsabilité du composite
Voiture
Voiture Moteur
Moteur
Cylindre Carburateur
...
Les relations entre classes :
généralisation/Spécialisation
Spécialisation
Généralisation
Super-classe
Sous-classe 1 Sous-classe 2
Les relations entre classes :
généralisation/Spécialisation
Exemple 1
Livre Super classe
Titre
Nombre de pages
Sous classe
Les relations entre classes :
généralisation/Spécialisation
Figure Classe abstraite (nom
Exemple 2 #couleur en italique)
* #position
Ecran +afficher()
+déplacer()
+sélectionner()
+tourner()
symbole de généralisation
1D 2D
0D #orientation
#orientation #motif remplissage
+remplir()
Arc
Ligne Polygone Cercle
Point -rayon
-angle début -nbre côtés -diamètre
-angle fin -sommets
+afficher()
+afficher() +afficher() +tourner()
Généralisation : héritage multiple
Véhicule
Bateau Véhicule
Voiture
amphibie
Exemple :
Pays, Personne (est née dans un pays, a visité un certain nombre de pays (ce
nombre ne peut que croitre) dans un ordre donnée, aimerait encore visiter une
liste de pays ordonnés par préférence
CONTRAINTES
QUALIFICATION
Tableau
Possède Exp 2 : Un client ne peut nrCompte
Cellule
1 1..n
Ligne
avoir qu’un seul compte
colonne dans une banque donné
Exp 1 :
Dans un tableau une
seule cellule
correspond à un
couple (ligne,
colonne) donné.
Diagramme de
séquences
Comment ?
Séquences