After presenting an overview of how object-oriented design fits into the software development process, the course focuses on assembling systems from components using architectural patterns such as Model-View-Controller, Component-Container, Client-Server, and Agent-Based. You’ll also learn about the internal structure and dynamics of components using class diagrams, sequence diagrams, and design patterns. Assignments will focus on using CASE tools to build design models. Programming assignments will include analyzing designs and building frameworks.
Skills Needed: Knowledge of object-oriented development, including UML notation, and familiarity with an object-oriented language such as Java or C++.
Note: Students should bring a laptop with StarUML 2.0 and either Eclipse or NetBeans installed.