Week 8 Flashcards
What are the views in 4+1 architectural view models, and what diagrams are used to represent them?
Logical view - functionality the system provides to users - class & sequence diagrams
Development view - illustrates system from the programmers perspective - component and package diagrams
Process view - dynamic aspects of the system, runtime behaviour etc - activity diagram
Physical view - illustrates the system engineers view - deployment diagram
Scenarios - small set of use cases or scenarios, describing sequences of interactions between objects and processes
What is system architecture?
Fundamental organisation of a system - components, their relationships, the environment etc.
What is an architectural description?
A set of products that document the architecture
What is an architectural view?
Representation of a particular system or part of a system from a particular perspective
What is an architectural viewpoint?
Template that describes how to create and use an architectural view
Includes name, stakeholders, concerns addressed by the viewpoint
What does an architectural style describe?
Types of components
Types of connectors
Topology (constraints on possible compositions)
What are the 4 steps in the processing model of a client-server communication?
Client initiates request
Request passes through network
Server responds
Response returned via network
What properties does client-server communication have?
Transparency - server can be on different machines without affecting the client, client knows the server but not the other way round
Heterogeneity - different machines, operating systems
Redundancy
What are the 4 major forms of redundancy?
Hardware redundancy
Information redundancy (e.g error detection & correction)
Time redundancy
Software redundancy
In MVC, what is the model?
Provides the functionality of the program
In MVC, what is the view?
Presents the data from the model to the user, updating when data has changed
In MVC, what is the controller?
Accepts user input in the form of events. Created by the view
In MVC, what is a propagation mechanism?
Enables the model to inform the view that the data has changed
What two approaches are there for dividing a software system into subsystems?
Layering - levels of abstraction
Partitioning - each subsystem focuses on different aspect
In a layered architecture, what is the difference between closed and open architecture?
Closed - messages can only be sent to the next lowest layer
Open - messages can be sent to any lower layer