06 Quiz: Software Architecture
January 2026 (1543 Words, 9 Minutes)
New: Interactive Quiz Available!
Want to track your progress and get instant feedback? Try our new interactive version with progress tracking, immediate explanations, and score calculation.
Instructions
- This quiz tests your understanding of key concepts from Chapter 06 (Software Architecture Part 1)
- Each question has 4 options with exactly one correct answer
- Try to answer without referring to the lecture materials
- Focus on understanding concepts, not memorizing details
Question 1: Why Architecture Matters
Twitter’s “Fail Whale” error page (2008-2010) became iconic. What fundamental problem did it reveal about their system?
A) Their developers were not skilled enough to handle the codebase B) Their monolithic architecture couldn’t scale to handle explosive user growth C) They didn’t have enough servers D) Their programming language (Ruby) was too slow
Show Answer
Correct Answer: B
Twitter’s Fail Whale illustrated what happens when a system’s architecture can’t support its success. Their monolithic Ruby on Rails application couldn’t be scaled to handle the rapid growth in users. The problem wasn’t the developers, the number of servers, or Ruby itself — it was the architectural decision to build everything as one tightly-coupled application that couldn’t be scaled independently.
Question 2: Definition of Software Architecture
According to the lecture, what does software architecture describe?
A) The programming languages and frameworks used in a project B) How a system is organized as communicating components and how they behave and interact C) The documentation and comments in the codebase D) The user interface design and visual appearance
Show Answer
Correct Answer: B
Software architecture describes how a system is organized as a set of communicating components and how those components behave and interact. It answers questions like: How are responsibilities divided? How do components communicate? How is the system deployed? What happens when a component fails?
Question 3: Architecture as a Creative Process
Why is architectural design described as a “creative process” rather than a formulaic one?
A) Because architects can do whatever they want without constraints B) Because architecture involves trade-offs that depend on system type, experience, and specific requirements C) Because there are no established patterns to follow D) Because documentation is not required for architecture
Show Answer
Correct Answer: B
Architectural design is fundamentally creative because it involves trade-offs that depend on the type of system being developed, the background and experience of the architect, and the specific requirements of the project. Unlike algorithms with provably optimal solutions, architecture has no “correct” answer — it’s about making informed decisions given constraints and goals.
Question 4: Key Design Questions
Which of the following is NOT one of the key questions architects must consider during architectural design?
A) Is there a generic architecture template we can use? B) What programming language should individual developers prefer? C) How will components be decomposed? D) What organization best delivers non-functional requirements?
Show Answer
Correct Answer: B
The lecture identifies 8 key architectural questions: templates, hardware distribution, patterns, fundamental structuring, component decomposition, operation control, NFR organization, and documentation. Individual developer language preferences are personal choices, not architectural decisions. Architecture is about system-level concerns, not individual coding preferences.
Question 5: Performance-Driven Architecture
In an autonomous vehicle’s architecture, why do steering and braking systems run control loops at 1 kHz (1000 times per second)?
A) Because faster loops use less electricity B) Because regulations require this exact frequency C) Because smooth, safe control requires rapid response — a car travels 2.8 meters in 100ms at highway speed D) Because the sensors only produce data at this rate
Show Answer
Correct Answer: C
At 100 km/h, a car travels approximately 2.8 meters in 100ms. For safety-critical functions like steering and braking, the control system must respond fast enough that delays are imperceptible and safe. Running at 1 kHz (1ms cycles) means the car travels only 2.8 centimeters between control updates, enabling smooth and safe operation.
Question 6: Security-Driven Architecture
What is the principle of “defense in depth” in security architecture?
A) Building the thickest possible firewall at the network edge B) Using multiple layers of security so that if one layer fails, others still protect the system C) Keeping all security code in a single, well-tested module D) Encrypting all data regardless of its sensitivity
Show Answer
Correct Answer: B
Defense in depth uses a layered architecture where each layer provides additional security. For example: WAF (Web Application Firewall) → API Gateway → Business Logic → Data Access → Database. If an attacker breaches one layer, they face additional barriers. This is more resilient than relying on a single security measure.
Question 7: Understanding Availability “Nines”
What does “99.99% availability” (four nines) mean in practice?
A) The system can be down for at most 3.65 days per year B) The system can be down for at most 8.76 hours per year C) The system can be down for at most 52.6 minutes per year D) The system can never be down
Show Answer
Correct Answer: C
99.99% availability (“four nines”) allows for approximately 52.6 minutes of downtime per year. Compare this to: 99% = 3.65 days, 99.9% = 8.76 hours, 99.999% = 5.26 minutes. Each additional “nine” requires exponentially more sophisticated architecture — multiple data centers, no single points of failure, and active-active replication.
Question 8: Netflix’s High Availability
Which architectural strategy does Netflix use to achieve high availability?
A) Running all services on a single, extremely powerful server B) Chaos engineering (deliberately injecting failures) and stateless services with multi-region deployment C) Keeping all data in memory to avoid database failures D) Using only one programming language across all services
Show Answer
Correct Answer: B
Netflix achieves 99.99% availability through multiple strategies: deploying across multiple AWS regions in active-active configuration, using Chaos Engineering (Chaos Monkey) to deliberately inject failures and verify resilience, and building stateless services where no single service holds critical state. This means any instance can handle any request, making failover seamless.
Question 9: Maintainability and Separation of Concerns
Why is “separation of concerns” the core principle of maintainable architecture?
A) It makes the code run faster B) It allows changes to be isolated, reducing the risk of unintended side effects C) It eliminates the need for testing D) It requires fewer developers to maintain the system
Show Answer
Correct Answer: B
Separation of concerns means isolating different responsibilities so that changes to one area don’t ripple through the entire system. When you change how data is stored, you shouldn’t need to modify the UI. When you fix a calculation, you shouldn’t break authentication. This isolation makes the system easier to understand, test, and modify — critical because 80% of software cost is maintenance.
Question 10: Architectural Trade-offs
When optimizing for performance, what is typically sacrificed according to the lecture?
A) Security is always sacrificed for performance B) Modularity and testability — tightly coupled, monolithic components are fast but hard to change C) User experience is degraded to improve speed D) Documentation becomes impossible to maintain
Show Answer
Correct Answer: B
Performance-optimized architectures often sacrifice modularity and testability. Tightly coupled, monolithic components minimize communication overhead and are fast, but they’re hard to understand, test, and change. The lecture emphasizes choosing performance optimization only when requirements truly demand it, not as a default.
Question 11: The 4+1 View Model
In the 4+1 View Model, which view shows how the software is decomposed into packages and modules for development purposes?
A) Logical View B) Process View C) Development View D) Physical View
Show Answer
Correct Answer: C
The Development View shows how code is organized into packages and modules. It answers questions like “Where does this functionality live in the codebase?” and helps coordinate development (“Anna works on services/, Ben works on presentation/”). The Logical View shows domain abstractions, Process View shows runtime behavior, and Physical View shows hardware deployment.
Question 12: Stakeholders and Views
According to the 4+1 View Model, who are the primary stakeholders for the Physical View?
A) Developers and domain experts B) Performance engineers and integrators C) System engineers and operations teams D) Programmers and project managers
Show Answer
Correct Answer: C
Each view in the 4+1 model serves different stakeholders: Logical View → developers, domain experts. Process View → performance engineers, integrators. Development View → programmers, project managers. Physical View → system engineers, operations. Scenarios (+1) → all stakeholders. The Physical View addresses deployment concerns like hardware, networks, and scaling.
Scoring Guide
- 11-12 correct: Excellent! You have a strong grasp of software architecture foundations and the 4+1 View Model
- 8-10 correct: Good understanding! Review the areas you missed, particularly the connections between NFRs and architecture
- 5-7 correct: Fair understanding. Revisit the lecture sections on architectural trade-offs and the 4+1 views
- Below 5: Please review the lecture carefully. Focus on understanding why architecture matters and how NFRs shape architectural decisions. Reach out if you need clarification!
Key Takeaways to Remember
- Architecture Enables Scale - Agile processes can succeed while architecture fails (Twitter’s Fail Whale)
- Architecture = Components + Interactions - How the system is organized and how parts communicate
- Creative Process, Not Formula - Architecture involves trade-offs based on context, experience, and requirements
- NFRs Drive Architecture - Performance, security, availability, and maintainability shape structural decisions
- Defense in Depth - Security through multiple layers, not a single point of protection
- Availability Has a Cost - Each additional “nine” requires exponentially more complex architecture
- Chaos Engineering - Netflix tests resilience by deliberately breaking things in production
- Separation of Concerns - Isolate responsibilities so changes don’t ripple through the system
- Performance vs. Maintainability - Tight coupling is fast but hard to change; choose wisely
- 4+1 Views Serve Different Stakeholders - Logical, Process, Development, Physical, and Scenarios each answer different questions
Remember: Software architecture is the bridge between Agile delivery and sustainable systems. It’s not about choosing the “best” architecture — it’s about understanding trade-offs and making informed decisions that support your system’s specific requirements and constraints!