1/20
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Software Architecture
The identification of subsystems within a system and management of their interactions and communications.
Architectural Design
An early stage of the system design process that bridges the gap between system specification and system design.
Architecture in the Small
Focuses on the structure of individual programs.
Architecture in the Large
Focuses on large enterprise systems involving multiple interconnected programs across different computers.
Logical View
Shows system abstractions as objects or classes.
Process View
Illustrates the interactions of runtime processes.
Development View
Demonstrates the system's organization for development.
Physical View
Describes hardware and software component deployment.
MVC
A design pattern that separates system data, user interface, and interaction logic.
Layered Architecture
Organizes the system into layers, each providing services to the layer above.
Repository Pattern
Centralizes system data in a repository accessible by all components.
Client-Server Architecture
Divides system functionality between servers (service providers) and clients (service requesters).
Pipe and Filter Pattern
Processes data sequentially through discrete transformation stages (filters).
Data Processing Applications
Handle data in batches without user interaction.
Transaction Processing Systems
Manage user requests to retrieve or update data.
Event Processing Systems
React to external events and trigger system actions.
Language Processing Systems
Interpret or compile languages like compilers and interpreters.
4 + 1 Model
A model that includes multiple views (Logical, Process, Development, Physical) and use cases for a comprehensive system architecture.
Architectural Patterns
Proven solutions that enhance reuse across different projects.
Application Architectures
Provide templates and best practices for specific types of systems.
Key Insight of Architectural Design
It is crucial for large systems as it provides a structural backbone for scalability and manageability.