Chapter 4 - Architectural Design and User Interface Design (PART 1)
Chapter 4 - Architectural Design and User Interface Design (PART 1)
Difference
views of a
house
End-user
Programmers &
software managers
System engineers
Integrator
4 + 1 view model of software architecture
1. A logical view : shows the key abstractions in the
system as objects or object classes.
2. A process view : shows how, at run-time, the system
is composed of interacting processes.
3. A development view : shows how the software is
decomposed for development.
4. A physical view : shows the system hardware and
how software components are distributed across
the processors in the system.
Related using use cases or scenarios
4.3 ARCHITECTURAL
PATTERNS
Architectural design decisions
(Nine questions)
• Example:
– Layered security architecture : A system to provide file
security
Layered architecture
• Advantages
– Each layer can be considered to be an increasing level of
abstraction.
– Designers can use the layers to decompose a problem into
a sequence of more abstract steps.
– It’s easy to add or modify a layer as the need arises.
• Disadvantages
– Not easy to structure a system in layers.
– The multiple layers of abstraction are not always evident
when examine a set of requirements.
– System performance may suffer from the extra
coordination among the layers.
Example : Layered architecture