34
Méthodologies de développement de logiciel Proposé par : Prof. Mohamed AHMED NACER OUAHRANI Atika , BENKHELIFA Imane , BOUSSOUALIM Nacera PG 2009

Méthodologies de développement de logiciel

  • Upload
    mulan

  • View
    35

  • Download
    2

Embed Size (px)

DESCRIPTION

OUAHRANI Atika , BENKHELIFA Imane , BOUSSOUALIM Nacera PG 2009. Méthodologies de développement de logiciel. Proposé par : Prof. Mohamed AHMED NACER. Plan. Introduction aux méthodologies de développement Méthodes AGILE : RAD, RUP et XP Clean Room Open Source Develeppment - PowerPoint PPT Presentation

Citation preview

Mthodologie de dveloppement de logiciel

Mthodologies de dveloppement de logicielPropos par : Prof. Mohamed AHMED NACEROUAHRANI Atika , BENKHELIFA Imane , BOUSSOUALIM Nacera PG 2009PlanIntroduction aux mthodologies de dveloppementMthodes AGILE : RAD, RUP et XPClean RoomOpen Source DeveleppmentConclusion2ProblmatiqueObtenir une solution informatique qui corresponde rellement ses besoins dans le dlai prvu et dans lenveloppe budgte.

3Ce souhait, en apparence raisonnable, combien de dcideurs engageant un projetinformatique lont vu se raliser!?

3Constatations

4Nombre dtudes montrent une proportion tonnante d 1/3 de projets naboutissant jamais. Et sur les 2/3 restant reprsente des projets menant a conflit, linsatisfaction!?4Dautres constats !

plus un projet est grand, moins les exigences sont stables !

Plus un projet est long, moins il a de chance de succs

20% seulement des fonctions dveloppes sont utilises

5Face ce constat, les socits de dveloppement logiciel ont tent de trouver des solutions dans l laboration et le suivi de processus de dveloppement, ainsi plusieurs dmarche mthodologiques ont t proposs

5Cest quoi une mthode ?Une mthode:propose une dmarche conforme un ensemble de principes thoriques

sappuie sur une somme dexpriences et de rflexions

recourt un ensemble de modles pour dcrire les lments pertinents de la ralit

est gnralement porte par des outils informatiques peuvent faciliter lapplication dune mthode (CASE/AGL)

6Mthodes AgilesNe travers un manifeste sign par dix-sept personnalits, crateurs de mthodes ou dirigeants de socits 2001.raction aux mthodes traditionnelles (lourdeur)regroupes par lAgile Alliance (Www.Agilealliance.Org)

7Qu'est-ce que "le dveloppement agile" ?"un style de dveloppement logiciel itratif centr sur les personnes et qui met l'accent sur la satisfaction du client travers les release continue d'un logiciel entirement fonctionnel".

8Le dveloppement agile, aussi appel "dveloppement adaptatif", peut tre considr comme 8Les valeurs des mthodologies agilesCommunication : Personnes et interactions plutt que procdures et outils.Simplicit : Applications fonctionnelles plutt que documentation complte.Feedback : Collaboration avec le client plutt que ngociation de contrat.Courage : Acceptation du changement plutt que suivi dun plan.9Ces quatre valeurs fondamentales de lagilit sont dclines en douze principes gnrauxcommuns toutes les mthodes agiles :

9Les 12 principes dAGILE10RAD (Rapid Application Develepment)La mthode RAD implique : Un cycle de dveloppement scurisant et court fond sur un phasage simple :Cadrage, Design, Construction et labsolu respect dune dimension temporelle (90 jours optimum, 120 jours maximum)

Une architecture de communication engageant des groupes de travail de structure et de composition variable

11est une mthode de dveloppement de logiciels o le cycle de dveloppement est plus court que celui des mthodes Cascades. La mthode RAD fut initialement dveloppe par James Martin pendant les annes 1980.L'objectif de la mthode RAD restant d'obtenir un applicatif adquat partir d'un prototypage impliquant l'utilisateur final.

11RAD (Rapid Application Develepment)Des mthodes, techniques et outils permettant de dfinir et dappliquer des choix portant sur 4 objectifs: budget, dlais, qualit technique, qualit fonctionnelle Une architecture de conception sappuyant sur les techniques de l'objet et particulirement sur celles qui permettent une conception " en vue de modifications "

