Texte de la conférence

Transcription

Texte de la conférence
SWEBOK
Les exigences logicielles et la
conception logicielle dans le
Guide du corpus de
connaissances en génie
logiciel
Pierre Bourque
ÉTS
www.swebok.org
1
Support corporatif :
Projet géré par :
www.swebok.org
2
1
Guide to the SoftWare Engineering
Body of Knowledge (SWEBOK®)
¤
¤
¤
¤
¤
¤
Projet a débuté comme une collaboration entre
IEEE Computer Society, Association for Computing Machinery
et UQAM
Participation internationale de membres de l’industrie, des
sociétés professionnelles, des organismes de normalisation,des
universitaires et des auteurs
Plus de 500 professionnels ont commenté le document
Projet réalisé en trois phases.
La version Trial du Guide est disponible depuis 2001 et la
version 2004 est depuis mai 2004.
La version 2004 est aussi publiée comme rapport technique
ISO.
® Registered in U.S. Patent Office
www.swebok.org
3
Trial Version (2001)
www.swebok.org
4
2
2004 SWEBOK Guide
¤
Disponible à www.swebok.org
¤
Est aussi disponible en format livre par
IEEE Computer Society Press
¤
Est publié comme ISO/IEC Technical
Report 19759
¤
Traduction et adaptation
en d’autres langues?
www.swebok.org
5
Liste des domaines de connaissance
¤
Exigences logicielles
¤
Conception du logiciel
¤
Construction du logiciel
¤
Test du logiciel
¤
Maintenance du logiciel
¤
Gestion de la configuration logicielle
¤
Gestion du génie logiciel
¤
Processus du génie logiciel
¤
Outils et méthodes du génie logiciel
¤
Qualité du logiciel
www.swebok.org
6
3
Objectifs de la présentation
¤
Présenter le projet de développement du guide au
corpus des connaissances en génie logiciel
¤
Situer le projet dans le cadre de la
« professionnalisation » du génie logiciel
¤
Présenter quelques applications du Guide
¤
Présenter un survol sur le chapitre sur les exigences
logicielles
¤
Présenter un survol du chapitre sur la conception
logicielle
www.swebok.org
7
Plan de la présentation
¤
Contexte
¤
Portée, objectifs et publics prévus
Stratégie de développement
Contenu du Guide
Applications du Guide
Évolution du Guide
Les exigences logicielles dans le Guide
La conception logicielle dans le Guide
Conclusion
¤
¤
¤
¤
¤
¤
¤
www.swebok.org
8
4
“Software Engineering”
¤
¤
Utilisé depuis 30 ans!
Des millions de pages sur le sujet!
¤
Des centaines de conférences chaque
année!
¤
Plusieurs programmes universitaires
Des millions de praticiens partout dans le
monde
¤
Niveau ré
réel de maturité
maturit é?
9
www.swebok.org
Qu’est-ce que le génie logiciel?
¤
IEEE 610.12:
v L’application d’une approche
systématique, disciplinée, quantifiable au
développement, l’exploitation et la
maintenance du logiciel; c’est-à-dire
l’application du génie au logiciel.
v (2) L’étude des approches telles que
définies dans (1).
www.swebok.org
10
5
Profession?
¤
Starr*:
v Connaissances et compétence validées par la
communauté des pairs
v Connaissances validées par consensus et ayant
des bases rationnelles et/ou scientifiques
v Les décisions et conseils sont basés sur des
valeurs communes aux membres
Ø *P. Starr, The Social Transformation of American
Medicine: BasicBooks, 1982.
11
www.swebok.org
Développement professionnel
Éducation
professionnelle
initiale
Accréditation
Développement des
habiletés
Sociétés
professionnels
Un ou les deux
Certification
Octroi de
permis
Plein statut
professionnel
Développement
professionnel
Code d’éthique
www.swebok.org
Adapté de Steve
McConnell, After
the Gold Rush,
Microsoft Press,
1999, p. 93
12
6
Plan de la présentation
¤
Contexte
¤
Porté
Port
ée, objectifs et publics pré
prévus
¤
Stratégie de développement
Contenu du Guide
Applications du Guide
Évolution du Guide
Les exigences logicielles dans le Guide
La conception logicielle dans le Guide
Conclusion
¤
¤
¤
¤
¤
¤
www.swebok.org
13
Objectifs du Guide
¤
Identifier le contenu du corpus des
connaissances en génie logiciel
¤
Fournir un index au corpus des
connaissances
¤
Promouvoir une vision uniforme du
génie logiciel
www.swebok.org
14
7
Objectifs du Guide
¤
Préciser la place et définir la frontière
du génie logiciel par rapport aux autres
disciplines: en particulier l ’informatique, la
gestion de projets, le génie informatique et les
mathématiques
¤
Fournir la base pour le développement
de programmes universitaires et du
matériel de certification / permis des
individus
www.swebok.org
15
Publics visés
¤
Organisations privées et publiques
¤
Praticiens
¤
Responsables des politiques
¤
Sociétés professionnelles
¤
Étudiants
¤
Enseignants
www.swebok.org
16
8
Hors mandat :
¤
Développement d’un curriculum
¤
Description exhaustive d’un domaine
de connaissance
¤
Toutes les catégories de
connaissances (ex. R & D)
17
www.swebok.org
Spécialisée
Catégories de connaissance
Généralement
Reconnue
Point de mire du
Guide SWEBOK
Avancée
et
Recherche
Généralement reconnue :
« Applicable à la plupart
des projets la plupart du
temps et il existe un large
consensus sur sa valeur et
son efficacité » PMI
En termes opérationnels, le point de mire du Guide
SWEBOK est un baccalauréat « anglo-saxon »
suivi de quatre
ans d’expérience
www.swebok.org
18
9
Connaissances
du domaine
d’application
Connaissances
GL avancées
Inform.
Connaissances
GL spécialisées
Guide
SWEBOK
Connaissances
d’un
Ingénieur
Logiciel
Maths
...
www.swebok.org
19
Trois principes conducteurs
¤
¤
¤
Transparence : le processus de
développement est documenté et public
Recherche de consensus :
établissement d’un consensus parmi les
intervenants de l’industrie, des sociétés
professionnelles, des sociétés normatives
et des universités
Gratuit sur le Web
www.swebok.org
20
10
Plan de la présentation
¤
Contexte
¤ Portée, objectifs et publics prévus
¤
Straté
Strat
égie de dé
développement
¤
Contenu du Guide
Applications du Guide
Évolution du Guide
Les exigences logicielle dans le Guide
La conception logicielle dans le Guide
Conclusion
¤
¤
¤
¤
¤
www.swebok.org
21
Intervenants
¤
Équipe éditoriale
¤
Comité aviseur : Industrial Advisory
Board
¤
Éditeurs associés des domaines de
connaissances
¤
Réviseurs internationaux
www.swebok.org
22
11
Composition du Industrial
Advisory Board:
¤
Industrie
¤
Société professionnelle
¤
Organisme de normalisation : ISO
www.swebok.org
23
Équipe éditoriale
¤
« Champion » du projet :
v Leonard Tripp, Président, 1999,
IEEE Computer Society
¤
Éditeurs exécutifs :
v Alain Abran, ÉTS
v James W. Moore, The MITRE Corp.
¤
Éditeurs :
v Pierre Bourque, ÉTS
v Robert Dupuis, UQAM
www.swebok.org
24
12
Rôles du Industrial Advisory
Board
¤
Fournir les points de vue des divers publics
Réviser et approuver la stratégie et les
rapports
¤
Contrôler le processus de développement
¤
¤
Aider à la promotion du Guide
Fournir du financement au projet
¤
Accroître la crédibilité du projet
¤
www.swebok.org
25
Éditeurs associ és des
domaines de connaissance
¤
21 spécialistes dans leurs domaines
respectifs
¤
Provenant d’Amérique du Nord, de
l’Europe et de l’Océanie
¤
Rédaction des textes et résolution des
commentaires
www.swebok.org
26
13
Approche en trois phases
Straw Man
Straw Man
Version
Version
Stone Man Phase
Stone Man Phase
(Trial Version)
(Trial Version)
Iron Man Phase
Iron Man Version
(2004 Version)
(Sub-phase 1)
1998
1999
2000
2001
2002
2003
www.swebok.org
27
Phase Straw Man
¤
Définir la stratégie de développement
¤
Créer un « élan » dans la profession
¤
Démarrer la phase Stone Man
v Liste suggérée de domaines de
connaissance
v Liste suggérée des disciplines connexes
www.swebok.org
28
14
Approche en trois phases
Straw Man
Straw Man
Version
Version
Stone Man Phase
Stone Man Phase
(Trial Version)
(Trial Version)
Iron Man Phase
Iron Man Version
(2004 Version)
(Sub-phase 1)
1998
1999
2000
2001
2002
2003
www.swebok.org
29
Processus de ré
révision - Trial Version
Version 0.1
Limited number of domain experts
Review
Cycle 1
Selected users
Version 0.5
Review
cycle 2
Version 0.7
Community
Review
Cycle 3
Version 0.9
www.swebok.org
30
15
Réviseurs (Trial Version)
Version 0.1: 33 réviseurs
Version 0.5: 195 réviseurs
Version 0.7: 378 + 5 pays ISO
USA
Europe
Canada
Australie
Asie
Amer. L.
Pas connu
Niveau d'éducation
Doctorat
Maîtrise
Bacc.
Autres
Nombre d'employés
0-50
50-500
500+
www.swebok.org
31
www.swebok.org
32
16
Résolution des commentaires
www.swebok.org
33
Résolutions formelles au
printemps 2001
¤
SWEBOK Industrial Advisory Board et
IEEE Computer Society Board of
Governors
v Un processus rigoureux a été suivi
v Le guide est prêt pour des essais sur le
terrain
www.swebok.org
34
17
Approche en trois phases
Straw Man
Straw Man
Version
Version
Stone Man Phase
Stone Man Phase
(Trial Version)
(Trial Version)
Sous-Phase 1
Iron Man Phase
(2004 Version)
1998
1999
2000
SousPhase 2
2001
2002
2003
35
www.swebok.org
Réviseurs (2004 Version)
¤
¤
¤
Années d’expérience dans le domaine
60
Number of Reviewers
¤
Réviseurs inscrits: 573
Nombre de pays
représentés: 55
Nombre de
commentaires traités:
1020
Nombre de réviseurs
ayant fourni des
commentaires: 124
Nombre de pays
représentés: 21
50
48
40
44
30
20
10
13
17
2
0
0-9 years
10-19 years
20-29 years
30-39 years
40-49 years
Années d’expérience en industrie
50
45
Number of Reviewers
¤
40
47
35
41
30
25
28
20
15
10
8
5
0
www.swebok.org
0-9 years
10-19 years
20-29 years
30-39 years
36
18
Résolutions formelles à
l’hiver 2004
¤
Endossement du Guide SWEBOK par
Industrial Advisory Board et IEEE
Computer Society Board of Governors
www.swebok.org
37
Plan de la présentation
¤
Contexte
¤ Portée, objectifs et publics prévus
¤ Strat
Straté
égie de dé
d é veloppement
¤
Contenu du Guide
¤
Applications du Guide
Évolution du Guide
Les exigences logicielles dans le Guide
La conception logicielle dans le Guide
Conclusion
¤
¤
¤
¤
www.swebok.org
38
19
Bien livrables
¤
Consensus international sur les
domaines de connaissance
¤
Consensus international sur les sujets
et références de chaque domaine
¤
Consensus international sur les
disciplines connexes
39
www.swebok.org
Description des domaines de
connaissance du génie logiciel
Classification
des Sujets
Description
des sujets
Matrice Sujets
& Références
Classification
de Bloom
www.swebok.org
Références
Disciplines
connexes
40
20
*XLGHW
RW
KH6 RIW
Z DUH( QJ LQHHULQJ %RG\ RI . QRZ O
HGJ H
9
6RIW
ZDUH
&RQILJXUDWLRQ
0DQDJHPHQW
6RIWZDUH
(QJLQHHULQJ
0DQDJHPHQW
6RIW
ZDUH
&RQILJXUDWLRQ
0DQDJHPHQW
)XQGDPHQWDOV
Q
, LWLDWLRQDQG
6FRSH
' HL
IQLWLRQ
.H\V
,VVXHVLQ
6&0
6RIW
ZDUH
&RQILJXUDWLRQ
&RQWURO
6RIW
ZDUH
&RQILJXUDWLRQ
6WDWXV$ FFRXQW
LQJ
3URFHVV
,PSOHPHQWDWLRQ
DQG&KDQJH
6RIW
ZDUH
3URMHFW
3 ODQQLQJ
3URFHVV
' HILQLWLRQ
6RIWZDUH3URMHFW
(QDFW
PHQW
3URFHVV
$VVHVVPHQW
6RIWZDUH
(QJLQHHULQJ 7RRO
V
DQG0 HW
KRGV
6RIWZDUH4 XDOLW
\
6RIW
ZDUH7 RRO
V
6RIWZDUH4 XDOLW
\
)XQGDPHQWDOV
&RPSXWHU
(QJLQHHULQJ
6RIWZDUH4 XDOLW
\
0DQDJHPHQW
3URFHVVHV
&RPSXWHU
6FLHQFH
3UDFWLFDO
&RQVLGHUDWLRQV
0DQDJHPHQW
6RIWZDUH 5 HT XLUHPHQW
V
7RROV
6RIWZDUH' HVLJQ 7RRO
V
6RIWZDUH&RQVW
UXFW
LRQ
7RROV
6RIWZDUH7 HVW
LQJ 7 RRO
V
5HODWHG
' LVFLSOLQHV
6RIWZDUH 0 DLQW
HQDQF H
7RROV
5HYLHZ DQG
(YDOXDWLRQ
3URFHVVDQG
3URGXFW
0HDVXUHPHQW
6RIWZDUH( QJLQHHULQJ
3URFHVV7 RRO
V
6RIW
ZDUH
&RQILJXUDWLRQ
$XGLWLQJ
6RIWZDUH( QJLQHHULQJ
0DQDJHPHQW7RRO
V
,QIUDVWUXFWXUH6 XSSRUW
7RROV
6 : ( QJLQHHULQJ
0HDVXUHPHQW
0DWKHPDWLFV
6RIWZDUH4 XDO
LW
\ 7RRO
V
6RIWZDUH&RQILJXUDW
LRQ
0DQDJHPHQW7RRO
V
&ORVXUH
6RIW
ZDUH5 HO
HDVH
0DQDJHPHQW
DQG
' HOLYHU\
6RIWZDUH
(QJLQHHULQJ
3URFHVV
0LVFHOODQHRXV7RRO
,VVXHV
3URMHFW
PDQDJHPHQW
4XDOLW\
PDQDJHPHQW
6RIW
ZDUH
( UJRQRPLFV
6RIW
ZDUH0 HW
KRGV
+HXULVWLF0 HWKRGV
6\VW
HPV
HQJLQHHULQJ
)RUPDO0 HW
KRGV
3URWRW\SLQJ0 HW
KRGV
0LVFHOODQHRXV0 HW
KRG
,VVXHV
21
6RIW
ZDUH
5 HTXLUHP H
Q
W
V
6RIW
ZDUH
5HTXLUHPHQWV
)XQGDPHQWDOV
5HTXLUHPHQWV
3URFHVV
5HTXLUHPHQWV
( OLFLWDWLRQ
5HTXLUHPHQWV
$QDO\VLV
5HTXLUHPHQWV
6SHFLILFDWLRQ
5HTXLUHPHQWV
9DOLGDWLRQ
3UDFWLFDO
&RQVLGHUDWLRQ
' HILQLWLRQRI
6RIW
ZDUH
5HTXLUHPHQW
3URFHVV0 RGHOV
5HTXLUHPHQWV
6RXUFHV
5HTXLUHPHQWV
&ODVVLILFDWLRQ
6\VWHP
' HILQLWLRQ
' RFXPHQW
5HTXLUHPHQWV
5HYLHZV
,WHUDWLYH1 DW
XUH
RI 5 HTXLUHP HQW
V
3URFHVV
3URGXFW
DQG
3URFHVV
5HTXLUHPHQWV
3URFHVV$ FW
RUV
( OLFLWDWLRQ
7HFKQLTXHV
&RQFHSWXDO
0 RGHOLQJ
6\VWHPV
5HTXLUHPHQWV
6SHFLILFDWLRQ
3URWRW\SLQJ
&KDQJH
0 DQDJHPHQW
)XQFWLRQDODQG
1RQIXQFW
LRQDO
5HTXLUHPHQW
V
3URFHVV6XSSRUW
DQG0 DQDJ HP HQW
$ UFKLWHFWXUDO
' HVLJQDQG
5HTXLUHPHQWV
$ OORFDWLRQ
6RIW
ZDUH
5HTXLUHPHQWV
6SHFLILFDWLRQ
0 RGHO
9DOLGDWLRQ
5HTXLUHPHQWV
$ WWULEXWHV
(PHUJHQW
3URSHUWLHV
3URFHVV4 XDOLW
\
DQG,P SURYHP HQW
5HTXLUHPHQWV
1HJRWLDWLRQ
$FFHSWDQFH
7HVWV
5HTXLUHPHQWV
7UDFLQJ
4XDQWLILDEOH
5HTXLUHPHQWV
0 HDVXULQJ
5HTXLUHPHQWV
6\VWHP
5HTXLUHPHQWV
DQG6RIW
Z DUH
5HTXLUHPHQWV
Principales am éliorations
apportées à la Version 2004
¤
Uniformisation du contenu des chapitres en termes
de table des matières, décomposition des sujets,
concepts véhiculés, terminologie, références citées
et style de rédaction
¤
Améliorations structurelles importantes: Software
Construction, Software Engineering Management,
Software Quality, Software Engineering Process
¤
Amélioration de la cohésion entre le texte et la
décomposition des sujets proposés : Software
Requirements, Software Testing, Software
Maintenance
www.swebok.org
44
22
Principales am éliorations
apportées à la Version 2004
¤
Rajout d’un chapitre sur les disciplines connexes
(au lieu d’une annexe)
¤
Ajout d’une annexe sur les normes en génie logiciel
et renforcement significatif des liens entre les
chapitres et les normes du domaine
¤
Mise à jour du matériel de référence
¤
Analyse et prise d’action selon les essais
documentés du Guide
¤
Résolution des commentaires des réviseurs
www.swebok.org
45
Plan de la présentation
¤
Contexte
¤ Portée, objectifs et publics prévus
¤ Strat
Straté
égie de dé
d é veloppement
¤ Contenu du Guide
¤
Applications du Guide
¤
Évolution du Guide
¤ Les exigences logicielles dans le Guide
¤ La conception logicielle dans le Guide
¤ Conclusion
www.swebok.org
46
23
Applications du Guide
¤
Industrie & gouvernement
v Description de postes (Bombardier Transport)
v Embauche
v Création d’équipe de projets
v Planification de carrières (Construx)
v Négociation de contrats
v Politique gouvernementale (Turquie)
www.swebok.org
47
Applications du Guide
¤
Développement professionnel
v Formation interne, “corporate
universities” (SAP)
v Conception de cours
v Auto-évaluation
v Auto-formation
www.swebok.org
48
24
Applications du Guide
¤
Certification (IEEE CS) et « licensing»
(Ordre des ingénieurs du Québec)
v Questions d’examen
v Matériels d’étude
v En génie logiciel et pour d’autres
disciplines
v Pourrait être sur un sous-ensemble du
Guide
www.swebok.org
49
Applications du Guide
¤
Éducation :
v Conception et évaluation de curriculum
Ø (CC2001, ÉTS, Iceland, Monash)
v Accréditation
v Conception et évaluation de cours
Ø (Arizona State, ETS)
www.swebok.org
50
25
Plan de la présentation
¤
¤
Contexte
Portée, objectifs et publics prévus
Stratégie de développement
Contenu du Guide
Application du Guide
¤
Évolution du Guide
¤
¤
¤
¤
Les exigences logicielles dans le Guide
¤ La conception logicielle dans le Guide
¤ Conclusion
www.swebok.org
51
Modalités d’évolution du Guide
(en cours de définition)
¤
Droits d’auteur appartiennent à la Computer Society
v C’est à eux de définir les modalités d’évolution
¤
¤
¤
¤
¤
¤
Autofinancement de l’évolution
Dirigé par des professionnels du domaine (comme
les normes)
Coordination avec les projets reliés et implication
des parties concernées
Mise à jour continuelle avec publication officielle
selon des périodes fixes
Ouverture à tous et transparence du processus
Excellence technique
www.swebok.org
52
26
Plan de la présentation
¤
¤
Contexte
Portée, objectifs et publics prévus
Stratégie de développement
Contenu du Guide
Applications du Guide
Évolution du Guide
¤
Les exigences logicielles dans le Guide
¤
¤
¤
¤
¤
La conception logicielle dans le Guide
¤ Conclusion
53
www.swebok.org
6RIW
ZDUH
5 HTXLUHP H
Q
W
V
6RIW
ZDUH
5HTXLUHPHQWV
)XQGDPHQWDOV
5HTXLUHPHQWV
3URFHVV
5HTXLUHPHQWV
( OLFLWDWLRQ
5HTXLUHPHQWV
$QDO\VLV
5HTXLUHPHQWV
6SHFLILFDWLRQ
5HTXLUHPHQWV
9DOLGDWLRQ
3UDFWLFDO
&RQVLGHUDWLRQ
' HILQLWLRQRI
6RIW
ZDUH
5HTXLUHPHQW
3URFHVV0 RGHOV
5HTXLUHPHQWV
6RXUFHV
5HTXLUHPHQWV
&ODVVLILFDWLRQ
6\VWHP
' HILQLWLRQ
' RFXPHQW
5HTXLUHPHQWV
5HYLHZV
,WHUDWLYH1 DW
XUH
RI 5 HTXLUHP HQW
V
3URFHVV
3URGXFW
DQG
3URFHVV
5HTXLUHPHQWV
3URFHVV$ FW
RUV
( OLFLWDWLRQ
7HFKQLTXHV
&RQFHSWXDO
0 RGHOLQJ
6\VWHPV
5HTXLUHPHQWV
6SHFLILFDWLRQ
3URWRW\SLQJ
&KDQJH
0 DQDJHPHQW
)XQFWLRQDODQG
1RQIXQFW
LRQDO
5HTXLUHPHQW
V
3URFHVV6XSSRUW
DQG0 DQDJ HP HQW
$ UFKLWHFWXUDO
' HVLJQDQG
5HTXLUHPHQWV
$ OORFDWLRQ
6RIW
ZDUH
5HTXLUHPHQWV
6SHFLILFDWLRQ
0 RGHO
9DOLGDWLRQ
5HTXLUHPHQWV
$ WWULEXWHV
(PHUJHQW
3URSHUWLHV
3URFHVV4 XDOLW
\
DQG,P SURYHP HQW
5HTXLUHPHQWV
1HJRWLDWLRQ
$FFHSWDQFH
7HVWV
5HTXLUHPHQWV
7UDFLQJ
4XDQWLILDEOH
5HTXLUHPHQWV
0 HDVXULQJ
5HTXLUHPHQWV
6\VWHP
5HTXLUHPHQWV
DQG6RIW
Z DUH
5HTXLUHPHQWV
www.swebok.org
54
27
Taxonomie SWEBOK pour les
exigences logicielles
¤ Software
requirements fundamentals-1
vDefinition of a software requirement
ؓa property which must be exhibited by
software developed or adapted to solve a
particular problem.”
ؓan essential property of all software
requirements is that they be verifiable.”
vProduct and Process Requirements
www.swebok.org
55
Taxonomie SWEBOK pour les
exigences logicielles
¤ Software
requirements fundamentals-2
vFunctional and non-functional
requirements
ØFunctional requirements describe the functions
that the software is to execute
ØNon-functional requirements are the ones that
act to constrain the solution.
vEmergent properties
ØRequirements which cannot be addressed by a
single component
www.swebok.org
56
28
Taxonomie SWEBOK pour les
exigences logicielles
¤
Software requirements fundamentals -3
vQuantifiable requirements
Ø Very important and often not easy to specify for the nonfunctional requirements
vSystem and software requirements
Ø System means ‘an interacting combination of elements to
accomplish a defined objective. These include hardware,
software, firmware, people, information, techniques,
facilities, services, and other support elements,’
“International Council on Systems Engineering”
www.swebok.org
57
Taxonomie SWEBOK pour les
exigences logicielles
¤ Requirements
engineering process-1
vProcess models
Øgeneric models
Ønot a discrete front-end activity
Ørequirements must be put under configuration
management
Ømust be tailored to context
vProcess actors
ØWho are they?
www.swebok.org
58
29
Taxonomie SWEBOK pour les
exigences logicielles
¤ Requirements
engineering process-2
vProcess support
Ømakes the link from process activities to issues
of cost, human resources training and tools
www.swebok.org
59
Taxonomie SWEBOK pour les
exigences logicielles
¤ Requirements
engineering process-3
vProcess quality and improvement
Ørequirements engineering coverage by process
improvement standards and models
Ørequirements engineering measurement and
benchmarking
Øimprovement planning and implementation
www.swebok.org
60
30
Taxonomie SWEBOK pour les
exigences logicielles
¤ Requirements
elicitation
vRequirements sources
ØGoals,domain knowledge, stakeholders,
operational environment, organizational
environment
vElicitation techniques
ØInterviews, scenarios, prototypes, facilitated
meetings,observation
www.swebok.org
61
Taxonomie SWEBOK pour les
exigences logicielles
¤ Requirements
analysis-1
vRequirements classification
ØFunctional, non-functional,
priority,scope,volatility
vConceptual modeling
ØUnderstanding of the problem rather than
initiate the design of the solution
ØUML
www.swebok.org
62
31
Taxonomie SWEBOK pour les
exigences logicielles
¤ Requirements
analysis-2
vArchitectural design and requirements
allocation
ØOverlaps with design
ØOften same notations and requirements
ØImportant for project management
vRequirements negotiation
ØConflicting requirements
www.swebok.org
63
Taxonomie SWEBOK pour les
exigences logicielles
¤
Requirement specification
vSystem Definition Document
Ø Concept of Operations
Ø Vision Document
vSystem requirements specification
vSoftware requirements specification
www.swebok.org
64
32
Taxonomie SWEBOK pour les
exigences logicielles
¤ Requirements
validation
vRequirements reviews
vPrototyping
vModel validation
vAcceptance tests
www.swebok.org
65
Taxonomie SWEBOK pour les
exigences logicielles
¤
Practical Considerations
vIterative nature of requirements
vChange management
Ø Importance and required procedures
Ø Strongly linked to CM
vRequirement attributes
Ø Unique Identifier
Ø Strong link to Requirements Classification
vRequirements tracing
vMeasuring requirements
www.swebok.org
66
33
Plan de la présentation
¤
Contexte
¤
Portée, objectifs et publics prévus
¤
Stratégie de développement
¤
Contenu du Guide
¤
Applications du Guide
¤
É volution du Guide
¤
Les exigences logicielles dans le Guide
¤
La conception logicielle dans le Guide
¤
Conclusion
www.swebok.org
67
Conception logicielle
¤
La définition utilisée est celle de IEEE
qui dit que la conception logicielle est
à la fois :
v « Le processus de d éfinition de
l ’architecture, des composantes, des
interfaces et autres caractéristiques d ’un
système ou d ’une composante ».
v « Le résultat de ce processus ».
www.swebok.org
34
Objectifs de la conception
logicielle
¤
Doit analyser les exigences pour produire une
description de la structure interne du logiciel qui
servira à la construction du logiciel.
v Doit décrire l’architecture du logiciel.
v Doit décrire les composantes et les interfaces entre les
composantes avec suffisamment de détails pour
construire ces composantes
v Sert à faire le liens entre les exigences et la
construction(code et test).
v Produire en quelque sorte un plan (blueprint) du logiciel.
www.swebok.org
Software Design
Software Design
Fundamentals
Key Issues in
Software Design
Software Structure
and Architecture
General design
concepts
Concurrency
The context of
software design
Control and handling
of events
Architectural
structures and
viewpoints
The software
design process
Enabling techniques
Distribution of
components
Architectural styles
(macroarchitectural
patterns)
Error and exception
handline and fault
tolerance
Design patterns
(microarchitectural
patterns)
Interaction and
presentation
Software Design
Quality Analysis
and Evaluation
Quality attributes
Quality analysis and
evaluation techniques
Software
Design Notations
Structural
descriptions
( static view)
Behavior descriptions
(dynamic view)
Measures
Families of programs
and frameworks
Software Design
Strategies and
Methods
General Strategies
Function-oriented
(structured) design
Object-oriented
design
Data-structrure
centered design
Component- based
design
Data persistence
Other methods
Figure 1 Breakdown of topics for the Software Design KA
www.swebok.org
70
35
Software Design Fundamentals
¤
Cette section introduit 4 concepts qui offre une base
pour la compréhension du rôle et de la portée
du software design
General Design Concepts
Software Design Process
Context of Software Design
Enabling Techniques for Software Design
www.swebok.org
71
General Design Concepts
¤
Le « design » peut être vu comme une forme de
résolution de problème
¤
Par exemple un problème sans solution définitive
est intéressant pour comprendre les limites du
« design »
¤
Sert à comprendre le « design » dans le sens
général : buts, contraintes, alternatives,
représentations et solutions
www.swebok.org
72
36
Context of Software Design
¤
Sert à comprendre le rôle et la place de Software
Design
¤
Il est important de comprendre le contexte dans
lequel le design s ’harmonise, i.e., le cycle de vie
logiciel.
¤
Les caractéristiques majeures des exigences vs le
Software Design vs la construction(code) vs les
tests doivent être comprises.
www.swebok.org
73
Software Design Process
¤
Se divise en 2 parties importantes
v Architectural Design
Ø Décrit comment le logiciel est décomposé et organis é en
composantes.
v Detailed Design
Ø Décrit chaque composante
¤
Le résultat de ce processus sera un ensemble de
modèles et d’artéfacts qui décrit les décisions
majeures qui auront été prises.
www.swebok.org
74
37
Enabling techniques for
Software Design
¤
Ce concepts décrit les « principes » sous-jacents
aux différentes approches du Software Design
v Abstraction
v Couplage et cohésion
v Décomposition et modularité
v Encapsulation (data abstraction and information hiding)
v Séparer l’interface de l’implantation
v Complétude, suffisance et « primitivité »
www.swebok.org
75
Key Issues in Software Design
¤
Un certains nombre d’éléments clés doivent être
considérés
v Concurrence des composantes.
v Contrôle et manipulation des événements
v Distribution des composantes
v Manipulation des erreurs et des exceptions et la tolérance
aux fautes.
v Interaction et présentation
v Persistance des données
www.swebok.org
76
38
Software Structure and
Architecture
Architectural structures and
viewpoints
Design patterns
(micro-architectural design)
Architectural style
(macro-architectuiral patterns)
Families of programs and
framework
www.swebok.org
77
Architectural Structure and
Viewpoints
¤
S. D. doit être décrit et documenté
selon différents points de vue. Ex:
v Logical view(point de vue des exigences)
v Process view(concurrence)
v Physical view(distribution)
v Development view(découpage des
composants)
www.swebok.org
78
39
Architectural Styles
¤
Un style d’architecture est « Un
ensemble de contraintes qui
définissent un ensemble ou une famille
d ’architectures. » Ex:
v Pipes and Filters
v Client-Server
v Rule-Based
www.swebok.org
79
Design Patterns
¤
Un patron de conception est « une
solution commune à un problème
commun dans un contexte donné » Ex:
v Singleton, Decorator, Mediator
www.swebok.org
80
40
Families of Programs and
Frameworks
¤
Une possibilité pour la réutilisation des conceptions
logicielles est de faire des familles de
logiciels.(software product lines). Lesquelles sont
faites en identifiant les points communs et en
utilisant des composantes réutilisables qui satisfont
les membres des différentes familles.
¤
Un « framework » est un sous-système
partiellement complet qui peut être étendu en
« instanciant » correctement quelques « plug-ins »
spécifiques (aussi appelés « hot spots »).
www.swebok.org
81
Software Design Quality
Analysis and Evaluation
Quality attributes
Measures
Quality analysis and evaluation
tools
www.swebok.org
82
41
Quality Attributes
¤
Différents attributs de qualité sont
considérés pour obtenir une conception
logicielle de qualité.
v Détectables à l ’exécution
v Non-détectables à l ’exécution
v Reliés à la qualité de l’architecture
www.swebok.org
83
Quality Analysis and
Evaluation Tools
¤
On peut décomposer les outils et
techniques qui peuvent assurer la
qualité du design en plusieurs
catégories.
v Software design reviews
v Static analysis
v Simulation and prototyping
www.swebok.org
84
42
Measures
¤
2 grandes catégories de mesures
quantitatives.
v Orientées-fonction
v Orientées-objet
www.swebok.org
85
Software Design Notations
¤
Différentes notations sont utilisées
autant dans la partie architecturale que
dans la partie détaillée.
Structural descriptions
Behavioral descriptions
www.swebok.org
86
43
Structural Descriptions
¤
C ’est une vue statique souvent
graphique qui décrit et représente
l ’aspect structurel de la conception
logicielle Elle permet aussi de décrire
les composantes et leurs relations. Ex:
v Class and object diagrams
v Component diagrams
v Entity-Relationship diagrams(ERD)
www.swebok.org
87
Behavioral Descriptions
¤
C ’est une vue dynamique utilisant
notations, graphiques et langages
pour décrire le comportement des
composantes et du logiciel. Ex:
v Activity diagrams
v Collaboration diagrams
v Sequence diagrams
v State transition ans statechart diagrams
www.swebok.org
88
44
Software Design Strategies
and Methods
Les méthodes offrent un ensemble de notations, descriptions
et d ’heuristiques qui permettent de les utiliser.
General strategies
Data structure centered
Function oriented(structured)
Others
Object-oriented
www.swebok.org
89
General strategies
¤
Les exemples les plus souvent citées sont :
v diviser pour régner et raffinement successif
v approche descendante et ascendante
v abstraction et camouflage d ’informations
v utilisation de patterns et PDL
v utilisation d ’approche incrémentale et itérative
www.swebok.org
90
45
Function-oriented (structured )
design
¤
Une des stratégies classiques en conception
logicielle
¤
Décomposition en fonctions importantes du logiciel
et leur élaboration en utilisant une approche
descendante (top-down)
¤
Habituellement utilisée après une analyse structurée
produisant les diagramme de flux de données (DFD)
et la description des processus associés.
¤
Il y a eu plusieurs stratégies et heuristiques
proposées pour améliorer les DFD.
www.swebok.org
91
Object-oriented design
¤
Certains éléments clés de cette
méthode sont :
v L ’encapsulation
v L ’héritage
v Le polymorphisme
www.swebok.org
92
46
Data structure-centered
¤
La moins populaire des stratégies en
Amérique du nord.
v La définition des entrées/sorties du
système est faites en premier.
v Les structures de contrôle du programme
sont définies à partir des structures de
données.
www.swebok.org
93
Plan de la présentation
¤
¤
Contexte
Portée, objectifs et publics prévus
Stratégie de développement
Contenu du Guide
Applications du Guide
Évolution du Guide
Les exigences logicielles dans le Guide
La conception logicielle dans le Guide
¤
Conclusion
¤
¤
¤
¤
¤
¤
www.swebok.org
94
47
Conclusion
¤
Les exigences logicielles occupent une
place importante en génie logiciel et
dans le Guide SWEBOK
¤
Un consensus sur un corpus de
connaissances est un élément-clé dans
l’évolution de la discipline
www.swebok.org
95
www.swebok.org
www.swebok.org
96
48