Vous êtes sur la page 1sur 23

Génie Logiciel

Chapitre 3 : Gestion de projet logiciel


Projet

Combinaison d’un ensemble de ressources mises
ensemble afin de réaliser un objectif spécifique
dans un délais fixé, à un coût fixé.

Humaines

Matérielles

Techniques

Administratives

Financières

En GL, l’objectif est de livrer un logiciel (nouveau
ou non).
Prof. M. BENADDY Génie Logiciel I 2
Caractéristiques d'un projet

Taille

Personnel

Lignes de code (LOC)

Variable en fonction du temps

Durée

Mois, années, etc

Nature

Prof. M. BENADDY Génie Logiciel I 3


Classification de projets

Type du logiciel développé (Pressman)

Difficulté du développement (Boehm)

Techniques de gestion de projet mises en œuvres
(Wysocki)

Nature du projet

Exigence déterminante du projet (Booch)

Taille du logiciel développé

Prof. M. BENADDY Génie Logiciel I 4


Type d'un projet développé (Pressman)

Systèmes

Temps réel

D’affaires

Scientifiques

Embarqués

Personnels

Sur l’internet

D’intelligence artificielle

Prof. M. BENADDY Génie Logiciel I 5


Difficulté de développement (Boehm)

Organique

Petits projets simples

Petites équipes de développement avec expérience

Besoins non rigides

Processus de développement plutôt informel

Embarqué

Contraintes matérielles et logicielles fortes

Besoins rigides

Mise en œuvre stricte des standards

Beaucoup de documentation

Semi-détaché

Mélange de contraintes rigides et non-rigides

Équipes de taille moyenne

Expérience mixte
Prof. M. BENADDY Génie Logiciel I 6
Taille du logiciel

Taille du logiciel Petit Moyen Grand Méga


<=50 KLOC 50 à 300 KLOC 300 – 1M KLOC ≥ 1M KLOC

Nombre de 1à7 8 à 40 40 à centaines Centaines ou


participants milliers
Structures 1 niveau 2 niveaux > 2 niveaux > > 2 niveaux
d'autorité
Durée ≤ 2 ans 2 à 3 ans 3 à 5 ans > 5 ans

Prof. M. BENADDY Génie Logiciel I 7


Personnel Participants

Cadres supérieurs

Leurs décisions influencent souvent le projet

Chef(s) de projet

Planification, motivation, organisation et contrôle du
personnel technique et professionnel

Personnel technique et professionnel

Compétences techniques

Client(s)

Spécification des besoins des utilisateurs

Utilisateurs
Prof. M. BENADDY Génie Logiciel I 8
Profils du personnel technique

Analyste

Analyse les besoins

Produit les spécifications

Interagit avec le client et/ou les utilisateurs

Architecte (concepteur)

Conçoit l’architecture du système

Définit les composants

Documente les choix de conception

Prof. M. BENADDY Génie Logiciel I 9


Profils du personnel technique

Programmeur

Conception détaillée

Implantation conformément à la conception

Tests unitaires

Testeur

Conçoit les plans de tests

Conçoit les tests

Effectue les tests de système (d’intégration) et
tests spécialisés
Prof. M. BENADDY Génie Logiciel I 10
Développement en équipe

Les logiciels sont trop complexes pour être
développés individuellement

Choix de la structure d’une équipe:

Dépend de l’expertise et de la personnalité des
membres

La communication entre les membres est
primordiale (jusqu’à 50% de temps de
développement!)

But: obtenir une équipe unie et cohérente

Prof. M. BENADDY Génie Logiciel I 11


Communication

Plusieurs facteurs influencent la communication:

Taille de l’équipe

n membres, n(n-1) liens de communication

Structure de l’équipe

Formelle/informelle

Composition de l’équipe

Types de personnalités

Environnement de travail

Prof. M. BENADDY Génie Logiciel I 12


Structure interne d'une équipe

Contrôle centralisé (CC)

Chef résout les problèmes et coordonne les activités

ex. « Chief programmer team »

Contrôle décentralisé (CD)

Chef coordonne des tâches spécifiques

La résolution de problèmes se fait en équipe

Démocratique décentralisée (DD)

Pas de chef permanent