Une architecture de ralisation qui impose, pour garantir la qualit technique, des normes minimales

12RAD (Rapid Application Develepment)

13La mthode RAD propose de remplacer le cycle de vie classique par un autre dcoupage temporel. Le droulement est dabord linaire, puis il suit le modle de laspirale. Les tapes sont au nombre de cinq :LInitialisation dfinit lorganisation, le primtre et le plan de communication.Le Cadrage dfinit un espace dobjectifs, de solutions et de moyens.Le Design modlise la solution et valide sa cohrence systmique.La Construction ralise en prototypage actif (validation permanente).La Finalisation est un contrle final de qualit en site pilote.

13Les diffrent acteursLe binme chef de projet

Lutilisateur dcideur

Lexpert RADPrototypeur

Lepropritaireprparer les sessionsanimer les sessionssoutien mthodologique

Chef Projet Utilisateur (CPU)

Chef Projet Informatique (CPI)

Bonne connaissance du systme de gestion Evite la coupure traditionnelle entre concepteur et dveloppeur

Directeur de lapplicationFinance le projet

RAD (Rapid Application Develepment)14Les acteurs dun projet RADRAD propose une organisation du projet, base sur une rpartition prcise du travail entre les diffrents acteurs. La responsabilit de chacun dpend du rle quil joue. La mthode distingue cinq types de rles :14RUP (Rational Unified Process)dvelopp par la socit Rational Software (rachet par IBM).

bas sur une approche discipline :bien matriser l'assignation des tches etresponsabilisation des diffrents acteurs participant

Objectif principal :de faire appliquer les bonnes pratiques de dveloppement aux entreprises

15RUP (Rational Unified Process)La mthode RUP repose sur 6 pratiques prouves du dveloppement logiciel:

Dveloppement itratif Grer les exigences (requirements) Utiliser des architectures de composants Modliser visuellement (UML) Vrifier la qualit en continu (tests) Grer les changements

16RUP (Rational Unified Process)

9 Disciplines4 Phases de projet pourle pilotageChaque phase sesubdivise en ItrationsDans une itration, toutes les Disciplines sont impliques17Inception Lide du projet est exprime. Lquipe de dveloppement dcide si le projet doit tre poursuivi et quelles sont les ressources qui doivent y tre affectes.

Elaboration Larchitecture du projet et les ressources ncessaires sont values plus en dtails. Les dveloppeurs analysent les cas dutilisation de lapplication et valuent les cots de dveloppement.

Construction Le projet est ralis et complt. Le programme est conu, crit et test.

Transition Le programme est mis disposition du public. Des changements mineurs sont apports et des corrections sont faites sur la base des expriences des utilisatuers finaux.

17

XP (Extreme Programming) La mthodologie agile la plus connue Regroupe un ensemble de bonnes pratiques de dveloppement dcoulant des principes de lagilit et les poussent lextrme Applicable pour des quipes de petite taille de lordre dune douzaine de personnes Repose sur les quatre principes du dveloppement agile : la communication, le feedback, la simplicit et le courage1818

XP (Extreme Programming)

19Whole Team: Client sur le site assistance d1 personnePlanning Game: Sance de planification client dfinit les scnarios utilisateurs dev discutentdev dfinissent les tachesestiment ces taches client choisitPair programming : le code est crit par 2 devCoding Standard : unifier le code partage du code travailler en duoSustainable Pace:Rythme soutenable : lquipe ne doit pas faire des heures supplmentaires en 2 semaines succssivesSmall Releases : livraisons courte : le rythme de livraison doit tre trs court satisfaction su client motivation de dev19

XP (Extreme Programming) Cycle de dveloppementExplorationItrationPlanning1 4 semaines20-Exploration : Client exprime ses besoins laide des User strories qui dcrivent les fctnnalits demandes sur des fiches1 projet peut contenir 100aine de user stories-Planning : estimation du cot de dev de chaque user story client choisit la meilleure en termes de cout , vlocit , priorit Dans 7 priode le client dfinit les tests dacceptation -Itration : permet limplmentation d1 user story binmes sont cres les tests sont codsle code est rorganis pr intgrer les fct..alit de la user story c la partie itrative & incrmentale principale de XP20 Avantages XP Mthodologie Agile (tous les avantages de ce type de mthodologie). Relativement simple mettre en uvre.

