Introduction au génie logiciel et aux cycles de vie

Transcription

Introduction au génie logiciel et aux cycles de vie
Introduction au génie logiciel et
aux cycles de vie
PR000
Luc LAVOIE, Christina KHNAISSER
Département d’informatique
Faculté des sciences
[email protected]
http://pages.usherbrooke.ca/llavoie
2012-08-29
TABLE DES MATIÈRES
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! Qu'est-ce
que le génie logiciel!?
!! Procédés du génie logiciel
!! Procédés du développement logiciel
!! Vocabulaire usuel
!! À suivre
!! Références
2
2012-08-29
QU'EST-CE QUE LE GÉNIE LOGICIEL!?
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! Hist
orique
!! Défi
nition
!! Prin
cipaux d
omaines
connaiss
de
ance
3
2012-08-29
!! 1968!:
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
QU'EST-CE QUE LE GÉNIE LOGICIEL ?
HISTORIQUE
la «!crise du logiciel!» éclate!!
!! Un
groupe de travail se réunit à
Garmisch-Partenkirchen en Allemagne,
sous le parrainage de l'OTAN.
!! Le
génie logiciel est né.
!! Les
propositions qui en découlent sont pour la
plupart
!!
!!
toujours pertinentes,
très partiellement mises en application.
4
2012-08-29
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
QU'EST-CE QUE LE GÉNIE LOGICIEL ?
DÉFINITION
!! Le
mise en oeuvre logiciel traite de la
configuration (programmation) d’une
machine universelle (ordinateur) dans le but
d’atteindre un objectif spécifique.
!! Le
but du génie logiciel est d’optimiser le
coût et la qualité de mise en oeuvre
(développement, évolution et maintien) du
logiciel.
!! L’ingénierie
des exigences fait partie des
activités couvertes par le génie logiciel.
5
2012-08-29
QU'EST-CE QUE LE GÉNIE LOGICIEL ?
!! Compréhension
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
PRINCIPAUX DOMAINES DE CONNAISSANCE
et résolution de problèmes
complexes
!! Application de connaissances
mathématiques et scientifiques
!! Prise de décision
!! Planification et organisation
!! Algorithmique et programmation
!! Recherche opérationnelle
!! Compilation et théorie des langages
6
2012-08-29
PROCÉDÉS DU GÉNIE LOGICIEL
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! Mod
èle IEEE
!! Cycl
e de vie d
u logiciel
7
2012-08-29
=3#$(>-.)/0(
402(%)$* 768#..#10*
+0*-.)/0( +,*-.)/0(
7630")--080$(
!"#$%&%'#(%)$*+,*-.)/0(
!%")(#10*0(*2,%3%*+,*-.)/0(
* *
8#%$(0$#$'0
;3#",#(%)$
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
PROCÉDÉS DU GÉNIE LOGICIEL
& & & &
MODÈLE IEEE
<0(.#%(
Disposition
des
produits
(archivage)
402(%)$*+0*5,#"%(6
!.)'6+6*+0*+630")--080$(*")1%'%0"
Activités
techniques
;(,+0*
-.6#"#C"0
:6.%&%'#(%)$*0(*3#"%+#(%)$
<0(.#%(
D#%$(0$#$'0*
0(*#22%2(#$'0
402(%)$*+0*"#*')$&%1,.#(%)$
7630")--080$(*+0*"#*+)',80$(#(%)$
9).8#(%)$
AB'"0*+0*+630")--080$(*+,*")1%'%0"
AB'"0*+0*3%0*+,*")1%'%0"
8
2012-08-29
=3#$(>-.)/0(
402(%)$* 768#..#10*
+0*-.)/0( +,*-.)/0(
7630")--080$(
!"#$%&%'#(%)$*+,*-.)/0(
!%")(#10*0(*2,%3%*+,*-.)/0(
+ CVL
* *
8#%$(0$#$'0
;3#",#(%)$
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
PROCÉDÉS DU GÉNIE LOGICIEL
MODÈLE IEEE
& & & &
<0(.#%(
Disposition
des
produits
(archivage)
402(%)$*+0*5,#"%(6
!.)'6+6*+0*+630")--080$(*")1%'%0"
Activités
techniques
;(,+0*
-.6#"#C"0
:6.%&%'#(%)$*0(*3#"%+#(%)$
<0(.#%(
D#%$(0$#$'0*
0(*#22%2(#$'0
402(%)$*+0*"#*')$&%1,.#(%)$
7630")--080$(*+0*"#*+)',80$(#(%)$
9).8#(%)$
AB'"0*+0*+630")--080$(*+,*")1%'%0"
AB'"0*+0*3%0*+,*")1%'%0"
9
entation
!! Proc
édés préd
ictifs
!! Proc
édés syn
thétique
s
!! Proc
édés rétr
o-ingénie
rie
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! Prés
2012-08-29
PROCÉDÉS DU DÉVELOPPEMENT LOGICIEL
19
procédé de développement logiciel est
une façon d’articuler entre eux les nombreux
processus nécessaires au développement
logiciel.
!! On
distingue trois familles importantes de
tels procédés!:
Prédictifs (y compris les précédés itératifs)
!! Synthétiques (y compris les procédés agiles)
!! Rétro-ingénierie
!!
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! Un
2012-08-29
PROCÉDÉS DU DÉVELOPPEMENT LOGICIEL
PRÉSENTATION
20
sous-catégories
!! Réactifs
Cascade
!! V
!! …
!!
!! Itératifs
Cascade itératif
!! RUP
!! …
!!
!! Prédictifs,
donc
planifiés
!! nécessitant une
portée connue au
départ
!!
!! Réactifs,
lorsque la
rétroaction
corrective n’est pas
planifiée
contrairement aux
procédés itératifs
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! 2
2012-08-29
PROCÉDÉS DU DÉVELOPPEMENT LOGICIEL
PROCÉDÉS PRÉDICTIFS
21
fondés sur une approche
empirique, expérimentale mettant à profit
une interaction intense et continue avec le
client.
!! Exemples
XP
!! Scrum
!! Kaban
!! …
!!
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! Procédés
2012-08-29
PROCÉDÉS DU DÉVELOPPEMENT LOGICIEL
PROCÉDÉS SYNTHÉTIQUES
22
!!
!! Il
Activité qui consiste à étudier un objet pour
en déterminer le fonctionnement interne ou
la méthode de fabrication.
existe plusieurs procédés spécifiquement
orientés vers la rétro-ingénierie, dont un de
l’IEEE.
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! Rétro-ingénierie
2012-08-29
PROCÉDÉS DU DÉVELOPPEMENT LOGICIEL
PROCÉDÉS DE RÉTRO-INGÉNIERIE
23
intégrant les approches prédictives et
synthétiques
!! nécessitant une adaptation spécifique à
chaque projet pour un tirer un procédé
!! nécessitant une très grande expertise.
!!
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! Modèle
2012-08-29
PROCÉDÉS DU DÉVELOPPEMENT LOGICIEL
META-PROCÉDÉ SPIRALE
24
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
de vie du logiciel
!! Génie logiciel
!! Procédé
!! Cycle
2012-08-29
VOCABULAIRE USUEL
25
Walter G. Vincenti.
What Engineers Know and How They Know it.
The John Hopkins University Press, 1990.
ISBN 0-8018-3974-2
!! Fairley,
chapitre 2
!! Pressman, chapitres 2, 3 et 4
!! Leffingwell, chapitre 3
!! Vincenti, chapitre 1
!! IEEE 12207
!! ISO12207
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!!
2012-08-29
RÉFÉRENCES
26
!!
Procédés prédictifs
!! PR002!:
!!
Procédés synthétiques
!! PR003!:
!!
Procédés de rétro-ingénierie
!! PR004!:
!!
Méta-procédé Spirale
PR000!: Introduction au génie logiciel et aux cycles de vie (230a) – Lavoie, Khnaisser
!! PR001!:
2012-08-29
À SUIVRE…
27