Software Architecture
Software architecture deals with the structural design of software systems.
- Knowledge domains
- /Thematic areas
- /Segments
- /Building blocks
Modularity
Modularity refers to the design of systems from independent, interchangeable components.
Architecture Decision Record (ADR)
An architecture decision record documents decisions about system architectures.
Architecture Governance
Framework and rules for steering architectural decisions, responsibilities and standards across an organization.
Evolutionary Architecture
An architectural paradigm that shapes systems to evolve incrementally and in a controlled manner over time.
Interface Design
Concept for structuring interfaces between components, APIs and user-facing elements, focusing on consistency and integration readiness.
Message Broker
A message broker is a software framework that facilitates the exchange of data between different systems.
Service Integration
Service Integration unifies distributed applications and APIs into coherent business processes, covering interface, messaging, and orchestration strategies.
Architecture Principles
Guiding rules for decisions about system structure, interfaces and quality attributes that promote consistency, maintainability, and scalability.
Software Architecture
Conceptual description of a software system's structure, components and interfaces to satisfy functional and non-functional requirements.
System Design
Conceptual guidelines for structuring and designing scalable, maintainable software systems.
Architecture Tradeoff Analysis Method (ATAM)
ATAM is a structured method for analyzing and evaluating architectures.
Performance Engineering
A systematic approach to ensuring and improving system and software performance across the entire lifecycle.
Quality Attributes
Concept of non-functional quality properties of systems that shape architectural decisions and evaluation criteria.
Event-Driven Architecture
An architectural approach based on the generation and processing of events to decouple and make systems responsive.
Layered Architecture
An architectural pattern that organizes systems into layers to promote modularity and separation of concerns.
Microservices Architecture
Architectural style that splits applications into autonomous, small services to enable scalability, independence, and faster deployment.