Fait une large place aux aspects techniques : prototypes, rgles de dveloppement, tests,

Innovante: programmation en duo, kick-off matinal debout

Trs bonne pour le travail en quipe (motivation). 21Inconvnients XPDpenser lnergie faire et dfaire de la phase danalyse.

Acceptation difficile par les clients externes.

Mise en uvre assez dure (changement de mentalit, adaptation).

Le refactoring est loin dtre une technique simple.

Difficile de fixer les prix et dlais lavance pour des fonctionnalits.

Adapt uniquement aux petites quipes.

22Clean RoomButs :Produire des logiciels de qualit, fiablesRduire les cots de dveloppement. Proprits :80% Conception et Modlisation20% CodePas de phase de tests

23Fonctionnement CleanroomPetites quipes

Dveloppement incrmental sous contrle qualit statistique

Dveloppement logiciel bas sur des principes mathmatiques Tests logiciels bass sur des principes statistiques

24Fonctionnement CleanroomEtapes et tests Spcification dutilisationCorrection du codeModle dutilisation

TerminationMain MenuDisplayInvocation251-dfinit lutilisateur, lusage et lenvironnemt2-vrification du code : est ce que 7 boucle se termine?3-reprsenter les cas dutilisations (evenements)25Fonctionnement CleanroomTests statistiques

FiabilitEstimationMthode de MarkovProcessus de contrle et damlioration de la performance

Les outils de support CleanroomInvocationMain MenuDisplayTerminationInvocation0100Main Menu000.90.1Display0100Termination1000Chane de Markov associe26Tests: gnration automatique commenant par ltat initial et parcourt alatoirement le modle jusquau tat final26Avantages CleanRoomPrivilgie la prvention des erreurs plutt que leur correction

Se base sur des thories mathmatiques pour le dveloppement du logiciel, statistiques pour les tests.

Rduire les cycles de dveloppement

Obtenir des produits de dure de vie importante.

Les quipes de conception utilisent des techniques qui produisent des systmes presque sans dfauts avant mme de commencer les tests.

Les quipes de test certifient ensuite la qualit du systme pour ses utilisateurs.

27Inconvneients :Liste pr-tablie de performances standards pr le contrleContrle effectu chaque phase du processus Cleanroom27Open Source DveloppentRedistribution du programme libre et gratuite,

Livraison du code source avec le programme,

Distribution des travaux drivs dans les mmes termes que la licence d'origine,

Prservation de l'intgrit du code source de l'auteur,

Absence de discrimination envers des personnes ou des groupes,

28Open Source (suite)Absence de discrimination envers des domaines d'activit,

Pas besoin de se conformer des termes de licences complmentaires,

Pas de licence spcifique un produit,

Pas de licence imposant des restrictions sur d'autres logiciels,

Neutralit vis--vis de la technologie utilise.

29Dveloppement itratif de OSD

30Avantages de OSDQualit : techniques et rvision de bugs

Ractivit : mises jour et corrections frquentes

Prennit : garantie par une communaut de dveloppeurs grande et actives

Cot : cout dacquisition souvent gratuit et rduit

Libert : Indpendance des choix stratgiques de socits commerciales

Concurrence : Prvient lapparition des monopoles bass sur la fermeture de code source

Rutilisabilit : Echange et rutilisation des composants31Inconvnients de OSDFinition : Interfaces moins finies

Risque de divergence : projet qui se scinde en plusieurs projets

Image de marque : pas srieux, de bidouilleurs

Manque dinterlocuteur unique

Copyleft32ConclusionDifficult de choisir une bonne mthode

Chaque mthode prsente des avantages et des inconvnients

Choix de la mthode dpend du projet

Majorit des mthodes : incrmentales et itratives33Question34Graph10.333333330.6666666667

Projets informatiques

Feuil1Projets informatiquesAbondons1/3Conflits, Insatisfactions2/3Pour redimensionner la plage de donnes du graphique, faites glisser le coin infrieur droit de la plage.

Graph1110107100100181000100033100001000048100000100000

Srie 1Colonne1Colonne2Taille du projet (points de fonction)% Changements dexigences

Feuil1Srie 1Colonne1Colonne21011007100018100003310000048Pour redimensionner la plage de donnes du graphique, faites glisser le coin infrieur droit de la plage.