cours de génie logiciel david janiszek le projet …janiszek/_media/enseignement/03_gestion... ·...

30
Cours de Génie Logiciel David Janiszek Le projet En résumé Troisième partie III Eléments de gestion de projet

Upload: phungmien

Post on 14-Sep-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Cours deGénie Logiciel

DavidJaniszek

Le projet

En résumé Troisième partie III

Eléments de gestion de projet

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le projet

DéfinitionUn projet informatique est l’ensemble des activités et desactions à entreprendre pour répondre au besoind’informatisation d’un ensemble de tâches dans un contextedéfini

Un projet doit concilier :Les objectifs fonctionnelsLes spécifications (Aspects techniques)Les contraintes temporellesLes contraintes budgétairesLes contraintes matérielles (Ressources allouées)

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le cycle de vie d’un logiciel

DéfinitionLe cycle de vie d’un logiciel est l’ensemble des étapes dudéveloppement d’une application ; du projet initial à sa find’exploitation.

Le cycle de vie permet de prendre en compte lesaspects techniques du développement mais aussi sesaspects humains et organisationnelsLa présence ou l’absence ainsi que la séquence desdifférentes phases définissent le cycle de vie del’application

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Les différentes phases des cycles de vied’un logiciel (1)

DéfinitionLa définition des objectifs est une étape qui consiste àdéfinir la finalité du projet et à le positionner dans unestratégie globale.

DéfinitionL’analyse des besoins est une étape qui consiste àexprimer, recueillir et formaliser les besoins et lescontraintes du client

DéfinitionL’étude de faisabilité est une étape qui consiste à estimerl’ensemble des éléments réalisables et éventuellement lescontraintes liées à ces derniers.

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Les différentes phases des cycles de vied’un logiciel (2)

DéfinitionLa spécification est une étape qui consiste à élaborerl’architecture générale de l’application.

DéfinitionLa conception est une étape qui consiste à définirprécisément chaque sous-ensemble de l’application.

DéfinitionL’implémentation est une étape qui consiste à traduire dansun langage de programmation des fonctionnalités définieslors de la phase de conception.

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Les différentes phases des cycles de vied’un logiciel (3)

DéfinitionLes tests unitaires forment une étape qui consiste à vérifierindividuellement l’adéquation entre les spécifications et lesrésultats de l’implémentation de chaque sous-ensemble del’application.

DéfinitionL’intégration est une étape qui consiste à vérifier quechaque sous-ensemble de l’application s’interfacecorrectement avec les autres.

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Les différentes phases des cycles de vied’un logiciel (4)

DéfinitionLa qualification est une étape qui consiste à vérifier quel’application obtenue est en adéquation avec lesspécifications initiales (et éventuellement avec les besoinsexprimés par le client).

DéfinitionLa documentation est une étape qui consiste à produire lesinformations nécessaires à la correction, à l’évolution et àl’utilisation de l’application.

DéfinitionLa mise en production est une étape qui consiste àpermettre au client l’utilisation de l’application.

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Les différentes phases des cycles de vied’un logiciel (5)

DéfinitionLa maintenance est une étape qui consiste à modifierl’application afin de la corriger ou de la faire évoluer.

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le cycle de vie en cascade (1)

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le cycle de vie en cascade (2)

Eléments clés :

Mis au point en 1966 (Formalisé en 1970)

Chaque phase se termine à une date précise par laproduction de documents ou de logiciels

Chaque phase doit être validée avant de passer à lasuivante

Extension : retour arrière sur la phase précédente (enpratique les corrections possibles sont insuffisantes)

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le cycle de vie en V (1)

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le cycle de vie en V (2)

Eléments clés :

Le cycle de vie le plus utilisé

La décomposition de l’application est décriteconcomitemment à sa recomposition

La description d’un composant est accompagnée destests permettant de le vérifier et de le valider

Limite le risque de spécifier une propriété impossible àvalider

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le cycle de vie en spirale (1)

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le cycle de vie en spirale (2)

Formalisé en 1988 (B. Boehm)

Modèle plus général que le cycle de vie en V

Axé sur l’analyse des risques

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le cycle de vie par incréments (1)

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Le cycle de vie par incréments (2)

Permet la construction d’une application étape parétape (fonctionnalité par fonctionnalité)Pour chaque incrément :

