Please enable JavaScript.
Coggle requires JavaScript to display documents.
Architecture to product (TM354) (Reuse (Design patterns (Patterns (FOAMS…
Architecture to product (TM354)
Architecture
Architecturally significant requirements (ACC Q)
Application environment / Core features / Constraints / Quality attributes
Architectural styles
Twin peaks model
Requirements vs. arch
Agile is compatible
Can scale up
Responsive to change
Involving customers
Styles (CLIPS NDDC)
Layered
:check:
presentation / application / data layers
Data flow
:check:
Unix | piping
Peer-to-peer
:check:
Service-oriented
:check:
Independent components
:check:
java packages
Call-return
:check:
Procedure calls
Client-server
:check:
Data-centered
:check:
Central databases
Notification
:check:
publish-subscribe
Frameworks
Consist of (DAC)
Documentation / architecture / components
Java beans / codigniter / Swing
Product line
A collection of closely related software products used to support closely related problems
E.g. there's a product line to support rocket guidance systems
Reusable architectural patterns
Architectural views
Viewpoints
Concern
What the viewpoint focuses on - e.g. security, correctness, maintainability etc.
A model expresses a viewpoint, and thus a concern
Each stakeholder has their own viewpoint (perspective) of a view, and their inevitable concerns
Viewpoints are not views. Views are e.g. PDL, but a viewpoint on say the process view is a perspective of a particular stakeholder, on that view.
Views (PDL)
Process
:check:
Independent processes and how they communicatie
Logical
:check:
Functional elements to be partitioned among developers
Deployment
:check:
The operating envronment: computer, networks etc
Documenting them
Involves models
Standardized
Reuse
Patterns: requirements patters, analysis patterns, architectural patterns, design patterns, idioms (particular ways of doing things in a language)
Speeds up development time / avoids duplication of effort / tried and tested solutions / reliable
Design patterns
Types
Behvaioural
:check:
How objects cpmmunicate
E.g. Observer pattern
Structural
:check:
Relationships between classes and objects
E.g. Adapter pattern
Creational
:check:
E.g. Factory / factory method / singleton
Patterns (FOAMS F)
Singleton
:check:
Useful for a controller class
Adapter
:check:
MVC
:check:
Observer
:check:
Factory method
:check:
A method for creating a generalized object at run-time (late binding)
Factory
:check:
Documenting patterns
Gang of four template
Name / purpose / problem solved / how it works / when to use / example
Interfaces
The 'signature' of an interface is the correct term to use