Professional Documents
Culture Documents
6
System Design: Decomposing
the System
6.3: System Design Concepts
6.3.1: Subsystems and Classes
6.3.2: Services and Subsystem Interfaces
6.3.3: Coupling and Cohesion
6.3.4: Layers and Partitions
6.3.5: Architectural Styles
6.3.5: Architectural Styles
A software architecture includes system decomposition, global control flow,
handling of boundary conditions, and intersubsystem communication protocols
[Shaw & Garlan, 1996].
Several architectural styles that can be used as a basis for the architecture of
different systems:
• Repository architectural style
• Model/View/Controller (MVC) architectural style
• Client/server architectural style
• Peer-to-Peer architectural style
• Three-tier architectural style
• Four-tier architectural style
• Pipe and filter architectural style
Repository architectural style