Object-oriented modeling and design form the foundation of many software projects today and are pre-requisites to developing in C++, Java, and other object-oriented programming languages. This course covers object modeling and design techniques as they are applied from the point the high-level project requirements are established, through high level and detailed design, to the point where implementation is ready to start. The course focuses on Unified Modeling Language (UML), an approach that combines previously competing object modeling theories, as well as concepts including distributed object frameworks; design patterns; existing object-oriented languages such as C++ and Java; and lifecycle and maintenance issues of object-oriented applications.
At the end of the course, students will be able to:
Apply object modeling and design techniques from the point the high-level project requirements are established, through high level and detailed design, to the point where implementation is ready to start.
Design software systems using object-oriented concepts including Unified Modeling Language (UML) design approach: classes, class diagrams, interfaces, types, and roles.
Create static object models for a system, including class diagrams, association diagrams, and inheritance diagrams.
Create dynamic, behavioral object models for a system, including use cases and interaction diagrams.
Apply advanced Object Oriented design techniques, such as architectural modeling, component frameworks, and design patterns.