Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Département Informatique
Critères de qualité
● Validité : réponse aux besoins des utilisateurs
● Facilité d'utilisation : prise en main et robustesse
● Performance : temps de réponse, débit...
● Fiabilité : tolérance aux pannes
● Sécurité : intégrité des données et protection des accès
● Maintenabilité : facilité à corriger ou transformer le logiciel
● Portabilité : changement d'environnement matériel ou logiciel
Critères de qualité d'un logiciel
Étude de faisabilité
Spécification
Établir une description claire de ce que doit faire le logiciel
(fonctionnalités détaillées, exigences de qualité, interface…)
Organisation du projet
Conception
1. Conception architecturale: décomposition et organisation de l'application
en composants plus simples (modules) définis par leurs interfaces
(fonctions et services offerts).
2. Conception détaillée: pour chaque module, description de la manière dont
les services et fonctions sont réalisés:
algorithmes essentiels
structures de données utilisées, etc.
Programmation
Implantation de la solution conçue
Choix de l'environnement de développement, du/des langage(s)
de programmation, de normes de développement...
Test
Tests unitaires:
Tests avec les jeux d'essais par module selon le plan de test.
Tests d'intégration:
Composition progressive des modules
Tests des regroupement de modules
Test du système:
Test en vraie grandeur du système complet selon le plan de test global.
Livraison
Maintenance
Correction : identifier et corriger des erreurs trouvées après la livraison
Adaptation : adapter le logiciel aux changements dans l'environnement
(format des données, environnement d'exécution...)
Perfection : améliorer la performance, ajouter des fonctionnalités,
améliorer la maintenabilité du logiciel
Modèles de développement d'un logiciel
En pratique :
Pas de modèle idéal ●
Choix du modèle en fonction des contraintes (taille des équipes, temps,
qualité...)
Modèles de développement d'un logiciel
Modèles séquentiels
Modèles de développement d'un logiciel
Modèle en Cascade:
Modèle
en
Cascade
Modèles de développement d'un logiciel
Modèle en V:
Modèle en V
Modèles de développement d'un logiciel
Modèle en V:
Limites du modèle en V:
Construit-on le bon logiciel ? Le logiciel est utilisé très (trop) tard (Il
faut attendre longtemps pour savoir si on a construit le bon logiciel).
Modèles itératifs
Le développement itératif implique de découper un projet en un certain
nombre de cycles, ou itérations, au cours desquelles on prévoit de répéter
les mêmes activités.
Le système s’agrandit progressivement,itération par itération
Modèles de développement d'un logiciel
Chaque boucle :
représente une phase du développement
traverse quatre sections :
Définition des objectifs de la phase (la boucle)
Evaluation des risques et plan de gestion
Développement et validation
Planification de la phase suivante
Modèles de développement d'un logiciel
Modèle en spirale
Modèles de développement d'un logiciel
Modèle en spirale
Attention centrée sur l’évaluation des risques
RISQUE = ce qui met en péril processus et qualité.
La défaillance de personnel : embauche de haut niveau, formation mutuelle
adéquation profil/fonction, ...
Le calendrier et budgets irréalistes : estimation détaillée, réutilisation, élagage
des besoins, ...
Le développement de fonctions inappropriées : revues d’utilisateurs, manuel
d’utilisation précoce,...
Les exigences démesurées par rapport à la technologie : analyses techniques de
faisabilité
Modèles de développement d'un logiciel
Méthodes Agiles
Une méthode Agile est une approche itérative et collaborative, capable de
prendre en compte les besoins initiaux du client et ceux liés aux
évolutions.
L'apparition des méthodes agiles est liée au fait que le client est souvent
dans l'incapacité de définir ses besoins de manière exhaustive dès le début
du projet. Le terme « agile » fait ainsi référence à la capacité
d'adaptation aux changements de contexte et aux modifications de
spécifications intervenant pendant le processus de développement.
Modèles de développement d'un logiciel