Large-Scale Software Architecture

Overview                                                                               

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

Prerequisites

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

Instructor

Prof. Ahmad Abdollahzadeh Barforoush


Teaching Assistant

Ali Kamali


  1. – Introduction — What is software architecture?
  2. – Properties of large-scale systems
  3. – Key requirements in architectural 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.

Criteria Total Mark Comments
Homework 20%
Project 25%
Midterm 20%
Final Exam 25%
Class Activity 10%

Text Books:

  • 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.

More info at https://t.me/LSS_98

 

 

Section 1: Introduction

Section 2: Documenting Software Architecture

  • Week 5
    • Architecture Modeling , Data-driven & Event-driven
  • Week 7
    • RM-ODP approach , SEI approach , ADS approach
  • Week 8
    • Bass approach , Hofmeister approach

 

 

Section 3: Software Architecture Design

 

 

 

Section 4: Software Architecture Evaluation

Presentations

Sample Project:

Previous Exams: