Architecture Flashcards
What is a software architecture?
Result of design decisions
Comprises system’s structure:
- components, relationships
- mapping to execution environments (code)
Which factors influence the software architecture?
Requirements (Functionality, speed, …)
Re-Use (Existing architectures, components, …)
Organization (Team size, experience, …) [Conway’s law]
How does Model-View-Controller work?
Model provides funtional core
View displays information to user
Controller handles user inputs
What layers are there?
External Interface / Frameworks & Drivers
Application / Interface Adapter / Controller (session handling, operations)
Domain / Application Business Rules / Use Cases
Infrastructure / Enterprise Business Rules / Entities
What are some architectural view points?
Structural: What is the system?
Behavioral: How does it run?
Deployment: Where does it run?
What are important terms in software architecture?
Architectural style: Solution principle (OOP, modular, …)
Architectural pattern: Pre-existing solution to recurring problem (MVC, Observer, …)
Reference architecture: Abstract structures, components, … for specific domain