Caractéristiques du produit logiciel. Gestion des configurations. Processus de développement logiciel et modèles du cycle de vie. Phases du cycle de vie : analyse, spécification, conception, réalisation, tests et maintenance. Définition des exigences : explicitation, contraintes usagers, frontières de système, consistance, complétude, vérifiabilité et maintenance. Hiérarchie et attributs des spécifications. Modélisation statique et opérationnelle, prototypage. Approches à la vérification : stratégie et planification des tests, évaluation de tests. Analyse de couverture et méthode de tests structurels. Tests unitaires, tests d'intégration et de régression. Tests à boîte noire, vérification fonctionnelle de systèmes et tests d'acceptation.