University of Wisconsin - Milwaukee
College of Engineering & Applied Science

Hamed El-Afandi, Ph. D.

Software Design and Architecture
CS 657-001 & CS790-001


Contact Information

e-mail: giza@uwm.edu
Lecture: MW 5:30-6:45 PM



Course Description

Understanding of the software development life cycle and an in-depth look at software design including the study of architectural design patterns, frameworks, and architectures. Survey of current middleware architectures and the design of distributed systems. Component based design. Measurement theory and appropriate use of metrics in design. Designing for qualities such as performance, safety, security, reusability, reliability, etc.

Textbooks

· Materials will be posted on the web.

· Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johson, John, Vissides, Addison Wesley.

Prerequisite

CS536 Software Engineering, or equivalent.

Grading

40% Project
20% Homework
20% Mid term Exam
20% Final Exam

· Attendance and Participation in class is considered for grading.
· No arrangements will be made for missed homework.

Class Schedule

· Schedule

Project Requirments

· Projects' Requirements

Readings

· Software Requirments

· Rapid Software development

· Software reuse

· Architectural Design

· Distributed Systems Architectures

· Application Architectures

· Object-oriented Design

· Real-time Software Design

· User Interface Design

· Critical systems development

. Design Patterns: Use the calss book: "Design Patterns: Elements of Reusable Object-Oriented Software "
· Design Patterns