CSCI 620 - Software Design and Architecture

Course Description
The study of formal software design and architecture principles emphasizing an engineering approach to the software development process. Includes intermediate abstractions of software architectural styles to help bridge the gap between software needs and software solutions. Students are required to participate in a team project.

Primary Topics
- UML
- The Unified Process
- Requirements Analysis
- Design Process
- Design Principles
- Documenting Design
- User Interface Design
- Design Patterns & Architectural Styles
- Software Architecture
- Design Reviews and alternative designs

Prerequisites
CSCI 207 and CSCI 208, or equivalents, or passing grade on CSCI Programming Competency exam.