Génie logiciel / Software engineering

Diplômes intégrant cet élément pédagogique :

Descriptif

Objectifs : sensibilisation à  la conception logicielle (architecture) et la validation (tests)

Compétences visées :
  - représenter une architecture logicielle cohérente (dans un formalisme donné)
  - connaitre, savoir utiliser (en justifiant) des styles architecturaux
  - sensibilisation à  la validation d'une architecture par rapport à  des exigences
  - resituer le test dans un cycle de développement par rapport aux exigences
  - connaitre et savoir des techniques élémentaires de constructions de tests (structurelles et fonctionnelles)

Le cours se découpe en 2 parties : architecture et test.
1. Architecture
 - introduction : de l'importance de l'architecture dans la conception
 - représentation : différentes vues pour capturer l'architecture
 - conception : notion de style/patron et de techniques
 - validation : lien exigences-architecture; cohérences de vues.
2. Test
 - notion de faute, erreur, défaillance
 - notion de données de test vs oracle
 - méthodes de "test fonctionnel" (catégorie et partition)
 - méthodes de "test structurel" (notion de couverture du graphe de contrôle, def-use, ...)
 - outils de tests (couverture et drivers d'exécution)

 

Objectives: awareness of software design (architecture) and validation (tests)

Targeted skills :
   - represent a coherent software architecture (in a given formalism)
   - know, know how to use (justifying) architectural styles
   - awareness of the validation of an architecture with respect to requirements
   - put the test back into a development cycle in relation to the requirements
   - know and know basic techniques of test construction (structural and functional)

It is composed of two parts concerning both architectural design and validation by test.
1. Architecture
 - introduction
 - representation
 - design
 - validation
2. Test
 - fault/error/failure
 - test data and oracle
 - "black-box" testing methods
 - "white-box" testing methods
 - tools for testing

Pré-requis recommandés

Bon niveau en algorithmique-programmation. Premières expériences de projets de développement.

 

Good level in algorithmics and programming. First experiences in development projects.

Bibliographie

 - "Introduction to Software Testing" - Paul Ammann, Jeff Offutt

- "Software Architecture in Practice" - Len Bass, Paul Clements and Rick Kazman 

- "Pattern-Oriented Software Architecture Volume 1: A System of Patterns" - Frank Buschmann, Regine Meunier, Hans Rohnert and Peter Sommerlad

Informations complémentaires

Lieu(x) : Grenoble
Langue(s) : Français