CS351 Software Design

This course prepares the students to analyze requirements, design software architectures, and create detailed design specifications for complex software systems. Topics covered include requirements analysis, software architecture design, UML design and design patterns, component-based design, design for quality attributes (performance, reliability, and security), quality attributes scenarios and trade-offs, creating architecture and design specification documents, design reviews and evaluations. The course also introduces the CASE tools for design modeling and documentation. Prerequisite: CS104 or CS203.

Credits

3

Prerequisite

Any of the following: Programming for Everyone II (CS104), Introduction to C (CS203)