INFO2010 - L7 Architecture and Infrastructure Flashcards
Architecture
High level map of the information requirements in organisation
Infrastructure
- physical facilities
- services and management that supports all computer resources within an organisation
Advantages of explicitly designing and documenting a software architecture
Bass et al (2003)
- Stakeholder communication - use as focus for discussion by a range of different stakeholders
- System analysis - making sys arch explicit early in sys dev; architectural design decisions have a profound effect on whether the system can meet critical requirements such as performance, reliability and maintainability
- Large scale reuse - arch is a compact, manageable description of how a sys is organised and how the the components interoperate; may be reusable across many systems with similar reqs
Architectural design stage
Hofmeister et al (2000)
-forces sw designers to consider key design aspects early in the process - arch can serve as a design plan that is used to negotiate system requirements and as a means of structuring discussions with clients, developers and managers. Also essential tool for complexity management. It hides details and allows designers to focus on the key system abstractions
Factors affected by sys architecture
Bosch, 2000
- Performance - if critical; arch design to localise critical ops in a small number of subsystems with little comms btwn them
- Security - if critical; layered structure design to protect most critical assets in innermost layers with high security
- Safety - if critical, design to contain all safety related ops in singe sub system or small no of em
- Availability - if critical design to include redundant components so it is poss to replace and update em without stopping the sys.
- Maintainability - if critical - design fine grain, self containers components that can be readily changed. Producers of data should be separated from consumers and shared data structures avoided.
Probs with Bosch factors
Large grain components improves performance but reduces maintainability
Redundant data improves availability but makes security more difficult
Localising safety features means more comms so degraded performance
Architectural design decisions
- is there a generic application arch that can be used?
- how will the system be distributed?
- what architectural styles are appropriate?
- what approach to structure the system?
- how will the system be decomposed into modules?
- what control strategy will be used?
- how will the arch design be evaluated?
- how should the architecture be documented?
System organisation
Reflects basic strategy used to structure a system 3 organisational styles: - shared data repository style - shared services and servers style - abstract machine or layered style
Shared data repository style
Sub systems exchange data;
- central database accessed by all subsystems (for large amounts of data)
- sub system centric dbs pass data to other subsystems
CASE tools
Project repository in the centre; sub-systems; Design Editor Design Translator Design Analyser Report generator Program editor Code generator
Repository model advantages
- efficient way to share lots of data
- sub-systems not concerned with data management - centralised
- sharing model is published as the repository schema
Repository model disadvantages
- sub-systems must agree on a reporitory modes - a compromise
- data evolution is difficult and expensive
- no scope for specific management policies
- difficult to distribute efficiently
Client/Server Architecture
CLIENT - computer on a network accesses shared network resources
SERVER - machine provides client with services
- maximise utilisation of computer resources
- sharing expensive hw/sw
Client server model
- distributed system model which shows how data and processing is distributed accross a range of components
- set of stnad alone servers which provide specific services such as printing, data management etc
- set of clients which call on these services
- network which allows clients to access servers
Example
Film and picture library: Internet in the middle On one side clients 1,2,3,4 On the other; 4 libraries and their servers; pic, film, catalogue, webserver