Post on 24-May-2015
1001 Améliorer les spécifications
logicielles grâce à la modélisation métier
Pascal Roques
Valtech Training
Présentations
• Intervenant : Pascal Roques
• Formateur et consultant senior chez Valtech Training
• Responsable de l’offre formation autour d’UML
• Auteur de 3 ouvrages sur UML parus chez Eyrolles :
UML 2 en action
De l'analyse des besoins à la conception J2EE
UML 2 par la pratique
Études de cas et exercices corrigés
UML Modéliser un site e-commerce
Notre programme
• 1. La problématique de la modélisation métier
• 2. Comment modéliser les processus métier ?
• 3. Comment modéliser les objets métier ?
• 4. Le passage aux spécifications logicielles
• Les diagrammes de la présentation ont été réalisés avec l’outil Together®
Business Modeling (BM)
• La modélisation du niveau métier consiste à représenter l’entreprise : ses processus, ses ressources et son organisation
Modèle
d’organisation
Modèle des
ressources Modèle des
processus Entreprise
Les objectifs du BM
• Le BM peut avoir des objectifs très différents suivant le contexte
• Principaux buts :
• Réorganiser le S.I.
• Préciser les besoins d’une application
• Optimiser les systèmes informatiques existants
• Préparer la mise en place d’un ERP
• …
Préciser les besoins d’un logiciel • Pallier au manque de définition du contexte métier
lors du démarrage d’un projet informatique
• Cahier des charges incomplet
• Objectifs stratégiques de l’entreprise perdus de vue
• Gérer les risques de mauvais ciblage du projet
• Différence entre besoins réels et besoins exprimés
• Manque de visibilité globale sur l’activité des utilisateurs
• Tentation d’automatiser les pratiques en cours, sans profiter du potentiel de changement lié aux nouvelles technologies
• Cette tâche amont est trop souvent négligée !
• Elle n’est en général pas budgétisée
• Les experts métier sont peu disponibles
BM orienté objet avec UML ?
• UML est un standard de modélisation
• Langage commun pour communiquer et capitaliser
• Puissance de modélisation applicable à de multiples
niveaux d’abstraction
• Extensibilité intégrée au langage
• UML est utilisé sur les projets informatiques
• Couverture complète de tout le cycle de développement
• En phase avec les nouvelles technologies
• Continuité des concepts de bout en bout
Les diagrammes d’UML • UML 1.5 propose 9 types de diagrammes :
• Diagramme de cas d’utilisation
• Diagramme de classes
• (Diagramme d’objets)
• Diagramme de séquence
• (Diagramme de collaboration)
• Diagramme d’activités
• Diagramme d’états
• (Diagramme de composants)
• (Diagramme de déploiement)
DIAGRAMME D'ÉTATS
DIAGRAMME D'ACTIVITÉ
DIAGRAMME DE SÉQUENCE
DIAGRAMME DE COLLABORATION
Fonctionnel
DynamiqueStatique
DIAGRAMME DE CLASSES
DIAGRAMME D'OBJETS
DIAGRAMME DE COMPOSANTS
DIAGRAMME DE DÉPLOIEMENT
DIAGRAMME DE CAS
D'UTILISATION
UML pour le BM (1/2) • Nous privilégions 2 types de diagrammes :
• Diagramme de classes Diagramme d’activités
Mecanicien
Client
Chef d'atelier
Prendre un RV
Effectuer la reparation
Demande reparation
Payer la facture
Verifier la demande
Etablir un devis
Verifier le vehicule
Livrer le vehicule
[OK] [NOK]
devis refuse devis accepte
[OK]
[NOK]
1
0..1
donne lieu a
1
1
1
1
1
concerne
Devis
montantdateValidite
Cle
numero
CarteGr ise
immatriculation
Demand eDeReparat ion
datedescription
Voiture
modeleimmatriculationkilometrage
UML pour le BM (2/2) • Nous utilisons 3 autres types de diagrammes :
• Diagramme de cas d’utilisation
• Diagramme de séquence
Diagramme d’états
Mecanicien
Client
Chef d'atelier
Prendre un RV
Effectuer la reparation
Demande reparation
Payer la facture
Verifier la demande
Etablir un devis
Verifier le vehicule
Livrer le vehicule
[OK] [NOK]
devis refuse devis accepte
[OK]
[NOK]
1
0..1
donne lieu a
1
1
1
1
1
concerne
Devis
montantdateValidite
Cle
numero
CarteGr ise
immatriculation
Demand eDeReparat ion
datedescription
Voiture
modeleimmatriculationkilometrage
La démarche de BM avec UML
Identifier les acteurs et les processus métier
Décrire les processus métier
Identifier et décrire les entités métier
Consolider
Mecanicien
Client
Chef d'atelier
Prendre un RV
<<entity>>:Voiture
[a reparer]
Effectuer la reparation
Demande reparation
Payer la facture
<<entity>>:Devis
<<entity>>:Fac tu re
Verifier la demande
Etablir un devis
Verifier le vehicule
Livrer le vehicule
<<entity>>:Demand eDeReparat ion
<<entity>>:Voiture[reparee]
<<entity>>:Voiture[a livrer]
[OK]
[NOK]
devis refuse devis accepte
[OK]
[NOK]
Processus métier
• Un processus métier modélise un service rendu par une organisation
• On parle aussi de cas d'utilisation métier (“business use case”)
Garage
Client
<<processus métier>>
Réparer une voiture
Types d’acteurs métier • Un acteur métier modélise une
personne ou un rôle qui participe à au moins un processus métier
• On peut distinguer :
• Business Actor
• Extérieur à l’entreprise : client, fournisseur…
• Business Worker
• Rôle interne à l’entreprise : mécanicien, chef d’atelier…
• Case worker, internal worker
Diagramme de cas d’utilisation • Le diagramme de cas d’utilisation UML
permet de mettre en relation les acteurs et les processus métier
• Très simple, synthétique
Garage
Client
<<internal worker>>
Mecanicien
<<case worker>>
Chef d'atelier
<<processus métier>>
Reparer une voiture
Exemple plus complet
Client
Fournisseur
<<internal worker>>
Mecanicien
<<case worker>>
Commercial
Fournisseur
<<processus métier>>
Reparer une voiture
<<processus métier>>
Vendre une voiture
<<processus métier>>
Racheter une voiture d'occasion
<<processus support>>
Acheter des pieces detachees
<<case worker>>
Chef d'atelier
Plan type détaillé • Permet de décrire chaque processus métier dans
ses moindres détails
• Plan-type (Template) à définir par entreprise
• Exemple :
• Titre
• Objectif
• Précondition
• Scénario nominal
• Extensions
• Postconditions
• Risques
• Etc.
Exemple Titre : Réparer une voiture
Pré-condition : L'atelier est en état de fonctionnement normal couvrant 80% de ses capacités de réparation avec son personnel présent
et ses pièces détachées.
Scénario nominal
Le processus commence quand un client déclare vouloir faire réparer sa voiture à l'atelier.
1. Le client est accueilli par le chef d'atelier qui vérifie le rendez-vous déjà pris, ou bien planifie un rendez-vous (extension « Prendre
rendez-vous »).
2. Le chef d'atelier demande les clés et la carte grise du véhicule au client. Il donne au client un temps approximatif nécessaire pour
effectuer la réparation et lui soumet un devis.
3. Le client accepte le devis (Erreur 1 : le client refuse le devis).
4. Le chef d'atelier affecte un mécanicien (Alternative 1 : aucun mécanicien disponible).
5. Le mécanicien procède à la réparation (Alternative 2 : il manque une pièce).
6. Lorsque le véhicule est prêt, le chef d'atelier contrôle l'état du véhicule.
7. Si le véhicule est présentable, et lorsque le client est physiquement présent, il procède à la remise de la facture.
8. Le client va payer auprès du service comptabilité et présente la facture payée au chef d'atelier (Alternative 3 : défaut de paiement).
9. Le chef d’atelier livre la voiture au client qui récupère les clefs et la carte grise du véhicule.
…
Alternative 2 : S’il manque une pièce, le mécanicien informe le chef d’atelier qui passe une commande à un fournisseur référencé
(extension : acheter des pièces détachées).
…
Post-condition : La facture est payée, le véhicule est rendu réparé et propre au client.
Diagramme d’activités • Les briques de base
• Activités
• Transitions
• Décisions
• Début et fin(s)
• Compléments
• Fork/join
• Swimlanes
• Signaux
Exemple
Mecanicien
Client
Chef d'atelier
Prendre un RV
Effectuer la reparation
Demande reparation
Payer la facture
Verifier la demande
Etablir un devis
Verifier le vehicule
Livrer le vehicule
[OK] [NOK]
devis refuse devis accepte
[OK]
[NOK]
Diagramme de séquence • Définition
• Le diagramme de séquence représente les éléments intervenant dans un scénario ainsi que les messages dans leur ordre chronologique
• Notation (très simple !)
Temps
Exemple • Pour la
modélisation des processus métier, les participants sont des acteurs ou des workers
Modèle objet « métier » • La 2è partie du modèle métier est
constituée par le modèle objet
• Business Object Model (BOM)
• Alors que le modèle des processus décrit le « quoi », le modèle objet décrit le « comment »
• Comment les business workers et les business entities sont reliés et collaborent pour réaliser les processus
• Sous forme de diag. de classes UML
• élémentaires
• ou plus détaillés (planche suivante)
Exemple de modèle objet métier
1
0..1
1
0..1
donne lieu a
1
concerne
1
1
1
1
Voiture
modeleimmatriculationkilometrage
Devis
montantdateValidite
BOM.Co mptab ilite .Fac tu re
datemontantdescription
Cle
numero
CarteGr ise
immatriculation
Demand eDeReparat ion
datedescription
<<organization unit>>BOM.Atelie r
+Voiture+DemandeDeReparation+Devis+Cle+CarteGrise
<<organization unit>>BOM.Co mptabilite
+Facture
Diagramme d’activité - compléments
• Object Flow
• Une entité métier peut être en sortie d’une activité (produite)
• ou en entrée d’une activité (utilisée)
• Peut inclure l’état de l’objet entre crochets, si celui-ci évolue au fil du processus
• Permet de faire le lien entre le modèle des processus et le modèle objet !
Mecanicien
Client
Chef d'atelier
Prendre un RV
<<entity>>:Voiture
[a reparer]
Effectuer la reparation
Demande reparation
Payer la facture
<<entity>>:Devis
<<entity>>:Fac tu re
Verifier la demande
Etablir un devis
Verifier le vehicule
Livrer le vehicule
<<entity>>:Demand eDeReparat ion
<<entity>>:Voiture[reparee]
<<entity>>:Voiture[a livrer]
[OK]
[NOK]
devis refuse devis accepte
[OK]
[NOK]
Exemple consolidé
Diagramme d’états • Le diagramme d’états est une représentation du
cycle de vie auquel doivent se conformer toutes les instances d’une classe donnée
• C’est un diagramme très puissant, qui permet d’aller très loin dans la précision et la complétude de la description du comportement
• Un diagramme d’états est forcément associé à une classe, mais toutes les classes n’en ont pas besoin
Liens avec les disciplines en aval…
Business Modeling
Business Rules,
Business Object Model Business Use Case Model
Requirements
Use Case Model
Analysis (& Design)
Analysis Model
Liens entre disciplines : détail
• BPM (Business Process Model)
• Les activités à informatiser des processus métier sont des cas d’utilisation candidats
• Les acteurs (ou workers) métier concernés par ces activités deviennent naturellement des acteurs du système informatique
• BOM (Business Object Model)
• Les entités métier manipulées par les activités à informatiser deviennent des classes d’analyse (entités)
Lien avec Requirements : exemple
Mecanicien
Client
Chef d'atelier
Prendre un RV
Effectuer la reparation
Demande reparation
Payer la facture
Verifier la demande
Etablir un devis
Verifier le vehicule
Livrer le vehicule
[OK] [NOK]
devis refuse devis accepte
[OK]
[NOK]
Activités à
informatiser
Poste de travail du chef d'atelier
Etablir un devis<<case worker>>
Chef d'atelier
Gerer un RV client
Chef d’atelier
1
0..1
1
0..1
donne lieu a
1
concerne
1
1
1
1
Voiture
modeleimmatriculationkilometrage
Devis
montantdateValidite
BOM.Co mptab ilite .Fac tu re
datemontantdescription
Cle
numero
CarteGr ise
immatriculation
Demand eDeReparat ion
datedescription
Lien avec l’analyse : exemple
Entités métier
à informatiser
Ajouter
« Client » !
Pourquoi utiliser UML pour le BM ?
• UML fournit un langage commun pour les analystes métier et les concepteurs
• UML est visuel
• UML décrit les processus métier à la fois structurellement et dynamiquement
• UML vous aide à dériver de meilleures exigences système
• UML est orienté objet
Historique d’UML
Booch'93 + OMT-2
UML 1.0
UML 0.9
UML 1.1
UML 1.5
Partenaires
UML
09/1997 : révision 1.1
11/1997 : adoption par l'OMG
03/2003 : révision 1.5
10/1994
10/1995
06/1996
01/1997 : soumission à l'OMG
Unified Method 0.8
Industrialisation
Standardisation
Unification
Fragmentation G. Booch
Booch-91
J. Rumbaugh
OMT-1
I. Jacobson
OOSE
http://www.uml.org/
Les diagrammes d’UML 2
• UML 2.0 propose 13 types de diagrammes :
• Diagramme de cas d’utilisation
• Diagramme de classes
• Diagramme d’objets
• Package diagram
• Composite structure diagram
• Interaction overview diagram
• Diagramme de séquence
• Diagramme de communication
• Timing diagram
• Diagramme d’activité
• Diagramme d’états
• Diagramme de composants
• Diagramme de déploiement
New !
New !
New !
New !
Modified !
Modified !
Modified !
Diagramme d’activité UML 2.0
• Le diagramme d’activité(s) a été notablement modifié
• Voir la présentation sur UML 2.0 aujourd’hui !
• L’alignement avec d’autres formalismes de modélisation de processus devrait être plus facile …
• Cf. www.bpmi.org
• BPML : Business Process Modeling Language