Professional Documents
Culture Documents
What Is Software Architecture?: Chapter 2, Authors: Len Bass, Paul, Rick Page Numbers: 19-45
What Is Software Architecture?: Chapter 2, Authors: Len Bass, Paul, Rick Page Numbers: 19-45
What Is Software Architecture?: Chapter 2, Authors: Len Bass, Paul, Rick Page Numbers: 19-45
WHAT IS SOFTWARE
ARCHITECTURE?
Chapter 2,
Authors: Len Bass, Paul, Rick
Page Numbers: 19-45
02/08/2010
System description of Acoustic Simulation
2 of 50
SA/NH/CS'A'/2010 02/08/2010
What Software Architecture Is and
What It Isn't
3 of 50
SA/NH/CS'A'/2010 02/08/2010
Architecture: Definition
4 of 50
SA/NH/CS'A'/2010 02/08/2010
Architecture Definition
5 of 50
SA/NH/CS'A'/2010 02/08/2010
Architecture: Definition – observation
6 of 50
SA/NH/CS'A'/2010 02/08/2010
Architecture: Definition – observation
7 of 50
SA/NH/CS'A'/2010 02/08/2010
Architecture: Definition – observation
Every system can be shown to comprise elements and the relations among
them.
SA/NH/CS'A'/2010 02/08/2010 8 of
50
Architecture: Definition – observation
9 of 50
SA/NH/CS'A'/2010 02/08/2010
Architecture: Definition – observation
10 of 50
SA/NH/CS'A'/2010 02/08/2010
Other Points of View
11 of 50
SA/NH/CS'A'/2010 02/08/2010
Reference Models
13 of 50
SA/NH/CS'A'/2010 02/08/2010
Reference Architectures
14 of 50
SA/NH/CS'A'/2010 02/08/2010
Architecture: useful concepts
15 of 50
Reference
model
Reference Software
architecture architecture
Architectural
pattern
SA/NH/CS'A'/2010 02/08/2010
Why is Software Architecture Important?
16 of 50
SA/NH/CS'A'/2010 02/08/2010
Why is Software Architecture Important?
17 of 50
SA/NH/CS'A'/2010 02/08/2010
Why is Software Architecture Important?
18 of 50
SA/NH/CS'A'/2010 02/08/2010
ARCHITECTURE IS THE VEHICLE FOR STAKEHOLDER
COMMUNICATION
19 of 50
SA/NH/CS'A'/2010 02/08/2010
ARCHITECTURE MANIFESTS THE EARLIEST
SET OF DESIGN DECISIONS contd
21 of 50
SA/NH/CS'A'/2010 02/08/2010
ARCHITECTURE AS A TRANSFERABLE, RE-
USABLE MODEL
22 of 50
SA/NH/CS'A'/2010 02/08/2010
ARCHITECTURE AS A TRANSFERABLE, RE-
USABLE MODEL contd..
23 of 50
SA/NH/CS'A'/2010 02/08/2010
Architectural Structures
25 of 50
- module structures
basic elements are modules, they are assigned areas of
functional responsibility, less emphasis on runtime issues
- component-and-connector structures
elements are run-time components (units of computation) and connectors (communication
vehicles)
- allocation structures
shows the relationship between the software elements and the elements in
one or more external environments in which software is created and
executed
SA/NH/CS'A'/2010 02/08/2010
Architectural Structures: Module
26 of 50
module
layered
SA/NH/CS'A'/2010 02/08/2010
Architectural Structures: Component-and-
Connector
27 of 50
component-and-connector
concurrency process
SA/NH/CS'A'/2010 02/08/2010
Architectural Structures: Allocation
28 of 50
allocation
deployment
SA/NH/CS'A'/2010 02/08/2010
Architectural Structures: Module
Software Relations Useful For Reason About
structure
decomposition is a submodule, shares resource allocation, project structuring
secrets with and planning, information hiding,
encapsulation, configuration control
Uses requires the correct extension or extraction of functionality
presence of
layered requires the correct incremental development,
presence of, uses the implementing systems on top of
services of, provides “virtual machines”
abstraction to
class is an instance of, shares in OO – producing rapid almost-alike
access methods of implementations from a common
template
29 of
02/08/2010 SA/NH/CS'A'/2010 50
Architectural Structures: Component-Connector
31 of
02/08/2010 SA/NH/CS'A'/2010 50
Architectural Structures: which one to choose
32 of 50
SA/NH/CS'A'/2010 02/08/2010