COURS // INF3143 Modélisation et spécification formelles de logiciels
Mes cours favoris
Ce système permet de sélectionner vos cours favoris en prévision de votre inscription qui se fait sur le portail étudiant.
Trimestre | Cours | Groupe |
---|
Description du cours
- Cycle : 1
- Type de cours : Magistral
- Nombre de crédits : 3
- Discipline : Informatique
Description
Le cours vise à initier les étudiants aux méthodes formelles de spécification et à leur rôle dans le cycle de développement des logiciels. Entres autres, il vise à familiariser les étudiants avec le mode descriptif de spécifications plutôt qu'avec le mode opérationnel (algorithme) auquel ils sont habitués. Il vise aussi à familiariser les étudiants avec les notions d'assertions, de contraintes et de contrats avec leur utilisation pour le développement de logiciels.
Rôle des spécifications et méthodes formelles.
Introduction à certaines notions formelles pour décrire des systèmes et composantes logiciels : diagrammes de classes et contraintes, automates et systèmes de transitions, contrats.
Approfondissement d'une approche basée sur les contraintes et contrats; logique : propositions et prédicats, quantificateurs, modélisation conceptuelle et description de propriétés; types abstraits : ensemble et multi-ensembles, séquences, spécifications comportementales, modélisation de composants divers (fonctions, types muables, types immuables), invariants, pré/post conditions.
Utilisation des assertions et contrats à l'étape de construction de logiciels : test unitaires, vérification dynamique de contrats.
Préalables académiques
[INF1130 Mathématiques pour informaticien] ou [MAT1060 Mathématiques algorithmiques] ; [INF2120 Programmation II]