Upload
amorette-begue
View
107
Download
1
Embed Size (px)
Citation preview
Rationaliser la conception participative
LogicielLogiciel
LogicielLogicielLogicielLogiciel
LogicielLogiciel
LogicielLogicielLogicielLogiciel
Croissance en nombre
LogicielLogicielCroissance en taille
Croissance en complexité
Rational Unified ProcessRational Unified Process
Rational Unified Process (RUP) : est un processus de conception/développement de logiciel défini par Rational Software.
http://www.rational.com/
Organisation séquentielleOrganisation séquentielleLe risque est au débutLe risque est au début
RISQUE
TEMPS
Tests unitaires
Test système
Développement
Conception
Prérequis
• Les décideurs prennent le risque• Les concepteurs assument…• Les développeurs suivent…
Organisation participativeOrganisation participativeLe risque est partagéLe risque est partagé
TransitionTransition
RisqueRisque
InceptionInception
ConceptionConception
ConstructionConstruction
PreliminaryPreliminaryIterationIteration
Architect.Architect.IterationIteration
Architect.Architect.IterationIteration
Devel. Devel. IterationIteration
Devel. Devel. IterationIteration
Devel. Devel. IterationIteration
TransitionTransitionIterationIteration
TransitionTransitionIterationIteration
Post-Post-deploymentdeployment
TempsTemps
Equipe
Développement itératifDéveloppement itératif
– Les risques sont évalués avant Les risques sont évalués avant
– Les premières itérations permettent Les premières itérations permettent d’avoir des retours utilisateur d’avoir des retours utilisateur
– Le test et l’intégration sont continus Le test et l’intégration sont continus
– Les jalons permettent de fixer les Les jalons permettent de fixer les objectifsobjectifs
– Les avancées sont mesurées au fur Les avancées sont mesurées au fur et à mesure de l’implémentationet à mesure de l’implémentation
– Des maquettes intermédiaires Des maquettes intermédiaires peuvent être déployéespeuvent être déployées
Accroître la productivité Accroître la productivité en en conception/développemeconception/développementntTous les membres partagentTous les membres partagent
• Des bases de connaissanceDes bases de connaissance
• Une même méthode Une même méthode
• Une organisation du travailUne organisation du travail
• Un langageUn langage
Designer /Developer
Analyst Tester
DatabaseAdministrator
PerformanceEngineer
Release Engineer
Project Leader
Guide
Amplifient Utilisent
Oriente
Automatisent
Se focalise
Fédèrent
Instrumentent AccélèrentOutils
Travailleur
Services
Le langage RUP : un modèle Le langage RUP : un modèle visuelvisuel
Activité
Quatre éléments de modélisation dans Quatre éléments de modélisation dans RUPRUP
• Membre est le qui : Chef de projet, Analyste, Testeur, Utilisateur, etc.
• Artéfact est le quoi : Document de l’architecture, Modèle des cas d’utilisation, Fichier exécutable, etc.
• Activité est le comment : Analyse de cas d’utilisation, Conception de cas d’utilisation, etc.
• Enchaînement d’activités est le quand : Modélisation de métier, implémentation, test, etc.
Décrit un rôle dans le
processus
Membre
Use-Case Specifier
NotationsNotations
Activité
Décrit une partie du travail
Décrit une connaissance ou une donnée
Artéfact
Use-Case Package
Use Case
Responsable de
Concepteur Analyse de cas d ’utilisation
Conception de cas d ’utilisation
Réalisation de cas d ’utilisation
est responsable de
Exemple : rôles du Exemple : rôles du concepteurconcepteur
activité1
ConnaissanceDocument
produit
activité2
Planification des RHPlanification des RH
Re s o u rc e Wo rke r Ac tiv itie s
Paul
Mary
Joe
Sylvia
Stefan
Designer
Use-Case Specifier
Use-Case Designer
Design Reviewer
Architect
Define Operations...
Describe a Use Case...
Distribute Behavior...
Review Use-Case Model...
Define Use-Case ViewDefine Logical Viiew...
Chaque membre est considéré comme un acteur
Exemple d’un WorkflowExemple d’un Workflow
RUP est itératif et RUP est itératif et incrémentalincrémental
Exigences
Planification initiale
PlanificationTests
Déploiement
Implémentation
Analyse & conception
Gestion Environnemen
t
Chaque itération a pour finalité une version exécutable.
Architecture Architecture bidirectionnelle du RUPbidirectionnelle du RUP
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUP
6 enchaînements d'activités
essentielles
• Modélisation du métier
• Gestion des exigences
• Analyse et Conception
• Implémentation
• Test
• Déploiement
3 enchaînements d'activités de soutien
• Gestion de Projet
• Gestion de la configuration et des changements
• Environnement
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUP
Modélisation du métierModélisation du métier
• de décrire la structure et la dynamique de l'organisation (ou de l ’équipe participative)
• de garantir que les clients, les utilisateurs finaux et les développeurs partagent une vision commune de l'organisation
• de réaliser une base d'information qui contiendra le cahier des charges du produit et la planification des tâches de l ’organisation.
Il a pour but
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUP
Gestion des exigencesGestion des exigences
Il a pour but
• de définir une vision du produit,
• de traduire cette vision en un modèle de cas d'utilisation, (ce modèle, accompagné des spécifications externes, constitue le cahier des charges logicielles),
• d’organiser et de gérer les exigences,
• de définir et de construire une maquette de l'interface utilisateur.
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUP
Analyse et conceptionAnalyse et conception
• L'objectif de l'analyse est de comprendre le cahier des charges et d ’écrire les spécifications internes. L'analyse permet d'obtenir une vue interne du produit
• La conception a pour but de définir l'architecture du système/produit
• L'analyse se concentre sur le "quoi faire", la conception se concentre sur le "comment le faire".
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUP
ImplémentationImplémentation
• L'objectif est de créer les composants : sources, scripts, puis exécutables...
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUPTestTest
• La phase de test a pour objectif d'évaluer le niveau de qualité atteint par le produit et d'en tirer les conclusions. Elle s'appuie sur les cas d'utilisation et définit des cas de test.
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUP
DéploiementDéploiement
• Le but de l'enchaînement des activités de déploiement est de livrer le produit aux utilisateurs finaux.
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUP
Gestion de projetGestion de projet
• La planification d'un projet itératif
• La gestion des risques
• Le contrôle des progrès.
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUPGestion de la configuration et des Gestion de la configuration et des changementchangement
• Le but de la gestion de la configuration et des changements est de garder la trace de tous les éléments tangibles qui participent au développement, et de suivre leur évolution.
Enchaînement d’activités dans Enchaînement d’activités dans RUPRUP
EnvironnementEnvironnement
• un processus de développement adapté au projet
• des outils de travail qui aident à réaliser les activités et les artefacts du processus.
Il a pour but de fournir
Phases dans RUPPhases dans RUP
Inception Conception Construction Transition
Temps
Jalon : objectifs et cycle de vie
Jalon : architecture du système
Jalon :prototype
Jalon : livraison du produit
InceptionInception
• Il s’agit de décrire quelle vision on a du produit final et où on veut aller, de réaliser une étude de rentabilité et de définir le projet.
• La phase Inception se termine par le jalon « objectifs et cycle de vie »
ConceptionConception
• Il s’agit de
¤ planifier les activités et les ressources nécessaires à la réalisation du projet
¤ spécifier les fonctionnalités
¤ concevoir l’architecture
• La phase de conception se termine par le jalon « architecture du système »
ConstructionConstruction
• Il s’agit de construire le système et de faire évoluer la vision, l ’architecture et les plans de développement jusqu’à l ’obtention d’un produit prêt à être testé.
• La phase construction se termine par le jalon « prototype »
TransitionTransition
• Il s’agit de soumettre le produit aux utilisateurs (béta-test),
• La phase transition se termine par le jalon « livraison du produit » ou par une nouvelle itération
Ambition de RUPAmbition de RUP
• Faire face aux changements en cours du projet qui restent les causes principales de l’échec du projet. • Par exemple :
¤ Les utilisateurs changent leurs exigences
¤ L’équipe de développement modifie l’architecture du logiciel
Changement des Changement des exigencesexigences
• Au départ, les utilisateurs ne savent pas quelles sont leurs exigences et comment les spécifier de façon précise.
• Ils changent leurs exigences quand ils voient les livrables
Effet: IKIWISIIKIWISI
I Know It When I See It - Je le saurai quand je l ’aurai vu
Bary Boehm - Université de Californie du Sud
Changements de Changements de l’architecturel’architecture
• Les membres de l’équipe :
¤ n’ont peut-être pas bien compris le système exigé
¤ n’ont peut-être pas partagé une même compréhension du système
RUP est centré sur RUP est centré sur l’architecturel’architecture
Vue logiqueVue pratique
Vue déploiement
Vue d'implémentation
Vue des processus
ProgrammeursGestion du logicielUtilisateur final
Fonctionnalité
Analystes/TesteursComportement
Intégrateurs systèmePerformanceCapacité à grandirDébit d'information
Ingénieurs SystèmeTopologie du systèmeLivraison, installationCommunication
Vue des cas d'utilisation
Briques d’organisationBriques d’organisation
Contrôle des changements
Management
Composants logiciels
Processus itératif
Modèle visuel Qualité
RUP : tracer les changementsRUP : tracer les changements
• RUP définit un enchaînement d’activités de soutien : gestion des configurations et des changements
• RUP est piloté par les cas d ’utilisation
RUP est piloté par les cas RUP est piloté par les cas d’utilisationd’utilisation
Modèle d’implémentationModèle d’implémentation Modèle de test
Modèle de test
Vérifié parVérifié parRéalisé parRéalisé par
Implémenté parImplémenté par
Modèle de conceptionModèle de conception
AvantagesAvantages
• RUP améliore la qualité du produit
• RUP augmente le taux de succès du projet
• RUP est supporté par les outils du Rational Software
RUP améliore la qualité du RUP améliore la qualité du produitproduit
• RUP améliore la compréhension du système
¤ RUP est itératif
¤ RUP reste centré sur l’architecture
¤ RUP utilise UML pour modéliser le logiciel
RUP améliore la qualité du RUP améliore la qualité du produitproduit
• RUP contrôle et trace le processus de transformation de la compréhension du système en produit
¤ RUP est piloté par les cas d’utilisation
¤ RUP contrôle l’avancement de travail à l ’aide des livrables fournis dans les jalons
RUP augmente le taux de RUP augmente le taux de succès du projetsuccès du projet
RUP permet d’anticiper et de limiter les risques. On peut mieux les traiter quand ils sont petits...
RUP est intégré par les outils du RUP est intégré par les outils du Rational SoftwareRational Software
Rose
TeamTest
RequisitePro
SoDA ClearCase
ClearQuest
PurifyQuantify
PureCoverage
Visual StudioApex
Interface
Présentation des rôles
Présentation des scénarios
Diagramme de la collaboration
Présentation des classes (UML)
Diagramme des états de transition
Diagramme des composants
Points faibles de RUPPoints faibles de RUP
• RUP ne supporte pas les multi-projets
• RUP exige des experts
• RUP est propriété de Rational Software
RUP est un cadre de RUP est un cadre de processusprocessus
• RUP décrit qui, quoi, comment et quand faire à l’aide d’un langage visuel
• RUP apporte des outils et une méthode d’organisation pour l’ingénierie participative
• RUP apporte une vision unifiée sur le processus qui peut être partagée par tous les acteurs