Compétence-1-2013-2014
26/09/2013
Objet : application MVC avec IHM
A - Développement d'une application avec architecture à deux niveaux (2 tiers : application + base de données relationnelle).
1 - Compétences liées à la méthodologie :
- Développement à partir d'un diagramme de classe UML (schéma sur papier).
- Développement par itérations successives (1 : menu, 2 : menu + contrôleur, 3 : menu + contrôleur + actions, 4 : menu + contrôleur + fabrique + actions + gerantdeproduit + produit).
- Développement avec l'utilisation de briques logicielles (Driver JDBC).
2 - Compétences liées à la structuration des données :
- Création de la table PRODUIT => clé primaire auto-incrémentée colonne CODE contrainte unique colonne prix contrainte check.
- Création de la classe Produit correspondant (mapping) à la table PRODUIT.
3 - Compétences liées à l'outillage :
- Utilisation de l'environnement intégré de développement (IDE) Eclipse (version KEPLER).
- Utilisation du navigateur SQL graphique Squirrel (application JAVA Swing).
4 - Compétences base de données :
- Utilisation du produit logiciel DERBY en mode Embarqué (mono-thread).
5 - Compétences liées aux concepts :
- Concept MVC : patron de conception ayant pour objectif de distinguer et de découpler les perspectives d'une application avec IHM.
Perspectives : VUE, CONTROLEUR, MODELE.
VUE : tout ce qui est présenté ou saisie par les utilisateurs.
CONTROLEUR : toute la logique applicative (IF ... ELSE .., WHILE ...).
MODELE : toutes les entités métier de l'application qui ont vocation à être persistantes. (les objets produits JAVA persistent dans la table PRODUIT de la base DERBY).
Découpler signifie rendre plus lâches, plus souples , plus indépendants les dépendances entre les composants VUE, CONTROLEUR et MODELE. Dans le but de favoriser la réutilisation.
6 - Compétences liées aux principes de la POO (Programmation Orientée Objet) :
- DRY principe : "Don't repeat yourself" => aucune ligne de code dupliquée dans toute l'application.
- Programmer par interface => interfaces Action et GerantDeProduit.
- Mise en oeuvre du Design Pattern Fabrique avec la classe FabriqueAction responsable de l'instanciation des objets de type Action (ActionErreur, ActionFin, ActionListerTous, ActionListerUn).