REQ
DES
PAT
ARCH
TAC
100

Which of the following Quality Attributes is primarily concerned with ensuring that data delivered is exactly the data that was sent, preventing unauthorized tampering?

A) Availability

B) Integrability

C) Integrity (Security)

D) Throughput

C (Integrity)

100

What is the fundamental difference between an Object and a Class in Object-Oriented Design?

A) A Class holds data; an Object holds methods.

B) A Class is a blueprint/template; an Object is a specific instance of that blueprint.

C) Objects are used in Java; Classes are used in C++.

D) There is no difference; they are interchangeable terms.

B (Blueprint vs Instance)

100

According to the Gang of Four (GoF), what is a Design Pattern?

A) A complete, ready-to-compile block of code for developers to copy/paste.

B) A generic solution to a commonly occurring problem in software design.

C) A specific architectural style (like Client-Server).

D) A tool used to gather stakeholder requirements.

B (A generic solution to a recurring problem)

100

Which of the following best defines a "Microservice"?

A) A massive, single-tiered software application.

B) A small, self-contained, and independently deployable component organized around a business capability.

C) A client-side script running in a web browser.

D) A database management tactic.

B (Small, self-contained business capability)

100

In Software Architecture, what is a "Tactic"?

A) A project management strategy to meet deadlines.

B) A design decision that influences a quality response.

C) A method for writing unit tests.

D) The language chosen for the frontend framework.

B (Design decision controlling a QA response)

200

In the context of an Online Banking System, which pair of Quality Attributes are generally considered the most critical to prioritize?

A) Usability and Testability

B) Security and Availability

C) Scalability and Modifiability

D) Throughput and Portability

B (Security and Availability)

200

In Responsibility-Driven Design, what does a "Role" represent?

A) The specific user interacting with the system.

B) A set of related responsibilities implemented by one or more objects.

C) The database table where the object's data is stored.

D) The graphical user interface component.

B (A set of related responsibilities)

200

Which of the following is considered a Structural Design Pattern?

A) Observer

B) Strategy

C) Composite

D) Factory Method

C (Composite is Structural;
Observer/Strategy are Behavioral,
Factory is Creational)

200

What is the main difference between a Data-Centered architecture and a Data-Flow architecture?

A) Data-centered uses shared repository; Data-flow processes data sequentially.

B) Data-centered is object-oriented; Data-flow is procedural.

C) Data-flow architectures do not use data at all.

D) Data-centered is only used for microservices.

A (Central repo vs. sequential processing)

200

Software Architecture in Practice highlights three ways to achieve Availability: Ping/Echo, Heartbeat, and Exceptions. Which of these involves a component periodically emitting a signal to say "I am still alive" without being prompted?

A) Ping/Echo

B) Heartbeat

C) Exceptions

D) Checksum

B (Heartbeat)

300

In the Ship Repair Quotation System case study, the requirement states: "System shall have screen pictures as shown in appendix XX." Which level of the Goal-Design Scale does this represent?

A) Goal-level

B) Domain-level

C) Product-level

D) Design-level

D (Design-level)

300

In OOD, a "God Class" is an anti-pattern because it does too much work on its own. Which of the following describes the negative impact of a God Class?

A) It creates weak coupling and strong cohesion.

B) It creates strong coupling and weak cohesion.

C) It makes the system run too fast for the network to handle.

D) It forces the use of multiple inheritance.

B (Strong coupling, weak cohesion)

300

What is the key difference between a Design Pattern and a Software Framework?

A) Patterns are specific to Java; Frameworks are for all languages.

B) Frameworks dictate the overall architecture and call your code (Inversion of Control), while patterns are smaller, conceptual templates you implement within your code.

C) Frameworks are only used for UI; Patterns are for databases.

D) They are exactly the same thing.

B (Frameworks dictate architecture/IoC; Patterns are local implementations)

300

Case Study: Messenger App. A messenger application allows users to send messages directly to one another, but they must first connect to a central server to identify the IP address of the remote user. What architectural style best describes this?

A) Pure Peer-to-Peer (P2P)

B) Pure Client-Server

C) Hybrid (Client-Server for discovery, P2P for communication)

D) Data-Centric Repository

C (Hybrid Client-Server / P2P)

300

