Démarche de conception objet
(Unified Process)
1. Objectif et intérêt d’une démarche OO
2. Cycles de vie et pilotage par les risques
3. Panorama des méthodologies OO
4. Mise en œuvre des méthodologies OO : UP
5. Approches « RAD » et « Concurrent Engineering »
6. Méthodes OO et « Business Process Reengineering »
Chantal Soulé-Dupuy
Professeur en Informatique à l’Université Toulouse 1 &
Institut de Recherche en Informatique de Toulouse
1. Objectif et intérêt d’une démarche Orientée Objet
L ’ingénierie de systèmes selon une approche objet
« (Re-) Configuration de système d ’information
ou Production de logiciel
d ’un haut niveau de qualité
correspondant aux besoins de l’utilisateur final
dans le cadre de programmes et de budgets prévisibles »
Approche disciplinée sur la manière d ’attribuer les tâches
et les responsabilités
maîtrise des moyens
maîtrise des coûts
maîtrise des délais
S ’adapter à tous types de projets et d ’organisations
Processus en « V » versus Processus itératif et incrémental
décomposé en Phases et Itérations modulables et configurables
© C. Soulé-Dupuy 2
2. Cycles de vie et pilotage par les risques
Modèles de cycles de vie linéaires : cycle « en cascade »
applications traditionnelles
processus séquentiels
Analyse besoins
et spécifications
Recette
Conception
Générale
Validation
Conception
détaillée
Vérification
Implémentation
Tests unitaires
Intégration
Test intégration
Mise en
production
© C. Soulé-Dupuy 3
2. Cycles de vie et pilotage par les risques
Modèles de cycles de vie linéaires : Cycle en « V »
enchaînement de phases autonomes
facilite vérification et validation
Analyse besoins Vérification (validé par)
Recette
et faisabilité
Vérification (validé par) Tests de
Spécifications validation
Conception Vérification (validé par) Tests
générale intégration
Conception Vérification
Tests
détaillée unitaires
Implémentation
© C. Soulé-Dupuy 4
2. Cycles de vie et pilotage par les risques
Modèles de cycles de vie itératifs : cycle en spirale
traçabilité entre les étapes
caractère itératif « par prototypage »
Analyse
Conception Spécifications
V 1.0 V 1.1 V 1.2
Implémentation Validation
Tests
© C. Soulé-Dupuy 5
2. Cycles de vie et pilotage par les risques
Modèles de cycles de vie itératifs : cycle itératif et incrémental
Pilotage par les risques
Prise en compte du changement à chaque itération
Exigences
Analyse et conception
Evaluation initiale
des risques du projet
Planification
Modélisation métier Gestion des
changements et de la Réalisation
configuration
Planification Itération N
initiale
Environnement
Révision du plan général Tests
(Coût, délais, portée, contenu)
Évaluation Déploiement
Risques éliminés
Révision des risques
Evaluation des priorités
© C. Soulé-Dupuy 6
2. Cycles de vie et pilotage par les risques
Et puis toutes les variantes mixant Cascade-Itératif, V-Itératif…
Cycle « agile »
Semi-itératif
Evaluation du changement à chaque itération
Exploration besoin Construction et
et solution Validation
© C. Soulé-Dupuy 7
2. Cycles de vie et pilotage par les risques
Cycle en « Y »
s’apparente à de la cascade avec forme itérative interne à certaines tâches
intègre les niveaux métiers/fonctions et logiciel/matériel
Capture des besoins Capture des besoins
fonctionnels techniques
Spécifications Architecture logicielle
fonctionnelles applicative
Branche Branche
fonctionnelle Environnement technique
Analyse de développement
Conception détaillée
Implémentation Phase de
réalisation
Tests unitaires
et recettes
Mise en production
© C. Soulé-Dupuy 8
2. Cycles de vie et pilotage par les risques
Cycle « GPP NG » ou Generic Project Process New Generation
(AIRBUS)
4 déclinaisons du GPP classique proposé par AIRBUS :
− Waterfall : Cascade
Projets de plus de 1 an
− Agile Scrum : V-Itératif
Quand client ne sait pas clairement exprimer son
besoin
− Time Box : Cascade-Itératif
Quand le temps imparti ne permet pas de réaliser
toutes les fonctionnalités (classer les demandes et les
prioriser)
− Fast Track : version simplifiée de Waterfall,
Projets de moins de 6 mois
© C. Soulé-Dupuy 9
2. Cycles de vie et pilotage par les risques
Quel cycle de vie ? Quelle maîtrise des risques ?
Peu de risques
Séquentiel
Intégration et tests tardifs
Cascade
Faible formalisme Formalisme élevé
Peu de documentation Bien documenté
Processus légers Traçabilité
Comité de contrôle
des changements
Itératif
Piloté par les risques,
Intégration et tests continus
© C. Soulé-Dupuy 10
2. Cycles de vie et pilotage par les risques
Les paradigmes de modélisation
axe structurel et statique
axe temporel et dynamique
axe fonctionnel
STRUCTUREL
MÉTHODE DE
DYNAMIQUE FONCTIONNEL
CONCEPTION
© C. Soulé-Dupuy 11
3. Panorama des méthodes objet
Précurseurs de UP-UML
1985
OOD (Object Oriented Design) - G. Booch
– Ada, C++, Smalltalk, Eiffel
HOOD (Hierarchical Object Oriented Design)
– Ada
OOA (Object Oriented Analysis) - Shlaer & Mellors
OOA / OOD - Coad & Yourdon
OMT (Object Modeling Technique) - Rumbaugh
OOSE (Object Oriented Software Ingineering) - Jacobson
OOM (Orientation Objet dans Merise)
1993
© C. Soulé-Dupuy 12
3. Panorama des méthodes objet
Aujourd ’hui, les AGL (Atelier de Génie Logiciel )
permettant une modélisation objet :
intègrent UML
– Rational ROSE (IBM) OMT, Booch, UML
– ISOA (MEGA International) UML, Chen ER
– ObjectPartner (Verilog) OMT, UML
– Paradigm Plus (Platinum Technology) OMT, Booch, UML, Jacobson,
Chen ER, OOA (Slaer & Al.), ...
– StP ou Software through Pictures (Aonix) OMT, Booch, UML
– ...
Intègrent un processus UP
permettent la génération de code C++ et Java et éventuellement VB
© C. Soulé-Dupuy 13
4. Mise en oeuvre des méthodologies objet : UP
4 phases dans UP
1. Inception Cadre du système et portée du projet
2. Elaboration Analyser le système et développer le plan du projet
3. Construction Développement du système
4. Transition Livraison du système aux utilisateurs
Itération
Cycle de développement logiciel (ou système) complet depuis le recueil
des besoins jusqu ’à l ’implantation et aux tests.
Se termine par la sortie d ’une version exécutable du projet
1 .. * itérations par phase
© C. Soulé-Dupuy 14
4. Mise en oeuvre des méthodologies objet : UP
Utilisateurs Programmeurs
Fonctionnalités Gestion du logiciel
Vue Vue des
Logique Composants
Maîtrise d ’ouvrage / Analystes Vue des
Comportements Cas d’ Utilisation
Vue des Vue de
Processus Déploiement
Intégrateurs de systèmes Ingénierie du système
Performance Topologie du système
Robustesse, Adaptabilité Distribution, Installation
Débit Communication
© C. Soulé-Dupuy 15
4. Mise en oeuvre des méthodologies objet : UP
PHASES
Workflows Inception Elaboration Construction Transition
du processus
Modélisation métier
Exigences
Analyse et conception
Implantation
Tests
Déploiement
Workflows
de soutien
Gestion de configuration
et des changements
Gestion de projet
Environnement
Itération(s) Itér. Itér. Itér. Itér. Itér. Itér. Itér.
préliminaire(s) #1 #2 #n #n+1 #n+2 #k #k+1
ITÉRATIONS
© C. Soulé-Dupuy 16
4. Mise en oeuvre des méthodologies objet : UP
Différentes déclinaisons de UP
Agile Unified Process (AUP)
Basic Unified Process (BUP) de IBM (précurseur de OpenUP)
Enterprise Unified Process (EUP) est une extension de RUP
Essential Unified Process (EssUP) de Ivar Jacobson
Extreme Unified Process (XUP) un hybride d’UP et d’eXtreme Programming
Open Unified Process (OpenUP) lié au processus de développement sous Eclipse
Rational Unified Process (RUP) de IBM / Rational Software (processus de
développement)
Oracle Unified Method (OUM) de Oracle (processus de développement et
d’implémentatio)
Rational Unified Process-System Engineering (RUP-SE), version de RUP de
Rational Software pour l’ingénierie des systèmes
© C. Soulé-Dupuy 17
5. Approches « RAD » et « Concurrent Engineering »
Réduction du cycle de vie
Rapid Application Development (ou AgileUP ou eXtremeUP)
approche par prototypage itératif
meilleure appréhension des objectifs d’un projet et des besoins
Concurrent Engineering
Ingénierie simultanée
« prendre les bonnes personnes au bon moment pour identifier et
résoudre les problèmes de conception »
© C. Soulé-Dupuy 18
6. Méthodes OO et « Business Process Reingineering »
Objets métiers et objets logiciels
Objet métier
– générique / contexte idéal
– terme utilisé tant en génie logiciel qu’en management
– objets perçus pour l ’implantation des modèles
conceptuel et logique
Objet logiciel
– objets perçus au niveau de l’architecture logicielle
© C. Soulé-Dupuy 19
6. Méthodes OO et « Business Process Reingineering »
Objets métiers et objets logiciels
Fractionner la migration par phase
==> limiter les risques
Axe applicatif
(paquetage logique)
Axe technique
(infrastructure) Axe géographique
(structure entreprise)
© C. Soulé-Dupuy 20
6. Méthodes OO et « Business Process Reingineering »
Business Process Reengineering
Nouveaux modes de restructuration dynamique et continuelle
– réaction rapide face aux changements de l ’environnement
– forte aptitude au changement
La complexité des systèmes et de leur management nécessite
des méthodes et outils nouveaux permettant aux acteurs de
mieux comprendre l ’organisme et le système
© C. Soulé-Dupuy 21
6. Méthodes OO et « Business Process Reingineering »
Business Process Reengineering
Objectifs du « BPR »
– correction
– prévention
– anticipation
– satisfaction client / utilisateur
– privilégier processus et non fonction
==> Reconfiguration de processus
Compréhension
Hommes
du fond
Succès
Organisation Développement
du projet BPR incrémental
© C. Soulé-Dupuy 22
6. Méthodes OO et « Business Process Reingineering »
Business Process Reengineering
Le processus est :
– transversal
– dynamique
– rarement indépendant du produit fini
Le processus correspond à une action
© C. Soulé-Dupuy 23
6. Méthodes OO et « Business Process Reingineering »
Déroulement du « BPR »
ÉTAPES PHASES
Lancement de - Volonté de l ’action
l ’action BPR - Étude d ’opportunité
- Préparation de la logistique
- Compréhension de l ’existant
Existant et bilan
- Élaboration des stratégies
- Conception des processus métier
Conception
- Planification des actions
Processus
incrémental
- Implantation
Mise en œuvre
- Suivi des processus
© C. Soulé-Dupuy 24
7. Bibliographie
The Unified Software Development Process
G. Booch, J. Rumbaugh, I. Jacobson, Addisson-Wesley, ISBN 0-201-57169-2
Le processus unifié de développement logiciel
I. Jacobson, G. Booch, J. Rumbaugh, Eyrolles, 2-212-09142-7
Voir aussi la bibliographie UML et 2TUP
UML 2 en action. De l’analyse des besoins à la conception J2EE
P. Roques, F. Vallée, Eyrolles, 2-212-11462-1
© C. Soulé-Dupuy 25