Overview Of Architectural Styles
Summary
Informal Definition
Organization or breakdown of a system into component subsystems or modules
Iteratively refined
into layers
Often make use of stereotypical architectural style
USP Definition
Other Definitions
Elements + forms + rationale
– Perry and Wolf
The fundamental
organization
of a system, embodied in itscomponents
, theirrelationships
to each other, and the environment, and the principles governing its design and evolution.– IEEE
The software architecture of a deployed software is determined by those aspects that are the hardest to change.
– Verhoff
Components + Connectors + Configurations
– Garlan and Shaw
Selecting Components
What factors go into selecting components?
- Required Functionality
- Existing reusable components
- Physical machine architecture
- Expertise of Staff
- Conway’s Law
- Projected evolution trajectories
APIs
Names of accessports, arguments, types
Can be described in a particular programming language (binding), OCL, or ADLs
Connectors
A software connector is an architectural element tasked with
effecting
andregulating interactions
among components– Taylor, et al.
Protocol between components
Configuration
An architectural configuration is a set of
specific associations between the components and connectors
of a software system’s architecture.– Taylor, et al.