Download presentation
Presentation is loading. Please wait.
Published byBryce Allison Modified over 9 years ago
1
Software Engineering General architecture
2
Architectural components: Program organisation overview Major building blocks in a system Definition of each building block’s area of responsibility A building block should know as little as possible about other building blocks’ areas of responsibility Communication rules for each building block should be well defined
3
General architecture Major classes Responsibilities of each major class Interaction with other classes Class hierarchies State transitions Object persistence Organisation of classes in subsystems
4
General architecture Data design Major files and table designs to be used Access policies (sequential, direct, etc.) Storage policies High-level organisation and contents of data and databases Typically, data should be accessed directly by only one class or subsystem
5
General architecture Business rules Using the terminology of General Systems Theory, environmental rules that affect the behaviour of the system
6
General architecture User interface design Interface paradigm(s) Architecture should be such that interface could be replaced without affecting other parts of the system
7
General architecture Resource management Database connections Threads Handles Memory
8
General architecture Security Manipulation of buffers Rules for handling untrusted data Encryption Level of detail contained in error messages Protection of data in memory
9
General architecture Performance issues Performance goals Performance bottlenecks Scalability Interoperability
10
General architecture Internationalisation / localisation Obs: issue of growing importance nowadays Input / Output I/O policy (look ahead, look behind, just in time) I/O error detection level (field, record, stream, file, etc.)
11
General architecture Error processing Corrective versus detective Active versus passive Error propagation policy Conventions for handling error messages Exception handling policy At what levels are errors handled? What is the level of responsibility of each class for validating input data? Tailor made error processing or use development environment pre-fabricated solutions?
12
General architecture Fault tolerance Expected fault tolerance Fault tolerance strategies Architectural feasibility Is proposed design viable, considering available resources and proposed requirements? Overengineering How to ensure system level robustness?
13
General architecture “Buy” or build? Reuse decisions Architecture recurring revision strategy
14
General architecture General architecture quality How to preserve conceptual integrity Clearly stated architecture’s objectives Motivations for all major decisions Machine- and language-independent architecture Multiple views NO COMPROMISING!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.