Upload
chandler-jouan
View
105
Download
0
Embed Size (px)
Citation preview
© Reproduction interditeALTRAN Nord – TI
Langage de Modélisation Objet UnifiéCours HEI 2009-2010
UML
© Reproduction interdite
Sommaire
Le Concept Objet
Modéliser avec UML
Conceptes et principes
Les diagrammes
© Reproduction interdite
Le Concept Objet
Qu’est ce- qu’un Objet ?
Un Objet possède:
• État : Valeurs d’un objets à un moment donné (attributs)
• Identité :attribut distinguant l’objet
• Comportement : compétences (actions réactions)
VOITURE
MarqueModèleCouleurSe déplacer()Démarrer()Arrêter()
Immatriculation
Exemple d’un objet (classe) voiture vu par son propriétaire
© Reproduction interdite
Le Concept Objet
Exemple
Un objet MONTGOLFIERE
Attributs:•Altitude•Poids•Niveau de gaz
Opérations:•Monter•Descendre•Crever
© Reproduction interdite
Le Concept Objet
Classe et instance
Un Objet est une Instance de Classe
VOITURE
MarqueModèleCouleurSe déplacer()Démarrer()Arrêter()
Immatriculation
MA VOITURE
FordFocusNoireSe déplacer()Démarrer()Arrêter()
4321 ABC 59LA VOITURE
DE MA FEMME
RenaultTwingoVerteSe déplacer()Démarrer()Arrêter()
6789 XY 59
Deux instanciations de la classe voiture
© Reproduction interdite
UML
Présentation générale de UML
• Pourquoi Modéliser ?• Les terminologies UML• Utilisation de UML dans le cycle Projet
© Reproduction interdite
Présentation de UML
Pourquoi modéliser ?
Modèle: abstraction de la réalité, pour :• Faciliter la compréhension du système étudié• Simuler le système étudié en vue d’en faciliter l’évolution
Nécessité d’un formalisme : UML• Langage de modélisation fondé sur les concepts orientés objets• UML n’est pas une méthodologie …
© Reproduction interdite
Présentation de UML
• UML permet de définir et visualiser un modèle, à l’aide de diagrammes.
• Un diagramme UML est une représentation graphique, qui représente une perspective particulière du modèle.
• Chaque diagramme possède une structure et une sémantique précise.
• L’ensemble des diagrammes UML offrent une vue complète des aspects statiques et dynamiques du système.
© Reproduction interdite
Présentation de UML
L’utilisation d’outils pour la modélisation:
• Faciliter la navigation entre les différentes vues
• Centraliser, organiser, partager, synchroniser et versionner (processus itératif) les diagrammes
• Faciliter l’abstraction par des filtres visuels
• Simplifier la production de documentation
• Génération de code et rétro-engineering
© Reproduction interdite
Présentation de UML
Terminologie UML
RELATIONSRELATIONS
DépendanceAssociationGénéralisation
DIAGRAMMESDIAGRAMMES
De cas d’utilisationDe classesD’objetsDe séquenceDe collaborationD’états-transitionsD’activitésDe composantsDe déploiement
© Reproduction interdite
Présentation de UML
Utilisation de UML dans le cycle projet :
Une démarche
• Itérative et incrémentale• Guidée par les besoins des utilisateurs finaux• Centrée sur l’architecture logicielle
…vers un Processus Unifié (RUP)
© Reproduction interdite
Les Concepts UML
• Classe: attributs et opérations
• Associations et cardinalités
• Contraintes
© Reproduction interdite
Les Concepts UML
Classes
• Les attributs sont typés• Les prototypes des
méthodes sont spécifiés• Les niveaux de visibilités
sont renseignés
VOITURE- Marque : string- Modèle : string- Couleur : entier
+ Se déplacer(départ : lieu; arrivée: lieu)- Démarrer()- Arrêter()
+ LireMarque(): string+ EcrireMarque( param_marque: string)
+ LireModele(): string+ EcrireModele( param_modele: string)
+ LireCouleur(): string+ EcrireCouleur( param_couleur: entier)
© Reproduction interdite
Les Concepts UML
Les niveaux de visibilité :
• + : élément public• # : élément protégé• - : élément privé
© Reproduction interdite
Les Concepts UML
Les associations• Association: relation entre classes décrivant un ensemble de
liens• Lien: connexion entre un ensemble d’objets. Un lien est une
instance d’association• Association N-aire: association entre n classes• Rôle : rôle joué par la classe dans une association• Cardinalité: nombre d’éléments dans un lien• Multiplicité: spécification des cardinalités d’une association
© Reproduction interdite
Les Concepts UML
La multiplicité des associations (cardinalités)
• La multiplicité indique le nombre d’instances d’une classe qui peuvent être mises en relation avec une seule instance de la classe associée.
• Notations: min..max• Exemples:
• 1 : obligatoire• 0..1 : optionnel• 0..* ou * : plusieurs• 1..* : au moins 1• 1..5, 12 : entre 1 et 5, ou 12
© Reproduction interdite
Exemple de multiplicités : Le mariage
MARI
HOMME
HOMME
EPOUSE
FEMME
FEMME
Est marié avec 11
0..1 0..1
mari épouse
A été marié avec
0..* 0..*
Rôles
Cardinalités
Les Concepts UML
© Reproduction interdite
Les relations de dépendance :
• Relation d ’utilisation unidirectionnelle et d ’obsolescence (une modification de l ’élément dont on dépend peut nécessiter une mise à jour de l ’élément dépendant)
FenêtreGraphique EvènementSouris
Dépendance
Les Concepts UML
© Reproduction interdite
La Navigation :
• Permet d’indiquer qu’une seule classe « connaît » l’autre
Electeur Candidat
Association à navigabilité restreinte
* 0..1vote
Les Concepts UML
© Reproduction interdite
Les associations N-aire :• Association qui relie plus de 2 classes
PROFESSEUR
SALLE ETUDIANT
1
1 1..*
Symbole d’association (peut souvent être promu au rang de classe d’association)
Les Concepts UML
© Reproduction interdite
Les classes d’association :
• Classe qui réalise la navigation entre les instances d ’autres classes• La classe d’association peut participer au modèle (on peut la spécialiser
par exemple)
PROFESSEUR
SALLE ETUDIANT11 1..*
Classe d ’associationCOURSJourHeureDebutDurée
Les Concepts UML
© Reproduction interdite
Acteur et rôle
Un acteur :• est une entité externe (ressource humaine, machine) agissant sur le
système• consulte et modifie l’état du système
• Un acteur possède un rôle dans chaque cas d’utilisation sur lequel il intervient
Les Concepts UML
© Reproduction interdite
Cas d’utilisation :
• Le cas d’utilisation (USE CASE) est un ensemble d’actions réalisées par le système, en réponse à une sollicitation d’un acteur.
• Le cas d’utilisation décrit plusieurs chemins d’exécution possibles.
Les Concepts UML
© Reproduction interdite
Le scénario:
• Le scénario est une instance de cas d’utilisation.• Les scénario principaux décrivent les cas nominaux (chemin
« normal » d’exécution)• Les scénario secondaires décrivent les cas alternatifs (cas
exceptionnels ou cas d’erreur)• Les scénario
• Guident l’analyse et la conception du système• Justifient à posteriori les choix d’architecture• Servent de support pour organiser les campagnes de test
Les Concepts UML
© Reproduction interdite
La Modélisation du comportement
Diagrammes de cas d'utilisation (use cases)Description des besoins
La modélisation des états
Diagrammes États-Transitions (automates) :Récupération du comportement dépendant de l’état
Diagrammes d’activitéSpécification de la logique comportementale
Les Diagrammes
© Reproduction interdite
Acteur = entité externe agissant sur le système(être humain, machine, autre système ou sous-système )
l’acteur peut consulter et/ou modifier l ’état du système
Use case = séquence d ’actions réalisées par le système produisant un résultat observable à un acteur particulier
La Modélisation du Comportement
© Reproduction interdite
Identifier les cas d’utilisation(« use cases »)
Les Use Cases permettent de reformuler les besoins et constituent un moyen de communication très efficace entre les utilisateurs et les équipes de développement
Un Use Case décrit le système du point de vue de son utilisation :
• Interactions entre le système et les acteurs• Réactions du système aux événements externes• Permet de développer un système orienté utilisateur
La Modélisation du Comportement
© Reproduction interdite
Décrire les use casesNotation graphique
Nom du cas d’utilisation
Nom Acteur
Nom de l’interaction
L’ exécution du Use Case est contrôlée par des événements externes envoyés par les acteurs au système
La Modélisation du Comportement
© Reproduction interdite
Décrire les use casesNotation graphique
Use case 1
Les Use Cases peuvent être organisés en « paquetages » (packages)
Use case 2
La Modélisation du Comportement
© Reproduction interdite
Décrire les use casesDescription textuelle
SOMMAIRE D’IDENTIFICATION • Titre : nom (et numéro)• Auteur :• Date de mise à jour :• Résumé : description sommaire• Contexte d’utilisation : • Acteurs :
DESCRIPTION DES ENCHAINEMENTS• Pré-conditions :• Description enchaînement :• Post-conditions :
Besoins d’IHM (optionnel)Contraintes non fonctionnelles (optionnel)• Fréquence, volumétrie, concurrence, disponibilité, confidentialité, etc ...
La Modélisation du Comportement
© Reproduction interdite
Client
distributeur de billets
Consulter solde compte
retirer de l'argent
éteindre / allumerle distributeur
ravitailler le coffre
technicien
le technicien demaintenance éteind ledistributeur avant de
ravitailler le coffre
on ne peut retirer del'argent , que dans la
limite du stock du coffredu distributeur
cas d'utilisation : objectif du système, motivé par un besoin d'un ouplusieurs acteurs.Par abus de langage, désigne aussi un système(c-à-d un groupe de cas d'utilisation)
note : documente unélément du modèle
acteur : package : regroupe des éléments de modélisationsuivant des critères purement logiques.représente ici le modèle conceptuel dusystème étudié
personne ou composant àl'origine d'une interactionavec le système
nature de l'interaction
Exemple:La Modélisation du Comportement
© Reproduction interdite
La modélisation des états
Diagrammes États-Transitions (automates) :Récupération du comportement dépendant de l’état
Diagrammes d’activitéSpécification de la logique comportementale
© Reproduction interdite
Diagrammes États-Transitions
NOTATION de base
TRANSITION = relation entre deux états dont le passage d’un état vers un autre est en général provoquée par un événement
État de départ (obligatoire)
État 1 État 2
État de fintransition
Événement [condition]
La Modélisation des états
© Reproduction interdite
Diagrammes États-TransitionsNOTATION des états
État de départ (obligatoire)
État 1
État de fin
HSymbole spécial historique : mémorise le dernier sous-état actif d'un super-état, pour y revenir directement ultérieurement
État intermédiaire
État x
État y
Super-état : état qui englobe d’autres états et transitionsAfter (2s)
La Modélisation des états
© Reproduction interdite
Diagrammes États-Transitions
Transition automatique (événement interne)• Soit quand l’activité associée à l’état source est terminée• Soit quand la condition de garde devient vraie
Transition conditionnelle
Etat1 Etat2
Etat3
[ condition]
[else]
La Modélisation des états
© Reproduction interdite
Diagrammes États-TransitionsActions et activités
ACTION : opération inintérruptible déclenchée par un événement- lié à une transition notation : événement / action (exemple : il pleut / ouvrir parapluie)
- lié à un état entry / action : action exécutée à l'entrée de l'état exit / action : action exécutée à la sortie de l'état on événement / action : action exécutée à chaque fois que l'événement survient
ACTIVITE :opération interruptible dans la description de l’état do / activité : activité récurrente ou significative, exécutée dans l'état
La Modélisation des états
© Reproduction interdite
Diagrammes États-Transitions
Début
Initialisation
do: Cours initial
Ouvert
entry: Auditeur enregistréexit: Compteur incrémenté
Ajouter un auditeur/ Compteur = 0
Ajouter un auditeur[ Compteur < 5 ]
Annulé
do: Notifier les auditeurs enregistrés
Annuler
Fermé
do: Finaliser le cours
Annuler[ Compteur = 5 ]
Fin
Annuler
Exemple:
La Modélisation des états
© Reproduction interdite
Diagrammes d’activitéCaractéristiques
• Le diagramme d’activité est une variante du diagramme d’état
• Les états représentent des activités• Les transitions sont des transitions automatiques• Le diagramme d’activité est plutôt rattaché à une
opération ou un use case qu’à une classe :• Il décrit l’algorithmique d’une opération: séquence
d’étapes, avec représentation des décisions et de la synchronisation des flots de contrôles
• Il est focalisé sur les traitements internes et non pas sur la réception d’évènements externes
La Modélisation des états
© Reproduction interdite
Diagrammes d’activitéCouloirs d’activités
Pour mieux localiser les responsabilités des actionsClient Vendeur Stock
Commander
Régler
Prendre commande
Exécuter commande
Livrer commande
Commande[saisie]
Commande[livrée]
La Modélisation des états
© Reproduction interdite
Liens Internet
UML:• http://uml.free.fr• http://www.rational.com/uml• http://www.omg.org • http://www.jeckle.de• http://www.cetus-links.org/oo_uml.html
Outils:• http://www.microsoft.com/france/visio/• http://www.objecteering.com
Modélisation objet:• http://objectsbydesign.com
© Reproduction interdite
Des questions
© Reproduction interditeALTRAN Nord – TI
Altran Nord / AdventecParvis de Rotterdam1606 Tour Lilleurope
Tél. : +33 (0)3 28 36 22 30Fax. : +33 (0)3 28 36 22 45