About CS 5381
This page is organized as follows:
Course Description
The following description is excerpted from the Graduate Course Catalog:
The study of methods and approaches to software design. Topics may include advanced object-oriented design, meta-object protocols, software architectures, and design patterns. May be repeated for credit when topic varies.
The goals of this course are:
- to learn about software architecture and architectural styles, and
- to have hands-on experience on some of well-known architectural styles
A software architecture represents a mapping of the functionality of a software system to software elements and data flows, and provides a high-level system design that does not contain implementation details. Specifically, it consists of a high-level description of system components, definitions of relationships between components, and definitions of relationships between system components and external systems. An architectural style or pattern defines a family of software systems in terms of a pattern of structural organization, consisting of components (computational elements), connectors (descriptions of interactions between components, and a set of constraints (on how components and connectors can be combined). There are many different architectural styles and a flurry of architecture description languages (ADLs) for software architectures and architectural styles. There are also implementations (programming languages, libraries, frameworks, and middleware) supporting particular architectural styles.
Topics:
- Software architectures
- Architectural styles or patterns
- Architecture description languages (ADLs)
- Analysis and reasoning of architectural constraints
- Support tools for software architectures, styles, and ADLs
Prerequisites
The prerequisites of this course are CS 4311 (or equivalent) or instructor approval.
Course Texts
There is no required textbook, as we will read representative or recent research papers. However, the following two books are recommended as references.
- Marry Shaw and David Garlan. Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996.
- Len Bass, Paul Clements, and Rick Kazman. Software Architecture in Practice, 2nd edition, Addison-Wesley, 2003.
Additional supplementary readings will be available from the the Schedule page.
Last modified by Yoonsik Cheon: $Id: description.html,v 1.2 2008/01/22 05:22:55 cheon Exp $