IP4550 - Software engineering

IP4550 - Software engineering

Objectifs

Objectif général :

- Concevoir l'architecture d'application en utilisant les concepts de conception orientée objet (COO),
- développer cette application en utilisant un langage orienté objet : Java,
- utiliser un Environnement de développement intégré (IDE),
- utiliser les principales API de Java,
- utiliser un bus logiciel simple (Ivy) pour mettre en œuvre la répartition dans une application Java.

Objectifs détaillés :

A l'issue de la partie de COO :
L’étudiant saura conduire une analyse orientée objet ;
L’étudiant saura utiliser le formalisme UML pour décrire les principales vues de son système logiciel (diagrammes de cas d'utilisation, de classes, de séquence)
L’étudiant sera capable de comprendre une spécification basée sur un ensemble de diagrammes UML en vue d’en réaliser une implémentation dans un langage objet (Java)
L'étudiant saura produire des diagrammes de classe et de séquence correspondant à une spécification textuelle donnée, exploitables par la suite pour en produire du code.

A l'issue de la partie de POO
- Comparer et différencier les approches (1) procédurales/fonctionnelles - définir une fonction pour chaque opération dont le corps fournit un cas pour chaque variante de donnée - et les approches orientées-objet (2) - définir une classe pour chaque variante de donnée et fournir une méthode pour chaque opération. Les expliquer en définissant une matrice d’opérations et de variantes.
- Utiliser le sous-classage pour concevoir une hiérarchie de classes simples afin de partager le code dans les classes de niveau intermédiaires.
- Utiliser différents mécanismes d’encapsulation comme les interfaces, les clôtures et le support de types abstraits de données, en Java.
- Définir et utiliser les itérateurs et autres opérations sur des agrégats en utilisant des idiomes les plus courants en Java, y compris en prenant des classes anonymes ou des fonctions comme argument.
- Utiliser la programmation par contrat, et définir des pré-conditions et post-conditions pour chaque méthode,
- Commencer à utiliser les mécanismes de gestion d’événements (ensuite approfondi dans le cours de programmation événementielle).

Place dans le cursus

Ce cours est un pré-requis au cours de programmation événementielle (IH4562) et au projet JAVA (IP4561).

Volume horaire (h)

  • Cours Magistraux : 12h
  • Travaux Dirigés : 11h
  • Travaux Pratiques : 8h

Examens

Nombre total d'heures d’évaluation : 2

En bref

Crédits ECTS : Cf UE

Nombre d'heures 33

Contact(s)

Stéphane CONVERSY

Tél : 05.62.17.40.19

Email : stephane.conversy @ enac.fr

Lieu(x)

  • Toulouse