Page 1
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Designing
Architectures
Software Architecture
Lecture 4
Page 2
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Designing
Architectures
Software Architecture
Lecture 4
Foundations, Theory, and Practice Software Architecture
2
Where do architectures come from?
Method
1) Efficient in familiar terrain
2) Not always successful
3) Predictable outcome (+ & - )
4) Quality of methods varies
Creativity
1) Fun!
2) Fraught with peril
3) May be unnecessary
4) May yield the best result
How Do You Design?
Page 3
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Designing
Architectures
Software Architecture
Lecture 4
Foundations, Theory, and Practice Software Architecture
2
Where do architectures come from?
Method
1) Efficient in familiar terrain
2) Not always successful
3) Predictable outcome (+ & - )
4) Quality of methods varies
Creativity
1) Fun!
2) Fraught with peril
3) May be unnecessary
4) May yield the best result
How Do You Design?
Foundations, Theory, and Practice Software Architecture
3
Objectives
? Creativity
? Enhance your skill-set
? Provide new tools
? Method
? Focus on highly effective techniques
? Develop judgment: when to develop novel solutions, and
when to follow established method
Page 4
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Designing
Architectures
Software Architecture
Lecture 4
Foundations, Theory, and Practice Software Architecture
2
Where do architectures come from?
Method
1) Efficient in familiar terrain
2) Not always successful
3) Predictable outcome (+ & - )
4) Quality of methods varies
Creativity
1) Fun!
2) Fraught with peril
3) May be unnecessary
4) May yield the best result
How Do You Design?
Foundations, Theory, and Practice Software Architecture
3
Objectives
? Creativity
? Enhance your skill-set
? Provide new tools
? Method
? Focus on highly effective techniques
? Develop judgment: when to develop novel solutions, and
when to follow established method
Foundations, Theory, and Practice Software Architecture
4
Engineering Design Process
? Feasibility stage: identifying a set of feasible concepts
for the design as a whole
? Preliminary design stage: selection and development of
the best concept.
? Detailed design stage: development of engineering
descriptions of the concept.
? Planning stage: evaluating and altering the concept to
suit the requirements of production, distribution,
consumption and product retirement.
Page 5
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Designing
Architectures
Software Architecture
Lecture 4
Foundations, Theory, and Practice Software Architecture
2
Where do architectures come from?
Method
1) Efficient in familiar terrain
2) Not always successful
3) Predictable outcome (+ & - )
4) Quality of methods varies
Creativity
1) Fun!
2) Fraught with peril
3) May be unnecessary
4) May yield the best result
How Do You Design?
Foundations, Theory, and Practice Software Architecture
3
Objectives
? Creativity
? Enhance your skill-set
? Provide new tools
? Method
? Focus on highly effective techniques
? Develop judgment: when to develop novel solutions, and
when to follow established method
Foundations, Theory, and Practice Software Architecture
4
Engineering Design Process
? Feasibility stage: identifying a set of feasible concepts
for the design as a whole
? Preliminary design stage: selection and development of
the best concept.
? Detailed design stage: development of engineering
descriptions of the concept.
? Planning stage: evaluating and altering the concept to
suit the requirements of production, distribution,
consumption and product retirement.
Foundations, Theory, and Practice Software Architecture
5
Potential Problems
? If the designer is unable to produce a set of feasible
concepts, progress stops.
? As problems and products increase in size and
complexity, the probability that any one individual can
successfully perform the first steps decreases.
? The standard approach does not directly address the
situation where system design is at stake, i.e. when
relationship between a set of products is at issue.
? ? As complexity increases or the experience of the
designer is not sufficient, alternative approaches to the
design process must be adopted.
Read More