Examen Architecture Logiciel 03
Exercice 1 : QCM
Quelle architecture est la plus adaptée pour une application où toutes les données doivent être centralisées ?
A. Peer-to-Peer
B. Monolithique
C. Modulaire
D. Event-Bus
Qu'est-ce qu'un anti-patron d'architecture ?
a) Une solution éprouvée pour résoudre un problème récurrent.
b) Une mauvaise pratique ou une erreur courante dans la conception des systèmes.
c) Un modèle de conception utilisé uniquement dans les systèmes distribués.
d) Une méthode pour optimiser les performances des applications.
Dans une architecture Layered, pourquoi les couches ne peuvent-elles communiquer qu'avec des couches adjacentes ?
A. Pour réduire les performances.
B. Pour simplifier les interfaces.
C. Pour limiter les dépendances.
D. Pour améliorer la réutilisabilité.
Quel est un désavantage principal d'une architecture Blackboard ?
A. Faible extensibilité des structures de données.
B. Synchronisation complexe entre les modules.
C. Dépendance forte entre les filtres.
D. Coût élevé de maintenance du planificateur.
Quel anti-patron est caractérisé par une architecture où les décisions techniques sont prises sans tenir compte des besoins réels du projet ?
a) Architecture Astronaut.
b) Layered Architecture.
c) Event-driven architecture.
d) Microservices.
Quelle(s) assertion(s) est(sont) fausse(s) à propos de l’architecture modulaire ?
A. Elle permet une distribution claire des responsabilités.
B. Chaque module est totalement autonome, sans dépendances.
C. Les modules sont compilés séparément.
D. Elle limite les besoins en communication entre équipes.
Dans une architecture Pipe-Filter, les données sont :
A. Traitées de manière séquentielle par des transformations successives.
B. Directement accessibles à toutes les étapes du pipeline.
C. Dépendantes du type de tuyaux.
D. Traitables uniquement dans un environnement centralisé.
Lequel des éléments suivants est un exemple d'anti-patron d'architecture ?
a) Modèle MVC (Model-View-Controller).
b) Architecture microservices.
c) God Object (objet qui fait tout).
d) Architecture en couches.
Quel est le principal problème du "Big Ball of Mud" (Grosse boue de code) ?
a) Le système est trop modulaire.
b) Le système est bien structuré mais difficile à maintenir.
c) Le système manque de structure et est difficile à comprendre.
d) Le système est trop performant.
Quel anti-patron est caractérisé par une classe qui contient trop de responsabilités ?
a) God Object.
b) Singleton.
c) Observer.
d) Factory.
Quel est le risque principal de l'anti-patron "Vendor Lock-In" ?
a) Le système devient trop modulaire.
b) Le système devient dépendant d'une technologie ou d'un fournisseur spécifique.
c) Le système devient trop performant.
d) Le système devient trop sécurisé.
Quel anti-patron est associé à une architecture où les composants sont trop couplés et dépendent fortement les uns des autres ?
a) Spaghetti Code.
b) Microservices.
c) RESTful API.
d) Event-driven architecture.
Quel est le problème principal de l'anti-patron "Reinventing the Wheel" ?
a) Recréer une solution qui existe déjà, ce qui gaspille du temps et des ressources.
b) Utiliser trop de bibliothèques externes.
c) Ne pas documenter le code.
d) Utiliser des technologies obsolètes.
Quel style architectural est le plus adapté pour une application nécessitant une forte séparation des responsabilités ?
a. Pipe-and-Filter
b. Monolithique
c. MVC
d. Microservices
Dans un système distribué, quel middleware est souvent utilisé pour la gestion des événements asynchrones ?
a. Kafka
b. REST API
c. SQL Server
d. Nginx
Dans une architecture logicielle, quel concept est utilisé pour minimiser les dépendances directes entre modules ?
a. Injection de dépendances
b. Couplage fort
c. Propriétés immutables
d. Paradigme événementiel
Exercice 02 : Architectures
1) Identifiez les architectures logicielles qui correspondant aux figures suivantes.
figure 1 :
figure 02 :
figure 0 3:
figure 04 :
FIGURE 05 :
FIGURE 06 : INDIQUEZ les composants et les connecteurs utilisés.
FIGURE 07 : INDIQUEZ les composants et les connecteurs utilisés.
2) En quoi consiste la d´efinition/description d’une architecture logicielle ?
3) Citer et d´efinir quatre utilit´es d’une architecture logicielle
4) Qu’est-ce qu’un d´efaut de conception ? Enum´erez les ´etapes de d´etection et de correction des d´efauts de conception.