ex. « Egoless programming », le logiciel est une
propriété commune.
Prof. M. BENADDY Génie Logiciel I 13
Choix de la structure interne de l'équipe

Caractéristiques Niveau DD CD CC
Difficulté Elevée X
Faible X X
Taille (LOC) Grande X X
Petite X
Durée Courte X X
Longue X
Modularité Elevée X X
Faible X
Fiabilité Elevée X X
Faible X
Date de livraison Stricte X
Vague X X
Sociabilité (communication) Elevée X

Faible X X
Prof. M. BENADDY Génie Logiciel I 14
Gestion de l'équipe

Le chef doit

Résoudre les problèmes

Prendre des décisions lors de disputes /
manque de consensus

Être en mesure d’influencer les membres

Évaluer le progrès individuel des membre

2 types de chefs

Chef technique

Gestionnaire de projet
Prof. M. BENADDY Génie Logiciel I 15
Pratiques critiques de la gestion de projet


Ensemble de pratiques indispensable au bon
déroulement d'un projet.

16 pratiques du chef de projet formulées par le
Software Project Managers Network (
www.spmn.com)

Prof. M. BENADDY Génie Logiciel I 16


Processus logiciel individuel


Enregistrer ses propres performances afin de
pouvoir mesurer sa productivité.

Mesurée en lignes de code produites par jour
(LOC/j).

Permet d'évaluer si les délais proposés sont
raisonnables. Les erreurs commises sont
enregistrées, afin de savoir les conditions dans
lesquelles elles se produisent et leur influence sur
la productivité du programmeur.

Prof. M. BENADDY Génie Logiciel I 17


Processus logiciel individuel


Exemple : Un programmeur X a enregistré les performances
suivantes
Date Début Fin Interruptions Durée Travail
accompli

01/01/12 09:00 15:30 Déjeuner 30' 360 50 LOC écrites

03/01/12 09:00 14:00 Déjeuner 30' 270 60 LOC écrites

04/01/12 09:00 11:30 150 50 LOC écrites

12:00 14:00 120 tests


Quel est le nombre de lignes de code produit en combien de temps

Quel est la productivité de X. combien de temps est nécessaire
pour coder 1000LOC
Prof. M. BENADDY Génie Logiciel I 18
Processus logiciel individuel


X a passé 360 + 270 + 150 + 120 = 900 minutes
pour écrire et tester un programme de 160 LOC.
Cela donne une moyenne de 5 heures (300
minutes) par jour.

Donc X a une productivité de 53 LOC/jour.

Alors que son chef prévoit une semaine pour
coder 1000 LOC, X pourra prévoir que ce projet
lui demandera 4 semaines.

Prof. M. BENADDY Génie Logiciel I 19


Suivi des erreurs


Conserver une trace des

Erreurs qui se sont produites

Durées entre deux erreurs successives

Permet de

Mieux déterminer une date de livraison

Motiver les testeurs et les développeurs

Prof. M. BENADDY Génie Logiciel I 20


Taux d’erreur


TE : Inverse du temps qui sépare deux erreurs successives

Ex : si une erreur se produit tous les deux jours, TE = 0.5
erreurs par jour

Taux d’erreur instantané : estimation du taux d’erreur courant

Taux d’erreur cumulé : bonne estimation des taux d’erreur à venir

Somme de toutes les erreurs divisé par le temps total

Une représentation graphique permet d’estimer les tendances des
taux d’erreur par régression linéaire

y : taux d’erreurs

x : deux possibilités :

nombre d’erreurs : donne une estimation du nombre d’erreurs
restantes

temps écoulé : donne une estimation du temps avant livraison
Prof. M. BENADDY Génie Logiciel I 21
Taux d’erreur


Exemple : Les durées entre une série d’erreurs
sont les suivantes : 4, 3, 5, 6, 4, 6, 7.

Prof. M. BENADDY Génie Logiciel I 22


Taux d’erreur


Si on prolonge cette courbe, on voit qu’elle coupe l’axe des
abscisses pour une valeur de 11 erreurs environ

Le taux d’erreur devrait donc être nul après le 11ème erreur

Comme 7 erreurs ont été trouvées, il ne devrait plus en
rester que 4.

Prof. M. BENADDY Génie Logiciel I 23

Vous aimerez peut-être aussi