013 mediha cgi - sensibilisation uml

71
1 Programme Harmonie Sensibilisation UML

description

 

Transcript of 013 mediha cgi - sensibilisation uml

Page 1: 013   mediha cgi - sensibilisation uml

11

Programme HarmonieSensibilisation UML

Programme HarmonieSensibilisation UML

Page 2: 013   mediha cgi - sensibilisation 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

278144
Voir pour déplacer "Modéliser les exigences"
Page 3: 013   mediha cgi - sensibilisation 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

Page 4: 013   mediha cgi - sensibilisation 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

Page 5: 013   mediha cgi - sensibilisation 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

Page 6: 013   mediha cgi - sensibilisation 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() { … } …}

Page 7: 013   mediha cgi - sensibilisation uml

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..*

Page 8: 013   mediha cgi - sensibilisation uml

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

Page 9: 013   mediha cgi - sensibilisation uml

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

Page 10: 013   mediha cgi - sensibilisation uml

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

Page 11: 013   mediha cgi - sensibilisation uml

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 »

Page 12: 013   mediha cgi - sensibilisation uml

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…

Page 13: 013   mediha cgi - sensibilisation uml

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

Page 14: 013   mediha cgi - sensibilisation uml

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

Page 15: 013   mediha cgi - sensibilisation uml

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

Page 16: 013   mediha cgi - sensibilisation 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

Page 17: 013   mediha cgi - sensibilisation uml

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

Page 18: 013   mediha cgi - sensibilisation uml

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

Page 19: 013   mediha cgi - sensibilisation uml

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

Page 20: 013   mediha cgi - sensibilisation uml

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

Page 21: 013   mediha cgi - sensibilisation uml

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 »

278144
détailler : pré, post-conditions, scénario nominal, alternatif, exceptionParler des règles de gestionActeur
Page 22: 013   mediha cgi - sensibilisation uml

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

Page 23: 013   mediha cgi - sensibilisation uml

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

Page 24: 013   mediha cgi - sensibilisation uml

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

Page 25: 013   mediha cgi - sensibilisation uml

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

Page 26: 013   mediha cgi - sensibilisation uml

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

Page 27: 013   mediha cgi - sensibilisation 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

Page 28: 013   mediha cgi - sensibilisation uml

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

Page 29: 013   mediha cgi - sensibilisation uml

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:

Page 30: 013   mediha cgi - sensibilisation uml

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

Page 31: 013   mediha cgi - sensibilisation uml

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

Page 32: 013   mediha cgi - sensibilisation uml

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

Page 33: 013   mediha cgi - sensibilisation uml

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

278144
Mettre les attributs en privéParler de l'encapsulation
Page 34: 013   mediha cgi - sensibilisation uml

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 ()

Page 35: 013   mediha cgi - sensibilisation uml

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

Page 36: 013   mediha cgi - sensibilisation uml

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

Page 37: 013   mediha cgi - sensibilisation 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

Page 38: 013   mediha cgi - sensibilisation uml

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

Page 39: 013   mediha cgi - sensibilisation uml

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

Page 40: 013   mediha cgi - sensibilisation 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

Page 41: 013   mediha cgi - sensibilisation uml

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

Page 42: 013   mediha cgi - sensibilisation uml

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\

Page 43: 013   mediha cgi - sensibilisation uml

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

Page 44: 013   mediha cgi - sensibilisation 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

Page 45: 013   mediha cgi - sensibilisation uml

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

278144
Mettre un exemple
Page 46: 013   mediha cgi - sensibilisation uml

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»

Page 47: 013   mediha cgi - sensibilisation uml

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

Page 48: 013   mediha cgi - sensibilisation 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 »

Page 49: 013   mediha cgi - sensibilisation uml

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

Page 50: 013   mediha cgi - sensibilisation uml

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

Page 51: 013   mediha cgi - sensibilisation uml

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

Page 52: 013   mediha cgi - sensibilisation uml

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

Page 53: 013   mediha cgi - sensibilisation 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

Page 54: 013   mediha cgi - sensibilisation uml

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

Page 55: 013   mediha cgi - sensibilisation uml

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

Page 56: 013   mediha cgi - sensibilisation uml

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

Page 57: 013   mediha cgi - sensibilisation 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

Page 58: 013   mediha cgi - sensibilisation uml

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

Page 59: 013   mediha cgi - sensibilisation uml

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

Page 60: 013   mediha cgi - sensibilisation 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

Page 61: 013   mediha cgi - sensibilisation uml

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

Page 62: 013   mediha cgi - sensibilisation uml

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

Page 63: 013   mediha cgi - sensibilisation 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

Page 64: 013   mediha cgi - sensibilisation uml

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

Page 65: 013   mediha cgi - sensibilisation uml

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

Page 66: 013   mediha cgi - sensibilisation uml

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

Page 67: 013   mediha cgi - sensibilisation uml

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

Page 68: 013   mediha cgi - sensibilisation 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

Page 69: 013   mediha cgi - sensibilisation uml

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

Page 70: 013   mediha cgi - sensibilisation uml

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

Page 71: 013   mediha cgi - sensibilisation uml

7272

FIN