InfoS7AA - Software Engineering

Software Engineering - Software Development

Responsable : Cedric Zanni,  Maître de Conférences ,  cedric.zanni@univ-lorraine.fr

Pierre-Etienne MOREAU (Pierre-Etienne.Moreau@univ-lorraine.fr)

Durée du module : 21 heures  

Crédits ECTS : 2

Objectif général : 

Acquérir les bases techniques et théoriques nécessaires à une compréhension approfondie des méthodes de production de logiciels.

Programme et contenu

Ce cours introduit aux différents concepts clé du développement logiciel ainsi qu'aux principaux outils associés.

On abordera notamment la notion de design pattern en étudiant leurs utilisations dans la librairie standard Java et JavaFX. Nous étudierons également les grandes familles de méthode de développement logiciel (cycle de développement en V et méthode agiles) ainsi que les différents concepts et outils à disposition pour améliorer la qualité du code/logiciel produit (intégration continue, programmation défensive et par contrat, diagrammme de classe, de cas d'utilisation, de séquence, d'état transition).

Les différents concepts vus seront mis en pratique avec le langage Java ainsi que l'outil Git et la bibliothèque Junit.

La notion d'intégration continue sera abordée en lien avec le projet du cours d'Operating Systems et sera mis en oeuvre avec GitLab CI/CD.

Séances :

Projet :

Framework MVC, JavaFX :

Debugging :

Pré-requis : Programmation

Niveau à atteindre

Modalité d'évaluation


Rappel :


Notes de cours :

Il vous sera demandé de prendre des notes sur un outil de prise de notes collaboratif (ou pad). Tous les étudiants pourront participer mais certains seront officiellement en charge des notes.

Méta-outils : Etherpad (prise de notes collaboratives) de l'Université de Lorraine, Google docs, éventuellement Crocodoc (annotation collaborative).

Compléments de cours :