Publicité
Publicité

Contenu connexe

Présentations pour vous(20)

Publicité
Publicité

Methodes de gestion de projets - introduction au processus unifié

  1. Méthodes de conduite de projet Où les enseignements prennent leur place Mireille Blay-Fornarino IUT Nice-Sophia Antipolis blay@polytech.unice.fr http://www.polytech.unice.fr/~blay Site web du module : http://anubis.polytech.unice.fr/iut/2010_2011/s1/omgl 1 mercredi 29 septembre 2010
  2. Cycle de Vie. Méthodes Processus Unifié Exemple Projet en général : qq définitions Projet : ensemble d’actions à entreprendre afin de répondre à un besoin défini (avec une qualité suffisante), dans un délai fixé, mobilisant des ressources humaines et matérielles, possédant un coût. Maître d’ouvrage : personne physique ou morale propriétaire de l’ouvrage. Il détermine les objectifs, le budget et les délais de réalisation. Maître d’oeuvre : personne physique ou morale qui reçoit mission du maître d’ouvrage pour assurer la conception et la réalisation de l’ouvrage. Conduite de projet : organisation méthodologique mise en oeuvre pour faire en sorte que l’ouvrage réalisé par le maître d’oeuvre réponde aux attentes du maître d’ouvrage dans les contraintes de délai, coût et qualité. 2 mercredi 29 septembre 2010
  3. Cycle de Vie. Méthodes Processus Unifié Exemple UML : «No silver bullet» Connaître UML n’est pas suffisant pour réaliser de bonnes conceptions Il faut en plus savoir maîtriser/contrôler le processus de développement d’un projet Cycle de vie du logiciel Période entre l’idée du logiciel et sa mise en service 3 mercredi 29 septembre 2010
  4. Cycle de vie du logiciel 1) Activités 2) Différents types de cycles 4 mercredi 29 septembre 2010
  5. Cycle de Vie. Méthodes Processus Unifié Exemple Activités du cycle de vie du logiciel 1) Définition des besoins (Requirements) Expression des besoins dans le langage du client 2) Spécifications Traduction des besoins dans un langage plus informatique Description du système d’un point de vue extérieur ‣ Ce qu’il doit faire ‣ Pas comment il le fait Spécifications fonctionnelles et non-fonctionnelles Doit rester accessible au client (contrat) Jean-Paul Rigault 2005 5 mercredi 29 septembre 2010
  6. Cycle de Vie. Méthodes Processus Unifié Exemple Activités du cycle de vie du logiciel 2) Spécifications (suite) Spécifications fonctionnelles ‣ Les fonctions/services rendus par le système Spécifications non-fonctionnelles ‣ Utilisabilité ‣ Fiabilité (reliability) ‣ Performance ‣ Supportabilité (maintenabilité) ‣ Conditions d’implémentation, de déploiement… ‣ Interface ‣ Conditions d’exploitation ‣ Conditionnement ‣ Aspects juridiques ‣ Aspects financiers… 6 mercredi 29 septembre 2010
  7. Cycle de Vie. Méthodes Processus Unifié Exemple Activités du cycle de vie du logiciel 3) Conception Traduction des spécifications en termes d’artefacts logiciels Peut être plus ou moins détaillée 4) Codage Traduction de la conception en code 5) Test unitaires Test de chaque module individuellement Généralement de la responsabilité du développeur du module 6) Tests d’intégration Test de la composition de plusieurs modules (sous-systèmes) 7 mercredi 29 septembre 2010
  8. Cycle de Vie. Méthodes Processus Unifié Exemple Activités du cycle de vie du logiciel 7) Validation Test du système final par rapport aux spécifications 8) Recette/Mise en exploitation Acceptation du système final Peut être l’objet d’une procédure formelle et parfois officielle 9) Gestion des changements, gestion de configuration Gestion de projet Orthogonale à toutes ces activités Gestion du temps, des coûts, des équipes Gestion des relations avec les clients… 8 mercredi 29 septembre 2010
  9. Cycle de vie du logiciel 1) Activités 2) Différents types de cycles 9 mercredi 29 septembre 2010
  10. Cycle de Vie. Méthodes Processus Unifié Exemple Modèles de cycle de vie d’un logiciel Modèles de cycle de vie organiser les différentes activités du cycle de vie pour l'obtention d'un logiciel fiable, adaptable et efficace guider le développeur dans ses activités techniques fournir des moyens pour gérer le développement et la maintenance ‣ ressources, délais, avancement, etc. Modèles linéaires en cascade et variantes Modèles non linéaires en spirale, incrémentaux, itératifs 10 mercredi 29 septembre 2010
  11. Cycle de Vie. Méthodes Processus Unifié Exemple Cycle exploratoire Prototypage RAD* Discuter et interagir avec l’utilisateur Vérifier l ’efficacité réelle d ’un algorithme Vérifier des choix spécifiques d ’IHM Souvent utilisé pour identifier les besoins Prototype jetable (moins de risque ?) Souvent implémenté par des générateurs de code Prototype évolutif *Rapid Application Development 11 mercredi 29 septembre 2010
  12. Cycle de Vie. Méthodes Processus Unifié Exemple Cycle exploratoire, Prototypage, RAD* MAIS ‣ Les objectifs sont uniquement généraux ‣ Prototyper n’est pas spécifier ‣ Les décisions rapides sont rarement de bonnes décisions ‣ Le prototype évolutif donne-t-il le produit demandé ? ‣ Les générateurs de code produisent-ils du code assez efficace ? Admissible tel quel pour - du prototypage Cependant, retour en force - de très petits projets dans les processus « agiles » développés mais sous une forme - par de très petites équipes beaucoup plus élaborée - avec de très petits enjeux 12 mercredi 29 septembre 2010
  13. Cycle de Vie. Méthodes Processus Unifié Exemple Modèle en cascade (70) Analyse • Expression du besoin • Analyse détaillée - Les vrais projets suivent rarement un développement séquentiel Conception • Etude technique préalable - Établir tous les besoins au début • Conception préliminaire d’un projet est difficile • Conception détaillée - Le produit apparaît tard, les tests Réalisation sont tardifs. • Codage • Mise au point • Tests unitaires Seulement applicable Intégration pour les projets qui sont • Intégration bien compris et maîtrisés • Tests d'Intégration Validation • Validation • Mise en œuvre 13 mercredi 29 septembre 2010
  14. Cycle de Vie. Méthodes Processus Unifié Exemple Modèle en «V» Variante du cycle en ➡ Cycle de vie normalisé AFNOR « cascade » Définition des tests Analyse Validation • Expression du besoin • Validation • Analyse détaillée • Mise en œuvre Définition du plan d’intégration Conception Intégration • Etude technique préalable • Conception préliminaire • Intégration • Conception détaillée • Tests d'Intégration Réalisation • Codage • Mise au point • Tests unitaires 14 mercredi 29 septembre 2010
  15. Cycle de Vie. Méthodes Processus Unifié Exemple Modèle en «V» Le cycle en V - permet une meilleure anticipation - présente des tests bien structurés Mais - le cadre de développement est rigide - la durée est souvent trop longue - le produit apparaît très tard (validation finale tardive très coûteuse s’il y a des erreurs) Variante : W (validation d’un maquette avant conception) 15 mercredi 29 septembre 2010
  16. Cycle de Vie. Méthodes Processus Unifié Exemple Problèmes avec le processus classique... 16 mercredi 29 septembre 2010
  17. Cycle de Vie. Méthodes Processus Unifié Exemple Modèle en « spirale » (Boehm 88) Couplage de la nature itérative du prototypage avec les aspects systématiques et contrôlés du modèle en cascade. Analyse détaillée Analyse préliminaire « (de risque) » Conception V1 V2 Réalisation Validation Intégration 17 mercredi 29 septembre 2010
  18. Cycle de Vie. Méthodes Processus Unifié Exemple Modèle en « spirale » ➡ Bien adapté aux développements innovants les progrès sont tangibles : c’est du logiciel qui « tourne » et pas seulement des kilos de documents réduit les risques si bien appliqué : possibilité de s ’arrêter « à temps », i.e. avant que l ’irréalisabilité du projet ait créé un gouffre financier ➡ Moins simple à manager difficile à gérer en situation contractuelle mal contrôlé => on retombe dans le hacking 18 mercredi 29 septembre 2010
  19. Cycle de Vie. Méthodes Processus Unifié Exemple Modèle en « spirale » ➡ Bien adapté aux développements innovants les progrès sont tangibles : c’est du logiciel qui « tourne » et pas seulement des kilos de documents réduit les risques si bien appliqué : possibilité de s ’arrêter « à temps », i.e. avant que l ’irréalisabilité du projet ait créé un gouffre financier ➡ Moins simple à manager difficile à gérer en situation contractuelle mal contrôlé => on retombe dans le hacking À la base de tous les processus « agiles » 18 mercredi 29 septembre 2010
  20. Cycle de Vie. Méthodes Processus Unifié Exemple Stratégies d'itération PROBLEM Large et peu profonde Analyse de l’ensemble du domaine SOLUTION  Tous les cas d’utilisation sont étoffés Définition d’une architecture générale PROBLEM Etroite et profonde SOLUTION Analyse en profondeur d’une partie du problème Développement de cette parie PROBLEM Hybride Un mélange des stratégies Elaboration SOLUTION Construction Transition 19 mercredi 29 septembre 2010
  21. Cycle de Vie. Méthodes Processus Unifié Exemple Méthodologie, Méthode Méthodologie de développement Identification et enchaînement des activités et phases du processus de développement Identification des pré- et post-conditions de chaque phase Définition des procédures de gestion et de mesure Gestion des équipes, des moyens, du budget… Méthode Approche technique pour aborder une ou plusieurs phases ou activités Pas de méthode «en or» 20 mercredi 29 septembre 2010
  22. Méthode 21 mercredi 29 septembre 2010
  23. Cycle de Vie. Méthodes Processus Unifié Exemple Méthode/Processus Méthode : guide +/- formalisé, démarche reproductible pour obtenir des solutions fiables capitalise l’expérience de projets antérieurs Une méthode définit des concepts de modélisation une chronologie des activités (→ construction de modèles) un ensemble de règles et de conseils pour tous les participants – notation + démarche (+ outils) – façon de modéliser et façon de travailler 22 mercredi 29 septembre 2010
  24. Cycle de Vie. Méthodes Processus Unifié Exemple Évolution des méthodes Origine : fin des années 60 problèmes de qualité et de productivité dans les grandes entreprises, mauvaise communication utilisateurs / informaticiens méthodes = guides pour l’analyse et aide à la représentation du futur SI conception par découpage en sous-problèmes, analytico- fonctionnelle méthodes d’analyse structurée Ensuite conception par modélisation : « construire le SI, c'est construire sa base de données » méthodes globales qui séparent données et traitements 23 mercredi 29 septembre 2010
  25. Cycle de Vie. Méthodes Processus Unifié Exemple Évolution des méthodes Maintenant conception pour et par réutilisation ‣ Frameworks, Design Patterns, bibliothèques de classes méthodes ‣ exploitant un capital d'expériences ‣ unifiées par une notation commune (par ex. UML) ‣ procédant de manière incrémentale ‣ validant par simulation effective 24 mercredi 29 septembre 2010
  26. Cycle de Vie. Méthodes Processus Unifié Exemple Outils et Méthode Une méthode spécifie des activités des artefacts à réaliser 25 mercredi 29 septembre 2010
  27. Cycle de Vie. Méthodes Processus Unifié Exemple Notion d’artefact Un artefact est un élément produit ou modifié dans le cadre d’un processus de développement Il peut s’agir d’un document, un diagramme, un compte rendu de réunion... ...mais aussi un code source, un écran, une base de données... 26 mercredi 29 septembre 2010
  28. Cycle de Vie. Méthodes Processus Unifié Exemple Outils et Méthode Une méthode spécifie des activités - Outils de planification des artefacts à réaliser - Outils de gestion des versions Il est souvent vital de disposer - Outils de gestion de d’outil(s) soutenant le processus documentation - Outils de maquettage en pilotant / permettant les - Outils de gestion des tests activités - Outils de modélisation en gérant les artefacts du projet * pro, rétro, roundtrip - Ateliers de développement Les outils peuvent être plus ou logiciel moins - Outils de vérification intégrés à la méthode interopérables achetés / fabriqués / transformés… 27 mercredi 29 septembre 2010
  29. Processus Unifié Unified Software Development Process / Unified Process (UP) 28 mercredi 29 septembre 2010
  30. Cycle de Vie. Méthodes Processus Unifié Exemple Unified Process (UP) Beaucoup de méthodes liées à des outils, à l’adaptation à UML (comme langage de notation) de méthodes pré-existantes , aux entreprises, etc. …finalement, autant de méthodes que de concepteurs / projets ➡ UP : Rumbaugh, Booch, Jacobson (les concepteurs d’UML) une trame commune des meilleures pratiques de developpement (pas une méthode) 29 mercredi 29 septembre 2010
  31. Cycle de Vie. Méthodes Processus Unifié Exemple Unified Software Development Process / Unified Process (UP) 30 mercredi 29 septembre 2010
  32. Cycle de Vie. Méthodes Processus Unifié Exemple Unified Software Development Process / Unified Process (UP) Un Processus unifié est un processus de développement logiciel - construit sur UML - conduit par les cas d’utilisation - piloté par les risques - centré sur l’architecture, - itératif et incrémental - organisé autour de 4 phases : préétude(inception), élaboration, construction et transition - défini par 6 disciplines fondamentales : Modélisation métier, Analyse et Conception, Implémentation, Test et Déploiement 31 mercredi 29 septembre 2010
  33. Cycle de Vie. Méthodes Processus Unifié Exemple Processus Unifié Piloté par les cas d’utilisation Le processus de développement est centré sur l’utilisateur Modèles UML 32 mercredi 29 septembre 2010
  34. Cycle de Vie. Méthodes Processus Unifié Exemple Unified Software Development Process / Unified Process (UP) Un Processus unifié est un processus de développement logiciel - construit sur UML - conduit par les cas d’utilisation - piloté par les risques - centré sur l’architecture, - itératif et incrémental - organisé autour de 4 phases : préétude(inception), élaboration, construction et transition - défini par 6 disciplines fondamentales : Modélisation métier, Analyse et Conception, Implémentation, Test et Déploiement 33 mercredi 29 septembre 2010
  35. Cycle de Vie. Méthodes Processus Unifié Exemple (3) Pilotage par les risques ➡ Un risque est un événement redouté dont l’occurrence est plus ou moins prévisible et provoquant, lorsqu’il se produit, des dommages Vous avez la grippe, je vais vous sur le projet. prescrire des antibiotiques ➡ Il ne faut pas confondre risque et problème. l Un problème est un risque qui s’est révélé. 34 mercredi 29 septembre 2010
  36. Cycle de Vie. Méthodes Processus Unifié Exemple (3) Pilotage par les risques L’hiver, ➡ Un risque est un il faut se faire vacciner événement redouté dont contre la grippe l’occurrence est plus ou moins prévisible et provoquant, lorsqu’il se produit, des dommages Vous avez la grippe, je vais vous sur le projet. prescrire des antibiotiques ➡ Il ne faut pas confondre risque et problème. l Un problème est un risque qui s’est révélé. 34 mercredi 29 septembre 2010
  37. Cycle de Vie. Méthodes Processus Unifié Exemple Types de Risques Quelques types de Risques : • Technique/ Architectural  Technologie incertaine, visibilité partielle Doivent être • Ressources identifiés et  Les gens, les compétences, le financement «priorisés» • «Business» dans des  La concurrence, le retour sur investissement, les interfaces avec les fournisseurs artefacts dédiés • Planning  Dépendances  «Only 24 hours in a day» An ongoing or upcoming • Changements d’exigences concern that has a significant probability of adversely • Insatisfaction des utilisateurs affecting the success of major 35 milestones. (RUP Glossary) mercredi 29 septembre 2010
  38. Cycle de Vie. Méthodes Processus Unifié Exemple Unified Software Development Process / Unified Process (UP) Un Processus unifié est un processus de développement logiciel - construit sur UML - conduit par les cas d’utilisation - piloté par les risques - centré sur l’architecture, - itératif et incrémental - organisé autour de 4 phases : préétude(inception), élaboration, construction et transition - défini par 6 disciplines fondamentales : Modélisation métier, Analyse et Conception, Implémentation, Test et Déploiement 36 mercredi 29 septembre 2010
  39. Cycle de Vie. Méthodes Processus Unifié Exemple Processus centré sur l’architecture Les cas d’utilisation ne sont pas suffisants comme lien pour l’ensemble des membres du projet L’architecture joue également ce rôle, en insistant sur la réalisation concrète de prototypes incrémentaux qui «démontrent» les décisions prises D’autre part plus le projet avance, plus l’architecture est difficile à modifier les risques liés à l’architecture sont très élevés, car très coûteux Objectifs pour le projet établir dès la phase d’élaboration des fondations solides et évolutives pour le système à développer, en favorisant la réutilisation l’architecture s’impose à tous, contrôle les développements ultérieurs, permet de comprendre le système et d’en gérer la complexité 37 mercredi 29 septembre 2010
  40. Cycle de Vie. Méthodes Processus Unifié Exemple Processus Unifié Centré sur l’architecture L’architecture regroupe les différentes vues du système qui doit être construit. Elle doit prévoir la réalisation de tous les cas d’utilisation. Marche à suivre: Créer une ébauche grossière de l’architecture. ‣ Travailler sur les cas d’utilisation représentant les fonctions essentielles. ‣ Adapter l’architecture pour qu’elle prenne en compte ces cas d’utilisation. Sélectionner d’autres cas d’utilisation et refaire de même. L’architecture et les cas d’utilisation évoluent de façon concomitante. 38 mercredi 29 septembre 2010
  41. Cycle de Vie. Méthodes Processus Unifié Exemple Notion d’architecture Au sens de RUP, une architecture : Sert à comprendre le système lorsqu’il est complexe Pilote le projet en découpant les tâches Favorise la réutilisation Software architecture is not only concerned with structure and behavior, but also with usage, functionality, performance, resilience, reuse, comprehensibility, economic and technological constraints and tradeoffs, and esthetics. (RUP, 98)- A Technical Architecture is the minimal set of rules governing the arrangement, interaction, and interdependance of the parts or elements that together may be used to form an information system. (U.S. Army 1996) 39 mercredi 29 septembre 2010
  42. Cycle de Vie. Méthodes Processus Unifié Exemple Quelques axes pour considérer l’architecture Architectures client/serveurs en niveaux ‣ aussi appelés tiers Architectures en couches ‣ Présentation, Application, Domaine/métier, Infrastructure métier (services métiers de bas-niveau), Services techniques (ex. sécurité), Fondation (ex. accès et stockage des données) Architectures en zones de déploiement ‣ déploiement des fonctions sur les postes de travail des utilisateurs (entreprise : central/départemental/local) Architectures à base de composants ‣ réutilisation de composants 40 mercredi 29 septembre 2010
  43. Cycle de Vie. Méthodes Processus Unifié Exemple Unified Software Development Process / Unified Process (UP) Un Processus unifié est un processus de développement logiciel - construit sur UML - conduit par les cas d’utilisation - piloté par les risques - centré sur l’architecture, - itératif et incrémental - organisé autour de 4 phases : préétude(inception), élaboration, construction et transition - défini par 6 disciplines fondamentales : Modélisation métier, Analyse et Conception, Implémentation, Test et Déploiement 41 mercredi 29 septembre 2010
  44. Cycle de Vie. Méthodes Processus Unifié Exemple Processus Unifié Itératif et Incrémental Ordonnancement des itérations basé sur les priorités entre cas d'utilisation et sur l'étude du risque Une itération est une séquence d’activités Une itération se décompose en: •Une planification de l’itération •Analyse des besoins (raffinement) •Analyse et conception •Implémentation et tests •Évaluation •Livraison 42 mercredi 29 septembre 2010
  45. Cycle de Vie. Méthodes Processus Unifié Exemple Approche Itérative time content 43 mercredi 29 septembre 2010
  46. Cycle de Vie. Méthodes Processus Unifié Exemple Approche Itérative time Une itération, content traverse toutes les «disciplines. Disciplines 43 mercredi 29 septembre 2010
  47. Cycle de Vie. Méthodes Processus Unifié Exemple Unified Software Development Process / Unified Process (UP) Un Processus unifié est un processus de développement logiciel - construit sur UML - conduit par les cas d’utilisation - piloté par les risques - centré sur l’architecture, - itératif et incrémental - organisé autour de 4 phases : préétude(inception), élaboration, construction et transition - défini par 6 disciplines fondamentales : Modélisation métier, Analyse et Conception, Implémentation, Test et Déploiement 44 mercredi 29 septembre 2010
  48. Cycle de Vie. Méthodes Processus Unifié Exemple Pré-étude (Inception Phase): Objectifs Établir la portée du projet et les conditions aux limites Déterminer les cas d'utilisation et les scénarios principaux Proposer une architecture Estimer le coût global et le calendrier Identifier les risques potentiels et leurs sources Démontrer que le système proposé est en mesure de résoudre les problèmes ou de prendre en charge les objectifs fixés Vision : Glossaire, Détermination des parties prenantes et des utilisateurs, Détermination de leurs besoins, Besoins fonctionnels et non fonctionnels, Contraintes de conception 45 mercredi 29 septembre 2010
  49. Cycle de Vie. Méthodes Processus Unifié Exemple Pré-étude (Inception Phase): Evaluation Acceptation des parties prenantes sur la définition du champ d'application Accord sur les exigences (ensemble et compréhension commune) Accord sur les estimations de coût, le planning, les priorités, les risques et le processus de développement Les risques ont été identifiés et une stratégie de gestion du risque a été prévue. 46 mercredi 29 septembre 2010
  50. Cycle de Vie. Méthodes Processus Unifié Exemple Pré-étude (Inception Phase): Evaluation Acceptation des parties prenantes sur la définition du champ d'application Accord sur les exigences (ensemble et compréhension commune) Accord sur les estimations de coût, le planning, les priorités, les risques et le processus de développement Les risques ont été identifiés et une stratégie de gestion du risque a été prévue. Abandon du projet si pas de passage de ce «jalon» 46 mercredi 29 septembre 2010
  51. Cycle de Vie. Méthodes Processus Unifié Exemple Elaboration Phase: Objectifs Définir et valider l'architecture de base Formuler les cas d’utilisation pour couvrir environ 80% des besoins fonctionnels Définir les niveaux de qualité à atteindre, Etablir un plan détaillé pour la phase de construction Démontrer que l'architecture de base prend en charge «la vision» à un coût raisonnable dans un délai raisonnable Architecture : Document d’architecture Logicielle, Différentes vues selon la partie prenante, Comportement et conception des composants du système 47 mercredi 29 septembre 2010
  52. Cycle de Vie. Méthodes Processus Unifié Exemple Elaboration Phase: Evaluation Vision du produit et les exigences sont stables. L'architecture est stable. Les éléments de risque majeurs ont été abordés et résolus. Les plans d’itération pour la phase de construction sont suffisamment détaillées Tous les intervenants s'entendent pour dire que la vision actuelle peut être atteinte si le plan actuel est exécuté dans le contexte de l'architecture actuelle. 48 mercredi 29 septembre 2010
  53. Cycle de Vie. Méthodes Processus Unifié Exemple Description d’Architecture (1) «Software Architecture Document» Donne une vue d'ensemble complète de l'architecture du système logiciel Inclus ‣ Vues d’Architecture ‣ Buts et contraintes  Exigences que l’architecture doit supporter  Contraintes Techniques ‣ Caractéristiques de taille et performance ‣ Qualité, extensibilité, and cibles potentielles (portabilité) 49 mercredi 29 septembre 2010
  54. Cycle de Vie. Méthodes Processus Unifié Exemple Description d’Architecture (2) Implementation Model Design Model Deployment Model 50 mercredi 29 septembre 2010
  55. Cycle de Vie. Méthodes Processus Unifié Exemple Construction Phase: Objectifs Objectifs principaux Produire un logiciel utilisable conforme aux besoins Confronter ce logiciel aux critères d’acceptation (élaborés pendant la phase d'opportunité) Extension de l’identification, de la description et de la réalisation des cas d’utilisation Finalisation de l’analyse, de la conception, de l’implémentation et des tests Produit : Première version suffisamment stable et mature pour être déployée (testée, documentée, accompagnée…), Les procédures d’installation sont prêtes 51 mercredi 29 septembre 2010
  56. Cycle de Vie. Méthodes Processus Unifié Exemple Construction Phase: Evaluation La version du produit est-elle assez stable et mûre pour être déployée dans la communauté des utilisateurs? Les utilisateurs sont-ils informés ? Sensibilisés ? Formés? Les dépenses engagées par rapport aux prévisions sont-elles acceptables? 52 mercredi 29 septembre 2010
  57. Cycle de Vie. Méthodes Processus Unifié Exemple Transition Phase: Objectifs Préparation des activités Recommandations au client sur la mise à jour de l’environnement logiciel Elaboration des manuels et de la documentation concernant la version du produit Adaptation du logiciel Correction des anomalies liées au béta test Dernières corrections Livraison du produit aux utilisateurs 53 mercredi 29 septembre 2010
  58. Cycle de Vie. Méthodes Processus Unifié Exemple Transition Phase: Evaluation Les utilisateurs sont-ils satisfaits ? Les dépenses engagées par rapport aux prévisions sont-elles acceptables? 54 mercredi 29 septembre 2010
  59. Cycle de Vie. Méthodes Processus Unifié Exemple Principaux jalons Produit suffisamment mature pour les clients Inception Elaboration Construction Transition time Premières fonctionnalités 55 mercredi 29 septembre 2010
  60. Cycle de Vie. Méthodes Processus Unifié Exemple Principaux jalons Acceptation par les Clients Produit suffisamment ou fin de vie Architecture mature pour les clients de référence Accord sur le contexte et les cas d’utilisation Inception Elaboration Construction Transition time Produit Architecture Vision Livraison Premières fonctionnalités 55 mercredi 29 septembre 2010
  61. Cycle de Vie. Méthodes Processus Unifié Exemple Itérations dans chaque Phase Pré-étude Elaboration Construction Transition Preliminary Architecture Architecture Development Development Development Development Transition Transition Transition Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration Versions Exécutables 56 mercredi 29 septembre 2010
  62. Cycle de Vie. Méthodes Processus Unifié Exemple Artefacts Analysis & Design • Software architecture : description formelle de l’architecture du système • Design & deployment model : répartition physique des composants • Data model : structure logique et physique de la base de données 57 mercredi 29 septembre 2010
  63. Cycle de Vie. Méthodes Processus Unifié Exemple Tous les critères caractérisant les processus UP sont liés 58 mercredi 29 septembre 2010
  64. Un exemple de bout en bout Basé sur le cours de M1 MIAGE - SIMA 2005-2006 / Yannick Prié - Université Claude Bernard Lyon 1 Pour mieux comprendre le procédé mais pas à savoir faire 59 mercredi 29 septembre 2010
  65. Cycle de Vie. Méthodes Processus Unifié Exemple Exemple : liste initiale des besoins Une chaîne d'hôtels a décidé de mettre sur le réseau un système de réservation de chambres ouvert à tout client via un navigateur, et d'autre part elle veut automatiser la gestion de ses hôtels. Un hôtel est géré par un directeur assisté d'employés. Pour réserver à distance, après avoir choisi hôtels et dates, le client fournit un numéro de carte bleue. Lorsque le retrait a été accepté (1h après environ), la réservation devient effective et une confirmation est envoyée par mail. Les clients sous contrat (agences de voyage...) bénéficient d'une réservation immédiate. Le directeur de l'hôtel enregistre les réservations par téléphone. Si un acompte est reçu avant 72h, la réservation devient effective, sinon elle est transformée en option (toute personne ayant payé a la priorité). Si la réservation intervient moins de 72h avant la date d'occupation souhaitée, le client doit se présenter avant 18h. Le directeur fait les notes des clients, perçoit l'argent et met à jour le planning d'occupation effectif des chambres. Une chambre est nettoyée soit avec l'accord du client lorsqu'il reste plusieurs jours, soit après le départ du client s'il s'en va, et dans ce cas avant occupation par un nouveau client. Les employés s'informent des chambres à nettoyer et indiquent les chambres nettoyées au fur et à mesure. Pour cela les chambres vides à nettoyer doivent être affichées, et les employés doivent pouvoir indiquer les chambres nettoyées de façon très simple. Un historique des chambres nettoyées par chaque employé est conservé un mois. 60 mercredi 29 septembre 2010
  66. Cycle de Vie. Méthodes Processus Unifié Exemple Exemple : liste initiale des besoins Une chaîne d'hôtels a décidé de mettre sur le réseau un système de réservation de chambres ouvert à tout client via un navigateur, et d'autre part elle veut automatiser la gestion de ses hôtels. Un hôtel est géré par un directeur assisté d'employés. .... Une chambre est nettoyée soit avec l'accord du client lorsqu'il reste plusieurs jours, soit après le départ du client s'il s'en va, et dans ce cas avant occupation par un nouveau client. Les employés s'informent des chambres à nettoyer et indiquent les chambres nettoyées au fur et à mesure. Pour cela les chambres vides à nettoyer doivent être affichées, et les employés doivent pouvoir indiquer les chambres nettoyées de façon très simple. Un historique des chambres nettoyées par chaque employé est conservé61un mois. mercredi 29 septembre 2010
  67. Cycle de Vie. Méthodes Processus Unifié Exemple Etude préliminaire Appréhender les besoins fonctionnels trouver les acteurs ‣ à partir des besoins ‣ délimiter le système par rapport à son environnement (système = boîte noire) ‣ chercher qui interagit avec le système (rôles) trouver les cas d’utilisation ‣ examiner comment chaque acteur interagit avec le système pour que celui-ci lui rende un service ‣ regrouper les interactions similaires en cas d’utilisation décrire brièvement les cas d’utilisation construire le modèle des cas d’utilisation ‣ les considérer dans leur ensemble 62 mercredi 29 septembre 2010
  68. Cycle de Vie. Méthodes Processus Unifié Exemple Ex : Etude préliminaire Le système à développer est divisé en deux sous systèmes indépendants : - le système de réservation à distance et le système de gestion local à l'hôtel. La base de données des réservations est considérée comme un système externe. 63 mercredi 29 septembre 2010
  69. Cycle de Vie. Méthodes Processus Unifié Exemple Etude préliminaire Classer les cas d’utilisation par priorité la priorité dépend des risques associés au cas d’utilisation et de leur importance pour l’architecture, des nécessités de réalisation et de tests Exemple : classement des CU par importance Les traitements très classiques de la gestion locale sont à examiner en dernier (risque faible). Les réservations (client ou gérant) mettent en jeu une architecture plus complexe et sont à examiner en priorité : Réservation (distante) Réservation locale Administration ... 64 mercredi 29 septembre 2010
  70. Cycle de Vie. Méthodes Processus Unifié Exemple Etude préliminaire Détailler et formaliser les cas d’utilisation Structurer le modèle (révision des cas si besoin) Faire une maquette de l’interface utilisateur uniquement si l’interface est complexe ou nécessite une évaluation par le client Utilisateurs non spécialistes, interface simple et logique. Problème classique, sans risque majeur, donc pas de maquette. 65 mercredi 29 septembre 2010
  71. Cycle de Vie. Méthodes Processus Unifié Exemple Ex : Etude préliminaire CU : Gérer réservation par le gérant Acteur principal : Gérant Intervenants et intérêts : Client, Chaîne hôtelière Préconditions : une chambre est libre pour la période désirée Scénario nominal ‣ 1. Le gérant demande le planning d'occupation pour la période qui vient. Le système affiche le planning sur plusieurs semaines. ‣ 2. Le gérant sélectionne une chambre libre pour une date qui l’intéresse. Le système lui présente le récapitulatif de cette chambre, et sa disponibilité quelques jours avant et après la date choisie. 66 mercredi 29 septembre 2010
  72. Cycle de Vie. Méthodes Processus Unifié Exemple Ex : diagramme de séquence système pour un scénario 67 mercredi 29 septembre 2010
  73. Cycle de Vie. Méthodes Processus Unifié Exemple Etude préliminaire Appréhender les besoins non fonctionnels (contraintes sur le système : environnement, plate-forme, fiabilité, vitesse…) rattacher si possible les besoins aux cas d’utilisation ‣ description dans les descriptions des CU (section « exigences particulières » pour UP) ‣ sinon, dresser une liste des exigences supplémentaires La chaîne possède 117 hôtels de 30 chambres en moyenne. Les appels sur le réseau sont évalués à 300 par jour (au début, prévoir des évolutions). Pour des raisons d'extensibilité, de performances et de sécurité, la chaîne de traitement des réservations des clients doit être indépendante des liaisons des hôtels avec le système de réservation. Les hôtels ne sont pas reliés en permanence au système de réservation (économie) et les postes devront être fiables (coupures de courant...). Le temps d’apprentissage du logiciel par les acteurs professionnels ne doit pas dépasser une demi-journée. Une société tierce s'occupera de la maintenance du système et abritera les serveurs. 68 mercredi 29 septembre 2010
  74. Cycle de Vie. Méthodes Processus Unifié Exemple Activité : analyse Objectif : construction du modèle d’analyse pour préparer la conception ‣ forme générale stable du système, haut-niveau d’abstraction ‣ vision plus précise et formelle des CU, réalisation par des objets d’analyse passage du langage du client à celui du développeur Analyse architecturale identifier les paquetages d’analyse (découpage en catégorie) ‣ regroupement logique indépendant de la réalisation ‣ relations de dépendances, navigabilité entre classes de paquetage différents à partir des CU et du domaine ‣ point de départ du découpage en sous-systèmes 69 mercredi 29 septembre 2010
  75. Cycle de Vie. Méthodes Processus Unifié Exemple Ex : Organisation logicielle Restitue les données à l’utilisateur et transforme ses actions en événements de l’application. Représente les objets de contrôle et pilote les règles Synch. des de l’application, y compris différents systèmes de réservations les règles d’échanges entre applications Représente les objets du métier et implémente leur Restitue les règles de gestion. représentations métier à partir des données de stockages Assure la persistance des données 70 mercredi 29 septembre 2010
  76. Cycle de Vie. Méthodes Processus Unifié Exemple Ex : découpage en paquetages 71 mercredi 29 septembre 2010
  77. Cycle de Vie. Méthodes Processus Unifié Exemple Analyse architecturale (suite) Identifier les classes entités manifestes (premier modèle structurel) modèle des 10-20 classes constituant l’essence du domaine 3 stéréotypes de classe : frontière, contrôle, entité responsabilités évidentes Identifier les exigences particulières communes distribution, sécurité, persistance, tolérance aux fautes… les rattacher aux classes et cas d’utilisation 72 mercredi 29 septembre 2010
  78. Cycle de Vie. Méthodes Processus Unifié Exemple Analyse architecturale (suite) 73 mercredi 29 septembre 2010
  79. Cycle de Vie. Méthodes Processus Unifié Exemple Activité : analyse (suite) Analyse des cas d'utilisation raffinement de tous les scénarios des cas d'utilisation → ‣ découverte des classes, attributs, relations, interactions entre objets, et des besoins spéciaux identifier les classes, attributs et relations ‣ examiner l'information nécessaire pour réaliser chaque scénario ‣ ajouter les classes isolant le système de l'extérieur (interfaces physiques, vues externes des objets…) éliminer les classes qui n’en sont pas : redondantes, vagues, de conception, etc. 74 mercredi 29 septembre 2010
  80. Cycle de Vie. Méthodes Processus Unifié Exemple Exemple : diagramme de collaboration 75 mercredi 29 septembre 2010
  81. Cycle de Vie. Méthodes Processus Unifié Exemple 3- Activité : conception Propose une réalisation de l'analyse et des cas d’utilisation en prenant en compte toutes les exigences Conception architecturale identifier les noeuds et la configuration du réseau (déploiement), les sous- systèmes et leurs interfaces (modèle en couche en général), les classes significatives de l'architecture Concevoir les cas d'utilisation Juste pour infos identifier les classes nécessaires à la réalisation des cas ... Concevoir les classes et les interfaces ... décrire les méthodes, les états, prendre en compte les besoins spéciaux Concevoir les sous-systèmes mettre à jour les dépendances, les interfaces... sous-systèmes de service, liés à l’appli, de middleware… permettra de distribuer le travail aux développeurs 76 mercredi 29 septembre 2010
  82. Cycle de Vie. Méthodes Processus Unifié Exemple Exemple : diagramme de déploiement • Les deux serveurs et la BD des réservations peuvent être sur un même noeud tant que les liaisons clients ne pénalisent pas les liaisons gérants • 77 mercredi 29 septembre 2010
  83. Cycle de Vie. Méthodes Processus Unifié Exemple Exemple : découpage en sous-systèmes 78 mercredi 29 septembre 2010
  84. Cycle de Vie. Méthodes Processus Unifié Exemple 4- Activité : réalisation Mise en oeuvre architecturale identifier les artefacts logiciels et les associer à des noeuds Intégrer le système planifier l'intégration, intégrer les incréments réalisés Réaliser les sous-systèmes Réaliser les classes Faire les tests unitaires tests de spécification en boîte noire, de structure en boîte blanche 79 mercredi 29 septembre 2010
  85. Cycle de Vie. Méthodes Processus Unifié Exemple Bibliographie UNIVERSITE PARIS XII -ISIAG , MASTER 2, METHODOLOGIE ET CONDUITE DE PROJETS, CHAPITRE 3 Génie Logiciel Orienté Objets, Philippe Collet, Master 1 Informatique, 2007-2008 Processus de conception de SI M1 MIAGE - SIMA - 2005-2006 Yannick Prié UFR Informatique - Université Claude Bernard Lyon 1 Méthodes de conduite de projet, Tester, optimiser, structurer ses applications Jean David Olekhnovitch, jd@olek.fr - www.olek.fr Les cours IBM sur le RUP Conduite de projet, Méthode d’analyse et de conception, Processus unifié, G. Picard, SMA/G2I/ENS Mines Saint-Etienne gauthier.picard@emse.fr, Octobre 2009 Processus Unifié : www2.lifl.fr/~clerbout/.../Cours4-ProcessusUnifie.pdf 80 mercredi 29 septembre 2010
Publicité