Large-Scale Software Architecture

Course Description


Focusing on why large-scale, long-term software projects are difficult, and how SEOC2 can and cannot help you with such projects.


Students are expected to have good knowledge of Requirements Engineering and Software Engineering concepts

Course Topics

  1. - Introduction -- What is software architecture?
  2. - Properties of large-scale systems
  3. - Key requirements in archiectural level
  4. - Architectural views and viewpoints
  5. - Architectural approaches
  6. - Architectural modeling and description
  7. - Providing architectural documents
  8. - Introducing architectural styles and patterns
  9. - Architecture evaluation
  10. - Evaluation methods (SAAM,ATAM)

By the end of this course, you will know:

what ideas, what new trends and what new possibilities are offered by large-scale software architecture and related tools, techniques, applications and concepts.

Course Material

  •  Large-Scale Software Architecture: A Practical Guide using UML: by  Jeff Garland,Richard Anthony by Jeff Garland,Richard Anthony
  • Software Architecture in Practice: by Len Bass, Paul Clements, Rick Kazman.

Grading Policy

According to the following description, there will be two exams, homework assignments and one final paper as following:
  • [20%] Homework assignments
  • [20%] Midterm exam
  • [25%] Final exam
  • [25%] Project
  • [10%] Class Activity