This course describes fundamental principles of object-oriented modeling, requirements development, analysis, and design. Topics include specification of software requirements; object-oriented analysis approaches, including dynamic and static modeling with the Unified Modeling Language (UML v2); object-oriented design; object-oriented reuse, including design patterns; and software implementation concerns. Optional topics include the Systems Modeling Language (SysML), Object-Oriented Systems Engineering Methodology (OOSEM), managing object-oriented projects, and the Object Constraint Language (OCL).
Experience in object-oriented programming using a language such as Java or C++.
Demasco, Pierson, Schappelle, Schepers