41
1001 Améliorer les spécifications logicielles grâce à la modélisation métier Pascal Roques Valtech Training

Modélisation métier (2004)

Embed Size (px)

Citation preview

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®

1 : La problématique de la modélisation métier

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]

2 : Comment modéliser les processus métier ?

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

3 : Comment modéliser les objets métier ?

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

Exemple : entité « Voiture »

4 : Le passage aux spécifications logicielles

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

Questions ?

Merci

Pensez à remettre votre fiche d’évaluation

Pour me contacter … [email protected]