1 Conception détaillée2 Implémentation3 Tests unitaires4 Intégration5 Livraison

Permet la prise en compte de l’analyse des risquesPermet une acceptation progressive de l’application parles utilisateursIl ne s’agit pas d’une méthode essai/erreur

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Analyse des risques (1)

Risques humainsDéfaillance du personnel, surestimation descompétencesTravailleur solitaire, héroisme, manque de motivation

Risques processusPas de gestion de projetCalendrier et budget irréalistesCalendrier abandonné sous la pression des clientsComposants externes manquantsTâches externes défaillantesInsuffisance de donnéesValidité des besoinsDéveloppement de fonctions inappropriéesDéveloppement d’interfaces utilisateurs inappropriées

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Analyse des risques (2)

Risques technologiquesProduit miracleChangement de technologie en cours de routeProblèmes de performanceExigences démesurées par rapport à la technologieIncompréhension des fondements de la technologie

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Les principaux acteurs du projet (1)

Rôles et responsabilités des principaux acteurs impliquésdans le développement d’un projet

DéfinitionLa maîtrise d’ouvrage ou le maître d’ouvrage est le donneurd’ordre au profit duquel l’application est conçue.

DéfinitionLa maîtrise d’oeuvre ou le maître d’oeuvre répond auprogramme fonctionnel déterminé par la maîtrise d’ouvrageen proposant une solution qui permette la réalisation de ceprogramme tout en respectant les contraintes préétablies(moyens, budget, planning, ...)

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Les principaux acteurs du projet (2)

Rôle du maître d’ouvrage

Décrire les besoins et définir le cahier des chargesEtablir le financement et le planning général des projetsFournir les spécifications fonctionnelles générales etvalider la recette fonctionnelleCoordonner les instances projets entre les utilisateursmétiers et la maîtrise d’oeuvreAssurer la responsabilité de pilotage du projet dans sesgrandes lignesAdapter le périmètre fonctionnel en cas de retard afinde respecter la date de la livraison

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Les principaux acteurs du projet (3)

Rôle du maître d’oeuvreConseiller la maîtrise d’ouvrageParticiper à la conception de l’applicationGarantir la bonne réalisation technique de la solutionproposéeVérifier la qualité de la réalisation (recette)

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Expression des besoins (1)

Les différentes formes de réticencesLe manque ou l’absence d’adhésion au projetLe scepticismeLa résistance au changementLe refus ou la peur de s’engager pour les autresLes considérations techniques prenant le dessus surles enjeux fonctionnelsLe manque de temps réel ou supposé

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Expression des besoins (2)

Les différentes approches pour recueillir les besoinsSe baser sur l’existantSe baser sur des études de cas ou sur les meilleurespratiquesCommencer par une feuille blanche

RecommandationsSavoir écouterFaire preuve de psychologieFédérer toutes les personnes concernées par le projetRéaliser un compte rendu (illustré) après chaqueréunionEtudier les projets similaires

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Déterminer le niveau de satisfaction

IdentificationType d’interaction avec l’applicationFonction au sein de l’entitéPouvoir décisionnaire

Exemples d’évaluationQuestionnaire de satisfactionEtudier l’utilisation réelle de l’applicationEvaluer la fidélité du client

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Planification (1)

Exemple de diagramme de Gantt :

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Planification (2)

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Planification (3)

Exemple de réseau PERT :

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Quelques outils

Gestion de projetMicrosoft Project, ...OpenProjGanttProject, Open Workbench, Taskjuggler, ...

Logiciel de diagrammesMicrosoft Visio, ...Dia, kivio, xfig, ...

Cours deGénie Logiciel

DavidJaniszek

Le projetLe cycle de vie d’unlogiciel

Les acteurs du projet

Expression desbesoins

La satisfaction

Planification

L’équipe dedéveloppement

En résumé

Equipe de développement(la taille ne fait pas tout ...)

Le facteur limitant est le nombre d’interactions.

Cours deGénie Logiciel

DavidJaniszek

Le projet

En résumé

En résumé

Un projet regroupe de nombreuses activitésLe cycle de vie permet de prendre en compte lesaspects techniques du développement mais aussi sesaspects humains et organisationnelsLa spécification des besoins est une étape cléOn identifie 3 types de risques :

HumainsTechnologiquesOrganisationnels

L’efficacité d’une équipe dépend de la qualité de sesinteractions