Study Programmes 2022-2023
WARNING : 2021-2022 version of the course specifications
INED0001-2  
Advanced Design
  • Distributed Application Design
  • OO Application Design and Architecture
Duration :
Distributed Application Design : 18h Pr
OO Application Design and Architecture : 24h Th
Number of credits :
Bachelor's degree in Business informatics5
Lecturer :
Distributed Application Design : Cédric Peeters
OO Application Design and Architecture : Isabelle Dony
Coordinator :
Isabelle Dony
Language(s) of instruction :
French language
Organisation and examination :
Teaching in the first semester, review in January
Units courses prerequisite and corequisite :
Prerequisite or corequisite units are presented within each program
Learning unit contents :
Distributed Application Design
Ce laboratoire a pour but de faire connaître, et mettre en œuvre, diverses technologies pour le développement et le déploiement d'applications distribuées. Ce laboratoire illustrera également le fait que les entités distribuées (clients et serveurs) peuvent être programmées dans un même langage ou dans des langages différents.  :
  • EJB3 (session stateless et stateful, entity) avec déploiement surun serveur d'application
  • Algorithme d'élection
  • Two-phase commit
  • Spring
  • Introduction aux micro-services
Selon l'état d'avancement de la matière d'autres matières sont succeptibles d'êtres ajoutées ou à l'inverse certaines matières pourraient ne pas être abordées.
OO Application Design and Architecture
  • Présentation des différentes visions informatiques (architectures applicative, logicielle et physique)
  • Design patterns: étude et applications en java.
Learning outcomes of the learning unit :
Not available
Distributed Application Design
 
  • Créer un client et un serveur et communiquer entre eux (EJB, CORBA, etc.)
  • Pouvoir élire un serveur maitre parmi plusieurs serveurs.
  • Assurer la cohérence des données réparties sur plusieurs serveurs.
 
