Concept Objet

Année du cours : 2 année(s)

Etablissement : JUNIA Grande école d’ingénieurs

Langue : Français

Période : S1

Pour suivre ce module, l’étudiant doit maîtriser les concepts objets (construction d’objets simples, (construction d’objets composites, héritage, polymorphisme, exceptions, …) et avoir mis en œuvre ces notions en JAVA ou en C++.

Référence : « Module JAVA 1 » dispensé en M1 à l’ISEN Lille

Compétences visées : 31(311/312/313), 43(431/432/433), 63(634)

La formation au développement d’applications informatiques abordé par l’usage d’un langage de programmation orienté objets tel que JAVA ou C++ ne serait être complète si elle n’était pas accompagnée d’une démarche préalable de conception structurée et de respect de standards.

La conception d’une application dans un langage objet consiste à identifier des entités logiques réutilisables et à les organiser de manière flexible en évitant, tant que faire se peut, les interdépendances. Les bénéfices principaux pouvant en être retirés résident principalement dans une meilleure adaptabilité de l’application en cas d’évolutions des besoins, dans une plus grande efficacité dans l’organisation des développements, et dans une plus grande maintenabilité de leur code source. Cependant lorsqu’elle est mise en œuvre en dehors du respect de règles précises, cette approche peut également introduire un niveau de complexité critique constituant alors un danger pour l’évolution des projets.

Ce cours vise à professionnaliser la conception orientée objet d’un logiciel, notamment par l’étude de certains archétypes de conception, appelés « patrons de conceptions » (« Design Pattern ») ainsi que par l’introduction d’un langage formel de représentation de la structure d’un programme (« Unified Modeling Langage »).

A la fin du cours, l’étudiant devra :

– Savoir concevoir l’architecture d’un programme complexe à l’aide d’un langage orienté objets
– Etre capable de choisir les bons patrons de conception à utiliser en fonction du problème
– Maitriser une partie du langage UML pour modéliser une application
– Connaitre les grands types de patrons de conception

L’UML (Unified Modeling Language) est le langage permettant de modéliser et de représenter l’architecture d’un logiciel. Les parties « diagramme de classes » et « diagrammes d’interactions », qui nous intéressent dans le cadre de ce cours, permet de spécifier les différentes classes de l’applications ainsi que leurs interactions sous forme de diagrammes. UML est un standard adopté par les grands acteurs du marché pour la conception orientée objets d’applications et la documentation de projets.

Les patrons de conceptions décrivent des organisations de classes et d’objets afin de faciliter la réutilisation et la maintenance du code. Un patron de conception peut être vu comme une forme d’organisation permettant de résoudre un problème de conception générique. Il est donc réutilisable et transposable à plusieurs applications. Ainsi, un patron de conception décrit une solution optimale à un problème souvent rencontré dans le développement d’applications.

Ce module aborde les thématiques suivantes :

– L’UML : diagrammes de classes et diagrammes de séquences
– Les patrons de conception du GoF ( Gand of Four)
– Le patron MVC (Modèle Vues Controleurs) et ses variantes