Vous êtes sur la page 1sur 111

Gnie Logiciel

Rvisions

Ralis
par

Randy
Randy NYAMABO
NYAMABO
Ahmed
Ahmed ZAZA
ZAZA
Jordan
Jordan CAMILLE
CAMILLE
Emmanuel
Emmanuel GORET
GORET
Brahim
Brahim BOUABOUD
BOUABOUD
Marie-Eve
Marie-Eve PICARD
PICARD GRAVEL
GRAVEL

Introduction
Quest
Un

ce que le Gnie Logiciel?

cours de rvisions, organis par :

Randy

NYAMABO

Ahmed ZAZA

Jordan CAMILLE

Emmanuel GORET

Brahim BOUABOUD

Marie-Eve PICARD GRAVEL

Cots

Qualit

Dlais

Plan Gnral
Cours

1 : PERT & GANTT

Cours

2 : Organisation et suivi de projet

Cours

3 : Estimation des Cots

Cours

4 : Spcifications

Cours

5 : Quantifications

Cours

6 : Tests

Cours

7 : Techniques de tests

Cours 1 : PERT & GANTT


Gnralits
PERT
Chemin

Critique

Marges
GANTT
Critres

de qualit

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

Gnralits
Quest

ce quun diagramme de PERT, de


GANTT ?

quoi servent ces diagrammes ?

Plannification

et conduite de projet

Ordonnancer les activits et les placer dans le temps


Faciliter le suivi de projet pour le mener bien

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

PERT
Reprsention

graphique

Etape
:
Numro
dtape
Date
+tt

Avantages

Date
+tar
d

Tche
:Nom de
la tche

Tche Fictive
:

Dure de
la tche

F (2)

Permet de mieux connatre un projet grce une bonne visibilit de celui-ci

Permet de connatre la dure minimale dun projet

Permet dviter les retards grce a une bonne estimation

Inconvnients

Pas
Pas destimations
destimations des
des cots
cots

Si
Si beaucoup
beaucoup de
de tches
tches :: devient
devient rapidement
rapidement illisible
illisible

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

PERT
Distinction

PERT simplifi & non-simplifi


Calcul des dates au plus tt et au plus tard

A(2)
0

B(3)
2

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

PERT
Elaboration

Etablir

une liste de tches

Affecter une dure aux tches

Dterminer les conditions dantriorit

Tracer un diagramme

Calculer les dates des tapes

Simplifier le diagramme

Dterminer le chemin critique

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

PERT
Exemple

dlaboration

Tches

Dure de tches

Antriorit des tches

A-C

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

PERT
Exemple

dlaboration

A(2)
0

B(3)
2

D(4)

C(1)
0

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

Chemin Critique
Quest

ce quun chemin critique ?

Un

chemin dont la marge totale est gale 0

Sur chaque sommet de ce chemin :


La date au plus tt est de la mme valeur que celle au plus tard
!
Quindique-t-il

La

dure minimale du projet

Est-il

important si une seule personne travaille sur le projet

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

Marges
F (2)

Dbut

6 7
+tt
Dbut

Totale

+tard
Dbut

Fin

8 9
+tt
Fin

+tard
Fin

(0) : (+tard Fin) (+tt Dbut) Dure de la

tche
Libre (0) : (+tt Fin) (+tt Dbut) Dure de la
tche
Certaine (0) :(+tt Fin) (+tard Dbut) Dure de la
tche

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

GANTT
Reprsentation

graphique

Tache A
Tache B
Tache C

Diffrents

cycles de vie (V, Cascade)

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

GANTT
Avantages

Suivi

du droulement du projet facilit. Connaissance date


debut/fin des tches.

Inconvnients

Les

tches critiques ne sont pas spcifies.

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

Critres de qualit

Critres
Utilit
Utilisabilit
Fiabilit

Dfinition
Fonction dont besoin le client/utilisateur
Facilit dutilisation, l'effort ncessaire pour
apprendre manipuler le logiciel
Capacit rendre des rsultats concluant

Interoprabilit Facilit du logiciel communiquer avec dautre

programme
Performance
Portabilit

Rapidit du logiciel excuter une tache


Logiciel fonctionnant sur plusieurs plateforme

Rutilisabilit Le code source est r-implantable dans un autre


programme
Facilit de
maintenance

Leffort ncessaire pour corriger, transformer le


logiciel,

Cours
Cours 1
1 :: Pert
Pert &
& Gantt
Gantt

