1/17
Learn about large-scale design!
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
characteristics of large scale design
usually cross responsibilities within an organisation, typically cross organisations
how do the issues change with scale?
as scale increases, the number of people affected by decisions increases, often non-linearly
object level (small and medium scale)
getting the algorithms and data structures right, worrying about method signatures and visibility
micro level (small and medium scale)
combinations of a few objects
macro level - component frameworks (small and medium scales)
combinations of objects covering fairly large abstractions
application level - sub systems (larger scale)
emphasis on a “good fit” to a specific task
system level (larger scale)
integrate different applications, innovation gets more risky, changes propagate
enterprise level (large scale)
an organisation’s entire IT support, changes affect the organisation’s economics
global level (larger scale)
cooperation between organisations, interoperability, policy and security
what do strong cohesion and weak coupling look like in small and medium scale design?
single function and loose dependencies
difficulty with large scale
elements aren’t orthogonal - functions should be accessible through the UI and through scripting
what orthogonalities are present?
multiple different UIs, multiple automation routes, shared functionality between applications
what is the ideal decomposition?
one that maximises orthogonality while allowing interaction
application architecture
defines how smaller parts fit together and relate to each other, lives within a system architecture
what issues must each level balance?
ease of extension and optimisation, change and maintenance, use and reuse
application architecture principle 1
identify the components of each application
application architecture principle 2
define interfaces and stick to them
application architecture principle 3
stress consistency of UI, behavior, representation, etc