Examen Architecture Logiciel 02

Exercice 01 : QCM

Quelle est une caractéristique principale d'une architecture monolithique ?
A. Utilisation de multiples modules indépendants.
B. Un seul programme avec des éléments fortement liés.
C. Communication entre les niveaux via un réseau.
D. Organisation en plusieurs couches séparées.
 

Quel est un avantage de l'architecture modulaire ?
A. Faible coût de maintenance.
B. Réduction de la complexité grâce à un contrôle centralisé.
C. Meilleure réutilisabilité des modules.
D. Suppression du besoin de communication entre équipes.
 

Quelle architecture utilise des tuyaux et des filtres pour transformer des données de manière incrémentale ?
A. MVC
B. Pipe-Filter
C. Multitier
D. Peer-to-Peer
 

Dans l'architecture Layered, que représentent les couches ?
A. Des composants d'un même niveau de traitement.
B. Des groupes de méthodes, classes ou paquets avec une responsabilité définie.
C. Des modules indépendants connectés par des tuyaux.
D. Des interfaces utilisateur interagissant directement avec la base de données.
 

Quel est un désavantage de l'architecture Master-Slave ?
A. Sensibilité à la fiabilité du maître.
B. Difficulté à ajouter de nouvelles sources de connaissances.
C. Non-adaptabilité aux grandes quantités de données.
D. Incapacité de gérer les ressources en réseau.
 

Exercice 02 : Architectures 

  1. Pourquoi le modèle doit-il notifier les vues lors de changements dans l'architecture MVC ?
  2. Apres avoir présenté les différents schéma répresentant les models MVC, MVP & MVVM , Quelles sont les différences entre MVC, MVP, et MVVM ?
  3. Vous devez implémenter une application web de gestions des Patients  en utilisant l'architecture MVC. Comment géreriez-vous les interactions entre le modèle, la vue et le contrôleur  pour l'affichage de tout les patients , représenter cela via un schéma illustratif ?
  4. Dans quel contexte une architecture Peer-to-Peer serait-elle plus avantageuse qu’une architecture Client-Serveur ?
  5. Comparez REST et SOAP en termes de simplicité, flexibilité et performance.
  6. Pourquoi une architecture monolithique est-elle souvent développée par une petite équipe ?
  7. Quels sont les risques liés à l’érosion architecturale, et comment peut-on les prévenir ?

Problème : une Plateforme de Réservation de Voyages

Vous êtes architecte logiciel pour une startup appelée TravelEase, qui souhaite développer une plateforme de réservation de voyages en ligne. La plateforme doit permettre aux utilisateurs de rechercher des vols, des hôtels et des activités, de réserver et de gérer leurs réservations. Les exigences sont les suivantes :

  1. Recherche de voyages : Les utilisateurs doivent pouvoir rechercher des vols, des hôtels et des activités en fonction de leurs préférences.
  2. Réservation : Les utilisateurs doivent pouvoir réserver des vols, des hôtels et des activités.
  3. Gestion des réservations : Les utilisateurs doivent pouvoir consulter, modifier ou annuler leurs réservations.
  4. Authentification : Les utilisateurs doivent pouvoir créer un compte, se connecter et gérer leur profil.
  5. Évolutivité : La plateforme doit pouvoir s'adapter à une croissance rapide du nombre d'utilisateurs et de partenaires (compagnies aériennes, hôtels, etc.).

Questions  :

  1. Proposez une architecture modulaire avec des API REST adaptée aux besoins de TravelEase. Justifiez votre choix.
  2. Identifiez les modules principaux et leurs responsabilités.
  3. Dessinez un schéma de l'architecture proposée.
Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam