Introduction To OOAD - L1

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 20

Introduction to OOAD

Contents
Object Oriented System Development Life Cycle (OOSDLC) Basic OOSDLC Concepts Some Important OOP Languages Interaction of System Components Benefits of OOAD Preview of OO Development Q & A

OOSDLC

+ Support

Object Oriented Software Development Life Cycle

Phases of OOSDLC
OOA - Using an OO approach to system analysis OOD - Using an OO approach to system design OOP - Using an OO approach to programming Support

Basic OOSDLC Concepts


System is defined as a collection of objects that work together to accomplish tasks - Objects carry out actions when asked - Each object maintains its own data - Objects carry out actions when messages are passed to them

Basic OOSDLC Concepts

Basic OOSDLC Concepts


Objects, Attributes, and Methods: Object: * Attributes - Characteristics of an object that have values * Behaviors (or methods) - Describe what an object can do * Examples: - GUI objects - Problem Domain objects

GUI Objects.

Problem Domain Objects.

Basic OOSDLC Concepts


Encapsulation and Information Hiding: Encapsulation - Objects have attributes and methods combined into one unit Information Hiding - Hiding the internal structure of objects, protecting them from corruption

Basic OOSDLC Concepts


Associations
Association relationships Each object is responsible for maintaining relationships with other objects One-to-one One-to-many Multiplicity of the association Number of associations in UML terminology Cardinality of the association Number of associations in ERD terminology

Basic OOSDLC Concepts


Inheritance
- One class of objects takes on characteristics of another class and extends them Superclass subclass Generalization/specialization hierarchy Also called an inheritance hierarchy Result of extending class into more specific subclasses

Basic OOSDLC Concepts


Polymorphism - many forms - Different objects can respond in their own way to the same message - Allow to specify behaviour still allowing choice - Allow to omit the details of a particular behaviour when it is unknown still providing chance to define class; later it can fill in!

Important OOP Languages

Started in 1960s in Norway * Simula - First language designed to run computer simulations - Simulations involve objects that maintain their own data values and can interact independently 1970s at Xerox PARC * Smalltalk - First general purpose OO programming language

Important OOP Languages


Java:
Introduced in 1995 by Sun Microsystems pure OO language Syntax similar to C++ Cross platform Ideal for Web-based applications

Big list of OOP Languages.

Interaction of System Components


Object Interactions and Messages Messages The means by which objects interact Example: User initiates interaction via messages to GUI objects GUI objects interact with problem domain objects via messages Problem domain objects interact with each other and GUI objects via messages GUI objects respond to user via messages

Benefits of OOAD..
Objects are More Natural
Naturalness Based on the fact that people usually think about their world in terms of objects Natural to define the classes of objects involved Reuse Classes and objects can be invented once and used many times During analysis, design, and programming Do not need source code for reused class,

Classes of Objects can be Reused

Preview of OO Development
Introducing Three-Tier Design
Objects that interact in OO system are separated into three categories of classes: Problem domain classes Specific to a particular business application GUI classes Define objects that make up the UI to the application Data access classes Work with DBMS to store/retrieve object information

Q&A

You might also like