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



5000 Forbes Avenue, Pittsburgh, PA 15213
All contents copyright © Carnegie Mellon University