3/4: Large Scale Design Flashcards

1
Q

what are the scalablity levels? what issues arrise at each?

A

objects - getting the algorithms and structure right
micro - combining objects
macro (frameworks) - combining objects covering large abstractions
applications (sub-systems) - needs to fit a specific task
systems - integration of different applications, innovation becomes risky and changes propagate
enterprises - changes can affect the organisations economics
global - coorperation between organisations, iteroperablity, policy and security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

what are the primal forces in large scale design

A

functionality management - ensuring the software does what it’s supposed to
performance management - ensuring the software meets perfomance needs
complexity management - management of abstractions to keep the system simple. recognising where future changes may cause complications and complexity
change management - management of a systems adaptablitiy and flexiblity
resource management - managing IT resources
technology transfer - tranfer of software and other technology between systems and enterprises

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

what are the principles of application architecture?`

A

Identify the components of each application
● Cohesive units providing a single identifable
abstraction
Defne interfaces and stick to them
● Functional interfaces are usually best – make sure
that every interaction is mediated by code
Stress consistency
● Of user interface, behaviour, representation, …
● Makes applications easier
to use/build/maintain

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

describe the MVC architecture

A

model: the model of the data in memory
view: the presentation of the data to the user
controller: the way the user manipulates the data
MVC aims to componentise functionality
controller updates the model which updates the view which updates the controller which responses of UI action
or
interactive controls in the view invoke controller actions
controller actions invoke changes in the model
changes in the model cause events
the view observes events in the model

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

what are some capabilities and problems that are brought about by distributed computing?
ABCDDP

A

concurrency - faster, but harder to control
distance - doesn’t all die at once, but can be difficult to locate a source of a problem
distribution - doesn’t all die at once but might not all be available
points of failure - there’s more ways it can go wrong, but you can isolate them
bottlenecks - one mistake can be fatal but often easy to spot
administration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
describe the following transparancies:
location
failure
load
upgrade
A

location - a components location is largely irrelevant
failure - if a machine goes down, the service continues uninterrupted
load - system stays responsive in the face of many users
upgrade - component can be changed, moved or added without bring the system down

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

how can we get the location of resources?

A

can use a directory service to get locations of resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what is replication? what rpoblems does it bring?

A

use backups of resources so that individual failure doesn’t rely on far away resources that will become busier and slower
need to deal with consistency though and balancing loads

How well did you know this?
1
Not at all
2
3
4
5
Perfectly