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,800 |
|
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 will:
- 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
- Work in small collaborative teams throughout the course to create software specifications for a real world problem. The three phase project allows students to think through the problem from inception to software architecture proposal using the skills, methodology and knowledge learned. The project allows students to apply the knowledge gained to feel the nuances associated with an architecture centric view of the problem
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: | Quality Attributes - 1 |
|
Lecture 4: | Quality Attributes - 2 |
|
Lecture 5: | Architectural Structures - 1 |
|
Lecture 6: | Architectural Structures - 2 |
|
Lecture 7: | Case Study - APTAS |
|
Lecture 8: | Guidance for the Architect |
|
Lecture 9: | Case Study - Tektronix |
|
Lecture 10: | Documenting Software Architecture - 1 |
|
Lecture 11: | Documenting Software Architecture - 2 |
|
Lecture 12: | Architecture by Assembly - COTS |
|
Lecture 13: | Architecture Evaluation |
|
Lecture 14: | Introduction to Product Lines |
|
Lecture 15: | Case Study - Product Line |
|
Lecture 16: | Adoption Strategies |
|
|