Critres de qualit
Critres
Utilit
Utilisabilit
Fiabilit

Solutions envisageables pour atteindre ces


critres
Suivre scrupuleusement le cahier des charges
Demander lavis au client sur diverses maquette IHM
Faire rgulirement des tests

Interoprabilit Utilis des extensions simple la rutilisation dun

autre programme
Performance
Portabilit

Ecrire un code demandant pas de particularit


spcifique chaque plateforme

Rutilisabilit Utilis un code clair, comprhensible


Facilit de
maintenance

Plan Gnral
Cours

1 : Pert & Gantt

Cours

2 : Organisation et suivi de projet

Cours

3 : Estimation des Cots

Cours

4 : Spcifications

Cours

5 : Quantifications

Cours

6 : Tests

Cours

7 : Techniques de tests

Cours 2 : Organisation et suivi de


projet
Organisation

et suivi de projet

MOE/MOA
Organigrammes
Matrice

(PBS, WBS, OBS)

RACI

Indicateurs

de suivi

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Organisation et suivi de projet


En

quoi cela consiste ?

Organisation

des tches selon leur importance et leur

antriorit

Dcoupage structurel des actions, acteurs et produits

Organisation des ressources pour chaque tche

Comparer la situation relle et la situation prvue


Utilit

Une

bonne organisation permet un bon suivi, qui permet de


corriger la situation si des carts sont constats entre les
prdictions et la ralit

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

MOE/MOA
Matrise

duvre (MOE)

Reoit

la mission du MOA

Ralise le projet conformment au cahier des charges

Matrise

Client,

douvrage (MOA)

mais pas forcment utilisateur

Propritaire de louvrage

Exprime ses besoins

Fixe les objectifs, le budget et les dlais souhaits

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Organigrammes (WBS, PBS, OBS)


Product Breakdown Structure (PBS)
Organigramme technique des produits

Work Breakdown Structure (WBS)


Organigramme des tches

Organisation Breakdown Structure (OBS)


Organigramme fonctionnel

Quoi?
*Produit
*Dlivrable
*Objectif

Comment?
*Actions

Qui?
*Acteurs

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Organigrammes (WBS, PBS, OBS)


Exemple

de PBS

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Organigrammes (WBS, PBS, OBS)


Exemple

de WBS

Niveau 0

Niveau 1

Niveau 2

[Budget] Recherches
gnrales, de fonds &
lgales
[Matriel]Planification
et Achats

110
110

Design du local

121
121

Rseau Informatique

122
122

Logiciel de connexion

123
123

120
120

Gestion
Projet d'ouverture
d'un Cybercaf

Design du local

100
100

[Matriel] Installation

Rseau Informatique
Logiciel de connexion

130
130

Gestion
Publicit

[Ouverture]
Prparation

Installation finale
140
140

124
124

131
131

132
132

133
133

134
134

141
141

142
142

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Organigrammes (WBS, PBS, OBS)


Exemple
Codification

dOBS

Tche
Ouverture d'un Cybercaf

Dure (en jours)


60

Ressources

- 110

[Budget] recherches

14

Commercial

- 120

[Matriel] Planification

23

Moi, Commercial, Informaticien

- - 121

Design du Local

Moi

- - 122
- - 123

Rseau Informatique

Informaticien

Logiciel de connexion

13

Informaticien

- - 124
- 130

Gestion

Commercial

[Matriel] Installation

15

- - 131
- - 132

Design du Local

Moi

Rseau Informatique

Informaticien

- - 133
- - 134

Logiciel de connexion

Informaticien

Gestion

Commercial

- 140

[ouverture] Prparation

- - 141

Publicit

Commercial

- - 142

Installations finales

Commercial

100

Moi, Commercial, Informaticien

Moi, Commercial, Informaticien

Moi, Commercial, Informaticien

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Matrice RACI
A

quoi sert une matrice RACI ?

Dlimiter

les responsabilits de chacun

R
R
Responsible
Responsible // Ralise
Ralise

:: Ralise
Ralise lactivit
lactivit

A
A
Accountable
Accountable / Autorit : Approuve le travail de R

C
C Consulted
Consulted // Consult
Consult :: Est
Est consult
consult par
par R
R (communication
(communication
bidirectionelle)
bidirectionelle)

II
Informed
Informed // Inform
Inform :: Est
Est uniquement
uniquement inform
inform des
des travaux
travaux de
de R
R
Rles
Activits
Planning du projet
Rdaction de la documentation
Dveloppement

