1/12
This set of flashcards provides key terminology and definitions related to software engineering and architectural design concepts discussed in the lecture.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Decomposition
The process of partitioning a system into smaller, manageable components or modules.
Architectural Styles
Large-scale patterns that provide a framework for system design, allowing for communication and organization among components.
Functional Decomposition
A method that breaks down functions or requirements into smaller, manageable modules.
Component-based Software Engineering (CBSE)
A software development method where products are assembled from pre-existing components.
Pipes-and-Filter Architecture
An architectural style that composes systems from independent filter components connected by streams of data.
Client-Server Architecture
An architectural model where server components offer services that client components access through a request/reply protocol.
Peer-to-Peer Architecture
A decentralized architecture where each component can act as both client and server, facilitating direct interactions.
Publish-Subscribe Model
An architectural model where components communicate through event announcements, with subscribers expressing interest in specific events.
Layering
A hierarchical architecture where each layer provides services to the layer above while being a client to the layer below.
Modular Design
Design where each activity of the system is performed by one software unit, with well-defined inputs and outputs.
Software Architecture Document (SAD)
The final outcome of the design process that outlines the architecture of the software system.
Non-functional Requirements
Quality characteristics the software must possess, such as performance and usability.
Iterative Design Process
A cyclical process in which design is refined through continuous evaluation and feedback.