Software architecture design space (Overview (Types of software structures…
Software architecture design space
A software architect's responsibility
Software architect must understand the software architecture's design space
Based on quality attributes.
Types of software structures
Run- time structure
Management structure ( or deployment structure)
Software static structure
A software project is typically implemented in multiple files. this includes.
At software development time
Static connectors may exhibit some attributes
Managing static structural representations
Managing static structures involves layers of : abstraction for encapsulation refinement showing visibility.
Two kinds of static hierarchical relations
A linear client- server relation
A tree - like hierarchy of refinement relations
Software run-time structure
A run-time project consists of elements: processes, threads, web services, distributed objects
Multiplicity : one element can be connected to multiple elements if it needs to invoke methods of multiple elements at run-time
Distance and connection media
Element is a self - contained component of a system
Has well - defined functions
Connected with each other via connector
Software architects job : map functional requirements to software elements
Usually determines the quality attributes of a system : efficiency, reliability, availability, security.
During the refinement of the software architecture
Connector type - based on synchronization
Connector Implementation type