Sponsor

Chef de projet Chef


dquipe

Dveloppeur

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Matrice RACI
Parcours

vertical dune matrice RACI

Beaucoup

de R

Beaucoup
Beaucoup de
de tches
tches
raliser
raliser

Beaucoup

de A

Beaucoup
Beaucoup de
de contrle
contrle des tches

Pas

de cases vides
Beaucoup
Beaucoup de
de tches
tches affectes
affectes une
une seule
seule personne
personne ;; voire
voire trop
trop

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Matrice RACI
Parcours

horizontal dune matrice RACI

Beaucoup

de R

De
De nombreux
nombreux responsables engags
engags dans
dans la ralisation dune
dune tche
tche
donne
donne

Il
Il faut
faut faire
faire attention
attention
ce
ce quil
quil ny
ny ait
ait pas
pas de
de problme
problme de
communication
communication

Beaucoup

de I

De
De nombreuses
nombreuses personnes
personnes sont
sont informes
informes par
par le
le responsable
responsable

Il
Il faut
faut faire
faire attention
attention
ne
ne pas
pas tuer
tuer linformation
linformation par
par TROP
TROP
dinformation
dinformation

Pas

de cases vides
Beaucoup
Beaucoup de
de personnes
personnes travaillent
travaillent sur chaque tche

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Indicateurs de suivi
On

analyse les principales mesures de valeurs


acquises
Mais

quest-ce que la valeur acquise ?

La valeur du travail effectif fonde sur un budget dfini

Quelle est son utilit ?

Informer sur les cots et la dure du travail pour chaque


tche
Permet de savoir quil y a retard ou pas

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Indicateurs de suivi
Principales

mesures des valeurs acquises

Mesures

Dfinitions

Cot Budgt du Travail (CBT)

Quantit de travail estime pour une tche


donne

Cot Rel du Travail (CRT)

Quantit de travail rel pour une tche


donne

Cot Budgt du Travail Prvu


(CBTP)

Somme des CBT jusqu une date Prvue


donne

CBTP= CBTx la date

Cot Budgt du Travail Effectu


(CBTE)

Somme des CBT jusqu une date Relle


donne

CBTE= CBTx la date

Cot Rel du Travail Effectu


(CRTE)

Somme des CRT jusqu une date Relle


donne

CRTE= CRTx la date

Cot Budgt lAchvement


(CBA)

Somme des CBT

CBA= CBTx

Formules

Prvue
Relle
Relle

Cours
Cours 2
2 :: Organisation
Organisation et
et suivi
suivi de
de projet
projet

Indicateurs de suivi
Indicateurs

davancement et valeurs acquises

Indicateurs

Formules

Valeurs Acquises (VA)

VA = CBTE / CBA

Indicateur des Performances Temporel


(IPT)

IPT = CBTE / CBTP Les dlais

Variance par rapport lEchancier (VE)

VE = CBTE CBTP Les dlais

Indicateur dcart des Cots (IC)

IC = CBTE / CRTE

Variance par rapport aux Cots (VC)

VC = CBTE CRTE Les cots

Indications
))

Retard si IPT<1

Les cots )) Dpassement si


IC<1

VA
VA est
est la
la seule
seule mesure
mesure dont la valeur est non susceptible de diminuer au cours du
projet
projet

Plan Gnral
Cours

1 : Pert & Gantt

Cours

2 : Organisation et suivi de projet

Cours

3 : Estimation des Cots

Cours

4 : Spcifications

Cours

5 : Quantifications

Cours

6 : Tests

Cours

7 : Techniques de tests

Cours 3 : Estimation des cots


Estimation

des cots

Parkinson
Classes

de mthodes destimation des cots

Cocomo
Point

de fonction

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Estimation des cots


Quest

ce que lestimation des cots ?

Mesurer

approximativemet ce que lon va depenser (en


termes defforts) au cours du projet

Quelle

en est lutilit ?

Connaitre

les dpenses du projet pour eviter les


dpassement de dlais ou surplus de dpense
Mesurer les risques

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Estimation des cots


Quels

sont les risques dune mauvaise estimation ?

Dans

le cas o lon a estim un temps trop long :

Les

gens ne rendent pas ce qui doit tre rendu le plus tt


possible

Perte de temps & dargent


Dans

Le

le cas o lon a estim un temps trop court :

suivi peut tre mauvais

