Study Programmes 2023-2024
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 :
Bachelier en informatique (P), orientation développement d'applications4
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.  :

  • Divers Design Pattern propres aux système distribués (Algorithme d'élection, Two-phase commit, etc.)
  • Introduction à Spring
  • Introduction aux micro-services et utilisation avec Spring.
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
  • Collaborer à la résolution de problèmes complexes avec méthode, rigueur, pro activité et créativité.
  • Identifier ses besoins de développement et s'inscrire dans une démarche de formation permanente
  • Rédiger un document technique, un rapport
  • Exploiter un document technique en français et en anglais
  • Concevoir, implémenter et maintenir des algorithmes répondant aux spécifications et fonctionnalités fournies
  • Respecter les délais prévus
  • Documenter son travail afin d'en permettre la traçabilité

 
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
  • Les cours de réseaux de bloc 1 et bloc 2.
  • Les cours de POO de bloc 1 et bloc 2.
  • 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 ou un d'un modèle d'architecture
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.

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 

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 (un ou plusieurs travaux à rendre et/ou une ou plusieurs interrogations) : 40% de la note totale
  • évaluation certificative (examen écrit sur papier et/ou ordinateur) : 60% de la note totale
L'évaluation certificative en seconde session reprend la même forme qu'en première session : un travail qui compte pour 40% et un examen écrit qui compte pour 60%.

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 écrit (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 :
Contacts :
OO Application Design and Architecture
isabelle.dony@hers.be