what is stakeholder communication
discuss system without confusing details
software architecture components
identify structure of software system with a set of interacting components and design guiding principles
what is project planning
high level architecture view
what is large scale resue
architecture tat may be reusable across a range of systems
why is software architecture important
architecture decision factors
types of software architectural patterns
model view controller MVC pattern
divides system into 3 components
model: data store
view: data representation
controller: server
user use controller
controller manipulate model
model updates view
user sees updated view
when should we choose MVC pattern
MVC pattern advantages and disadvantages
advantages
disadvantages
- may involve additional code and complexity
layered pattern
when should layered pattern be used
2. development spread across multiple team responsible for a layer each
layered pattern advantages and disadvantages
advantages
disadvantages
- clean separation of layers is difficult
repository pattern
large amount of shared data held in central database that can be accessed by all subsystems
components only communicate with the repository
when should repository pattern be used
2. when inclusion of data in repository triggers actions in data-driven system
repository pattern advantages and disadvantages
advantages
disadvantages
client server pattern
functionality organised as services which may be stored in different servers
clients access servers for services
when should client server pattern be used
data is stored in database and is accessed from different location
client server pattern advantages and disadvantages
advantages
disadvantages
peer to peer pattern
peer act as client and server
responsibility for hosting and managing services are shared amongst clients
when should peer to peer pattern be used
need computational power but constrained by hardware capabilities
peer to peer pattern advantages and disadvantages
advantages
disadvantages
pipe and filter pattern
data processed and then used
pipe and filter pattern advantages and disadvantages
advantages
disadvantages