Une baisse de la qualit peut tre attendue car il y a manque


de temps

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Parkinson
Le

travail s'tend jusqu' remplir tout le


temps allou son excution (Loi
(Loi de
de Parkinson)
Parkinson)
Plus

on dispose de temps pour effectuer une tche


et plus celle-ci mettra du temps tre ralise.

On

a tendance effectuer le travail la dernire


minute.

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Loi de Brooks
Ajouter

des ressources humaines un projet


en retard sur les prvisions ne fait
quaccentuer ce retard (Loi de Brooks)

Cela

est souvent vrai car :

Il

faut du temps pour former/informer une nouvelle personne

Du retard continue alors dtre accumul

Mais cela dpend du profil des personnes car un bon analyste


peut grandement aider !

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Classes de mthodes destimations des


cots
Mthode

Algorithmique (Cocomo, PDF)

Mthode

Analytique (Bottum-up)

Mthode

Globale (Top-down)

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Mthode Algorithmique Cocomo


Estimation
Utiliser
Se

par le nombre de lignes de code

les tailles de prcdents projets

fonder sur les produits concurrents

Diviser

le projet en plusieurs parties facilement

quantifiables.

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Cocomo
Daprs

des caractristiques spcifiques

gradues

Dfinies

On

par lexprience

peut calculer :

Effort

Temps

de Developpement

Productivit

Effectif Moyen

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Cocomo
Avantages
Cette

mthode donne une assez bonne estimation

Limites
Le

nombre de ligne avec lequel est calcul est


variable selon facteur(programmeur/langage)

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Mthode Algorithmique danalyse en points


de fonction
Quantification

des fonctionnalits rclames

par le projet
lments

de points de fonction:

Interrogation Entres

Sorties

Groupe logique de donnes internes GDI

Groupe logique de donnes externes GDE

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Point de fonction
Degr

dInfluence Total (DIT)

Points

de Fonctions Bruts (BFB)

Facteur
Points

dAjustement (TCF)

de Fonctions Ajusts (PFA)

Cours
Cours 3
3 :: Estimation
Estimation des
des cots
cots

Mthodes analytiques bottom-up


Estimation

individuelle de chacun des

lments du projet
Agrgation
Ajouter

des lments (regroupement)

les cots communs

Plan Gnral
Cours

1 : Pert & Gantt

Cours

2 : Organisation et suivi de projet

Cours

3 : Estimation des Cots

Cours

4 : Spcifications

Cours

5 : Quantifications

Cours

6 : Tests

Cours

7 : Techniques de tests

Cours 4 : Spcifications
Spcifications
Nature

et catgories

Cahier

des charges

Dfinition

des spcifications

Modlisation

Cours
Cours 4
4 :: Spcifications
Spcifications

Spcifications
Quest
Une

ce quune spcification ?

spcification cest ce qui permet de:

Etablir

ce que le systme doit tre en mesure de

faire

Etablir

les

contraintes

que

respecter
Dans

quel but ?

Satisfaire

les besoins du client

le

systme

doit

Cours
Cours 4
4 :: Spcifications
Spcifications

Nature et catgories
Nature

des spcifications:

Internes

(spcifications du systme)

Externes (spcifications des besoins)

Point
Point

de
de vue
vue des
des utilisateurs (Diagramme de cas
dutilisation)
dutilisation)

Catgories

de spcifications systme:

Fonctionelles

Non-Fonctionelles

Lies

au domaine dactivit

Cours
Cours 4
4 :: Spcifications
Spcifications

Dfinition des spcifications

Etude de Faisabilit

Rapport de Faisabilit

Explicitation et
analyse des besoins

Modles systme

Spcifications

Validation des
spcifications

Spcifications systme ( point de vue


interne )
Spcifications besoins ( point de vue externe )

Cahier des charges

Cours
Cours 4
4 :: Spcifications
Spcifications

Etude de faisabilit
On

explicite ce qui doit tre fait et comment cela


devra ltre

Le

systme contribue-t-il aux objectifs essentiels de lenvironnement


dutilisation ?

Le

systme peut-il tre implmenter laide des technologies


existantes, sous les contraintes budgtaires et temporelles fixes ?

Le

systme pourra-t-il tre intgr aux autres systmes dj en


place ?

Cours
Cours 4
4 :: Spcifications
Spcifications

Analyse des besoins


Il

est possible deffectuer lanalyse des besoins


quand :

Ltude

On

