L'unité d'enseignement « Introduction à la modélisation des systèmes logiciels avec UML » est
une UE de niveau (300) spécialisation relevant de la licence d'informatique.
Elle possède un volume de 6 ECTS et
s'étend sur 12 semaines. Elle est placée sous la responsabilité de Blanc, xavier.
Description
L'objectif de cette unité d'enseignement est d'une part d'enseigner les bases de la modélisation orientée objet d'un système logiciel et d'autre part de pratiquer l'utilisation d'UML pour la modélisation avec un outil de modélisation orientée objet. Cette UE se focalise en particulier sur les phases de reverse engineering et de génération de code (à partir de, et vers, Java).
La modélisation de systèmes logiciels est une activité qui prend une importance de plus en plus grande. Les techniques de modélisation autour de UML (Unified Modeling Language) sont d'ailleurs aujourd'hui matures et largement utilisées dans les projets industriels.
Ce cours a pour objectif de présenter ces techniques. De montrer combien elles sont puissantes en permettant notamment de générer automatiquement du code, de la documentation et des tests.
Plus précisément, ce cours présentera l'intérêt de la modélisation au travers du standard UML. Les diagrammes de classes, de séquences et de Use Case UML seront aussi présentés.
Préalables et buts pédagogiques
Bibliographie
Contenu indicatif par semaine
Introduction : Un curieux besoin de modélisation
Objectif : Mettre en exergue les limitations du code pour traiter l'évolution, la maintenance, la construction d'applications orientées objet.
Le diagramme de classes UML
Objectif : Présenter la syntaxe et la sémantique d'un diagramme de classes
Reverse Engineering
Objectif : Présenter l'intérêt du reverse engineering. Illustrer la différence entre modèle et diagramme (notion de vue).
Retro-Conception via patterns
Objectif : Appliquer des patterns de conception sur les diagrammes de classes pour améliorer la conception d'une application orientée objet. Présentation de la structuration Vue, Traitement, Données.
Génération de code
Objectif : Montrer l'intérêt de la génération de code. Montrer les différentes techniques de génération de code. Montrer le manque de langage de modélisation d'algorithme.
Le diagramme de séquences UML
Objectif : Présenter la syntaxe et la sémantique d'un diagramme de séquences
Génération de code à partir de diagrammes de séquences : les tests
Objectif : Montrer l'intérêt des diagrammes de séquences sur, entre autres, la génération de tests.
Réflexion sur les classes : vers l'indépendance des plates-formes techniques.
Objectif : Identifier les différents types de classes (Analyse? Conception?). Expliquer l'importance des liens de traçabilité (intérêt des séquences).
Une méthode de modélisation LP6 (Licence Paris 6)
Objectif : Présenter les intérêts d'un support méthodologique. Présenter une méthode simple Classes Abstraites (ou interfaces) / Tests / Conception / Génération de code / Algorithme.
Le diagramme de Use Case UML
Objectif : Présenter la syntaxe et la sémantique d'un diagramme de Use Case.
Extension de la méthode LP6
Objectif : Introduire la différence en Analyse / Conception (Quoi / Comment)
Synthèse et conclusion