Software Engineering, unit: Software Architecture Patterns. Core concepts, terminology, and worked-example cues a college student meets for this unit, building on prior units without repeating them. Front: a term, concept, or short problem cue. Back: the definition, explanation, or answer.
14 cards · basic cards · AI-written, checked twice. Edit anything.
- What is software architecture?
- The high-level structure of a software system, defining its components and their interactions
- What is a monolithic architecture?
- An architecture where all components of an application are combined into a single deployable unit
- What is a microservices architecture?
- An architecture structuring an application as a collection of small, independently deployable services
- What is a key advantage of microservices over monolithic architecture?
- Services can be developed, deployed, and scaled independently
- What is a key challenge of microservices architecture?
- Increased complexity in communication, deployment, and monitoring across services
- What is a layered architecture?
- An architecture organizing a system into horizontal layers, each with a specific responsibility
- What is a client-server architecture?
- An architecture where clients request services and a central server provides them
- What is an event-driven architecture?
- An architecture where components communicate by producing and responding to events
- What is a service-oriented architecture (SOA)?
- An architecture structuring functionality as reusable, network-accessible services
- What is scalability, in software architecture?
- A system's ability to handle increased load by adding resources
- What is a load balancer used for?
- Distributing incoming requests across multiple servers to prevent overload
- What is fault tolerance, in system architecture?
- A system's ability to continue operating despite component failures
- What is a RESTful architecture?
- An architectural style for web services using stateless, resource-based HTTP interactions
- What is separation of concerns, as an architectural principle?
- Dividing a system so each part addresses a distinct responsibility