Software Design (CMSE322)
Modular software design. Different architectural design styles for software. UML diagrams, Client/server paradigm. Choice of appropriate software and hardware system capabilities. Dealing with timing constraints. Formal software design specification techniques. Configuration management. Software design for distributed systems. Reusability and commercial off-the-shelf software modules.