Professional Documents
Culture Documents
Sylvie Vignes
Objectifs de la prsentation Prsenter les cadres de dveloppement du logiciel en milieu industriel En dgager 7 bonnes pratiques Illustrer ces bonnes pratiques dans le contexte dun projet ENST
n n
V1.0
I - Dfinitions de base
Dfinitions de base
Quest-ce-quun projet ? Entreprise temporaire dcide pour obtenir un produit ou un service Ensemble dactivits organises permettant de crer un produit ou un service unique avec une qualit dfinie dans le cadre dun budget fix Effort temporaire ayant un dbut et une fin dtermins Un choix de facteurs de qualit
V1.0 4
Application
Notre projet
n
n n
V1.0
Dfinitions de base
Ensemble squentiel de phases, dont le nom et le nombre sont dtermins en fonction des besoins du projet, permettant gnralement le dveloppement dun service ou dun produit
Exemples
Cycle en Y
V1.0 6
Dfinitions de base
Cycle de vie linaire, squentiel, dit en cascade Celui-ci a t dfini dans les annes 70 Ce cycle de vie est bas sur la production dlments livrables Le cycle de vie en V est une alternative au cycle en cascade
n n
V1.0
Application
Que se passe-t-il lorsquon dcouvre ce stade des changements par rapport aux exigences ? Et ce stade ? Et celuici ?
1 mois Coder
Interviewer les professeurs et les lves Rdiger des spcifications du site Analyser le besoin Identifier et formaliser une architecture Coder Intgrer, tester Vrifier la qualit du produit Livrer
3 semaines
Principes de base
Suppose que lon connaisse prcisment les besoins (exigences), ou au moins la plupart, ds le dbut Refuse tout changement pour tout bien faire ds le dbut
l
La formalisation exacte des exigences (spcification) doit prcder la conception, qui doit elle-mme tre finalise avant de passer limplmentation. Ex. : livrer un document, attendre 15 jours les retours, intgrer ces commentaires (10 jours) , livrer une nouvelle version,...
V1.0
Principes de base
Difficults lies au cycle de vie en cascade (2) n Retarde la rsolution des facteurs de risque
l
Entrane une identification tardive de la conception, et un dmarrage tardif du codage Entrane des relations conflictuelles avec les parties prenantes en raison :
Du manque de clart de la dfinition des exigences l Dengagements importants dans un contexte de profonde incertitude l Dun dsir invitable de procder des changements
l V1.0 10
Principes de base
Le cycle de dveloppement en V
Analyse des besoins
validation
Vrification systme
Vrification sous-systmes
Conception dtaille
Ver. modules
Implementation
Tests unitaires
V1.0
11
Principes de base
V&V
ISO 9000-3
Processus d'valuation du logiciel pour s'assurer qu'il satisfait aux exigences spcifies
V1.0
12
Principes de base
hypothses peu fondes : squentialit des phases non conforme la ralit incapacit en prendre en compte des volutions du CdC pendant la construction du systme absence de V&V la fin de chaque tape absence d'une continuit des outils pas adapt aux systmes non fonctionnels trop d'informel peu ou pas de possibilit de maquettage et/ou de prototypage.
V1.0
13
Principes de base
permet l'organisation du travail et des quipes => prdiction (Cocomo) et contrle des cots facilits favorise la dcomposition hirarchique fonctionnelle propose des tapes cls (documentation, revues) => bon suivi du projet permet de garantir une certaine qualit (plan assurance qualit) existence de standards: MIL-STD-498, GAM-T17(V2), Do 178 B, STAN-CS 055, ESA, ... adapt de grands projets
Principes de base
Prototype exprimental
e typ o t pro
Conception tion p dtaille e c Validation le Con giciel Plan de dveloppement des besoins lo n Code ceptio n o c e la Test unitaire Plan d'intgration et tests Validation d ification et v r Test conformit Implmentation
V1.0 15
Besoin logiciel
Principes de base
Cycle en Y
Branche Technique Capture des besoins techniques Conception gnrique
prototype
V1.0
16
Inc.4
Inc.5
Inc.6
V1.0 17
temps
Principes de base
Principes de base
Dfinition de la fiabilit
n
De faon oprationnelle, on parle de Sret de fonctionnement Proprit d'un systme informatique permettant ses utilisateurs de placer une confiance justifie dans le service qu'il dlivre
V1.0
19
Principes de base
Standard
Mis au point par Software Engineering Institute l Standard; version franaise sur http://www.CRIM.ca
l
SPICE
ISO 15504 (Software Process Improvement Capability dEtermination) l Norme Internationale qui volue paralllement la norme ISO 9000
V1.0
22
Processus structur
Reproductible
Les hros
V1.0
23
secteurs cls
n n n n n n
Niveau 2 reproductible : Gestion des exigences Planification de projet Suivi et supervision de projet Gestion de la sous-traitance Assurance Qualit Gestion de la configuration
Consensus dans l'entreprise sur la manire de faire mais pas de formalisation Gestion rigoureuse des cots et des dlais mais repose sur des comptences individuelles
V1.0 24
Niveau 3 Dfini :
n n n n n n
secteurs cls
Focalisation organisationnelle Dfinition du Processus Programme de formation Coordination intergroupes Revue par des pairs
Processus de dveloppement formalis et document Service de dfinition et de suivi des mthodes de l'entreprise
V1.0 25
Niveau 4 Matris :
n n
secteurs cls
Processus formel de collecte d'informations pour mesurer le processus d'laboration de systmes ainsi que les produits rsultants P
Niveau o 5 Optimis :
n n n
secteurs cls
technologiques,
Le LogicielUn Mtier Risque 53% des projets cotent au moins 200% des estimations initiales. On estime 81 billion de dollars la somme dpense en 1995 au U.S.A. sur des projets arrts Arrt avant la fin. avant la
fin 30%
V1.0
28
Symptmes Courants d'Echec des Projets (1) Symptmes les plus frquents des projets ayant chous :
DIncapacit de grer les modifications des exigences. DMauvaise comprhension des besoins des utilisateurs finals. DLes modules qui ne fonctionnent pas ensemble. DDu logiciel difficile maintenir ou faire voluer. DDu logiciel de mauvaise qualit (beaucoup d'anomalies).
V1.0
29
Symptmes Courants d'Echec des Projets (2) DConstruction d'un processus non fiable.
V1.0
30
Meilleures pratiques reconnues Lutilisation de ces pratiques maximise les chances de russite du projet Le non respect de ces pratiques introduit un maillon faible
V1.0 31
Dveloppement de manire itrative Dveloppement base de composants centr sur larchitecture Pilotage par les risques Gestion des exigences Matrise des modifications Evaluation continue de la qualit Modlisation visuelle
V1.0 32
IV - Le Processus Unifi
1998 : Apparition de UP
Pas de nouvelles ides mais un ensemble de bonnes pratiques largement rpandues dans les processus modernes Adoption rapide comme standard de fait en Europe et en Amrique du nord
l
IBM, Chase-Manhattan, Alcatel, MCI, British Aerospace, Volvo, Intel, Merrill, E&Y, Deloitte, Ericsson, Cartier International,Valtech . . .
V1.0 34
n n
Cest un processus de dveloppement de logiciel Il permet de dfinir et daffecter des tches et des responsabilits au sein dune organisation de dveloppement Son but est dassurer la production dun logiciel de grande qualit, satisfaisant les demandes des utilisateurs finals dans les dlais et avec un budget prvisibles
V1.0
35
n n
Qu'est-ce que le Dveloppement Itratif ? Bas sur de petites tapes, le feedback et ladaptation. Aussi appel volutif, en spirale, . . .
Itration 1
Itration 2
...
Analyse
Conception
Code+Conception+Test+Intgration
Analyse
Conception
Code+Conception+Test+Intgration
2 ou 4 semaines
2 ou 4 semaines
V1.0
37
Feedback et Adaptation
De part le retour des utilisateurs, des tests, . . .
A chaque itration, on s'adapte en se basant sur le feedback et les leons de la dernire itration, et on converge doucement vers de meilleurs :
l
2 or 4 semaines
itrations
itrations
V1.0 38
qui se droule selon un plan tabli et se termine par une livraison (interne ou externe), et pour laquelle on a dfini des critres dvaluation
V1.0
39
Planification initiale
Besoins
Analyse et conception
Planification
valuation
Chaque itration a pour rsultat une version excutable
Analyse
Conception
Code+Conception+Test+Intgration
Analyse
Conception
Code+Conception+Test+Intgration
2 ou 4 semaines
2 ou 4 semaines
Sinscrire un cours
V1.0
41
Semaine 2
Lundi Lundi Implm. Implm. Tests Tests& & contrle contrle qualit qualit Intgration Intgration Mardi Mardi Implm. Implm. Tests Tests& & contrle contrle qualit qualit Intgration Intgration Mercredi Mercredi Implm. Implm. Tests Tests& & contrle contrle qualit qualit Intgration Intgration Jeudi Jeudi Implm. Implm. Prparation Prparation dmo dmo Planif. Planif. itration itration suivante suivante Plan Plandu du projet projet Vendredi Vendredi valuation valuation de delitration litration Finalisation Finalisation planification planification
V1.0
42
Pratique inspire les mthodes agiles n Bases sur des itrations trs courtes, des incrments petits n Beaucoup de tests
http://www.xprogramming.com/ (des environnements de tests tlcharger)
Requirent lutilisateur quasiment en permanence n La plus connue Extreme Programming http://www.xp-france.org/ Communication Feed-back http://agilealliance.org/ Simplicit
n
Courage
V1.0 43
V1.0
45
Des Composants?
n n
Des units logicielles "bote-noire" avec une API Fonctionnent gnralement dans une (locale ou distante) architecture base de composants:
l
EJB, COM, .NET, JavaBeans, Servlet Acqurir des composants existants afin d'acclrer le dveloppement Etablir une culture d'acquisition ou d'achat de composants, plutt que de dvelopper toutes les parties du logiciel.
V1.0
46
Avantage des Architectures Base de Composants Les composants favorisent les architectures rsistantes. La modularit permet d'avoir une sparation claire entre les lments d'un systme. La rutilisation est facilite par l'utilisation de composants commerciaux.
V1.0
47
Chaque requte HTTP se Each HTTP request goes dirige vers le processus JVM to the existing JVM existant et sexcute process, and simply runs simplement on a new thread. sur un nouveau thread
V1.0
48
Un risque est un vnement redout dont loccurrence est plus ou moins prvisible et provoquant, lorsquil se produit, des dommages sur le projet. Il ne faut pas confondre risque et problme.
l
Analyser les risques potentiels le plus tt possible ds les premires itrations l Les hirarchiser l Commencer par travailler sur les lments les plus exposs l Par exemple :
l l
Lintgration, larchitecture La gestion des ressources humaines ncessite une attention particulire : Besoins ? Profils ? Organisation de lquipe projet ? Communication et management de lquipe
V1.0
51
V1.0
52
Convergence du besoin
l
Risques techniques :
l
Cause : premire utilisation du serveur tomcat Cause : rentre des tudiants simultane
Disponibilit de lquipe
l
Le Processus Unifi
IV-4 Bonne pratique : La gestion des exigences
1) Lack of User Input 1) 1)Manque Manquede departicipation participationdes desutilisateurs utilisateurs 2) Incomplete Requirements 2) incomplte 2)Identification Identification incompltedes desBesoins Besoins and Specifications 2) Incomplete Requirements
Grer les
exigences
and Specifications 3) Changing Requirements 3) Besoins 3) Changing qui Requirements au 3) Besoins quichangent changent aucours coursdu duprojet projet and andSpecifications Specifications
Standish Group, 97
V1.0
55
Condition laquelle le systme doit satisfaire ou une capacit dont il doit faire preuve.
[RUP]
On distingue :
l
Qui formulent ce que le systme est charg de faire Dcrivent la qualit des services attendus du systme (performance, scurit de fonctionnement, IHM)
Le UP recommande de se servir des Cas dUtilisation UML pour identifier les exigences fonctionnelles.
V1.0
56
Acteurs
Sinscrire Un cours
Professeur
Cas dutilisation
V1.0
57
Liste des acteurs Liste de pr-conditions vnement dclencheur Squences dinteractions Liste de post-conditions
V1.0
58
Enchanement nominal : Lorsquun enchanement nominal ou alternatif est excut, les postconditions sont atteintes.
V1.0
59
Enchanement derreur :
Enchanement dexception : Lorsquun enchanement dexception est excut, les postconditions ne sont pas atteintes.
2.
3.
Votre quipe a l'habitude de toujours essayer de satisfaire le client (cela semble logique). Pendant le dveloppement, un professeur vient voir un dveloppeur et lui dit, Paul, j'aime ce que je vois mais je souhaiterais galement connatre la liste des tudiants inscrits plusieurs de mes cours. Pensezvous que vous pouvez le rajouter ? Paul: Bien sr! Pas de problme! Je m'en rappellerai.
V1.0 61
Pourquoi?
V1.0
62
Ne pas tre ngligent. Les recueillir efficacement. Enregistrer, tracer, organiser (srement avec un outil). Et cela se rapporte au fait de considrer les changements de manire formelle (matriser les changements).
V1.0 63
Le Processus Unifi
IV-5 Bonne pratique : Matrise des modifications
Lie au nombre ditrations Lie lvolution des besoins dans le temps Pour ne pas retarder une quipe Pour rpondre un besoin ponctuel du client
Grer les
modifications
n n n
Ngocier les volutions et les tracer ; enregistrer, valider, grer la configuration et les versions Documenter le projet Communiquer les changements Prvenir les conflits
V1.0 65
Requte pour modifier un artefact ou un processus. Dans la documentation dune demande de changement figurent des informations sur lorigine et limpact du problme considr, sur la solution propose et sur son cot. Demande dEvolution
l
Deux types
l
Spcifie une nouvelle caractristique du systme ou un changement par rapport au comportement tabli. Erreur ou dfaut
V1.0 66
Rapport dAnomalie
l
Support type
Type
l
Demande dvolution Connatre la liste des tudiants inscrits plusieurs cours dun mme professeur Rapport danomalie Le nombre de tentatives pour se connecter au site est gal 3
l l
Le Processus Unifi
IV-6 Bonne pratique : Evaluation continue de la qualit
Corriger une anomalie plus tard cote 10-100 fois plus que de la corriger son origine.
Software Engineering Economics , Boehm, 1981.
Les produits avec le moins d'anomalies ont les dlais les plus courts.
l
Assessment and Control of Software Risks, Jones 1994, 4000 project study.
l
La correction des anomalies consomme 40-50% du cot total. 60% des anomalies existent au moment de la conception.
l
Avantages :
Identification prcoce des dysfonctionnements Ractivit aux dviations constates l Matrise des risques de drapage
l l V1.0 70
Vrification de la qualit
Vous avez pass 3 mois construire le site de lENST. Maintenant que vous tes prts sortir le produit Alors, vous demandez vos amis :
n
A 11 heures demain matin, tout le monde se connecte et essaye de sinscrire un cours ainsi on pourra vrifier si le systme rsiste la charge prvue.
Le Processus Unifi
IV- 7 Bonne pratique : La modlisation visuelle
Modlisation visuelle
On doit enregistrer nos penses et communiquer en utilisant des langages visuels et schmatiques (par ex., UML). Parce que :
l
On estime qu'au moins 50% de notre cerveau est impliqu dans le processus visuel. Les langages visuels sont naturels et faciles pour notre cerveau.
V1.0
73
Modlisation visuelle
Se situe entre trop et, videmment, pas assez de modlisation visuelle. Des schmas, spcialement sur un tableau blanc, sont plus rapides que d'crire ou de changer du code. Ils permettent de rapides recherches et la modification des grandes lignes du systme en ignorant les dtails que la programmation nous obligerait prendre en compte.
V1.0 74
Modlisation visuelle
Par exemple. . .
Use-Case Model
Modle de Conception
Modle de Dploiement
Diagrammes de dploiement
V1.0
75
Modlisation visuelle
V1.0
76
n n
V1.0
78
Conclusion
Conclusion
V1.0
80
Conclusion
V1.0
81
Conclusion
Pour
l l
Bien comprendre les demandes des utilisateurs finals Tenir compte des changements du cahier des charges Empcher la dcouverte tardive de dfauts srieux dans le projet Traiter au plus tt tous les points critiques du projet Bien communiquer avec le client Bien matriser la complexit Favoriser la rutilisation Dfinir une architecture robuste Faciliter le travail en quipe
V1.0 82
l l l
Conclusion
Bibliographie
l
Livres
l
Extreme Programming Explained Embrace Change Kent Beck Addison Wesley, 2000 Software Project Management - A Unified Framework, Walker Royce, Addison-Wesley, 1998 Rational Unified Process - An Introduction, Philippe Kruchten, Addison-Wesley, 1999 Object Solutions - Managing the Object-Oriented Project, Grady Booch, Addison-Wesley, 1996
V1.0
83