The eLearning Series: Systems Engineering for Software Intensive Systems
Software Architecture
| Instructor
| CEU Units
| # of Lectures
| Hours per Week
| Tuition
|
| CMU Faculty/Staff |
6.4 |
16 |
10-15 |
$2,700 |
|
Required Textbooks: (3)
- Software Architecture: Perspectives on an Emerging Discipline, by Mary Shaw and David Garlan, Prentice Hall 1996, ISBN: 0131829572
- Software Architecture in Practice, Second Edition, by Len Bass, Paul Clements, and Rick Kazman, Addison Wesley 2003, ISBN: 0321154959
- Documenting Software Architectures: Views and Beyond, by Clements, et al. Addison-Wesley, 2003, ISBN: 0201703726
Course Objectives
This course aims to teach you how to design, understand, and evaluate systems at an architectural level of abstraction. By the end of the course you should be able to:
- Recognize major architectural styles in existing software systems
- Describe an architecture accurately
- Generate architectural alternatives for a problem and choose among them
- Construct a medium-sized software system that satisfies an architectural specification
- Use existing definitions and development tools to expedite such tasks
- Evaluate the suitability of a given architecture in meeting a set of system requirements
Prerequisites
Experience with at least one large software system, either through industrial software development experience or an undergraduate course in software engineering, compilers, operating systems, or the like.
Topics
| |
Lecture 1: | What is Software Architecture? - 1 |
|
Lecture 2: | What is Software Architecture? - 2 |
|
Lecture 3: | Software Architecture Concepts |
|
Lecture 4: | Quality Attributes - 1 |
|
Lecture 5: | Quality Attributes - 2 |
|
Lecture 6: | Styles and Patterns - 1 |
|
Lecture 7: | Styles and Patterns - 2 |
|
Lecture 8: | Case Study: APTAS |
|
Lecture 9: | Guidance for the Architect |
|
Lecture 10: | Case Study: Product Lines and Standards |
|
Lecture 11: | Documenting Software Architecture - 1 |
|
Lecture 12: | Documenting Software Architecture - 2 |
|
Lecture 13: | Architecture by Assembly - COTS |
|
Lecture 14: | Architecture by Assembly - Middleware |
|
Lecture 15: | Architecture Evaluation |
|
Lecture 16: | The Rest of Software Architecture |
|
|