CS649 Software Design

This course provides in-depth knowledge to analyze and transform functional and nonfunctional requirements into well-designed, scalable and cost-effective workable software. It evaluates software design processes, design principles, design methods, design patterns, design tools, design quality and metrics, software verification and validation, software architecture, software framework, and modeling languages. Students will apply this knowledge to create a software design for a real world software application.

Prerequisite

None

Corequisite

None

Credits

4

Distribution

Computer Science/Engineering/Information Technology