You maintain a popular e-commerce site that cannot afford downtime. Which tactic would be the most useful to stop a DDoS (Distributed Denial of Service) attack from halting your site?

A) Active Redundancy

B) Rollback

C) Rate Limiting / Limit Access

D) Record/Playback

C (Rate Limiting)

400

[REQ-400] In the Smart Fleet Management (SmartFM) case study, it is stated: "The drivers are transitioning from a legacy, paper-based system and generally have low technical literacy." In a System Requirements Specification (SRS), what is this classified as?

A) A Functional Requirement

B) A Constraint

C) An Assumption

D) A Quality Attribute Scenario

C (An Assumption)

400

Case Study: Chess Game. You are designing a Chess application and need to define a Queen. A developer models the Queen class as a multiple heir (inheriting from both Rook and Bishop). According to OO heuristics, is this a good design?

A) Yes, because a Queen has the moves of both.

B) No, because Java doesn't support multiple inheritance; use a "God Class" instead.

C) No, multiple inheritance here violates encapsulation; you should model commonalities via an Interface or use Delegation.

D) Yes, but only if you make the Queen class a Vapor Class.

C (Violates OO heuristics; use Interface/Delegation)

400

Case Study: Messenger App. You need to notify the UI, the logging system, and the network manager immediately whenever a user's status changes from "Online" to "Offline," without tightly coupling the User class to these systems. Which pattern is best?

A) Singleton

B) Observer

C) Command

D) Template Method

B (Observer - for decoupled event notification)

400

Case Study: Car Factory. You are asked to design a remote system to control multiple robot hands in a car assembly line. These robots must react to events (like a chassis arriving) independently. Which architectural style should you use?

A) Independent Component (Event-Driven) Architecture

B) Pipe and Filter Architecture

C) Three-Tier Client-Server Architecture

D) Service-Oriented Architecture (SOA)

A (Independent Component / Event-Driven)

400

You are applying the ATAM (Architecture Tradeoff Analysis Method). You discover that changing the caching synchronization interval drastically impacts both system latency and network bandwidth. What is this specific architectural parameter called in ATAM?

A) A Non-Risk

B) A Utility Tree

C) A Sensitivity Point

D) An Artifact

C (A Sensitivity Point)

500

The SmartFM system must synchronize data between Hanoi and HCMC. If the architect enables "aggressive local caching" at each warehouse to make driver check-ins faster, which two Quality Attributes are in a direct trade-off?

A) Security vs. Usability

B) Performance (Latency) vs. Availability (Consistency)

C) Integrability vs. Scalability

D) Testability vs. Modifiability

B (Performance vs. Availability/Consistency)

500

You are assigning responsibilities for the "Online Healthy Foods Store." You create a ShoppingCart class that contains getters and setters for items, so a client object can determine by itself whether a shopping cart is empty. What OOD heuristic does this violate?

A) A class should capture one and only one key abstraction.

B) Avoid Vapor Classes.

C) Ensure all classes implement an interface.

D) Keep related data and behavior in one place.

D (Keep related data and behavior in one place.)

500

In a complex application, you have an algorithm with a rigid overall structure (e.g., Validate Data -> Process Data -> Save Data), but the exact steps for "Process Data" need to vary depending on the data type. Which pattern do you use the design this algorithm?

A) Template Method

B) Null Object

C) Abstract Factory

D) Facade

500: A (Template Method)

500

In a microservices architecture, internal services communicating with each other (East-West traffic) usually bypass the external API Gateway. Why is this architectural rule enforced?

A) Because internal services cannot use REST.

B) To prevent the API Gateway from becoming a performance bottleneck.

C) Because the API Gateway cannot handle JSON payloads.

D) To force developers to use SOAP instead of Microservices.

B (Prevent Gateway bottleneck)

500

Case Study: KWIC Index System. David Parnas discussed decomposing systems into modules. If we decide to hide the exact implementation of the character storage from the rest of the modules, what tactic are we applying, and which Quality Attribute are we primarily supporting?

A) Tactic: Information Hiding; QA: Modifiability

B) Tactic: Redundancy; QA: Availability

C) Tactic: Authentication; QA: Security

D) Tactic: Load Balancing; QA: Performance

A (Information Hiding / Modifiability)