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.
Conception de sites web complexes pour la génération dynamique de contenu et la gestion d'interactions avec les utilisateurs. Présentation générale de l'architecture du web et du protocole HTTP (HyperText Transfer Protocol). Structure d'un document HTML (HyperText Markup Language). Mise en forme d'un document HTML par l'utilisation de CSS (Cascading Style Sheet). Paradigmes de conception propres aux systèmes web. Programmation du côté serveur. Gestion d'une session sur un site web. Éléments de sécurité pour les sites web. Présentation du format XML (Extended Markup Language) et du langage de transformation de documents XSL (Extended Stylesheet Language). Programmation du côté client par le biais de scripts exécutés par le navigateur web. Interface avec une base de données relationnelle. Notions de performance et de sécurité. Notions de validation et de test de sites web dynamiques et transactionnels.