Académique Documents
Professionnel Documents
Culture Documents
Implanter
1,1 ● date_implantation 0,n
sync
Périodicité
Durée Opération
Type
Responsable ●
Ressources
MLT
Période Étudiant Secrétariat Type
Décision
d'enregistrer
les diplômes
À la rentrée
20 min Avertir les étudiants
interactif
trait. de texte Toujours
Diplômes
originaux
exigés Enregistrement
des diplômes
à effectuer
MLT
Période Étudiant Secrétariat Type
Diplômes Enregistrement
originaux des diplômes
reçus à effectuer
ET
semaine de la Enregistrer les diplômes
rentrée, de 9 à ●Contrôle de validité
manuel/interactif
10 ●Saisie des diplômes
10 min
NON valide Valide
Diplômes Enregistrement
originaux des diplômes
rendus effectué
MPD
● Modèle Physique des Données
– Décrit les tables de données
MCD => MPD
●parametre1
Entité3 Entité4
Entité3 0,n Asso2 0,n Entité4 ● id3 ● id4
● id3 ● Parametre2 ● id4
Asso2
●@id3
●@id4
MCD => MPD
Pays Exporter
Implanter ● id_pays ●@id_usine
1,1 ● date_implantation 0,n ●@id_pays
Usine Pays
● id_usine ● id_pays Usine
●id_usine
●@id_pays
0,n Exporter
0,n
●date_implantation
MPT
● Modèle Physique des Traitements
– Spécifie les fonctions pour le programmeur
MPT
Fonction ControlerDiplome(Diplome,Etudiant)
si Diplome.Date – Etudiant.DateNaissance < 18
alors retourner Invalide
sinon si Diplome.Signature = Faux
alors retourner Invalide
sinon retouener Valide
Démarche de conception
● Ex: Passer d'un ancien système à un nouveau
Système existant Nouveau système
3)Solution informatique
Approche traditionnelle
● Représentation des ● Logique: prise en
traitements compte des besoins
– Logique utilisateurs
– Physique ● Physique: prise en
● Représentation des compte des
données contraintes
– Logique
– Physique
● Description
– Matériel, interface, ...
Approche Orientée Objet
● Age de l'invention:
● 1967 Langage de programmation OO: Simula
● 1970 SMALLTALK basé sur Lisp et Simula
● Age de la confusion:
● 1980 langages ++
● Multiplication des méthodes de conception
● Age de la maturité:
● 1990 Object Management Group: standardisation.
● Unification des méthodes OMT (Booch) OOSE
(Jacobson) et Rumbaugh: Unified Modeling Language
(v1.0 en 1997)
Approche orientée objet
● Définition:
– « Façon d'architecturer une application informatique
en regroupant les données et les traitements sur
ces dernières au sein d'une même entité, les
objets. »
● Objectif:
– Organiser, permettre modifications fondamentales
● Méthode:
– Regrouper données et traitements associés
AOO: Concepts de base
● Classe/Objet: entité de base regroupant un
ensemble de caractéristiques (données ou
procédures).
● Encapsulation: les détails de l'implémentation
d'un objet sont cachés aux autres objets du
système. Cette action consiste alors à donner
des points d'entrée dans l'objet pour en
connaître son état.
● Modularité: permet de diviser le programme
afin d'en réduire la complexité.
AOO: Concepts de base
● Héritage: permet de partager des
caractéristiques entre deux objets. Ainsi tous les
objets héritant d'une même super-classe
possèdent tous les mêmes caractéristiques
définies par cette dernière.
● Polymorphisme: permet de donner différentes
implémentations de la même caractéristique.
L'héritage permet justement de donner un
polymorphisme à un objet.
● Module: espace de nommage permettant de
regrouper des éléments de programmation.
Notions fondamentales:
Classe et objet
● Classe:
– Modèle d'objet
● Objet:
– Instance de Classe
Définir une Classe
● Attributs et méthodes qui sont communs à tous
les objets
– Même comportements
– Mêmes types d'informations
Définir un objet
● Donner un nom à un exemplaire de la Classe
– Pour les différencier => Identité de l'instance
● Deux objets différents peuvent avoir le même état
● Retrouver l'objet malgré les modifications éventuellement
subies
Classe - Attributs
● Les attributs:
– Ensembles des informations qui permettent de
définir l'état d 'un objet.
– Ce sont des variables qui peuvent ou non avoir une
relation avec les autres objets
Classe - Méthodes
● Les méthodes:
– Permettent de définir le comportement de l'objet.
– Ce sont des actions (ou opérations) qui répondent
aux sollicitations extérieures pour modifier ou
consulter les attributs.
Méthodes & Attributs: Visibilité
● La visibilité permet de limiter l'accès aux
méthodes et attributs des objets:
– Privée: seul les méthodes de l'objet lui-même
– Protégée: les autres objets de la même classe
– Publique: tous les objets quels que soient leurs
classes
Méthodes & Attributs: Statique
● Attributs statiques:
– L'attribut est commun à toutes les instances
– Il peut être modifié/consulté par toutes les instances
● Méthodes statiques:
– Capable de gérer uniquement les attributs statiques
de la Classe
– Ne peut accéder à un objet qu'en connaissant son
identifiant
Objet - Identité
● L'identité:
– Il s'agit d'un identifiant unique permettant de
différencier les objets entre eux
– Permet de retrouver les objets individuellement
sans faire de recherche et même dans le cas où
plusieurs objets ont le même état .
Comment trouver une Classe?
● Choisir caractéristiques/attributs
● Choisir comportements génériques/fonctions
– Astuce: les méthodes correspondent à des verbes
(lors d'une première approche simple)
● Méthode désagrégation/agrégation
– Décomposer le tout en un ensemble de parties,
chaque partie devenant à son tour un tout
– ≠ décomposition fonctionnelle
AOO: Comment trouver un objet?
● Choisir caractéristiques/attributs
● Choisir comportements génériques/fonctions
● Méthode désagrégation/agrégation
– Décomposer le tout en un ensemble de parties,
chaque partie devenant à son tour un tout
– Décomposition modulaire ≠ décomposition
fonctionnelle
Quelques règles d'écriture de
module
● Un module représente un concept et TOUT le
concept
● Ne représenter que ce qui existe
● Ne pas créer de module « bazar »
● Bien choisir le nom du module en fonction de ce
qu'il exprime
● Astuce: les méthodes correspondent à des
verbes (lors d'une première approche simple)
UML - Introduction
● Les méthodes objets
– 1970 à 1990, mise au point des approches OO
– 1994 plus de 50 méthodes objet
● Emergence de 3 méthodes :
– OMT de Rumbaugh (Object Modeling Technique)
– BOOCH'93 de Booch
– OOSE de Jacobson (Object Oriented Software
Engineering)
UML - Introduction
● Historique:
– 1994 v0.8: Rumbaugh et Booch (OMT et Booch'93)
« Unified method »
– 1995 v0.9: Jacobson (OOSE)
– 1997 v1.1: l'OMG standardise l'Unified Modeling
Language
– Aujourd'hui v2.0: norme ISO
● Consortium, adhésion de grands groupes:
– Rational (fondateurs), Microsoft, HP, Oracle,
Sterling, MCI Systemhouse, Unisys, ICON, i-Logix,
Intellicorp, IBM, ...
UML
● Caractéristiques
– Langage, méthode de modélisation
– Uniformiser la conception d'une application
– Indépendant de la programmation
– Notation graphique simple et standardisée
● Ensemble de diagrammes décrivant un projet
– Format d'échange: XMI
Diagrammes
● Statiques:
– Cas d'utilisation (Use Case en anglais)
– Objets
– Classes
– Composants
– Déploiement
– Paquetages
– Structures composites
Diagrammes(2)
● Dynamiques:
– Collaboration
– Séquence
– Etats-transitions
– Activités
– Communication
– Interaction globale
– Temps
Première étape
● Déterminer les actions (fonctionnalités) du
système
– Comment va-t-on se servir du système?
– Quelles sont les actions réalisées par le système?
● Diagramme des cas d'utilisation pour décrire
ces comportements et interactions
Etapes suivantes
● A partir des cas d'utilisation → Autres
diagrammes statiques et dynamiques
– Autres statiques → Structurels
– Dynamiques → Comportementaux
Cas d'utilisation
● Méthode:
– Définir des scénarii primaires
– Ne pas traiter les exceptions du système
● Exemple:
– Retirer de l'argent dans un distributeur:
● Insérer sa carte de retrait
● Taper son code
● Choisir le montant
● Reprendre sa carte
● Récupérer les billets
Système
● Produit, projet, application que
l'on veut décrire Nom du système
Rôle de l'acteur
UseCase
● Action réalisée par l'acteur
sur le système
Intitulé de l'action
Relations
● Acteur/UseCase
● Inclusion X
« include »
Y
– X contient le comportement de Y
● Extension « extend »
X Y
– X est un cas précisé de Y
Exemple
Distributeur de billets