Pre-requisites: CA716,CA729


To learn the concepts of Object Oriented Analysis and Design; exposing the
development of OOAD based applications.
Object Model – Evolution, Elements – Nature of Classes and Objects – Relationships among
Classes - Classification – Identification of classes and objects – Key abstractions and
mechanisms – Basic and Advanced Modeling techniques.
Methodology – Modeling and UML – Rambaugh’s Method – Booch Method – Jacobson et al
Method – Comparisons – UML – Static-Dynamic Models – Diagrams –Use Cases.
Process of design, design principles, architectural patterns, design document, difficulties and
risks in design - Frameworks: reusable subsystem. Design patterns – Singleton, observer,
adapter, Façade, proxy with examples. - Pattern Categories - Relationships between patterns
- Pattern descriptions – Patterns based Applications – Object Oriented Database
Java - Features – Structure – Elements of Java – Array, String, String Buffer, Vectors –Methods
– Object Oriented Features- Classes, Objects – Constructors – Package – Inheritance –
Interface – Abstract Class - Special types of classes.
Applet Programming – AWT – Graphics - Event Handling – Exception Handling – Utilities and
Collections – I/O Streams - Multithreaded Programming - Swings - J2EE Architecture


1. Grady Booch et al, “Object-Oriented Analysis and Design with Applications”, 3rd Edition,
Pearson Education, 2007.
2. Michael Blaha and James Rumbaugh, “Object-Oriented Modeling and Design with UML”,
2nd Edition, Pearson Education,2005
3. PatricNaughton , Herbert Schildt, "Java 2 Complete Reference", Tata McGraw Hill, 1999.
4. Joshua Bloch, “Effective Java”, Addison-Wesley; 2nd Edition, 2008
5. Bruce Eckel, “Thinking in Java”, Prentice Hall; 4th Edition, 2006
6. Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides, “Design Patterns:
Elements of Reusable Object-oriented Software”, Pearson Education India, 2004.


Course Outcome:

Students will be able to:
1. Define the fundamentals of OO approach
2. Design OO Application using design patterns.
3. Solve real world problems by applying OOAD principle
4. Acquire expertise in Java Programming