OO Application Design and Architecture
En suivant ce cours, l'étudiant pourra :
en termes de savoirs
Connaitre les différents positionnements de la vision informatique en se focalisant sur la vision informatique logique et la vision informatique technique :
  • Architecture applicative
  • Architecture logicielle avec focus sur les différents design patterns, leurs rôles et leur classification.Modèle en couches
  • Architecture physique
 en termes de savoir-faire
  • Comprendre la documentation des différents design patterns et les appliquer à bon escient. Avoir un esprit critique par rapport à ces patterns. Appliquer certains patterns dans le cadre d'architecture de programme (DAO, MVC ou modèle en couches). (Compétences : choisir et mettre en œuvre un standard défini ou une technologie spécifique, choisir les méthodes de conception, prendre en compte les évolutions probables de la demande et envisager les diverses solutions possibles)
  • Comprendre l'importance du rôle de l'architecte dans la construction d'un projet face à l' « urbanisation » des SI. (Compétence : comprendre, choisir et mettre en œuvre un standard défini (méthodologie, environnement, langage), prendre en compte les évolutions probables de la demande et envisager les diverses solutions possibles)
  • Modéliser et implémenter des problèmes complexes en Java en utilisant les principes de l'orienté objet ; savoir jongler avec un bon nombre d'APIs Java, avec les design patterns et la documentation UML. (Compétences : concevoir et implémenter des algorithmes répondant à des spécifications et des fonctionnalités données, concevoir et implémenter un ensemble structuré de données).
  • Utiliser JUNIT pour valider ses programmes. (Compétence : choisir, mettre en œuvre un processus de validation et d'évaluation et prendre les mesures appropriées)
  • Documenter son travail. (Compétence : documenter et justifier tous les écarts apparents aux standards)
  • Présenter de manière pédagogique à l'ensemble de la classe un pattern en motivant son utilisation par un exemple intéressant de son application. (Compétence : présenter une solution devant un public avec un support adéquat)
en termes de savoir-être/devenir
  • Rendre les travaux en respectant les différentes consignes. (Compétences : évaluer la charge et la durée de travail liée à une tâche, planifier son travail, respecter les délais prévus, suivre un protocole méthodologique précis)
  • Fournir des codes lisibles et documentés. (Compétence : documenter son travail afin d'en permettre la traçabilité)
  • Apprendre par soi-même. (Compétences : identifier ses besoins de développement et s'inscrire dans une démarche de formation permanente, exploiter un document technique en français et en anglais)
 
Prerequisite knowledge and skills :
Distributed Application Design
  • Connaitre TCP et UDP
  • Connaitre la POO
  • Pouvoir utiliser une base de données.
OO Application Design and Architecture
paradigme orienté objet 
diagrammes de classes 
diagrammes de séquence
Planned learning activities and teaching methods :
Distributed Application Design
Exposés théoriques accompagnés d'exemples et d'exercices.
OO Application Design and Architecture
Slides et divers documents à lire
Exercices : application des différents concepts via des travaux:
  • des analyses et implémentations de petits ou moyens projets (impliquant un concept ou plusieurs) 
  • Une étude théorique d'un design pattern
Les documents, exercices sont accessibles sur Moodle
Mode of delivery (face to face, distance learning, hybrid learning) :
Distributed Application Design
Présentiel et travaux à domicile. Si les conditions l'exigent, le cours sera donné en distanciel à l'aide d'un logiciel de visioconférence.
Toute activité organisée durant le quadrimestre (par exemple une conférence), non dispensée par l'enseignant, et qui est en rapport avec la matière de l'activité d'apprentissage, compte dans les heures de ladite activité d'apprentissage. La matière abordée par l'activité en question pourra faire l'objet d'une évaluation, quelle soit continue ou certificative.
 
OO Application Design and Architecture
présentiel (distanciel si les conditions l'exigent)
travail à la maison
toute activité organisée durant le quadrimestre (par exemple une conférence), non dispensée par l'enseignant, et qui est en rapport avec la matière de l'activité d'apprentissage, compte dans les heures de ladite activité d'apprentissage. La matière abordée par l'activité en question pourra faire l'objet d'une évaluation, quelle soit continue ou certificative.
Recommended or required readings :
Distributed Application Design
La documentation officielle en ligne de chaque technologie abordée.
Assessment methods and criteria :
Not available
Distributed Application Design
  • Évaluation continue (travaux à rendre) : 40% de la note totale
  • Évaluation certificative (examen écrit) : 60% de la note totale
L'évaluation certificative en seconde session reprend soit un examen écrit qui compte pour 100% de la note, soit un travail individualisé à rendre qui compte pour 100% de la note. Il n'y a plus d'évaluation continue dans ce cas. Les étudiants sont informés du choix lors de la consultation des copies qui suit la délibération de juin. Ceux qui ne sont pas présents à ce moment seront tenus informés par mail. Les évaluations peuvent être réalisées en présentiel ou en distanciel en fonction des conditions du moment.
Si les conditions l'exigent l'examen sera en mode distanciel. Dans ce cas, une webcam sera nécessaire. Si l'étudiant n'a pas le matériel adéquat pour passer l'examen à distance, il doit le signaler pour que l'école lui permette de passer l'examen depuis un local de l'école avec le matériel adéquat.

Remarque valable pour toutes les activités d'apprentissage de l'unité : lorsqu'on vous demande de rendre un travail ou un exercice ou lorsque vous devez rendre un examen ou une interrogation, si plusieurs copies sont fortement similaires, la note finale est divisée par le nombre de copies similaires. 
 
OO Application Design and Architecture
Examen oral (60%): Question(s) ciblée(s) sur un pattern vu en classe ou un pattern à découvrir et à interpréter. Les étudiants peuvent avoir leurs notes théoriques (description des patterns).
L'objectif est de me prouver qu'on est capable de comprendre et d'exploiter les design patterns et pas de simplement connaître la liste et les caractéristiques des patterns existants.
Evaluation continue (40%) : étude et présentation d'un pattern + conception et implémentation de mini projets en java avec respect des échéances
L'objectif est de me prouver qu'on est capable
  • de comprendre et exploiter les design patterns ;
  • de présenter de manière claire aux autres étudiants ce qu'on a étudié;
  • d'exploiter les modèles de conception  et d'architecture dans une application plus vaste.
 (met en avant aussi l'organisation, la communication et l'analyse de problème)
Work placement(s) :
Organizational remarks :
Distributed Application Design
Ce cours est donné en présentiel si les conditions le permettent. Distanciel à l'aide d'un outil de visioconférence sinon.
Contacts :
OO Application Design and Architecture
isabelle.dony@hers.be