Recherche
Deuxième semestre

Conception de logiciel

Objectifs

En dehors des preuves de concept, la conception et la réalisation d’un logiciel nécessite de découper ce dernier en différentes fonctionnalités, en différents sous programmes ou composants logiciel,… On retrouve là le concept habituel en informatique : diviser pour régner ou diviser pour résoudre.
Ce principe s’applique aussi bien à la phase d’implémentation qu’à la phase de conception. Il s’appuie aujourd’hui sur des stratégies standards et le plus souvent sur le langage de modélisation UML.
A la fin de ce cours, les élèves connaitront un ensemble de ces stratégies, et seront en mesure d’appliquer ces stratégies pour la conception et l’implémentation de petites applications. S’il y a lieu, les applications modélisées seront implémentées en Java.
Concevoir une application
Découper en fonctionnalités / composants / bibliothèques / …
Modéliser l’application
Modéliser les données manipulées

Plan

Cycle de vie d’un logiciel (analyse, conception, implémentation, test, utilisation et maintenance corrective ou évolutive)
Data UML (et appronfondissement d’UML)
Programmation par Design pattern (patrons E.GAMMA : les modèles de créations, les modèles de structures et les modèles de comportements)
Programmation par composants
Programmation orientée objet : généricité / traits / modèle de composant UML2.2
Les méthodologies de conception OO : processus unifié / méthode AGILE ?
Tests fonctionnels et structurels