013 mediha cgi - sensibilisation uml
-
Upload
abdessamad-hamouch -
Category
Documents
-
view
1.453 -
download
1
description
Transcript of 013 mediha cgi - sensibilisation uml
11
Programme HarmonieSensibilisation UML
Programme HarmonieSensibilisation UML
22PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
33PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
44PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Objectifs
Apprécier les intérêts de la modélisation visuelle
Savoir quels sont les diagrammes UML disponibles
Comprendre les objectifs de chaque diagramme UML
Comprendre comment sont modélisés les aspects statiques et dynamiques d’un système informatique
Comprendre comment est organisé un modèle UML
Comprendre la syntaxe UML
Apprécier les intérêts de la modélisation visuelle
Savoir quels sont les diagrammes UML disponibles
Comprendre les objectifs de chaque diagramme UML
Comprendre comment sont modélisés les aspects statiques et dynamiques d’un système informatique
Comprendre comment est organisé un modèle UML
Comprendre la syntaxe UML
55PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
66PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Une certaine vision du monde…
Maison
+ superficie
Etage
+ numéro
Porte
+ largeur
1..* 1..*
Public class Maison { private Vector etages; private Vector portes; private float superficie;
public Maison() { … } …}
Public class Maison { private Vector etages; private Vector portes; private float superficie;
public Maison() { … } …}
77PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Une certaine vision du monde…
Une maison est constituée de plusieurs étages. Chaque maison possède au moins un étage. Une maison comporte un certain nombre de portes, au moins une. Une maison est caractérisée par sa superficie, chaque étage possède un numéro et chaque porte comporte une largeur précise.
Une maison est constituée de plusieurs étages. Chaque maison possède au moins un étage. Une maison comporte un certain nombre de portes, au moins une. Une maison est caractérisée par sa superficie, chaque étage possède un numéro et chaque porte comporte une largeur précise.
Maison
+ superficie
Etage
+ numéro
Porte
+ largeur
1..* 1..*
88PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Objectifs d’une modélisation
Comprendre le fonctionnement du système
Maîtriser la complexité et la cohérence du système
Communiquer sans ambiguïté au sein de l’équipe
Permettre l’automatisation de certaines tâches
Accroître la qualité du produit livré
Faciliter la maintenance
Etre un outil de travail permettant de Organiser les travaux de l’équipe de réalisation Contrôler l’avancement des travaux
Comprendre le fonctionnement du système
Maîtriser la complexité et la cohérence du système
Communiquer sans ambiguïté au sein de l’équipe
Permettre l’automatisation de certaines tâches
Accroître la qualité du produit livré
Faciliter la maintenance
Etre un outil de travail permettant de Organiser les travaux de l’équipe de réalisation Contrôler l’avancement des travaux
99PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Points de vue – Niveau de détail
VilleVille
Plan decirculationPlan de
circulationModèle
d’urbanismeModèle
d’urbanisme
Modèled’équipement
Modèled’équipement
Modèlede la population
Modèlede la population
1010PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Un langage commun
Nécessité de définir un langage commun pour modéliser
Sémantique précise des différents concepts
Notation graphique
Règles d’utilisation des concepts du langage
Nécessité de définir un langage commun pour modéliser
Sémantique précise des différents concepts
Notation graphique
Règles d’utilisation des concepts du langage
1111PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Origines d’UML
Standard géré par l’OMGVersion utilisée UML 1.5Dernière version UML 2.0http://www.omg.org
Standard géré par l’OMGVersion utilisée UML 1.5Dernière version UML 2.0http://www.omg.org
UML
Booch’93 OOSEOMT - 2
Unification des concepts et des notationsIntégration des « meilleures pratiques »
Unification des concepts et des notationsIntégration des « meilleures pratiques »
1212PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
A quoi sert UML ?
UML est un langage pour Comprendre et décrire un besoin de manière non ambiguë Spécifier un système (simple ou complexe) Concevoir une solution Documenter la solution Communiquer au sein d’une équipe
UML est à usage général Système logiciel, matériel, organisation,.. Domaine bancaire, assurance, avionique, télécommunication… Processus de développement en cascade, itératif…
UML est un langage pour Comprendre et décrire un besoin de manière non ambiguë Spécifier un système (simple ou complexe) Concevoir une solution Documenter la solution Communiquer au sein d’une équipe
UML est à usage général Système logiciel, matériel, organisation,.. Domaine bancaire, assurance, avionique, télécommunication… Processus de développement en cascade, itératif…
1313PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Vision générale d’UML
Modéliser le problème suivant 3 axes
Modéliser le problème suivant 3 axes
FonctionnelFonctionnel
StatiqueStatiqueDynamiqueDynamique
Description des services rendus par le systèmeDescription des services rendus par le système
Description structurelle du systèmeDescription structurelle du systèmeDescription comportementale du systèmeDescription comportementale du système
1414PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Vision générale d’UML
Modéliser le problème suivant 3 axes
Modéliser le problème suivant 3 axes
FonctionnelFonctionnel
StatiqueStatiqueDynamiqueDynamique
Diagramme des cas d’utilisationDiagramme des cas d’utilisation
Diagramme d’objetsDiagramme de classesDiagramme de composantsDiagramme de déploiement
Diagramme d’objetsDiagramme de classesDiagramme de composantsDiagramme de déploiement
Diagramme de séquenceDiagramme de collaborationDiagramme d’activitéDiagramme états - transitions
Diagramme de séquenceDiagramme de collaborationDiagramme d’activitéDiagramme états - transitions
1515PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
1616PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation
A quoi servent-ils ? Pour quoi faire ? Déterminer les frontières du système Comprendre le fonctionnement du système du point de vue de
l’utilisateur Représenter les interactions entre les utilisateurs et le système Préparer la phase d’analyse des exigences
UML n’est pas suffisant ici, il est nécessaire d’ajouter: Des descriptions textuelles
Détail du cas d’utilisation Ajout des exigences non-fonctionnelles Ajout des règles de gestion Compléments aux éléments modélisés avec UML
Les besoins de restitution Les écrans L’éditique
A quoi servent-ils ? Pour quoi faire ? Déterminer les frontières du système Comprendre le fonctionnement du système du point de vue de
l’utilisateur Représenter les interactions entre les utilisateurs et le système Préparer la phase d’analyse des exigences
UML n’est pas suffisant ici, il est nécessaire d’ajouter: Des descriptions textuelles
Détail du cas d’utilisation Ajout des exigences non-fonctionnelles Ajout des règles de gestion Compléments aux éléments modélisés avec UML
Les besoins de restitution Les écrans L’éditique
1717PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation
Les concepts UML manipulés sont
Acteur Déclencheur Récepteur
Cas d’utilisation
Les concepts UML manipulés sont
Acteur Déclencheur Récepteur
Cas d’utilisation
Acteur
Cas d'utilisation
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Diagramme de contexte Diagramme de contexte
UC2UC2
UC1UC1
Acteur A
Acteur B
UC3UC3
Acteur C
Acteur A
Acteur X
Acteur Y
SystèmeSystème
1818PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation Définition : Acteur
Un acteur est une entité externe au système Qui interagit avec le système Qui attend des services de la part du système Qui est une personne physique ou un autre système informatique
Un acteur est nommé par le rôle qu’il joue vis-à-vis du système
Les interactions avec le système sont représentées par des cas d’utilisation
Un acteur est une entité externe au système Qui interagit avec le système Qui attend des services de la part du système Qui est une personne physique ou un autre système informatique
Un acteur est nommé par le rôle qu’il joue vis-à-vis du système
Les interactions avec le système sont représentées par des cas d’utilisation
1919PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation Définition : Cas d’utilisation
Un cas d’utilisation modélise un service rendu par le système Décrit des interactions entre un acteur et le système Est déclenché par un événement émis par un acteur Correspond à une unité d’intention complète de la part de l’acteur vis-à-
vis du système Apporte une valeur ajoutée notable à l’acteur
Un cas d’utilisation modélise un service rendu par le système Décrit des interactions entre un acteur et le système Est déclenché par un événement émis par un acteur Correspond à une unité d’intention complète de la part de l’acteur vis-à-
vis du système Apporte une valeur ajoutée notable à l’acteur
Autoriser crédit
Autoriser crédit
Chargé de Clientèle
Créer compteCréer
compte
Responsable d’agence
Créer un client
Créer un client
2020PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation Contenu d’un cas d’utilisation
Le déroulement d’un cas d’utilisation est contrôlé par les acteurs Les cas d’utilisation ne s’enchaînent pas ! Plusieurs acteurs peuvent participer à un cas d’utilisation
La dynamique d’un cas d’utilisation est décrite par une série de scénarios
Scénario nominal ou scénarios alternatifs Scénarios d’exception
Un scénario est une succession d’événements envoyés par l’acteur au système et de réponses de la part du système
Le déroulement d’un cas d’utilisation est contrôlé par les acteurs Les cas d’utilisation ne s’enchaînent pas ! Plusieurs acteurs peuvent participer à un cas d’utilisation
La dynamique d’un cas d’utilisation est décrite par une série de scénarios
Scénario nominal ou scénarios alternatifs Scénarios d’exception
Un scénario est une succession d’événements envoyés par l’acteur au système et de réponses de la part du système
DébutDébut Fin normaleFin normale
Fin anormaleFin anormale
2121PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation La Fiche Cas d’Utilisation
Un cas d’utilisation est décrit textuellement par une « Fiche Cas d’Utilisation »
Dans le cadre d’Harmonie un modèle de document formalise la « Fiche Cas d’Utilisation »
Un cas d’utilisation est décrit textuellement par une « Fiche Cas d’Utilisation »
Dans le cadre d’Harmonie un modèle de document formalise la « Fiche Cas d’Utilisation »
2222PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation Contenu de la Fiche Cas d’Utilisation
Nom du cas d’utilisation: Nom décrit sous forme de verbe à l’infinitif, suivi d’un complément.
Résumé : Résume l’intention du cas d’utilisation. Peut être utilisé au début du processus d’identification des cas d’utilisation.
Valeur ajoutée : Ce qu’apporte les cas d’utilisation pour l’acteur (les acteurs) déclencheur d’un point de vue métier.
Acteurs : Acteurs participant (déclencheurs et récepteurs) à la réalisation du cas d’utilisation
Pré-conditions : Ce qui doit être vrai au niveau du système pour pouvoir déclencher le cas d’utilisation
Scénarios : Description textuelle des échanges entre acteurs et système Post-conditions : Ce qui a changé dans le système une fois le cas d’utilisation
terminé avec succès ou échec Vision synthétique : Diagramme d’activité résumant le cas d’utilisation Règles de gestion : Règles applicables au cas d’utilisation Contraintes opérationnelles : Exigences non fonctionnelles associées au cas
d’utilisation Besoins de restitution : éléments de restitution (écrans ou rapports d’édition)
associés au cas d’utilisation
Nom du cas d’utilisation: Nom décrit sous forme de verbe à l’infinitif, suivi d’un complément.
Résumé : Résume l’intention du cas d’utilisation. Peut être utilisé au début du processus d’identification des cas d’utilisation.
Valeur ajoutée : Ce qu’apporte les cas d’utilisation pour l’acteur (les acteurs) déclencheur d’un point de vue métier.
Acteurs : Acteurs participant (déclencheurs et récepteurs) à la réalisation du cas d’utilisation
Pré-conditions : Ce qui doit être vrai au niveau du système pour pouvoir déclencher le cas d’utilisation
Scénarios : Description textuelle des échanges entre acteurs et système Post-conditions : Ce qui a changé dans le système une fois le cas d’utilisation
terminé avec succès ou échec Vision synthétique : Diagramme d’activité résumant le cas d’utilisation Règles de gestion : Règles applicables au cas d’utilisation Contraintes opérationnelles : Exigences non fonctionnelles associées au cas
d’utilisation Besoins de restitution : éléments de restitution (écrans ou rapports d’édition)
associés au cas d’utilisation
2323PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation Exemple : GAB
Cas d’utilisation : Retirer de l’argent
Acteur : Porteur de carte
Pré-conditions Aucune carte n’est dans le lecteur De l’argent est disponible
Post-conditions de succès Le GAB a été débité du nombre de billets correspondant
au montant retiré
Post-conditions d’échec Le GAB n’a pas délivré les billets demandés par le porteur
de carte Le GAB a avalé la carte du porteur
Cas d’utilisation : Retirer de l’argent
Acteur : Porteur de carte
Pré-conditions Aucune carte n’est dans le lecteur De l’argent est disponible
Post-conditions de succès Le GAB a été débité du nombre de billets correspondant
au montant retiré
Post-conditions d’échec Le GAB n’a pas délivré les billets demandés par le porteur
de carte Le GAB a avalé la carte du porteur
Porteur de carte
Retirer de l’argent
Retirer de l’argent
2424PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation Exemple : GAB
1- Le porteur de carte introduit sa carte dans le lecteur de cartes du GAB2- Le GAB vérifie que la carte introduite est bien une carte3- Le GAB demande au porteur de carte de saisir son code d’identification4- Le porteur de carte saisit son code d’identification5- Le GAB compare le code d’identification avec celui codé sur la puce de la
carte6- Le GAB demande une autorisation au système d'autorisation7- Le système d'autorisation donne son accord et indique le solde
hebdomadaire.8- Le GAB demande au porteur de carte de saisir le montant désiré du retrait9- Le porteur de carte saisit le montant désiré du retrait.10- Le GAB contrôle le montant demandé par rapport au solde hebdomadaire11- Le GAB demande au porteur de carte s'il veut un ticket12- Le porteur de carte demande un ticket13- Le GAB rend sa carte au porteur de carte14- Le porteur de carte reprend sa carte15- Le GAB délivre les billets et un ticket16- Le porteur de carte prend les billets et le ticket
1- Le porteur de carte introduit sa carte dans le lecteur de cartes du GAB2- Le GAB vérifie que la carte introduite est bien une carte3- Le GAB demande au porteur de carte de saisir son code d’identification4- Le porteur de carte saisit son code d’identification5- Le GAB compare le code d’identification avec celui codé sur la puce de la
carte6- Le GAB demande une autorisation au système d'autorisation7- Le système d'autorisation donne son accord et indique le solde
hebdomadaire.8- Le GAB demande au porteur de carte de saisir le montant désiré du retrait9- Le porteur de carte saisit le montant désiré du retrait.10- Le GAB contrôle le montant demandé par rapport au solde hebdomadaire11- Le GAB demande au porteur de carte s'il veut un ticket12- Le porteur de carte demande un ticket13- Le GAB rend sa carte au porteur de carte14- Le porteur de carte reprend sa carte15- Le GAB délivre les billets et un ticket16- Le porteur de carte prend les billets et le ticket
Scénario nominalScénario nominal
2525PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les cas d’utilisation Exemple : GAB
A1 : code d’identification erronéL’enchaînement A1 démarre au point 5 du scénario nominal.5.1 Le GAB indique au client que le code est erroné, pour la première ou deuxième fois5.2 Le GAB enregistre l’échec sur la carteLe scénario nominal reprend au point 3
A2 : montant demandé supérieur au solde hebdomadaireL’enchaînement A2 démarre au point 10 du scénario nominal.10.1 Le GAB indique au client que le montant demandé est supérieur au solde
hebdomadaireLe scénario nominal reprend au point 3
A1 : code d’identification erronéL’enchaînement A1 démarre au point 5 du scénario nominal.5.1 Le GAB indique au client que le code est erroné, pour la première ou deuxième fois5.2 Le GAB enregistre l’échec sur la carteLe scénario nominal reprend au point 3
A2 : montant demandé supérieur au solde hebdomadaireL’enchaînement A2 démarre au point 10 du scénario nominal.10.1 Le GAB indique au client que le montant demandé est supérieur au solde
hebdomadaireLe scénario nominal reprend au point 3
Scénarios alternatifsScénarios alternatifs
E1 : code d’identification erronéL’enchaînement A1 démarre au point 5 du scénario nominal.5.1 Le GAB indique au client que le code est erroné, pour son troisième essai5.2 Le GAB enregistre l’échec sur la carte5.3 Le GAB avale la carte.
E1 : code d’identification erronéL’enchaînement A1 démarre au point 5 du scénario nominal.5.1 Le GAB indique au client que le code est erroné, pour son troisième essai5.2 Le GAB enregistre l’échec sur la carte5.3 Le GAB avale la carte.
Scénario d’exceptionScénario d’exception
2626PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
2727PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Concepts ObjetsPourquoi une approche objet ?
Fonction principaleFonction principale
Sous-fonction 1Sous-fonction 1
Sous-fonction 1.1
Sous-fonction 1.1
Sous-fonction 1.2
Sous-fonction 1.2
Sous-fonction 2Sous-fonction 2
Sous-fonction 2.1
Sous-fonction 2.1
Sous-fonction 2.2
Sous-fonction 2.2
Approche FonctionnelleApproche Fonctionnelle Approche ObjetApproche Objet
AvionAvion
PilotePilote
Tour de contrôleTour de contrôle
ConduireConduire
Dirige atterrisageDirige atterrisage
• Besoin d’identifier toutes les fonctions dès le début
• La « fonction » induit la structure (difficulté de faire évoluer l’architecture)
• Besoin d’identifier toutes les fonctions dès le début
• La « fonction » induit la structure (difficulté de faire évoluer l’architecture)
• Approche par « morceau »
• Décomposition du problème
• Adaptation / Évolution du système plus facile
• Approche par « morceau »
• Décomposition du problème
• Adaptation / Évolution du système plus facile
2828PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Concepts ObjetsLes avantages d’une approche objet
Décomposition du « problème » en morceaux plus facilement gérables Décomposer / diviser pour comprendre Composer / réunir pour construire
Intégration/Tests Intégration de composants élémentaires Cohérence des éléments intégrés
Facilité d’évolution et de maintenance Ajout/Evolution de fonctionnalités plus faciles à intégrer Etude d’impact plus facile
Décomposition du « problème » en morceaux plus facilement gérables Décomposer / diviser pour comprendre Composer / réunir pour construire
Intégration/Tests Intégration de composants élémentaires Cohérence des éléments intégrés
Facilité d’évolution et de maintenance Ajout/Evolution de fonctionnalités plus faciles à intégrer Etude d’impact plus facile
Les points forts: Construction du complexe à partir de l’élémentaire Capacité à regrouper ce qui est séparé Intégrer statiquement et dynamiquement les constituants du système
Les points forts: Construction du complexe à partir de l’élémentaire Capacité à regrouper ce qui est séparé Intégrer statiquement et dynamiquement les constituants du système
2929PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Concept objetDéfinition: Objet
Pierre DuvalPierre Duval Sophie DurandSophie Durand
Les caractéristiques communes qui les qualifient diffèrent selon le domaine d’étude.Les caractéristiques communes qui les qualifient diffèrent selon le domaine d’étude.
Mais ces personnes physiques ont une identité propre. Ce sont des objets de leur domaine d’étude Mais ces personnes physiques ont une identité propre. Ce sont des objets de leur domaine d’étude
Une représentation physique Taille Pointure Couleur des yeux …
Une représentation physique Taille Pointure Couleur des yeux …
Une représentation sociale Métier Fonction Salaire …
Une représentation sociale Métier Fonction Salaire …
Exemple d’objets: Exemple d’objets:
3030PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Le mondeLe monde EntrepriseEntreprise
Concept objetDéfinition: classe
SalariéSalariéPersonnePersonne
Est une classeEst une classe
Une classe est une représentation abstraite d’un concept qui existe dans un domaine modélisé Une classe est un descripteur d’objet
Une classe est une représentation abstraite d’un concept qui existe dans un domaine modélisé Une classe est un descripteur d’objet
3131PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Concepts objetDéfinition : Objet
Un objet est caractérisé par Une identité (unique) Un état (porté par la valeur de ses attributs et ses liens
avec les autres objets) Un comportement
L’exécution d’un système repose sur la collaboration entre les objets qui le composent
Un objet est caractérisé par Une identité (unique) Un état (porté par la valeur de ses attributs et ses liens
avec les autres objets) Un comportement
L’exécution d’un système repose sur la collaboration entre les objets qui le composent
3333PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Concepts objetDéfinition : Classe
Les objets d’une même classe (on parle d’instances de la classe) possèdent la même définition Attributs (valorisés par chaque objet) Opérations Relations
De manière individuelle, chaque objet Possède ses propres valeurs pour les différents attributs Possède ses propres liens avec les autres objets Peut réaliser telle ou telle opération en fonction de son propre état
Les objets d’une même classe (on parle d’instances de la classe) possèdent la même définition Attributs (valorisés par chaque objet) Opérations Relations
De manière individuelle, chaque objet Possède ses propres valeurs pour les différents attributs Possède ses propres liens avec les autres objets Peut réaliser telle ou telle opération en fonction de son propre état
3434PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Concepts objetClasse et Objets
Des objets VoitureDes objets Voiture
la voiture de Paulla voiture de Paul
- couleur: bleu- marque: Renault- vitesse: 0
- couleur: bleu- marque: Renault- vitesse: 0
la voiture de Pierrela voiture de Pierre
- couleur: verte- marque: Peugeot- vitesse: 45
- couleur: verte- marque: Peugeot- vitesse: 45
AttributsAttributs
OpérationsOpérations
Nom de la classeNom de la classe
Voiture
- couleur- marqu
e
+ demarrer ( )+ tourner ( )+ accelerer ( )
- vitesse
La classe VoitureLa classe Voiture
3535PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Concepts objetClassification
Objectif Factoriser des données ou des traitements communs Rendre spécifique un comportement
Classification = généralisation et spécialisation Généralisation : regroupement des caractéristiques communes à plusieurs classes dans
une super-classe plus générale Spécialisation : Ajout de caractéristiques spécifiques dans une sous-classe ou
adaptation des caractéristiques transmises
Objectif Factoriser des données ou des traitements communs Rendre spécifique un comportement
Classification = généralisation et spécialisation Généralisation : regroupement des caractéristiques communes à plusieurs classes dans
une super-classe plus générale Spécialisation : Ajout de caractéristiques spécifiques dans une sous-classe ou
adaptation des caractéristiques transmises
Moyen de transport
- vitesse maximum- nombre de passagers
+ démarrer ( )
Vélo
- nombre de vitesses
+ changer de vitesse ( )
Bateau
- tirant d'eau
+ jeter l'ancre ()
3636PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les diagrammes UML
Acteur 1
uc3
uc2
uc4
uc1
Acteur 2 Acteur 3
Diagramme de cas d’utilisation Diagramme de séquence
Acteur 1Objet 1 Objet 2 Objet 4Objet 3
Diagramme de classes
+Service A+Service B+Service C+Service D
I_composant<<interface>>
M_composant<<maître>>
-Attribut a-Attribut b-Attribut c-Attribut d
Classe C<<caractéristiques>>implements
+Opération h
R_classe G<<rôle>>
-Attribut e+Opération a+Opération b
Classe A
-Attribut f-Attribut g+Opération c
Classe B
+Opération d+Opération f
R_classe F<<rôle>>
-Attribut h+Opération g
Classe D
nom n1..*nom m0..1
nom o *
+Opération i
R_classe E<<rôle>>
/Attribut i
Diagramme d’états
Etat 2
Etat 1 Etat 4Etat 3
entry/ actiondo/ activity
Etat 5entry/ actionexit/ action
Etat 6
Diagramme d’activités
Activité 1
Activité 2 Activité 3 Activité 4
Activité 5 Activité 6
décision
Diagramme d’objets
Objet 1
Objet 6Objet 5
Objet 4
Objet 3 : classe a
Objet 2 : classe anom a
nom b
nom d
nom c
nom e nom f
Diagramme de collaboration
Acteur 1
Objet 1
Objet 2
Objet 4
Objet 3
message 1
message 2
message 5
message 3
message 6
message 4
Diagramme de composants
Composant 1
Composant 2
Composant 3
Diagramme de déploiement
Composant 1
Composant 2
Noeud 2
Nœud 1 « base de données »BD 1
3737PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de collaboration Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de collaboration Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
3838PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme de classesObjectifs
A quoi cela sert ? Pour quoi faire ? Modéliser les données (étape préparant la réalisation du MLD et MPD) Définir les traitements applicables aux objets d’une classe
Objectifs Modéliser les relations structurelles entre les classes Obtenir un diagramme statique des entités impliquées Représenter un point de vue sur le modèle
A quoi cela sert ? Pour quoi faire ? Modéliser les données (étape préparant la réalisation du MLD et MPD) Définir les traitements applicables aux objets d’une classe
Objectifs Modéliser les relations structurelles entre les classes Obtenir un diagramme statique des entités impliquées Représenter un point de vue sur le modèle
Diagramme de classes
+Service A
+Service B
+Service C
+Service D
I_composant<<interface>>
M_composant<<maître>>
-Attribut a
-Attribut b
-Attribut c
-Attribut d
Classe C<<caractéristiques>>implements
+Opération h
R_classe G<<rôle>>
-Attribut e
+Opération a
+Opération b
Classe A
-Attribut f
-Attribut g
+Opération c
Classe B
+Opération d
+Opération f
R_classe F
<<rôle>>
-Attribut h
+Opération g
Classe D
nom n1..*
nom m0..1
nom o *
+Opération i
R_classe E
<<rôle>>
/Attribut i
3939PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme de classe
BanqueBanque
- nom- nom
ClientClient
- nom- adresse- nom- adresse
EntrepriseEntreprise
- numeroSiret- numeroSiret
ParticulierParticulier
- prenom- /age- ageMajorite
- prenom- /age- ageMajorite
CompteCompte
- numero- solde- numero- solde
+ crediter()+ débiter()+ crediter()+ débiter()
*
1
1..*1
< appartient àtitulaire
multiplicitémultiplicité•1•0..1•0..* ou *•1..*•1..4, 8
•1•0..1•0..* ou *•1..*•1..4, 8
Nombre d’instances d’une classe qui peuvent être mises en relation avec une seule instance de la classe associée
Nombre d’instances d’une classe qui peuvent être mises en relation avec une seule instance de la classe associée
rôlerôle
associationassociation
4040PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
4141PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme de séquenceObjectifs
A quoi cela sert ? Pour quoi faire ? Identifier les traitements (quoi faire) Identifier l’appelant et l’appelé de chaque traitement (qui appelle qui)
Objectifs Permet de décrire une interaction entre des objets
Objets = acteurs, système, instance de classe Les objets s’envoient des messages afin de réaliser une tâche déterminée Met en avant l’enchaînement chronologique des messages
A quoi cela sert ? Pour quoi faire ? Identifier les traitements (quoi faire) Identifier l’appelant et l’appelé de chaque traitement (qui appelle qui)
Objectifs Permet de décrire une interaction entre des objets
Objets = acteurs, système, instance de classe Les objets s’envoient des messages afin de réaliser une tâche déterminée Met en avant l’enchaînement chronologique des messages
Diagramme de séquence
Acteur 1
Objet 1 Objet 2 Objet 4Objet 3
4242PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme de séquence
Object2 Object4Object3Object1 : Actor1
1 : \message1\
2 : \message2\ 3 : \message3\
4 : \message4\
5 : destroy
6 : \message5\ (\param1\) S'il le faut
ObjetObjet
MessageMessage
« self »Message« self »Message
RetourRetour
Objet détruitObjet détruit
Ligne de vieLigne de vie
Note permettant decommenter des séquencesoptionnelles
Note permettant decommenter des séquencesoptionnelles
Axe
du
tem
psA
xe d
u te
mps
4343PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme de séquenceExemple: « achat d’un livre »
LeStock : Stock
manager : StockManager
livre : Livre unArticle : ArticleunClient : Client monPanier : Panier
1 : \create\
2 : \DonneListeLivre\
3 : \ChoixLivre\ (\livre\) 4 : \EnleveLivre\ (\livre\)
5 : \create\
6 : \Associe\ (\livre\)
7 : \DemandePrixUnitaire\
8 : \Ajoute\ (\article\)
9 : \CalculSolde\
4444PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activités Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activités Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
4545PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme d’activitésObjectifs
A quoi cela sert-il ? Pour quoi faire ? Décrit le comportement interne d’une opération Donne une vision procédurale d’activités
Utiliser pour décrire: un algorithme une règle de gestion la vision synthétique des scénarios d’un cas d’utilisation
A quoi cela sert-il ? Pour quoi faire ? Décrit le comportement interne d’une opération Donne une vision procédurale d’activités
Utiliser pour décrire: un algorithme une règle de gestion la vision synthétique des scénarios d’un cas d’utilisation
4646PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme d’activitésReprésentation UML
Rôle 1
Activité 4
Activité 1
Activité 2
Rôle 2
Activité 3
Rôle 3
Activité 3bis
[Résultat OK]
Dossier X
Une activitéUne activité
Début du « workflow »Début du « workflow »
Fin du « workflow»Fin du « workflow»
« Fork »« Fork »
« Join »« Join »
DécisionDécisionConditionCondition
Objet résultat de l’activitéou modifié par l’activitéObjet résultat de l’activitéou modifié par l’activité
« Swimlane »Permet de préciser les responsablesdes activités
« Swimlane »Permet de préciser les responsablesdes activités
Possibilité de décomposer des activitésPossibilité de décomposer des activités
4747PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme d’activitésExemple: « Achat d’un café dans un distributeur »
Mettre le café dans le filtre
Remplir le réservoir d'eau Prendre une tasse
Choisir une boisson
Mettre le filtre dans la machine
Mettre la machine en marche
Mélanger le café
Verser café
Début du « workflow »Début du « workflow »
Une activitéUne activité
Fin du « workflow»Fin du « workflow»
4848PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités d’analyse et de conception avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités d’analyse et de conception avec UML
4949PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Packages
A quoi cela sert-il ? Pour quoi faire ? Organiser la modélisation Faciliter la maintenance et les évolutions Faciliter l’analyse d’impact Faciliter le travail en équipe
Objectifs Permettre d’organiser les éléments d’un modèle en les
regroupant(Similaire au classement de fichiers dans des répertoires sur un disque) Découper la problématique du système à réaliser en grands
« domaines »
A quoi cela sert-il ? Pour quoi faire ? Organiser la modélisation Faciliter la maintenance et les évolutions Faciliter l’analyse d’impact Faciliter le travail en équipe
Objectifs Permettre d’organiser les éléments d’un modèle en les
regroupant(Similaire au classement de fichiers dans des répertoires sur un disque) Découper la problématique du système à réaliser en grands
« domaines »
5050PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Packages – Règles de construction
Chaque package doit posséder des critères d’appartenance précis et non ambigus (critères fonctionnels souvent retenus)
Un élément de modélisation appartient à un et un seul packageLe nom complet d’un élément d’un modèle est nomPackage::nomElement
Un package peut contenir d’autres packages
Chaque package doit posséder des critères d’appartenance précis et non ambigus (critères fonctionnels souvent retenus)
Un élément de modélisation appartient à un et un seul packageLe nom complet d’un élément d’un modèle est nomPackage::nomElement
Un package peut contenir d’autres packages
5151PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Packages
client
comptecontrat
Dépendance inter-packagesDépendance inter-packages
Package « Client » contenant les éléments de modélisation UML relatifs au concept Client.
Package « Client » contenant les éléments de modélisation UML relatifs au concept Client.
Préférer des packages faiblement couplés et fortement cohérentsPréférer des packages faiblement couplés et fortement cohérents
5252PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Packages
Un « bon » découpage d’un modèle en package permet de mieux Planifier le travail Organiser la modélisation (l ’architecture !) Faire de l’analyse d’impact Isoler des anomalies Faciliter la maintenance et les évolutions
Un « bon » découpage d’un modèle en package permet de mieux Planifier le travail Organiser la modélisation (l ’architecture !) Faire de l’analyse d’impact Isoler des anomalies Faciliter la maintenance et les évolutions
5353PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
5454PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme états-transitions
Un diagramme d’états-transitions est une représentation du cycle de vie d’un objet
Un diagramme d’états-transitions est une représentation du cycle de vie d’un objet
Diagramme d’états
Etat 1Etat 4
Etat 3
entry/ actiondo/ activity
Etat 5
entry/ actionexit/ action
Etat 6
5555PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme états-transitions
Il permet de spécifier entre autres : Les différents états de la vie d’un objet
Etat = une période durant la vie d’un objet caractérisée par :
– Valeur des différents attributs
– Attente par l’objet d’un certain nombre d’événements
– Réalisation éventuelle d’une activité Les événements pouvant être reçus dans chaque état
Ils matérialisent le flot d’informations échangé Les transitions d’état à état autorisées
Il permet de spécifier entre autres : Les différents états de la vie d’un objet
Etat = une période durant la vie d’un objet caractérisée par :
– Valeur des différents attributs
– Attente par l’objet d’un certain nombre d’événements
– Réalisation éventuelle d’une activité Les événements pouvant être reçus dans chaque état
Ils matérialisent le flot d’informations échangé Les transitions d’état à état autorisées
5656PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Initialisé
entry/ Initialiser cours
Ouvert aux inscriptions
entry/ Initialiser compteurevent demande d'inscription/ Inscrire ; incrémenter compteur
ouverture aux inscriptions / Proposer cours sur le site
Annulé
entry/ Avertir étudiants inscrits
annulation du cours
annulation du cours
Fermé aux inscriptions
entry/ Cloturer les inscriptionsdo/ Finaliser cours
[ Compteur = Max ou Date limite atteinte ]
annulation du cours
Diagramme d’états de la classe CoursDiagramme d’états de la classe Cours
Diagramme d’états: exemple
Début du cycle de vieDébut du cycle de vie
Etat finalEtat final
ActivitéActivité
TransitionTransition
EtatEtat
5757PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
5858PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme de composants
A quoi cela sert-il ? Pour quoi faire ? Décrire les éléments physiques dans l’environnement de réalisation Montrer les choix de réalisation
Un composant UML peut être : Programme (Cobol, C++, C, Java, EAR, WAR…) Librairie (DLL, JAR, EJB-JAR, Assembly…) Fichier (.h, .cpp, .cbl, .java, jcl…)
A quoi cela sert-il ? Pour quoi faire ? Décrire les éléments physiques dans l’environnement de réalisation Montrer les choix de réalisation
Un composant UML peut être : Programme (Cobol, C++, C, Java, EAR, WAR…) Librairie (DLL, JAR, EJB-JAR, Assembly…) Fichier (.h, .cpp, .cbl, .java, jcl…)
Diagramme de composants
Composant 1
Composant 2
Composant 3
5959PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme de composantsProg. Cobol 1
Prog. Cobol 2
Big Java Component
Interface du composant
Composant1 Composant2
«reside»
«reside»
Dépendance entre composantsDépendance entre composants
Interface du composantInterface du composant
Composant de « haut niveau » (Ex: ejb-jar dans le monde J2EE)
Composant de « haut niveau » (Ex: ejb-jar dans le monde J2EE)
Fichier contenant la définition d’une classe en Java
Fichier contenant la définition d’une classe en Java
Composant de type programme COBOLComposant de type programme COBOL
6060PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
6161PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme de déploiement
A quoi cela sert-il ? Pour quoi faire ?
Décrire l’infrastructure d’accueil d’un système (architecture physique)
Nœuds et liaisons entre les nœuds (type de lien, protocoles)
Répartir les différents composants sur les noeuds
A quoi cela sert-il ? Pour quoi faire ?
Décrire l’infrastructure d’accueil d’un système (architecture physique)
Nœuds et liaisons entre les nœuds (type de lien, protocoles)
Répartir les différents composants sur les noeuds
Diagramme de déploiement
Composant 1
Composant 2
Noeud 2
Noeud 1 « base de données »
BD 1
6262PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Diagramme de déploiementExemple
Serveur WebApache
Serveur WebApache
Serveur Application
WAS5.1
Serveur Application
WAS5.1
MainframeMainframe
Serveur DB2YYY
Serveur DB2YYY
Serveur OracleXXX
Serveur OracleXXX
DMZ1DMZ1 DMZ2DMZ2
FirewallDMZ1
FirewallDMZ1
FirewallDMZ2
FirewallDMZ2
http : 80http : 80
iiop : 1402 iiop : 1402
iiop : 1402 iiop : 1402
sqlnetsqlnet
6363PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Plan du cours
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
Objectifs de la formation Introduction Les cas d’utilisation Concepts Objet Le cœur d’UML
Diagramme de classe Diagramme de séquence Diagramme d’activité Les packages Diagramme états – transitions Diagramme de composants Diagramme de déploiement
Les activités de la méthode avec UML
6464PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les activités de la méthode avec UML
UML est un langage et non une méthode
UML n’impose donc pas un usage particulier des différents éléments présentés précédemment
C’est la méthode qui définit comment seront utilisés les différents éléments UML au cours du cycle de vie d’un projet Définition des différents niveaux de détail des différents modèles
produits (on parle de niveaux d’abstractions) Définition des différents éléments d’UML à utiliser à chaque étape du
cycle de vie projet
UML est un langage et non une méthode
UML n’impose donc pas un usage particulier des différents éléments présentés précédemment
C’est la méthode qui définit comment seront utilisés les différents éléments UML au cours du cycle de vie d’un projet Définition des différents niveaux de détail des différents modèles
produits (on parle de niveaux d’abstractions) Définition des différents éléments d’UML à utiliser à chaque étape du
cycle de vie projet
6565PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les activités de la méthode avec UML
La plupart des méthodes s’appuyant sur le formalisme UML définissent 3 niveaux d’abstraction Niveau « Exigences » Niveau « Analyse » Niveau « Conception »
Ces niveaux permettent une expression graduelle des exigences En partant d’une expression proche de l’utilisateur Pour aller vers une expression proche du code
La plupart des méthodes s’appuyant sur le formalisme UML définissent 3 niveaux d’abstraction Niveau « Exigences » Niveau « Analyse » Niveau « Conception »
Ces niveaux permettent une expression graduelle des exigences En partant d’une expression proche de l’utilisateur Pour aller vers une expression proche du code
6666PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les activités de la méthode avec UML
Modèle fonctionnelModèle fonctionnel
Modèle d’analyseModèle d’analyse
Modèle de conceptionModèle de conception
CodeCode
La modélisation devient de plus en plus précise et proche du code finalLa modélisation devient de plus en plus précise et proche du code final
6767PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les activités de la méthode avec UML
Niveau fonctionnel « Exigences » Utilisation des cas d’utilisation et diagrammes de cas d’utilisation
Détermination du besoin
Niveau « Analyse » Modélisation des concepts « métier » Classes représentant uniquement des concepts manipulés par le
métier Pas d’introduction de classes « techniques » ou d’éléments
provenant du langage d’implémentation
Détermination de la solution fonctionnelle
Niveau « Conception » Modèle faisant intervenir l’architecture technique en vigueur sur le
projet Utilisation de « modèles de conception » type (Design Patterns)
Détermination de la solution technique
Niveau fonctionnel « Exigences » Utilisation des cas d’utilisation et diagrammes de cas d’utilisation
Détermination du besoin
Niveau « Analyse » Modélisation des concepts « métier » Classes représentant uniquement des concepts manipulés par le
métier Pas d’introduction de classes « techniques » ou d’éléments
provenant du langage d’implémentation
Détermination de la solution fonctionnelle
Niveau « Conception » Modèle faisant intervenir l’architecture technique en vigueur sur le
projet Utilisation de « modèles de conception » type (Design Patterns)
Détermination de la solution technique
6868PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les activités de la méthode avec UML
6969PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les activités de la méthode avec UML
ExigencesDéfinition des exigences utilisateur vis-à-vis du système
ConceptionModélisation de la solution technique
Banque
Compte
+ numero
+ crediter ( )+ debiter ( )+ solde ( )
Client
+ nom+ adresse+ /age+ ageMajorite
*- client
- banque
possède
1
1..*
- compte
- titulaire appartient à
Diagramme de classesObject2 Object4Object3Object1 : Actor1
1 : \message1\
2 : \message2\ 3 : \message3\
4 : \message4\
5 : destroy
Diagramme de séquences
Etat_1
Do/activité
Etat_2
\create\
[condition]/action
\evenement\ «Destroy» \\
Diagramme d’états-transitions
Diagramme de composants + diagramme de déploiement
MLD + MPD
AnalyseModélisation de la solution fonctionnelle
Banque
Compte
+ numero
+ crediter ( )+ debiter ( )+ solde ( )
Client
+ nom+ adresse+ /age+ ageMajorite
*- client
- banque
possède
1
1..*
- compte
- titulaire appartient à
Diagramme de classes
Object2 Object4Object3Object1 : Actor1
1 : \message1\
2 : \message2\ 3 : \message3\
4 : \message4\
5 : destroy
6 : \message5\ (\param1\) S'il le faut
Diagramme de séquence
Etat_1
Do/activité
Etat_2
\create\
[condition]/action
\evenement\ «Destroy» \\
Diagramme d’états-transition
Modélisation métierDécouverte du processus métier
Cas d’utilisation 1 Cas d’utilisation n
. . .. . .NewActivity
NewActivity2
NewActivity3
NewActivity4 NewActivity5
NewActivity6
Décision
NewActivity7
Diagramme d’activitésDiagramme d’activités
NewActivity
NewActivity2
NewActivity3
NewActivity4 NewActivity5
NewActivity6
Décision
NewActivity7
Diagramme d’activitésDiagramme d’activités
7070PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les activités de la méthode avec UML
Exigences
Analyse
Conception
Les modèles
Modèle de conception
Modèle d’analyse
Modèle de cas d’
utilisation
Modèle de processus
métier
Diagramme de contexte - Découverte des exigences fonctionnelles et non fonctionnelles
Diagramme de classes- Recherche des concepts métiers, de leurs propriétés et des relations structurelles qui les lient -> modélisation de l’aspect statique du cas d’utilisation
Modélisation métier
- Recherche des activités métier qui définissent un processus métier
- Organisation de ces activités dans un flux
Chaîne de Processus Evènementiel
Diagramme de classes
Diagramme de séquence
Diagramme d’états transition
Diagramme d’activités
- Prise en compte des contraintes techniques et des exigences non fonctionnelles sur le modèle d’analyse
- Organisation des composants- Organisation des composantsDiagramme de composants
Diagramme de déploiement
Diagramme de composants
Diagramme de déploiement-Détermination du schéma de BD-Détermination du schéma de BD
Modèle Logique de Données et Modèle Physique de Données
Modèle Logique de Données et Modèle Physique de Données
- Recherche des messages échangés entre objets (flux d’événements) -> modélisation de la dynamique du cas d’utilisation- Recherche des messages échangés entre objets (flux d’événements) -> modélisation de la dynamique du cas d’utilisation
Diagramme de séquence Diagramme de séquence
-Recherche des différents états possibles d’un objet -> modélisation du cycle de vie-Recherche des différents états possibles d’un objet -> modélisation du cycle de vie
Diagramme d’états transition Diagramme d’états transition
-Description détaillée d’une exigence-Description détaillée d’une exigence
Diagramme d’activités Diagramme d’activités
Diagramme de cas d’utilisationDiagramme de cas d’utilisation - Élaboration en collaboration avec la MOA de la cinématique des cas d’utilisation du système- Élaboration en collaboration avec la MOA de la cinématique des cas d’utilisation du système
Diagramme d’activitésDiagramme d’activités-Description des activités d’une exigence-Description des activités d’une exigence
7171PRHA-UML-FO-0719-Sensibilisation-UML PRHA-UML-FO-0719-Sensibilisation-UML 08/02/200608/02/2006
Les activités de la méthode avec UML
Discipline Exigences Discipline Exigences
Dossierd’analyseDossier
d’analyse
Dossierde conception
Dossierde conception
Diagramme de classes
Diagramme de classes
Diagramme de séquence
Diagramme de séquence
Diagrammed’états transitions
Diagrammed’états transitions
Diagramme de composants
Diagramme de composants
Diagramme de déploiement
Diagramme de déploiement
Diagramme decas d’utilisationDiagramme de
cas d’utilisationDiagrammed’activités
Diagrammed’activités
Discipline Analyse & Conception Discipline Analyse & Conception
Dossier d’architecture
Dossier d’architecture
Dossier des exigences
Dossier des exigences
Fiche decas d’utilisation
Fiche decas d’utilisation
FicheExigence
FicheExigence
7272
FIN