de faisabilit a reu une rponse positive

doit alors expliciter et analyse les besoins :

En

dfinissant les personnes affectes par le systme

En valuant leurs besoins par ordre dimportance


Il

est ncssaire de bien dfinir les besoins afin de :

Pouvoir

avancer dans le projet sans oublier de fonctionalits

Cours
Cours 4
4 :: Spcifications
Spcifications

Cahier des charges


Contrat

qui dfinit les spcifications

respecter
Document

soucis

sur lequel on peut revenir en cas de

Cours
Cours 4
4 :: Spcifications
Spcifications

Validation des spcifications


Points

de vrification :

Points de vrification

Dfinitions

Validit

Parfois, un acteur revient sur ses dclarations et rexprime ses


besoins diffremment.

Cohrence

Les besoins explicits dans le cahier des charges ne doivent pas tre
contradictoires.

Compltude

Le cahier des charges doit contenir la totalit des besoins des


acteurs autant que possible. Il faut sassurer davoir t exhaustif.

Ralisme

Il faut vrifier quil est rellement possible de satisfaire les besoins


explicits avec la technologie actuelle, en respectant les cots et les
dlais budgts.

Vrifiabilit

Les besoins doivent tre exprims de manire vrifiable, sans


ambigits (si possible), de manire ce que le document puisse
faire office de contrat.

Cours
Cours 4
4 :: Spcifications
Spcifications

Validation des spcifications


Procds

de vrification :

Relecture
Ecriture

systmatique du cahier des charges

dun prototype

Gnration

de cas dutilisation excutables

Cours
Cours 4
4 :: Spcifications
Spcifications

Modlisation
Deux

modles importants :

Modle

de processus

De

type Contextuel

Prescriptif ou Descriptif

Montre les frontires du systme


Diagramme

De

de flot de donnes

type Comportemental

Dcrit ce qui est observable : circulation des flux


de donnes

Cours
Cours 4
4 :: Spcifications
Spcifications

Modlisation
Modle de
manquent]
Peut

processus (Modle contextuel) [les acteurs

tre prescriptif (avant) ou descriptif (aprs)


Code
source
Test
s
Plan tests

Utilit

:
Limites :

Recette

CTRL
?

Validation

Cours
Cours 4
4 :: Spcifications
Spcifications

Modlisation
Diagramme de
comportemental)
Reprsentation
Code
source

