Architecture and Design Flashcards
What is software architecture?
Definds how the system is organized
Breaks the entire system into a set of communicating modules.
What is the small level or architecture?
At the “signle” system level
defines how a large system is broken down into subsystems.
What is the large level of architecture?
at the “collection of systems” level.
Defines how a system is broken down into individual systems.
Why do we need an architecture?
Stakeholder communication:
- Aid for system-level design
System analysis:
- If not discussed, implicit architecture may be suboptimal.
Large-scale resuse:
- systems with similar requirements can resuse architecture components.
Can we specify all system characteristics in one architecture model?
This is impractical, because too many perspective will cause the diagram to become a mess.
Instead, we need multiple views.
What are the 4 view models of software architecture?
Logical view:
Process view:
Development view:
Physical view:
What is logical view?
Shows the key abstractions in the system as objects or object classes.
What is process view?
Shows how, at run-time, the system is composed of interactive processes.
What is developmet view?
Shows how the software is decomposed for development.
What is physical view?
Shows the system hardware and how software components are distributed across the processors in the system.
What are the purposes of architecture models?
Aiding discussion of system-level design
Documenting system architecture
How to maximize performance?
Maximized b creating a small number of large subsystems.
How to maximize security?
Maximized by layering systems with critical assets protected in the innermost layer
How to maximize safety?
Maximized by placing safety-related operations in a small number of subsystems.
How to maximize availability>
Maximized through redundant subsystems to allow hot-swapping for updates.