ICSE 2001 Logo
ICSE 2001 LogoToronto Skyline Sponsor Logos

Welcome
Site Map
Lectures
Assignment 1
Due Wed, Sep 27
Assignment 2
Due Fri, Oct 20

Assignment 3
Due Tue, Nov 8

Assignment 4
Due Fri, Dec 1
Midterm
Fri, Oct 13

Final
Wed, Dec 13, 2-5 pm

Course description
Course outline
Course requirements
Grading
Policies

Marks
Architecture resources
Contact Us
About This Site
E-Mail URL to a Friend

Course description

The topics in this course depend primarily on the interests of the instructor. Entrance to the course will be restricted to third and fourth year students who meet the prerequisites specified for the topic to be offered. This course may be taken more than once, in different topics, with the permission of the Associate Dean of Engineering.

Topics in software architecture

Architectural design of complex software systems. Commonly-used software system structures, techniques for designing and implementing these structures, models and formal notations for characterizing and reasoning about architectures, tools for generating specific instances of an architecture, and case studies of actual system architectures. Skills needed to evaluate the architectures of existing systems and to design new systems in principled ways using well-founded architectural paradigms. Role of Standards.

(Prerequisite: SENG 265 or C SC 265)

Course outline

The objectives of this course is to teach 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 and document an architecture effectively

  • Generate architectural alternatives for a problem

  • Understand the formal definition of a number of architectures

  • Reason about the properties of those architectures

  • Evaluate architectures according to several criteria

Course overview

  • Introduction

  • History

  • Software architecture in perspective

  • The role of software architecture

  • Problem types

  • Data flow architectures

  • Control flow architectures

  • Representing software architecture

  • UML

  • Reverse engineering architectures

  • Designing software architecture

  • Models of event systems

  • Information system architectures

  • Client-server systems

  • Process architectures

  • Design patterns

  • Component-based systems

  • Architecture description languages



Site last updated: Tuesday, August 15, 2000 5:41 AM.