Module1:
Introduction to object oriented systems, Classes, Objects, Abstraction, Inheritance, Polymorphism,
Encapsulation, Message Sending, Association, Aggregation, Iterative development and the Unified Process
(UP), UP phases: Inception, Elaboration, Construction and Transition, Object-oriented metrics
Module2:
Introduction to UML, Use Cases and functional requirements, Identifying and writing Use Cases,
Decomposition of use cases, Modeling System Workflows using Activity Diagrams, Modeling a System's
Logical Structure using Classes and Class Diagrams, Modeling Interactions using Sequence Diagrams and
Communication Diagrams, Timing Diagrams, Interaction Overview Diagrams, Component Diagram, Package
diagram, State Machine Diagrams, Deployment Diagrams.
Module3:
Introduction to Patterns, GoF Patterns, Creational Patterns, Structural Patterns, Behavioral Patterns,
Software Architectural patterns, The Observer Pattern, The Template Method Pattern , Factory Patterns:
Factory Method and Abstract Factory , The Singleton Pattern , The Iterator Pattern , The Composite Pattern ,
The Facade Pattern , The State and Strategy patterns , Command Pattern , The Adapter Pattern , The Proxy
Pattern , The Decorator Pattern, The Visitor Pattern , AntiPatterns, Patterns for Assigning Responsibilities:
GRASP Patterns
Module4:
Domain modeling, assigning responsibility using sequence diagrams, mapping design to code,
CASE tools, Unit, Cluster, and System-level testing of Object-oriented programs, Aspect- oriented and
Service-oriented software.