1/14
Vocabulary flashcards covering architectural patterns, software product lines, frameworks, and reference architectures based on Lecture 05 of Software-Evolution.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Design Pattern
A small-scale or low-level solution in software design; typically, a number of design patterns are combined within a single system.
Architectural Pattern
A large-scale or high-level solution that balances design forces and dominates the structure of an entire software system, sometimes referred to as an architecture style.
Layers Architectural Pattern
An architecture pattern that expresses an is-allowed-to-use relation where software is allocated to exactly one layer and a lower layer cannot use a higher layer.
Client-Server Architecture
A distributed system model showing how data and processing are distributed across stand-alone servers providing services, clients calling those services, and a network connecting them.
Pipe and Filter Architecture
An architectural pattern composed of filter components with in- and out-ports connected by pipe connectors in an acyclic topology.
Filter
A component in a Pipe and Filter architecture that incrementally transforms stream-to-stream data from inputs to outputs while preserving no state between instantiations.
Pipe
A connector in a Pipe and Filter architecture that moves data from a filter output to a filter input to form data transmission graphs.
Microservices
An architecture approach to developing an application as a suite of small, independently deployable and scalable services, each running in its own process and communicating via lightweight mechanisms like HTTP resource APIs.
Smart Endpoints and Dumb Pipes
A microservices design principle where applications contain their own domain logic, act like Unix filters by receiving requests and producing responses, and are choreographed using simple RESTish protocols.
Decentralized Data Management
A microservices pattern where each service manages its own database independently, utilizing either different instances of the same database technology or entirely different database systems.
Shared Data Architecture
An architectural pattern featuring shared data repositories, data accessors (sinks and sources), and data reading/writing connectors arranged in a star or connected stars topology.
PAC (Presentation Abstraction Control)
A hierarchical software architecture pattern structured into agents, where each agent consists of Presentation (View + Control), Abstraction (Model), and Control (Mediator).
Software Product Line (SPL)
A set of software-intensive systems that share a common, managed set of features satisfying specific market or mission needs, developed from core assets in a prescribed way.
Reference Architecture
A general system structure applied across classes of applications to serve as a base for discussion, typically without implying a specific implementation.
Framework
An available implementation with defined interaction points and explicit extension points that requires further user implementation to run.