CS 411:
Software
Architecture
Design

Bilkent University

Description
Study Material
Schedule
Grading
Projects
Related Links
Miscellaneous
Exam Guidelines

Bilsen Logo

Instructor:
Dr. Bedir Tekinerdoğan
bedir@cs.bilkent.edu.tr

Description

Instructor: Dr. Bedir Tekinerdoğan

Software architecture represents the gross-level structure of software intensive systems and includes the early design decisions that impact the quality of the overall system. Software architecture is generally considered to play a fundamental role in coping with the inherent difficulties of the development of large-scale and complex software systems. A common assumption is that architecture design can support the required software system qualities such as robustness, adaptability, reusability and maintainability. This course teaches the basic concepts, methods and techniques for designing software architectures. The topics of the course are summarized in the following:

  • Rationale for Software Architecture Design
  • Definition of Architecture at various levels of abstraction;
  • Modeling Software Architecture Design
  • Software Architecture Description Languages
  • Architectural Patterns
  • Architectural requirements analysis
  • Comparing various methods from architecture-design viewpoint;
  • Synthesis-based architecture design;
  • Business change scenarios; designing architecture for reuse and change;
  • Architectural Views
  • Domain modeling techniques, feature modeling;
  • Architecture implementation
  • Scoping/Selecting Architecture implementation alternatives;
  • Evaluating Architecture Designs

Prerequisites

All registered students should have passed the course 'Object-Oriented Software Engineering' with a grade >= C