software architecture + architectural styles Flashcards
architecture
set of structures needed to reason about the system
in which four ways can we describe architecture
formal notations; mathematical
architecture description languages; e.g. backus naur form
box and line
ball and socket; semiformal development of box and line
what are the 3 steps in architectural design
structuring the system into key components and the communication between them
control modelling to organise the system
modular decomposition of sub systems
what are the 4 steps we take to identify sub systems and their interfaces
identify major functions the system should provide
group together similar functions to get bigger sub systems
can decompose these further
specify interfaces
what should subsystem and component interface descriptions include
a name
operations within it
exception handlers
non-functional properties
ball in ball and socket
provided
provides a service
does the processing
socket in ball and socket
required
service user/caller
control model
controls the flow between subsystems
what are the two types of control models
centralised control and event based systems
centralised control
one subsystem has overall responsibility for control
what are the two types of centralised control
call return model
manager model
manager model
for concurrent systems
the controller controls the stopping and starting and coordination of all system processes
event based systems
each subsystem can respond to externally generated events from other subsystems or the systems environment
call return model
for sequential systems
hierarchical; main() starts the entire system and control is passed down the hierarchy
what does architectural choice usually affect
non functional requirements