In this course students learn how to use object-oriented techniques in software engineering from requirements gathering to implementation. Students will learn how to identify classes and see how software objects can be used to build software systems that are more robust and reusable. Unified Modeling Language (UML) is presented in detail and is used throughout the class. Throughout class, exercises will be introduced where students can apply their Object-Oriented Analysis and Design (OOAD) and UML skills by modeling prospective application solutions. Topics include Objects and Classes, OOAD phases, UML in the OOAD process, Object Design Principles, and OOAD Patterns.
- Objects and Classes
- Abstraction and Encapsulation
- Methods and Messages
- Interfaces, Inheritance, and Polymorphism
- Access Control
- OO Development
- UML Notation and Diagramming
- Phases in Software Production
- Design Phase and Refinement
- Object Persistence
- Requirements Phase
- Analysis Phase
There are no prerequisites for this course, although structured programming experience is recommended.