Niveau d'étude
Bac +4
ECTS
3 crédits
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Description
L'objectif de ce projet est la mise en œuvre des compétences acquises dans différentes UE fondamentales pour la construction d'une application de gestion de données dans un cadre concret de travail en équipe. Les aspects de bases de données (gestion concurrentielle, intégrités et méthodes d'optimisation) constituent le socle de ce projet. Les aspects de modélisation des données, des processus, activités et tâches en partant du cahier des charges et des besoins fonctionnels du client constituent une partie importante du travail. La maitrise des architectures client-serveur, des aspects Front-End et Back-End seront au cœur de la partie technique.
Heures d'enseignement
- TDTD36h
Pré-requis recommandés
- Compétences des UE Analyse fonctionnelle pour la modélisation de processus
- Bases de données avancées,
- Ingénierie des IHM
- Patrons et composants
Période
Semestre 7
Compétences visées
Modélisation
Spécifier et développer les fonctionnalités correspondant au cahier des charges / scénarios et des modèles logiques d’un système d’information
Modéliser les processus et les données (au niveau conceptuels et logiques) d’un système d’information
Modéliser les buts des utilisateurs sous forme de modèle de tâches
Gestion de données
Implémenter un modèle de données sous la forme de classe Java métiers persistantes à l'aide d'un ORM (JPA/Hibernate) au sein d'une aqrchitecture multi-tiers
Analyser les conflits potentiels de concurrence d'accès aux données dans un SI et mettre en œuvre une gestion des transactions pour les éviter
Spécifier et implémenter une gestion des contraintes métiers (Application, Spring Listener, Trigger)
Peupler une base de données à partir de données fournies ou générées artificiellement.
Optimiser les performances d'un SI en analysant les éléments qui l’impactent : schéma de données, indexation, requêtes, transactions.
Interface homme-machine
Produire une procédure de tests et les tests end-to-end pour vérifier la conformité vis-à-vis d'une interface web
Evaluer l'impact énergétique d'une interface web
Identifier les modèles/outils à mettre en application pendant la conception ergonomique d’une interface web
Définir et argumenter des choix de présentation de l'interface en fonction de règles
Expertiser et critiquer l’ergonomie d’une interface web
Architecture logicielle et Gestion de projet
Mettre en place d’une architecture en couches avec isolation des briques logicielles.
Mettre en œuvre des bonnes pratiques logicielles : clean code, principes SOLID, Design Patterns, tests.
Travailler en équipe et se répartir les tâches en exploitant Git
Mettre en place une méthode de travail agile
Présenter une revue de sprint intermédiaire et une livraison finale au client