Sign In

 SWE 416: Software Architecture

​Course Information

Class/Laboratory Schedule: 

3 lectures per week, 50 minutes each (3-0-3)

Designation:   Elective Course

Course Level:   Undergraduate


Prerequisite(s) by Topic: 

  • Software Design and Architecture

Prerequisite Courses: 

Catalog Description: 

Study the concepts, principles, methods, and best practices in software architecture. Different architectural styles, patterns and product lines are presented and compared. Methods to analyze, evaluate and document software architectures are also discussed. Students participate in a group project on software architecture design.


Software Architecture in Practice (2nd edition), by Len Bass, Paul Clements, and Rick Kazman, Addison-Wesley, 2003.

Reference(s) and Other Material: 

  • Documenting Software Architectures: Views and Beyond, by Clements et al.
  • Beyond Software Architecture, Luke Hohmann.

Course Outcomes: 

  • Learn the different software architecture styles.
  • Learn how to document software architectures.
  • Analyze and evaluate software architectures.
  • Learn how to work in teams.

Topics Covered: 

  • Software Design concepts.
  • Design strategies.
  • Architectural design.
  • Software & Systems Architecture context.
  • Quality Attributes.
  • Software architecture styles & patterns.
  • Analyzing and evaluating Software Architecture.
  • Designing Software Architecture.
  • Reconstructing Software Architecture.
  • Documenting Software Architecture.
  • Software Product Lines.​