Professional Documents
Culture Documents
in Context
Software Architecture
Lecture 2
Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights re
Fundamental Understanding
Requirements
Design
Implementation
Analysis and Testing
Evolution
Development Process
Requirements Analysis
Architecture-Centric Design
Design Techniques
11
Objects
Main abstraction entity in OOD
Encapsulations of state with functions for
accessing and manipulating that state
12
Pros
UML modeling notation
Design patterns
Cons
Provides only
One level of encapsulation (the object)
One notion of interface
One type of explicit connector (procedure call)
DSSA
Implementation
Faithful Implementation
Unfaithful Implementation
Implementation Strategies
Generative techniques
e.g. parser generators
Frameworks
collections of source code with identified places
where the engineer must fill in the blanks
Middleware
CORBA, DCOM, RPC,
Reuse-based techniques
COTS, open-source, in-house
Writing all code manually
18
How It All
Fits
Together
19
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.
20
Architectural model
may be examined for consistency with
requirements
may be used in determining analysis and
testing strategies for source code
may be used to check if an implementation is
faithful
22
Architecture-Centric Evolution
Process
Motivation
Evaluation or assessment
Design and choice of approach
Action
includes preparation for the next round of
adaptation
24
Processes
25
The
time
Testing
Gapbetweenrotors
indicatesnoproject
activityforthatt
Radiusofrotorindicates
levelofstaffingattimet
ti
SimplisticWaterfall,
Sideperspective
Coding
Design
Requirements
27
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.
Cross-section at time ti
Design
(activity)
Requirements
Design
doc
28
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.
Waterfallexample,
Angledperspective
29
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.
A Richer Example
time
Assess/
Test/Build/
Deploy
Build/Design/
Requirements/Test
Design/Build/
Requirements
S1
Requirements/Architecture
assessment/Planning
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.
30
A Sample Cross-Section
31
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.
32
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.
Design/Build/
Requirements
Requirements/
ArchitectureAssessment/Planning
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.
33
Customization
Parameterization
Assessment
34
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.
Visualization Summary
36
Summary (1)
Summary (2)
38