Lecture 1 Introduction
Lecture 1 Introduction
Lecture 1
Introduction to Software Architecture
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Software Architecture: Foundations, Theory, and Practice
Course Logistics
2
Software Architecture: Foundations, Theory, and Practice
Textbooks
Recommended Textbook
Richard Taylor, Nenad Medvidovic and Eric Dashofy, Softare
Architecture – Foundations, Theory and Practice, 2010
Supplementary Textbooks
Len Bass, Paul Clements and Rick Kazman, Software Architecture
in Practice, 2nd Edition, 2003
Diomidis Spinellis and Georgios Gousios, Beautiful Architecture,
2009.
Nick Rozanski and Eoin Woods, Software Systems Architecture,
2009.
3
Software Architecture: Foundations, Theory, and Practice
The Origins
4
Software Architecture: Foundations, Theory, and Practice
Accidental Difficulties
Solutions exist
Possibly waiting to be discovered
6
Software Architecture: Foundations, Theory, and Practice
7
Software Architecture: Foundations, Theory, and Practice
Essential Difficulties
Complexity
Conformity
Changeability
Intangibility
8
Software Architecture: Foundations, Theory, and Practice
Complexity
9
Software Architecture: Foundations, Theory, and Practice
Conformity
Hardware
10
Software Architecture: Foundations, Theory, and Practice
Changeability
Hardware problems
11
Software Architecture: Foundations, Theory, and Practice
Intangibility
No obvious representation
E.g., familiar geometric shapes
12
Software Architecture: Foundations, Theory, and Practice
Pewter Bullets
13
Software Architecture: Foundations, Theory, and Practice
14
Software Architecture: Foundations, Theory, and Practice
Easy backtracking
Early prototypes
Great designers
Good design can be taught; great design cannot
15
Software Architecture: Foundations, Theory, and Practice
Primacy of Design
16
Software Architecture: Foundations, Theory, and Practice
Design (blueprints)
Construction
Use
17
Software Architecture: Foundations, Theory, and Practice
18
Software Architecture: Foundations, Theory, and Practice
Deeper Parallels
19
Software Architecture: Foundations, Theory, and Practice
20
Software Architecture: Foundations, Theory, and Practice
23
Software Architecture: Foundations, Theory, and Practice
Conceptual integrity
Thus…
26
Software Architecture: Foundations, Theory, and Practice
Notable Points
27
Software Architecture: Foundations, Theory, and Practice
28
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
29
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
30
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Software Architecture: Foundations, Theory, and Practice
31
Software Architecture: Foundations, Theory, and Practice
WWW’s Architecture
33
Software Architecture: Foundations, Theory, and Practice
34
Software Architecture: Foundations, Theory, and Practice
Architecture in Action:
Pipe and Filter on the Desktop
Remember pipes and filters in Unix?
ls invoices | grep –e august | sort
35
Software Architecture: Foundations, Theory, and Practice
“Genres” of Architecture
Enterprise Architecture
System of Systems Architecture
Systems Architecture
Software Architecture
37
Software Architecture: Foundations, Theory, and Practice
38
Software Architecture: Foundations, Theory, and Practice
39
Software Architecture: Foundations, Theory, and Practice
40
Software Architecture: Foundations, Theory, and Practice
41
Software Architecture: Foundations, Theory, and Practice
Definition
42
Software Architecture: Foundations, Theory, and Practice
Question
43
Software Architecture: Foundations, Theory, and Practice
Answer
44
Software Architecture: Foundations, Theory, and Practice
45
Software Architecture: Foundations, Theory, and Practice
46
Software Architecture: Foundations, Theory, and Practice
Architectural Influences
Stakeholders
Each stakeholder has different concerns and goals,
some contradictory
Development Organization
Immediate business, long-term business, and
organizational (staff skills, schedule, and budget)
Background and Experience of the Architects
Repeat good results, avoid duplicating disasters
Ramification of Influences
48
Software Architecture: Foundations, Theory, and Practice
Main Message
49