Professional Documents
Culture Documents
Lecture 13
Lecture 13
System Design:
Architecture
D r. R u d r a P r a t a p D e b N a t h
Associate Professor
Department of Computer Science and Engineering
University of Chittagong
Email:rudra@cu.ac.bd
ARCHITECTURAL
DESIGN
ACTIVITIES IN
’ARCHITECTURAL DESIGN’
Criteria • Criterion
Design af
Model komponenter
Architecture: A general
basic structure, which is
extended later.
IT-system: A collection
of components that
implement modeling
requirements, functions
and interfaces.
System
ARCHITECTURAL
DESIGN Component Architecture
Komponentarkitektur: Process Architecture
Procesarkitektur:
• Classes
Klasser • Objects
Objekter
• Stable aspects
Stabile forhold • Dynamic
Dynamiskeaspects
forhold
• Criterion: a preferred property of an
• Related
Relaterede components
komponenter • Coordination
Koordinering af of processes
processer
architecture. • Logical level
Logisk niveau • Physical level
Fysisk niveau
What are the conditions for criteria • Structure
Struktur for for descriptions
beskrivelser • Structure
Struktur for for execution
udførelsen
and design?
How are the system’s processes ● Bridge criteria and technical platform
Analysis Design
Object Phenomenon in the context A part of the system; Some of
of the IT-system the objects represent parts of
the reality
Class Behavior is described in Behavior is described in a
abstract patterns of events. collection of operations.
OVERVIEW OF
‘ARCHITECTURAL DESIGN’
CRITERIA
ACTIVITIES IN
’ARCHITECTURAL DESIGN’
Criteria • Criterion
Design af
Model komponenter
Product
operation
Product
• Correctness (does it do what I want?) transition
• Reliability (does it do it accurately all the
time?)
• Efficiency (will it run on my hardware as • Portability (will I be able to use it on
well as it can?) another machine?)
• Integrity (is it secure?) • Reusability (will I be able to reuse some
• Usability (can I operate it?) of the software?)
• Interoperability (will I be able to interface
it will some other system?)
ANALYZE SPECIFIC
CONDITIONS
Typical conditions for design of an architecture
PRIORITIZE
• Make a well considered and clear prioritization of
the general criteria
Very important Important Less important Irrelevant Easily fulfilled
Usable
Secure
Efficient
Correct
Reliable
Maintainable
Testable
Flexible
Comprehensive
Reuseable
Portable
Interoperable
COMPONENTS
ACTIVITIES IN
’ARCHITECTURAL DESIGN’
Criteria • Criterion
Design af
Model komponenter
<<component>>
System interface
<<component>>
Kernel
<<component>>
Car’s other
systems
• A structural way of seeing things
• Divides the concerns of a system
• Directs attention to comprehensiveness and
October 27, 2014
flexibility
SU:E14:L9
ACTIVITIES IN
‘COMPONENTS’
• Example:
The component is
responsible for reading <<component>>
buttons and updating the Model
display
SU:E14:L9
PATTERN: LAYERED
ARCHITECTURE
• Layer:
Describes a
component’s
<<component>> responsibility by showing
Layeri+1 which operations are
offered from above and
Upwards interface which are used from
Operations the component below
<<component>> makes available to the layer • Dependency:
Layeri above
Dashed arrows denote
Downwards interface dependencies
Operations the component can A dependency implies
<<component>> access in the layer below that a change in one
Layeri-1
component (pointed
at) may affect the
other component
(pointed from)
SU:E14:L9
PATTERN: GENERIC
ARCHITECTURE • The generic architecture
reflects the division of
<<component>> the problem domain and
Interface application domain
<<component>> <<component>> • Model component:
User interface System interface implements the
problem-domain model
• Function layer:
<<component>> contains system
Function functions
• Interface: can be
decomposed into two
<<component>>
Model
separate parts: UI and
SI
<<component>> • “The technical platform”
Technical platform is an extension and
encapsulation of the
<<component>> <<component>> <<component>> underlying technical
UIS DBS NS platform
October 27, 2014
SU:E14:L9
PATTERN: LAYERS AND
Part:
Adds a horizontal decomposition
SUBCOMPONENTS
to the vertical decomposition
with
”component” model
”component” technical platform
DBMS UI library
October 27, 2014
SU:E14:L9
VARIATIONS
• Closed architecture: can only use
<<component>> operations from the layer immediately
Layeri+1 above or below
• Open architecture: can use operations
from any layer above or below
<<component>> • Strict architecture: can only use
Layeri operations in layers below
• Relaxed architecture: can use
operations in layers below and above
<<component>>
Layeri-1
Closed-strict Open-strict
Closed-relaxed Open-relaxed
SU:E14:L9
VARIATIONS OF THE CLIENT
SERVER ARCHITECTURE
• Based on the general client server pattern and the generic pattern
• Five component architectures with varying degrees of distribution
M M
SU:E14:L9
Alternatives
IDENTIFY
COMPONENTS
Concern Model Function Interface
Responsibility The problem domain The functionality on the The interaction between
model model functionality and users
or other systems
Contextual In cohesive or complex Need for in cohesive or In cohesive or complex
issues problem domains complex functionality usage; in cohesive or
complex actors
Exemplars Accounting, Payroll, signal Browsing, games,
reservations, inventory, processing, cruise presentation monitoring
administration control, prediction
monitoring
Special needs Databases Model-related functions, Screens, windows,
application-related buttons, print-outs,
functions, cryptography devices, communication
Functionality
<<component>> available for
Function users in HQ
SU:E14:L9
SPECIFY COMPLEX
COMPONENTS – CRC CARDS
• Describe the component in details:
• Responsibility
• Dependency (for classes with specified collaboration)
• Relationship to context
• In a scheme or diagram