Chapter 5 Flashcards
What is software architecture?
Software Architecture helps us build a software in an organized way. It does so by showing us what parts the system has and how it works together.
Architectural Design Processs - Understanding Requirement
We try to identify the system’s functional and non-functional requirements
Architecural Design Process -
how do we define Software Architecture
We identify the system main components, its reponsibilities and how it interacts
Architectural Desgin Process-
How Do We Evaluate Architecture
We check if the architecture meet our main goals such as such as performance, reliability and maintainability.
Architectural Design Process-
Document Architecture
Provide detailed architectural views, model and diagrams to communicate the design
Layered Architecture-
Presentation Layer
Manager user interface and user interactions
Layered Architecture-
Business Logic Layer
Handle business rule calculation and data processing
Layered Architecture-
Data Access Layer
Interfaces with database to manage retrieval data and storage.
Layered Architecture-
Database
Stores Data Persistently
Microservices Architecture
Decompose the system into small components that work indepently and doesn’t rely too much on each other
Event Driven Architecture
Components communicate by producing and reacting to events