flots de donnes (modle


graphique [la BDD
manque]
Rsultat

Plan Test

Utilit

Tests
unitaires

Dcision

CTR
L
Jeu de tests

& Limites :

Ne reprsente pas les dcisions, les concurrences ; mais


reprsente les flots de donnes en informant pas pas.

Plan Gnral
Cours

1 : Pert & Gantt

Cours

2 : Organisation et suivi de projet

Cours

3 : Estimation des Cots

Cours

4 : Spcifications

Cours

5 : Quantifications

Cours

6 : Tests

Cours

7 : Techniques de tests

Cours 5 : Quantifications
Quantification

(Complexit, Qualit,

Maintenance)
Validit

de la mesure

Complexit
Graphe

structurelle de Mc Cabe

de Contrle

Halstead

& Henry-Kafura

Cours
Cours 5
5 :: Quantifications
Quantifications

Quantification
Comment

Metrique du logiciel :nombre de cyclomatique de Mc Cabe

Pourquoi

Savoir

o on en est (temps, cots, risques)

valuer le travail effectu (quantit, productivit)

valuer le produit (pertinence, qualit)

Dtecter les problmes imminents ou potentiels

Faire des prvisions

Cours
Cours 5
5 :: Quantifications
Quantifications

Validit de la mesure

Cours
Cours 5
5 :: Quantifications
Quantifications

Graphe de Contrle
Compos

de :

Nuds
Nuds

Arcs
Arcs

Cours
Cours 5
5 :: Quantifications
Quantifications

Complexit structurelle de Mc Cabe


Pour

connatre la complxit dun code :

Faire
Faire un graphe de contrle
contrle

Puis
Puis calculer
calculer le nombre de cycles

Nombre de cycles = nombres darc nombres de


sommets
+ 2 * nombre de sous-graphes connexes

Cours
Cours 5
5 :: Quantifications
Quantifications

Complexit structurelle de Mc Cabe


Une

autre formule :

C(nombre

Avec

cyclomatique) = a n +2 * p

: nombre cyclomatique

: nombre darcs

: nombre de nuds

: nombre de composantes connexes

Cours
Cours 5
5 :: Quantifications
Quantifications

Complexit structurelle de Mc Cabe

Ici, il y a : 10 nuds et 14 arcs. C=14

Cours
Cours 5
5 :: Quantifications
Quantifications

Complexit structurelle de Mc Cabe

Lors

de programmes complexes, utiliser cette


autre formule :

C
C=
=
+1
+1

Avec = nombre de dcisions du code


Instruction

If, WHILE et FOR comptent toutes


pour une seule dcision.

Cours
Cours 5
5 :: Quantifications
Quantifications

Halstead & Henry-Kafura


Mesures de Halstead

Bases sur deux entits: les oprandes et les oprateurs


Mesures prenant en compte les entits de manire distinctes
ou de manire totales

Mesures prenant en compte les entits de manire totales

Longueur de code: nombre total d'oprandes et d'oprateurs


formule: N = N1 + N2
jetons

avec N: nombre total de


N1: nombre total

Cours
Cours 5
5 :: Quantifications
Quantifications

Halstead & Henry-Kafura


Mesures
Longeur du code (not N)
Longueur du code: nombre total d'oprandes et d'oprateurs contenu par le
programme

formule: N = N1 + N2

avec

N1: nombre total d'oprandes


N2: nombre total d'oprateurs

Estimation de la longueur du code (not N*)


Estimation de la longueur total du programme en prenant compte du nombre
d'oprandes et d'oprateurs dictincts.

formule: N* = n1 * log2(n1) + n2 * log2(n2)


distincts

avec

n1: nombre d'oprateurs


n2: nombre d'oprandes

distincts

Cours
Cours 5
5 :: Quantifications
Quantifications

Halstead & Henry-Kafura


Volume du code (not V)
Volume du code: calcule le nombre de bits ncessaires pour coder le
programme
formule: V = N * log2(n)
avec n = n1 + n2

Volume potentiel (not V*)


Dfinit la taille minimale de toute solution au problme, et ce dans
n'importe quel langage
formule: V* = (2 + n2*) * log2(2 + n2)

Cours
Cours 5
5 :: Quantifications
Quantifications

Halstead & Henry-Kafura


Niveau de difficult (not D)
Dfinit la propension d'erreurs du programme
formule: D = (n1/2) * (N2/n2)

Niveau de programme (not L)


Inverse du niveau de difficult
formule: L = 1/D

Cours
Cours 5
5 :: Quantifications
Quantifications

Halstead & Henry-Kafura


Mesures de Henry-Kafura

Mesures se basant sur les liens entre modules du programme


3 critres prendre en compte:

le nombre de flux d'information entrant not in


le nombre de flux d'information sortant not out
le poids du module correspondant not poids (en LOC)

Formule: HK = poids * (out * in)

Plan Gnral
Cours

1 : Pert & Gantt

Cours

2 : Organisation et suivi de projet

Cours

3 : Estimation des Cots

Cours

4 : Spcifications

Cours

5 : Quantifications

Cours
Cours

6 : Tests

7 : Techniques de tests

Cours 6 : Tests
Tests
Difficults
Types

et limites

de tests

Techniques

gnrales

Techniques

fonctionnelles

Conditions

darrt

Cours
Cours 6
6 :: Tests
Tests

Tests
Pourquoi

Activit

Utilit

faire des tests ?

lis diffrentes conjectures (humaines, logiciel, )

du test : valuer le systme

Un test russi est donc un test qui trouve des


erreurs
Deux

finalits :

Vrifier

le respect des exigences spcifiques


Identifier les carts entre les rsultats rels et

Cours
Cours 6
6 :: Tests
Tests

Tests
Ne pas confondre le terme de test avec
celui de mise en point!
Test

Mise en

point
processus de vrification
correction

processus de

Cours
Cours 6
6 :: Tests
Tests

Difficults et limites
Difficults
Exaustivit

& Pertinance

Il faut tester par choix car il est impossible de tout


tester
Critre

darrt

Il faut savoir quand sarrter de tester

Cots

Il faut arriver un bon compromis.


Qualit

Dlais

Cours
Cours 6
6 :: Tests
Tests

Difficults et limites
Limites

Effectuer tous les tests possibles n'est pas


ncessaire

Un systme ne peut jamais tre garanti sans


dfauts!

Cours
Cours 6
6 :: Tests
Tests

Types de tests
Test

unitaire :

Permet

Test

dintgration :

Permet

Test

de vrifier la qualit des composants du programme

de vrifier lintgration des modules du programme

systme :

Permet

de valider les spcifications et les exigences


fonctionnelles

Test

de recette :

Test

final permettant la validation du systme par rapport

Cours
Cours 6
6 :: Tests
Tests

Techniques gnrales
Fonctionnelles
Certaines

ou non fonctionelles

techniques sutilisent dans les deux cas

Tests:
Par

affirmation/ngation
Bote blanche/noire
Par prdiction des erreurs
Automatiques

Cours
Cours 6
6 :: Tests
Tests

Techniques gnrales
Test

par affirmation/ngation :

Vrifie
Vrifie la
la conformit
conformit dun
dun systme
systme aux
aux exigences
exigences formules
formules

Cours
Cours 6
6 :: Tests
Tests

Techniques gnrales
Test

bote blanche :

Permet

Test

de vrifier la faon dont le systme est construit.

bote noire :

Utilis

uniquement lorsque lon tudie les entres/sorties.

Cours
Cours 6
6 :: Tests
Tests

Techniques gnrales
Test

par prdiction des erreurs:

Informations

Rsultats

concernant lapplication dvelopper

des phases prcdentes

Exprience

en test de logiciels similaires

Connaissance

des erreurs types dimplmentation

Cours
Cours 6
6 :: Tests
Tests

Techniques gnrales
Tests

automatiques :

Objectifs
Tests
Ces

: Comparer leffet attendu et leffet dsir

existants : performance, charge, volume

derniers permettent dxcuter un plus grand

nombre de tests par rapport aux mthodes manuelles.

Cours
Cours 6
6 :: Tests
Tests

Techniques fonctionnelles
On

sintresse aux fonctionnalits du systme

Respect

des exigences fonctionnelles :

Analyse

partitionelle
Test aux limites
Test alatoire
Test de transition dtat
Test statique
Test de navigation

Cours
Cours 6
6 :: Tests
Tests

Techniques fonctionnelles
Analyse

Rside

partitionnelle:

sur la possibilt de rpartir les entres et sorties

de manires cohrentes.

Cours
Cours 6
6 :: Tests
Tests

Techniques fonctionnelles
Test

aux limites :

Bas

sur le mme principe que lanalyse partitionnelle

mais, ici, test la limite de chaque classe et non un


reprsentant de telle ou telle classe de manire
alatoire.

Cours
Cours 6
6 :: Tests
Tests

Techniques fonctionnelles
Test

alatoire :

Permet

de crer automatiquement des jeux de tests et

de dtecter des dfauts cachs.

Cours
Cours 6
6 :: Tests
Tests

Techniques fonctionnelles
Test

de transition dtat :

Reprsenter

en fonction des tats possibles du

systmes.
Jeux

dessais tirs des spcifications (ex: UML).

Approche

utile pour les tests par affirmation.

Cours
Cours 6
6 :: Tests
Tests

Techniques fonctionnelles
Test

statique :

Vrification

Test

du logiciel sans lxcuter.

de navigation :

Permet

dvaluer la logique mtier de bout en bout.

Cours
Cours 6
6 :: Tests
Tests

Conditions darrt
Arrt

des tests :

Cest

une dcision difficile qui est prise de faon

arbitraire.
Mais

il existe des critres plus objectifs pour


dterminer l'arrt des tests:

Le

degr de conformit aux exigences est atteint

La taux de couverture de test du code

Le nombre de jeux de tests prvus, conus, russis ou rats


informent sur l'tat d'avancement des tests

Le taux de dtection d'erreurs et sa stabilit

Cours
Cours 6
6 :: Tests
Tests

Conditions darrt : Couverture d'un test


La

couverture de test permet :

Selectionner
Selectionner le
le type
type de
de tests adequat

Dfinir
Dfinir quand
quand arreter
arreter les
les tests
tests en garantissant que le test de lapplication est
est
satisfaisant
satisfaisant

Un

critre A couvre un critre B si et seulement si


tout test satisfaisant A satisfait aussi B.

Cours
Cours 6
6 :: Tests
Tests

Conditions darrt :Couverture dun test


Couverture

tests fontionnels

Il

faut couvrir toutes les fonctionnalits mentionnes


dans les spcifications quelle que soit la phase de test
considre

Tests

structurels :

C0

: couverture de chaque instruction


C1 : couverture de toutes les branches construire
graphe

Test

de tous les chemins

Chemin

difficile trouver

Cours
Cours 6
6 :: Tests
Tests

Suivi des erreurs


Le

suivi des erreurs permet de conserver une


trace des :
Erreurs

qui se sont produites


Dures entre deux erreurs successives
Ca

permet de :

Mieux

dterminer une date de livraison


Motiver les testeurs et les dveloppeurs en exhibant
les dfauts de leur travail

Cours
Cours 6
6 :: Tests
Tests

Suivi des erreurs

Plan Gnral
Cours

1 : Pert & Gantt

Cours

2 : Organisation et suivi de projet

Cours

3 : Estimation des Cots

Cours

4 : Spcifications

Cours

5 : Quantifications

Cours

6 : Tests

Cours

7 : Techniques de tests

Cours 7 : Techniques de tests


Techniques
Types

non fonctionnelles

de tests

Processus
Tests

unitaires JUnit

Qualits

et normes

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Techniques non fonctionnelles


Test

de scurit: confidentialit des donne et

logiciel.
Test

de stress: permet de tester le systme de ma

niere a supporter les pics de charges dactivit.


Test

de convivialit: Test concernant les IHMs

Test

de Volume: Test concernant le traitement de

donner volume consquent

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Types de tests
Test

unitaire :

Tests

effectus par le dveloppeur sousla

supervision du chef de projet.


Objectif

: Valider la qualit du code et la

performance de chacun des composants


dvelopps.

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Types de tests
Test

dintgration :

Tests

effectus par les dveloppeurs et les testeurs

dintgration.
Objectif

: Valider lintgration des modules (entre

eux puis dans leur environnement dexploitation


dfinitif).

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Types de tests
Test

systme :

Valide

les spcifications techniques dtailles et les

exigences fonctionnelles.

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Types de tests
Test

dintgration systme :

Utile

lorsque le logiciel fonctionne sur une

plateforme avec dautres logiciels.


Test

lintgration en assurant linteroprabilit et

labsence de rpercussions ngatives de son


fonctionnement sur les autres systmes et
inversement.

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Types de tests
Test

dinstallation :

Test

Test

intgral du programme dinstallation

de recette :

Test

la conformit du systme avec les

spcifications.
Assure

le fonctionnement correct du systme avant

sa livraison.

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Types de tests
Test

dexploitation :

Recette

par les exploitants ou administrateurs du

systme.
Test

bta :

Phase

o lon considre que lapplication est stable

pour tre diffuse (mais pas grande chelle).

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Types de tests
Test

de rgression :

Test

faisant suite une modification de

lapplication.
Consiste

comparer les rsultats obtenus avant et

aprs modification du logiciel.

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Processus
Processus

de test dpend du cycle de vie


Cycle de vie en V : une phase de test est
associe chaque tape de dveloppement du
logiciel
Cela permet :
danticiper

les difficults de gestion


de garantir la testabilit du logiciel

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Processus
On
On
On
On

prpare les tests pour que le testeur intervienne


a un regard externe
prcise les rsultats attendus
le montre au client/testeur pour savoir si a correspon

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Processus

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Processus
Rsultat des tests = fiches d'anomalies.

Test boite blanche : test de la qualit du code (syntaxique)


sans excuter lapplication faciliter la maintenance.

Plus les anomalies restent longtemps non dtectes, plus elles


coteront cher tre corriges.

Lien entre qualit et tests : Les tests vrifient, le respect de la


qualit.

Les tests commencent idalement la fin de la phase de


conception.

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Tests unitaires JUnit


JUnit

: Framework de test unitaire pour le langage de

programmation Java.
Les

avantages :

Facilits

pour le test unitaire d'applications Java

Assertions pour exprimer les oracles (sorties attendues)

Lancement automatique des suites de test

Formatage du diagnostic

Test de non rgression facilit

Cours
Cours 7
7 :: Techniques
Techniques de
de tests
tests

Qualit et normes
Qualit

dun processus dfinit par

Facteurs
Critres
Mtriques

Conclusion
Points

Un

importants retenir :

projet slabore de manire hirarchique et organise

Bien

analyser les besoins des utilisateurs est crucial pour les


finalits du projet

Une

estimation de la dure et des cots permet de respecter les


exigences du projet

Les

tests permettent de valider le programme afin de respecter


tout type dexigence au maximum

Questions
Merci

pour votre attention


Avez-vous des questions ?

Vous aimerez peut-être aussi