Reid Holmes
Architectural Style Intro
Material and some slide content from:
- Emerson Murphy-Hill
- Software Architecture: Foundations, Theory, and Practice
- Essential Software Architecture
Architectural Style Intro Reid Holmes BOLD == 2% PROJECT BONUS - - PowerPoint PPT Presentation
Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Style Intro Reid Holmes BOLD == 2% PROJECT BONUS NomNom! Tether Tuneline
Material and some slide content from:
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
NomNom! TripJournal Let’s Do This Recipal Yippee! DSD Locl HeHeDelivery Quick Byte iLoc
BOLD == 2% PROJECT BONUS
Tether PEPPA Food Oracle Spoon Feed Me Wutudu Kontribute Swap ‘Em DigiLib Hoot Alarm Plus Tuneline Where’d I Park LyfeCraft EventHub Run To Click Reflect Picture This! Grouplus Tracktr Trading Fever
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
answer based on what we did in class?
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
connectors / topology you did?
1/4
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
shopping cart.
broad system goals?
proposed architecture?
2/4
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
notification system.
architecture of the system.
different stakeholders care about divergent NFPs.
each other.
3/4
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
stakeholders can understand and reason about?
architectural document?
complete and consistent system descriptions?
4/4
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
SOFTWARE DESIGN SOFTWARE ARCHITECTURE
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
properties
architectural design decisions that:
[TAILOR ET AL.]
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
applicable to a recurring design problem, and parameterized to account for different software development contexts in which that problem appears.
[TAILOR ET AL.]
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
[CZARNECKI]
constrained by:
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
[CZARNECKI]
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
C1 Third Party
Diagram Key Component Dependency
C1 C2 C3 C4 C Third Party Componen AL
Four components are directly dependent on a third party
component is replaced with a new component with a different interface, changes to each component are likely. Only the AL (abstraction layer) component is directly dependent on the third party component. If the third party component is replaced, changes are restricted to the AL component only
C2 C4 C3
[GORTON]
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
[CZARNECKI]
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
understand the strength and weaknesses of the style as well as the consequences of deviating from the style.
[CZARNECKI]
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
heavily dependent on individual perspective and that truth was the subject to interpretation
surrounding your architecture
fundamentally different architectures for seemingly trivial reasons
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
Architectural
Styles
Language Based Layered Dataflow Shared Memory Interpreter Implicit Invocation Peer-to-Peer
Main program & Subroutines Object-
Virtual Machine Client Server Batch- sequential Pipe-and-Filter Blackboard Rule-based Interpreter Mobile code Publish- subscribe Event-based
[TOPOLOGY FROM TAILOR ET AL.]
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
[CZARNECKI]
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
data store
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
upper layers and acting as clients for lower layers
functionality to more specific upper layers
can only communicate with adjacent layers
[CZARNECKI]
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
REID HOLMES - CPSC 410: ADVANCED SOFTWARE ENGINEERING
“reversed”