Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
1
© Petko Valtchev Université de Montréal Septembre 2003 2
Analyse et Conception
1. Introductionet
Rappels
© Petko Valtchev Université de Montréal Septembre 2003 3
Intro Les Questions
l Pourquoi le génie logiciel?
l Qu’est-ce qu’on vise?
l Quelle portée de la discipline?
l Quelles sont les activités-clés?
2
© Petko Valtchev Université de Montréal Septembre 2003 4
Intro Le début…
l Aspects historiques
l 1968 Conference d’ OTAN, Garmisch (DE)
l But: résoudre la “Software Crisis”
l Le logiciel avait tendance d’être délivré:
l En retard
l A des coûts exorbitants
l Avec des erreurs
lQuant il était délivré… L
© Petko Valtchev Université de Montréal Septembre 2003 5
Intro L’Essence du Logiciel
l Pourquoi est-ce que les systèmes d’exploitation ne peuvent-
ils être construits comme on construit les ponts?
l Tendance à s’effondrer (“crash”)l Ingénierie imparfaite
l Complexité
l Difficultés de maintenance
l Le Génie Logiciel n’est donc pas un Génie ordinaire!
3
© Petko Valtchev Université de Montréal Septembre 2003 6
Intro Génie Logiciel: Définition
« Ensemble des connaissances, des procédés et des acquis scientifiques et techniques mis en application pour la conception, le développement,
la vérification et la documentation de logiciels, dans le but d'en optimaliser la production, le support et la qualité. »
Office de la langue française, 2000
« (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is
the application of engineering to software.(2) The study of approaches as in (1). »
IEEE Standards Collection: Software Engineering
© Petko Valtchev Université de Montréal Septembre 2003 7
Intro
Software Engineering
Technologie par couches
Génie Logiciel
orienté-“qualité”
processus (modèle)
méthodes
outils
[Pressman 2001]
4
© Petko Valtchev Université de Montréal Septembre 2003 8
Intro Qualité
l Qu’est-ce que c’est? (Question ouverte)
l Types de facteurs:l internes (visibles par les développeurs),
l externes (visibles par les utilisateurs)
l Quelques critères :
l Validité, Fiabilité (ou robustesse), Efficacitél Extensibilité, Réutilisabilité, Compatibilité, Portabilité
l Vérifiabilité, Intégrité
l Facilité d'emploi
© Petko Valtchev Université de Montréal Septembre 2003 9
Intro Qualité (suite)
l Validité : aptitude d'un produit logiciel à remplir exactement ses
fonctions, définies par le cahier des charges et les spécifications.
l Extensibilité : facilité avec laquelle un logiciel se prête à une
modification ou à une extension des fonctions qui lui sont
demandées.
l Réutilisabilité : aptitude d'un logiciel à être réutilisé, en tout ou
en partie, dans de nouvelles applications.
l Vérifiabilité : facilité de préparation des procédures de test.
l Intégrité : aptitude d'un logiciel à protéger son code et ses
données contre des accès non autorisés.
5
© Petko Valtchev Université de Montréal Septembre 2003 10
Intro “Quality is free”
Qualité
Effort
© Petko Valtchev Université de Montréal Septembre 2003 11
Intro Le Processus
l La manière dont nous produisons le logiciel:
l Le modèle de cycle de vie du logiciel
l Les participants individuels
l Les outils – CASE
l Différent chez chaque organisation!
l Standards pour l’évaluation (SEI)
Notrepréoccupationprincipale!
6
© Petko Valtchev Université de Montréal Septembre 2003 12
Intro
statusquo
définitiondu
problème
techniquedéveloppement
solution
intégrationde la
Le Processus Logiciel
La Résolution de Problèmes
© Petko Valtchev Université de Montréal Septembre 2003 13
Intro Le Modèle Linéaire
analysis design code test
System/informationengineering
7
© Petko Valtchev Université de Montréal Septembre 2003 14
Intro Les étapes
Analyse
l Pourquoi : répondre à l'évolution des matériels, des systèmes, des
langages de programmation, et surtout la complexité toujours
croissantes des logiciels.
l Objectifs
l Besoins : Comprendre le problème
l Spécification : Identifier les caractéristiques requis dusystème
l La question prédominante: QUOI
© Petko Valtchev Université de Montréal Septembre 2003 15
Intro Les étapes (suite)
Conception
l Pourquoi : réduire la complexité du passage entre la description
du problème et sa solution.
l Objectif
l Traduction progressive des spécifications (Le Problème)
vers une description du système (La Solution) sans pour
autant produire ce système.
l La question prédominante: COMMENT
8
© Petko Valtchev Université de Montréal Septembre 2003 16
Intro Modèles Itératifs
Prototyping
Rapid ApplicationDevelopment
© Petko Valtchev Université de Montréal Septembre 2003 17
Intro Le Modèle Incrémental
analysis design code test
System/informationengineering
analysis design code test
analysis design code test
analysis design code test
increment 2
increment 3
increment 4
increment 1
delivery of1st increment
delivery of2nd increment
delivery of3rd increment
delivery of4th increment
temps
9
© Petko Valtchev Université de Montréal Septembre 2003 18
Intro Coût Relatif par Étape
l Données de la période 1976–1981
l Le coût de la maintenance!
© Petko Valtchev Université de Montréal Septembre 2003 19
Intro Les deux étapes
Analyse et Conception
l Pourquoi s’y intéresser plus qu’à la mise au point ou à la
maintenance?
l Après tout, la SOLUTION est produite lors de la phase du
codage?
l Et tous sont d’accord que c’est la maintenance qui est la
plus laborieuse?
10
© Petko Valtchev Université de Montréal Septembre 2003 20
Intro Coût des erreurs
Coût de détection et de correction des erreurs selon les phases
© Petko Valtchev Université de Montréal Septembre 2003 21
Intro Les défauts
l 60 à 70 % des défauts sont des erreurs de spécification
et de conception
l Données de Kelly, Sherif, et Hops [1992]
l 1.9 erreurs par page de spécification
l 0.9 erreurs par page de conception
l 0.3 erreurs par page de code
11
© Petko Valtchev Université de Montréal Septembre 2003 22
Intro Les défauts (suite)
l Données de Bhandari et al. [1994]
l Erreurs à la fin de la phase de conception d’une nouvelle
version du produit
l 13% des erreurs provenant de la version précédente duproduit
l 16% des erreurs provenant des nouvelles spécifications
l 71% des erreurs provenant de la nouvelle conception
© Petko Valtchev Université de Montréal Septembre 2003 23
Intro En guise de conclusion…
Importance des phases d’Analyse et Conception:
l Chacune constitue un modèle du système logiciel,
l Le système est la solution du problème à résoudre, lesrésultats des deux étapes ne sont que des représentations dece système, abstraites et souvent très approximatives.
l Principales transformations
l Conjointement, les deux phases opèrent les principalestransitions d’informations concernant le système.
l Difficultés:
l faire converger les idées vagues sur le système que lesintéressés ont au début du projet vers un modèle détaillé deconception qui guide le codage.
l Primordiales pour l’assurance de la qualité du logiciel