SlideShare a Scribd company logo
1 of 87
01/11/17 1
Introduction
OOAD: object-oriented analysis and design
Class and object concepts
Discovering classes
 CRC card
 Word problem to classes
Classes and relationships
Inheritance and polymorphism
OOP: Object-oriented programming in Java
At the end of this class you should be able to analyze
a problem, design a OO solution and implement it in
Java programming language
01/11/17 2
Object-Oriented Principles
OOP
Encapsulation
(class concept)
-- Information Hiding
-- Interface and
Implementations
-- Standardization
-- Access Control mechanisms
(private /public etc.)
Inheritance
-- Hierarchy
-- Reusability
-- Extensibility
-- Expressive power
-- Reflects many
real-world problems
Polymorphism
-- Many forms of
same function
-- Abstract Methods
-- Abstract Classes
01/11/17 3
What is an Object?
Object-oriented programming supports the view that programs
are composed of objects that interact with one another.
How would you describe an object?
Using its characteristics (has a ----?) and its behaviors (can do
----?)
Object must have unique identity (name) : Basketball, Blue ball
Consider a ball:
 Color and diameter are characteristics (Data Declarations)
 throw, bounce, roll are behaviors (Methods)
01/11/17 4
Classes are Blueprints
A class defines the general nature of a
collection of objects of the same type.
The process creating an object from a class
is called instantiation.
Every object is an instance of a particular
class.
There can be many instances of objects from
the same class possible with different values
for data.
01/11/17 5
Example
class Rose
blueRose
redRose
class
objects
Object
References
01/11/17 6
Inheritance Hierarchy
Food
eat( )
Spaghetti
eat( )
Pizza
eat( )
IceCream
eat( )
Object
equals( )
tostring( )
clone( )
Salary
equals( )
toString( )
clone( )
FamilyTree
equals( )
toString( )
clone( )
Automobile
equals( )
clone( )
toString( )
Food Hierarchy
(Java) Object Hierarchy
eat() is an example of polymorphic operation.
equals(), clone() and toString()
illustrate sub-type polymorphism
01/11/17 7
Polymorphism (subtype)
Consider a class Food. What can you do with
Food? What does it have?
Consider specific food items Ice Cream,
Spaghetti and Pizza. How will you eat these?
(Invoke eat() operation on objects of these
classes)?
eat() operation is polymorphically invoked
depending on the type of the item it is
invoked on.
01/11/17 8
Requirements and Analysis
Methods
See the description of a library management system
(LMS) from Hwk1, a copy of which is attached.
We will follow these steps:
 Functional requirements represented by Use Case
Diagrams
 Classes discovered using CRC cards
 Static Analysis represented by class diagrams
 Dynamic Analysis by a variety of interaction
diagrams (inter-class) and state diagram (intra-
class).
 Component diagram showing the various
modules.
 Deployment diagram showing the platforms and
machines used.
01/11/17 9
Use-case Analysis
Use case analysis involves reading and
analyzing the specifications, as well as
discussing the system with potential users of
the system.
Actors of the LMS are identified as the
librarians and borrowers.
Librarians directly interact with the system
whereas borrowers interact with the system
through the librarian.
01/11/17 10
Use-case Diagram For
Borrower
makeReservation
Borrower
(from Logical View)
returnItem
borrowItem
removeReservation
<<uses>>
01/11/17 11
Use-case Diagram for
Librarian
removeUpdateBorrower
addTitle
removeUpdateTitle
addItem
removeUpdateItem
addBorrower
Librarian
01/11/17 12
Use Cases For Borrower and
Librarian
Use cases for the borrower:
 Borrow item
 Return item
 Make reservation
 Remove reservation
Use cases for the librarian:
 Add title, Update or remove title
 Add borrower, Update or remove borrower
 Add item, Update or remove item
Note 1: A title may have many items: A book may have many
copies.
Note 2: Titles may be book or magazine titles
Note 3: Persistence: All use cases involve database access
01/11/17 13
Use-case Descriptions
Use Case: Lend Item
Pre-condition: Item may or may be reserved
Post-condition: Borrower gets Item. Database updated.
Exceptions: Title not avail, Item not avail
Actions: Case 1. If borrower has not reserved the item:
a. A title is identified
b. An available item of the title is identified
c. The borrower is identified
d. The item is borrowed(transaction)
c. A new loan (transaction) is registered.
Case 2. If the borrower has a reservation for the item:
a. The borrower is identified
b. The item is borrowed
c. New loan is registered
d. reservation is removed.
01/11/17 14
CRC Card Example
Weather Station
1. Select 24hr/Current
2. Set Date Time
3. Display Current
1. Temp(T)
2. Wind (W)
3. Pressure (P)
4. Humidity (H)
1. Display 24hours
1. Hi/Lo for (TWPH)
1. Display Trends in TWPH
2. Calibrate
Responsibilities
Collaborations
User Interface(UI)
Date
Time
Temp
Wind
Pressure
Humidity
Calibrator
01/11/17 15
CRC Card: UserInterface
UserInterface
1. Input date
2. Input time
3. Input selection
4. Display data
Responsibilities
Collaborators
Keypad
Display
Temp
Wind
Pressure
Humidity
01/11/17 16
CRC Card: Keypad
Keypad
Responsibilities
1. Store date
2. Store time
3. Store selection
Collaborators
Date
Time
Selection
01/11/17 17
CRC Card: Temperature
Temperature
Responsibilities
1. Measure and Record temperature
2. Determine and record Hi/Lo
3. Determine trend
Collaborations
T.Device
StatDataBase
Date
Time
01/11/17 18
Class Discovery
The entries in the collaborations column are
possible classes or non-software entities.
In this case these are: UserInterface, Display,
Tempertaure, Wind, Pressure, Humidity,
StatDataBase, Selection, Date, Time,
Keypad, Callibrator.
The responsibility of designing one or more of
these classes can be assigned to the
members of the group who participated in this
discovery process.
On to relations among classes and class
diagrams.
01/11/17 19
Classes
OO paradigm supports the view that a system
is made up of objects interacting by message
passing.
Classes represent collection of objects of the
same type.
An object is an instance of a class.
A class is defined by its properties and its
behaviors.
A class diagram describes the static view of a
system in terms of classes and relationships
among the classes.
01/11/17 20
Discovering Classes
(Alternative)
Underline the nouns in a problem statement.
Using the problem context and general
knowledge about the problem domain decide
on the important nouns.
Design and implement classes to represent
the nouns.
Underline the verbs. Verbs related to a class
may represent the behavior of the class.
01/11/17 21
Examples
Drawing package: Design a user interface for
drawing various shapes: circle, square,
rectangle.
Football scores: Keep track of football score.
General purpose counter: To keep of track of
count for various applications.
Library: Books, different categories of books,
details of student borrower, library
personnel.
01/11/17 22
Designing Classes (Take 2)
A class represents a class of objects.
A class contains the data declarations (“parts”) and
methods (“behaviors” or “capabilities” ).
OO Design:
Class properties or characteristics are answers to “What is
it made of?” (It has a ____, ____, etc.)
Behaviors, capabilities or operations are answers to “What
can it do?” (verbs in the problem)
01/11/17 23
Classes are Blueprints
(Take 2)
A class defines the general nature of a collection of
objects of the same type.
The process creating an object from a class is called
instantiation.
Every object is an instance of a particular class.
There can be many instances of objects from the
same class possible with different values for data.
A class structure implements encapsulation as well
as access control: private, public, protected.
01/11/17 24
Example (Take 2)
class Rose
blueRose
redRose
class
objects
Object
References
01/11/17 25
Class Diagram : Automobile
Automobile
public:
seat
seatBelt
accelerator
private:
sparkPlugs
gear
protected:
gloveCompartment
public:
startEngine
brake
protected: transmission
private: fuelInjection
01/11/17 26
Automobile Class Using
Rational Rose Tool
Automobile
seat
seatBelt
acceleratorPedal
sparkPlugs
gear
gloveCompartment
startEngine( )
brake( )
transmission( )
fuelInjection( )
01/11/17 27
Access Control
Public, protected, private
Public properties and behaviors are available
to any other object to use/invoke
Private: available only within the objects.
Protected: available within the objects and to
the class hierarchy inherited from the class.
(We will discuss more about this when
dealing with OO concept Inheritance.)
01/11/17 28
Relationships
Typically an application consists of
many related classes.
Commonly used relationships include:
associations, aggregations, and
generalizations.
01/11/17 29
Association
An association is a connection between
classes, a semantic connection between
objects of classes involved in the association.
Association typically represents “has a” or
“uses” relationships.
Indicated by a line,
 sometimes with arrow indicating unidirectional
relationship,
 adorned by the name of the relation, and
 the ends of the line adorned by cardinality of
relationship and optionally by the roles connected
to each class.
01/11/17 30
Association : Examples
Uses
Person Computer
A person uses a computer.
Owns
Person Car0..*
A person may own many (zero..many) cars.
01/11/17 31
Roles in Association
drives
Person Car
A person (driver) drives a (company) car.
company cardriver
Person
husband
wife
married to
01/11/17 32
Aggregation
Aggregation represents a relation
“contains”, “is a part of”, “whole-part”
relation.
Indicated by a line adorned on the
“whole” by a hollow diamond
 Along with name of relationship and
 Cardinality.
01/11/17 33
Aggregation: Example
contains
League Team
*
Membership aggregation: A league is made up of
Many teams.
made of
Auto
wheel
engine
4
1
part*
Strong aggregation.
01/11/17 34
Generalization
Generalization is a relationship between a
general and a specific class.
The specific class called the subclass inherits
from the general class, called the superclass.
Public and protected properties (attributes)
and behaviors (operations) are inherited.
Design representation “inheritance” OO
concept.
01/11/17 35
Generalization: Symbol
It represents “is a” relationship among
classes and objects.
Represented by a line with an hollow
arrow head pointing to the superclass at
the superclass end.
01/11/17 36
Generalization: Example
Vehicle
Car Boat Truck
01/11/17 37
Combined Example
Vehicle
Car Boat Truck
Person
drives
0..*
01/11/17 38
Discovering Classes
Library Management System (LMS)
RESPONSIBILITIES
1. Borrow item
2. Reserve item
3. Return item
4. Remove reservation
5. Add borrower
6. Update or remove borrower
7. Add title (book or magazine)
8. Update or remove title
9. Add item
10. Update or remove item
11. Store loan details
COLLABORATIONS
Item
Reservation
Borrower
Title
Book Title
Magazine Title
Loan (Transaction)
Database
01/11/17 39
CRC Cards
LMS
(Librarian)
Borrower
Title: Book Title, Magazine Title
Item
Reservation
Transaction (Loan)
Database for storage
01/11/17 40
Static Analysis: Initial Class
Diagram
Objects of these
classes are all
persistent data (in
a Database)
BookTitle MagazineTitle0..1
LoanTransaction
0..*
Borrower
0..* 0..*
Item
0..1
0..*
Reservation
0..*
0..*
Title
0..*
0..*
01/11/17 41
Dynamic Analysis
“Borrow Item” use case using
Sequence Diagram
“Add Title” use case using Collaboration
diagram
“Add Item” using Activity diagram
“Reservation” state diagram
01/11/17 42
Borrow Item: Sequence Diagram
: BorrowerBison : LMS: Borrower
1: findTitle ( )
: Title : Loan
Transaction
: Item
2: find ( )
3: findItem ( )
4: searchItem ( )
5: identifyBorrower ( )
6: findBorrower ( )
7: createLoanTrans ( )
01/11/17 43
Add Title: Collaboration Diagram
name, ISBN
: Librarian
: Title
Assuming that
add title implies
adding an item
: Item
1: create ( )
id
2: setItem ( )
ObjId,id
3: addItem ( )
Objid
DB : DB
4: storeTitle ( )
titleObj
5: storeItem ( )
itemObj
01/11/17 44
Add Item: Activity Diagram
createItem
setItem
addToTitle updateDatabase
Title Item Database
01/11/17 45
Component Diagram
GUI Package
+ Lend Window
+ Return Window
+ Reservation Window
+ Maintenance Window
Business Package
+ Item
+ Loan
+ Title
+ Borrower information
+ Book Title
+ Reservation
+ Magazine Title
Analysis, Design
Implementation/programming
What is the deliverable at the end of the
analysis and design phase?
One or more class diagrams showing
the classes and the relationships that
define the OOD.
On to OOP: Object-oriented
programming.
01/11/17 46
01/11/17 47
Problem Solving Using Java
OO Design and Progamming in Java
Identify classes needed
Reuse API
classes
Reuse
your classes
Design new
classes
Write an
application
class
Write an
applet
class
Create and use objects
01/11/17 48
Instantiation :
Examples
class FordCar ---- defines a class name FordCar
FordCar windstar; ---- defines a Object reference windStar
windstar = new FordCar(); ---- instantiates a windstar Object
class HousePlan1 { color….
HousePlan1 blueHouse;
blueHouse = new HousePlan1(BLUE);
HousePlan1 greenHouse = new HousePlan1(GREEN);
01/11/17 49
Operator new and “dot”
new operator creates a object and
returns a reference to that object.
After an object has been instantiated,
you can use dot operator to access its
methods and data declarations (if you
have access permissions).
EX: redRose.bloom();
greenHouse.color
01/11/17 50
Elements of a Class
class
header methods data declarations (variables,
constants)
header
body
variables,
constants
statementsmodifiers,
type, name
parameters
selection repetition
assignment
others
01/11/17 51
Class Structure
class
variables
constants
methods
01/11/17 52
Defining Classes
Syntax:
class class_name {
data-declarations
constructors
methods }
Constructors are special methods used for
instantiating (or creating) objects from a
class.
Data declarations are implemented using
variable and constant declarations.
01/11/17 53
Naming Convention
Constants: All characters in uppercase, words
in the identifier separated by underscore: EX:
MAX_NUM
Variables, objects, methods: First word all
lowercase, subsequent words start with
uppercase. EX: nextInt, myPen, readInt()
Classes: Start with an uppercase letter. EX:
Tree, Car, System , Math
Packages: are formed by set of related
classes and packages.
01/11/17 54
A complete example
Problem Statement: You have been
hired to assist in an secret encryption
project. In this project each message
(string) sent out is attached to a
randomly generated secret code
(integer) between 1 and 999. Design
and develop an application program in
Java to carry out this project.
01/11/17 55
Identify Objects
There are two central objects:
 Message
 Secret code
Is there any class predefined in JAVA
API that can be associated with these
objects? Yes ,
 “string” of java.lang and “Random” of
java.util
01/11/17 56
The Random class
Random class is defined in java.util
package.
nextInt() method of Random class
returns an integer between 0 and
MAXINT of the system.
01/11/17 57
Design
Class String
An instance of string
Class Random
An instance of Random
number generator
Input and fill up message. Generate Random integer
Attach (concatenate)
Output combined message.
Lets look at an implementation.
01/11/17 58
Debugging and Testing
Compile-time Errors : Usually typos or syntax errors
Run-time Errors : Occurs during execution. Example:
divide by zero .
Logic Errors: Software will compile and execute with
no problem, but will not produce expected results.
(Solution: testing and correction)
See /projects/bina/java/Peets directory for an
exercise.
01/11/17 59
Class Components
Class name (starts with uppercase),
constants, instance variables,
constructors definitions and method
definitions.
Constants:
public final static double PI = 3.14;
Variables:
private double bonus;
public string name;
01/11/17 60
Method Invocation/Call
Syntax:
method_name (values);
object_name.method_name(values);
classname.method_name(values);
Examples:
computeSum(); // call to method from within the
class where it is located
YourRose.paintIt(Red);
Math.abs(X);
01/11/17 61
Defining Methods
A method is group of (related)
statements that carry out a specified
function.
A method is associated with a particular
class and it specifies a behavior or
functionality of the class.
A method definition specifies the code
to be executed when the method is
invoked/activated/called.
01/11/17 62
Method Definition : Syntax
visibility return_type method_name
(parameter_list)
{
statements
}
01/11/17 63
Return Type
can be void, type or class identifier
void indicates that the method called to
perform an action in a self-standing
way: Example: println
type or class specify the value returned
using a return statement inside the
method.
01/11/17 64
Return Statement
Syntax of return statement:
return; // for void methods
return expression; // for type or class
return value
// the expression type and return type
should be same
01/11/17 65
Parameter List
Parameter list specified in method header provides a
mechanism for sending information to a method.
It is powerful mechanism for specializing an object.
The parameter list that appears in the header of a
method
 specifies the type and name of each parameter
and
 is called formal parameter list.
The corresponding parameter list in the method
invocation is called an actual parameter list.
01/11/17 66
Parameter list : Syntax
Formal parameter list: This is like molds or
templates
(parm_type parm_name, parm_type parm_name, ....)
Actual parameter list: This is like material that fit
into the mold or template specified in the formal list:
(expression, expression....)
01/11/17 67
Method Definition : review
return type Name
parameter list
{ statements }
header
body
definition
Visibility
modifiers
01/11/17 68
Method Definition : Example
Write a method that computes and
returns the perimeter of a rectangle
class.
Analysis:
 Send to the method: Length and Width
 Compute inside the method: Perimeter
 Return from the method: Perimeter
01/11/17 69
...Example (contd.)
public int Perimeter (int Length, int Width)
{
int Temp; // local temporary variable
Temp = 2 * (Length + Width); // compute
perimeter
return Temp; // return computed value
}
01/11/17 70
What happens when a method
is called?
Control is transferred to the method
called and execution continues inside
the method.
Control is transferred back to the caller
when a return statement is executed
inside the method.
01/11/17 71
Method Invocation : semantics
8
Main method
Operating
System
Rect.Area(….)
Area
method
1
2
4
5 6
1. OS to main method
2. Main method execution
3. Invoke Area
4. Transfer control to Area
5. Execute Area method
6. Return control back to
main method
7. Resume executing main
8. Exit to OS
3
7
8
01/11/17 72
Constructors
A Constructor is used to create or instantiate
an object from the class.
Constructor is a special method:
 It has the same name as the class.
 It has no return type or return statement.
Typically a class has more than one
constructor: a default constructor which has
no parameters, and other constructors with
parameters.
01/11/17 73
Constructors (contd.)
You don’t have to define a constructor if you need
only a default constructor.
When you want initializing constructors :
1. you must include a default constructor in this case.
2. You will use initializing constructors when you want
the object to start with a specific initial state rather
than as default state.
3. Example: Car myCar(Red); // initializing constructor
for Car class with color as parameter
01/11/17 74
Visibility Modifiers
Method/variable name
public protected
“nothing”
DEFAULT private
type
static “nothing”
DEFAULT
To indicate
class method/
variable
To indicate
object
method/
variable
01/11/17 75
..Modifiers (contd.)
private : available only within class
“nothing” specified : DEFAULT: within
class and within package
protected : within inherited hierarchy
(only to sub classes)
public : available to any class.
01/11/17 76
Inheritance
Inheritance is the act of deriving a new class
from an existing one.
A primary purpose of inheritance is to reuse
existing software.
Original class used to derive a new class is
called “super” class and the derived class is
called “sub” class.
Inheritance represents “is a” relationship
between the superclass and the subclass.
01/11/17 77
Syntax
class subclass extends superclass {
class definition
}
Example:
class Windstar extends FordCar // meaning it
inherits from class Fordcar{ ....}
Windstar myCar();
In this example, FordCar is the super-class and
Windstar is a sub-class and myCar is an object
Windstar class.
01/11/17 78
Representing the Relationship
BankClass
Account [ ]
Checking Savings
MortgageSVC BrokerageSVC
has a
has a
has a
is a is a
is a : use inheritance
has a : use composition, or membership
01/11/17 79
Modifers
Visibility modifiers: private, public,
protected
Protected modifier is used when the
entity needs to be available to the
subclass but not to the public.
01/11/17 80
Example : Words
Main class
Book class
Dictionary Class
Super class
subclass
Uses
is a
01/11/17 81
Example : School
Student
Grad Student
Main class
uses
01/11/17 82
Example
Food
Pizza Hamburger HotDog
Abstract super class
subclasses
01/11/17 83
Interface
An abstract method is one that does not
have a definition within the class. Only the
prototype is present.
An interface is collection of constants and
abstract methods.
Syntax
interface interface_name {
constant -declarations;
abstract methods;
}
01/11/17 84
Example
interface EPA {
bool emissionControl();
bool pollutionControl();
…
}
class NYepa implements EPA {
bool emissionControl () {
details/semantics /statements how to implement it }
class CAepa implements EPA {
bool emissionControl () {….
// different details on implementation….}
01/11/17 85
Inheritance and Interfaces
In Java class may inherit (extend) from only
one class. (C++ allows multiple inheritance).
But a Java class may implement many
interfaces.
For example,
public class Scribble extends Applet
implements MouseListner,
MouseMotionListner {
Next Steps
Develop a multi-class java application
Develop a application with graphical
user interface
Develop the solution for LMS
Where can you get more info?
http://www.netbeans.org/kb/trails/java-se.html
01/11/17 86
Summary
We studied object-oriented analysis and
design.
 From problem statement to class diagram
We also studied basics of object-
oriented programming (OOP).
01/11/17 87

More Related Content

What's hot

1Introduction to OOAD
1Introduction to OOAD1Introduction to OOAD
1Introduction to OOAD Shahid Riaz
 
Object Oriented Concept
Object Oriented ConceptObject Oriented Concept
Object Oriented Conceptsmj
 
Object oriented architecture in erp
Object  oriented architecture in erpObject  oriented architecture in erp
Object oriented architecture in erpPreyanshu Saini
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignDr. C.V. Suresh Babu
 
Object Oriented Programming Principles
Object Oriented Programming PrinciplesObject Oriented Programming Principles
Object Oriented Programming PrinciplesAndrew Ferlitsch
 
itft-Fundamentals of object–oriented programming in java
itft-Fundamentals of object–oriented programming in javaitft-Fundamentals of object–oriented programming in java
itft-Fundamentals of object–oriented programming in javaAtul Sehdev
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design ConceptSharath g
 
Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)MD Sulaiman
 
Ooad notes
Ooad notesOoad notes
Ooad notesNancyJP
 
Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented RelationshipsTaher Barodawala
 
Object Oriented Concept
Object Oriented ConceptObject Oriented Concept
Object Oriented ConceptD Nayanathara
 

What's hot (16)

Ph.D. Registeration seminar
Ph.D. Registeration seminarPh.D. Registeration seminar
Ph.D. Registeration seminar
 
1Introduction to OOAD
1Introduction to OOAD1Introduction to OOAD
1Introduction to OOAD
 
Object Oriented Concept
Object Oriented ConceptObject Oriented Concept
Object Oriented Concept
 
Object oriented architecture in erp
Object  oriented architecture in erpObject  oriented architecture in erp
Object oriented architecture in erp
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Object Oriented Programming Principles
Object Oriented Programming PrinciplesObject Oriented Programming Principles
Object Oriented Programming Principles
 
Lecture 1 oop
Lecture 1 oopLecture 1 oop
Lecture 1 oop
 
itft-Fundamentals of object–oriented programming in java
itft-Fundamentals of object–oriented programming in javaitft-Fundamentals of object–oriented programming in java
itft-Fundamentals of object–oriented programming in java
 
[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design Concept
 
Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)Fundamentals of OOP (Object Oriented Programming)
Fundamentals of OOP (Object Oriented Programming)
 
Java
JavaJava
Java
 
Ooad notes
Ooad notesOoad notes
Ooad notes
 
Object Oriented Relationships
Object Oriented RelationshipsObject Oriented Relationships
Object Oriented Relationships
 
Object model
Object modelObject model
Object model
 
Object Oriented Concept
Object Oriented ConceptObject Oriented Concept
Object Oriented Concept
 

Viewers also liked

Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD pptPRIANKA R
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsAmr E. Mohamed
 
SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsAmr E. Mohamed
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringAmr E. Mohamed
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesAmr E. Mohamed
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentAmr E. Mohamed
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationAmr E. Mohamed
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1Amr E. Mohamed
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machinesAmr E. Mohamed
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementAmr E. Mohamed
 
SE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAMSE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAMAmr E. Mohamed
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsAmr E. Mohamed
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignAmr E. Mohamed
 
UML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionUML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionRamakant Soni
 
Domain Analysis & Data Modeling
Domain Analysis & Data ModelingDomain Analysis & Data Modeling
Domain Analysis & Data ModelingEelco Visser
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelAmr E. Mohamed
 

Viewers also liked (20)

UML TUTORIALS
UML TUTORIALSUML TUTORIALS
UML TUTORIALS
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle Models
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software Enginerring
 
SE_Lec 08_UML Use Cases
SE_Lec 08_UML Use CasesSE_Lec 08_UML Use Cases
SE_Lec 08_UML Use Cases
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and Specification
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
Uml report
Uml reportUml report
Uml report
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machines
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project Management
 
SE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAMSE_Lec 07_UML CLASS DIAGRAM
SE_Lec 07_UML CLASS DIAGRAM
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design Patterns
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural Design
 
UML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionUML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language Introduction
 
Domain Analysis & Data Modeling
Domain Analysis & Data ModelingDomain Analysis & Data Modeling
Domain Analysis & Data Modeling
 
SE2_Lec 18_ Coding
SE2_Lec 18_ CodingSE2_Lec 18_ Coding
SE2_Lec 18_ Coding
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 

Similar to Ooadb

Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented DesignAravinth NSP
 
ObjectOrientedSystems.ppt
ObjectOrientedSystems.pptObjectOrientedSystems.ppt
ObjectOrientedSystems.pptChishaleFriday
 
3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptx3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptxRokaKaram
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineeringVarsha Ajith
 
Chapter 1- Introduction.ppt
Chapter 1- Introduction.pptChapter 1- Introduction.ppt
Chapter 1- Introduction.pptTigistTilahun1
 
CS124-L1-OOP.ppt
CS124-L1-OOP.pptCS124-L1-OOP.ppt
CS124-L1-OOP.pptMonishaAb1
 
CHAPTER 1 - OVERVIEW OOP.ppt
CHAPTER 1 - OVERVIEW OOP.pptCHAPTER 1 - OVERVIEW OOP.ppt
CHAPTER 1 - OVERVIEW OOP.pptNgoHuuNhan1
 
MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxelsagalgao
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignAmr E. Mohamed
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Techglyphs
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)Manoj Reddy
 
PROPERTIES OF RELATIONSHIPS AMONG OBJECTS IN OBJECT-ORIENTED SOFTWARE DESIGN
PROPERTIES OF RELATIONSHIPS AMONG OBJECTS IN OBJECT-ORIENTED SOFTWARE DESIGNPROPERTIES OF RELATIONSHIPS AMONG OBJECTS IN OBJECT-ORIENTED SOFTWARE DESIGN
PROPERTIES OF RELATIONSHIPS AMONG OBJECTS IN OBJECT-ORIENTED SOFTWARE DESIGNijpla
 
Communication and Social Media Guidelines and Rubric.htmlOve
Communication and Social Media Guidelines and Rubric.htmlOveCommunication and Social Media Guidelines and Rubric.htmlOve
Communication and Social Media Guidelines and Rubric.htmlOveLynellBull52
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientationDr Chetan Shelke
 

Similar to Ooadb (20)

Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
ObjectOrientedSystems.ppt
ObjectOrientedSystems.pptObjectOrientedSystems.ppt
ObjectOrientedSystems.ppt
 
3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptx3_ObjectOrientedSystems.pptx
3_ObjectOrientedSystems.pptx
 
Object oriented software engineering
Object oriented software engineeringObject oriented software engineering
Object oriented software engineering
 
Ooad 2
Ooad 2Ooad 2
Ooad 2
 
Ooad
OoadOoad
Ooad
 
Chapter 1- Introduction.ppt
Chapter 1- Introduction.pptChapter 1- Introduction.ppt
Chapter 1- Introduction.ppt
 
CS124-L1-OOP.ppt
CS124-L1-OOP.pptCS124-L1-OOP.ppt
CS124-L1-OOP.ppt
 
CHAPTER 1 - OVERVIEW OOP.ppt
CHAPTER 1 - OVERVIEW OOP.pptCHAPTER 1 - OVERVIEW OOP.ppt
CHAPTER 1 - OVERVIEW OOP.ppt
 
MIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptxMIT302 Lesson 2_Advanced Database Systems.pptx
MIT302 Lesson 2_Advanced Database Systems.pptx
 
SE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and DesignSE18_Lec 06_Object Oriented Analysis and Design
SE18_Lec 06_Object Oriented Analysis and Design
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
 
Unit 1( modelling concepts & class modeling)
Unit  1( modelling concepts & class modeling)Unit  1( modelling concepts & class modeling)
Unit 1( modelling concepts & class modeling)
 
Db lec 01
Db lec 01Db lec 01
Db lec 01
 
PROPERTIES OF RELATIONSHIPS AMONG OBJECTS IN OBJECT-ORIENTED SOFTWARE DESIGN
PROPERTIES OF RELATIONSHIPS AMONG OBJECTS IN OBJECT-ORIENTED SOFTWARE DESIGNPROPERTIES OF RELATIONSHIPS AMONG OBJECTS IN OBJECT-ORIENTED SOFTWARE DESIGN
PROPERTIES OF RELATIONSHIPS AMONG OBJECTS IN OBJECT-ORIENTED SOFTWARE DESIGN
 
MCA NOTES.pdf
MCA NOTES.pdfMCA NOTES.pdf
MCA NOTES.pdf
 
Oop
OopOop
Oop
 
Communication and Social Media Guidelines and Rubric.htmlOve
Communication and Social Media Guidelines and Rubric.htmlOveCommunication and Social Media Guidelines and Rubric.htmlOve
Communication and Social Media Guidelines and Rubric.htmlOve
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
 

Recently uploaded

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 

Recently uploaded (20)

Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 

Ooadb

  • 1. 01/11/17 1 Introduction OOAD: object-oriented analysis and design Class and object concepts Discovering classes  CRC card  Word problem to classes Classes and relationships Inheritance and polymorphism OOP: Object-oriented programming in Java At the end of this class you should be able to analyze a problem, design a OO solution and implement it in Java programming language
  • 2. 01/11/17 2 Object-Oriented Principles OOP Encapsulation (class concept) -- Information Hiding -- Interface and Implementations -- Standardization -- Access Control mechanisms (private /public etc.) Inheritance -- Hierarchy -- Reusability -- Extensibility -- Expressive power -- Reflects many real-world problems Polymorphism -- Many forms of same function -- Abstract Methods -- Abstract Classes
  • 3. 01/11/17 3 What is an Object? Object-oriented programming supports the view that programs are composed of objects that interact with one another. How would you describe an object? Using its characteristics (has a ----?) and its behaviors (can do ----?) Object must have unique identity (name) : Basketball, Blue ball Consider a ball:  Color and diameter are characteristics (Data Declarations)  throw, bounce, roll are behaviors (Methods)
  • 4. 01/11/17 4 Classes are Blueprints A class defines the general nature of a collection of objects of the same type. The process creating an object from a class is called instantiation. Every object is an instance of a particular class. There can be many instances of objects from the same class possible with different values for data.
  • 6. 01/11/17 6 Inheritance Hierarchy Food eat( ) Spaghetti eat( ) Pizza eat( ) IceCream eat( ) Object equals( ) tostring( ) clone( ) Salary equals( ) toString( ) clone( ) FamilyTree equals( ) toString( ) clone( ) Automobile equals( ) clone( ) toString( ) Food Hierarchy (Java) Object Hierarchy eat() is an example of polymorphic operation. equals(), clone() and toString() illustrate sub-type polymorphism
  • 7. 01/11/17 7 Polymorphism (subtype) Consider a class Food. What can you do with Food? What does it have? Consider specific food items Ice Cream, Spaghetti and Pizza. How will you eat these? (Invoke eat() operation on objects of these classes)? eat() operation is polymorphically invoked depending on the type of the item it is invoked on.
  • 8. 01/11/17 8 Requirements and Analysis Methods See the description of a library management system (LMS) from Hwk1, a copy of which is attached. We will follow these steps:  Functional requirements represented by Use Case Diagrams  Classes discovered using CRC cards  Static Analysis represented by class diagrams  Dynamic Analysis by a variety of interaction diagrams (inter-class) and state diagram (intra- class).  Component diagram showing the various modules.  Deployment diagram showing the platforms and machines used.
  • 9. 01/11/17 9 Use-case Analysis Use case analysis involves reading and analyzing the specifications, as well as discussing the system with potential users of the system. Actors of the LMS are identified as the librarians and borrowers. Librarians directly interact with the system whereas borrowers interact with the system through the librarian.
  • 10. 01/11/17 10 Use-case Diagram For Borrower makeReservation Borrower (from Logical View) returnItem borrowItem removeReservation <<uses>>
  • 11. 01/11/17 11 Use-case Diagram for Librarian removeUpdateBorrower addTitle removeUpdateTitle addItem removeUpdateItem addBorrower Librarian
  • 12. 01/11/17 12 Use Cases For Borrower and Librarian Use cases for the borrower:  Borrow item  Return item  Make reservation  Remove reservation Use cases for the librarian:  Add title, Update or remove title  Add borrower, Update or remove borrower  Add item, Update or remove item Note 1: A title may have many items: A book may have many copies. Note 2: Titles may be book or magazine titles Note 3: Persistence: All use cases involve database access
  • 13. 01/11/17 13 Use-case Descriptions Use Case: Lend Item Pre-condition: Item may or may be reserved Post-condition: Borrower gets Item. Database updated. Exceptions: Title not avail, Item not avail Actions: Case 1. If borrower has not reserved the item: a. A title is identified b. An available item of the title is identified c. The borrower is identified d. The item is borrowed(transaction) c. A new loan (transaction) is registered. Case 2. If the borrower has a reservation for the item: a. The borrower is identified b. The item is borrowed c. New loan is registered d. reservation is removed.
  • 14. 01/11/17 14 CRC Card Example Weather Station 1. Select 24hr/Current 2. Set Date Time 3. Display Current 1. Temp(T) 2. Wind (W) 3. Pressure (P) 4. Humidity (H) 1. Display 24hours 1. Hi/Lo for (TWPH) 1. Display Trends in TWPH 2. Calibrate Responsibilities Collaborations User Interface(UI) Date Time Temp Wind Pressure Humidity Calibrator
  • 15. 01/11/17 15 CRC Card: UserInterface UserInterface 1. Input date 2. Input time 3. Input selection 4. Display data Responsibilities Collaborators Keypad Display Temp Wind Pressure Humidity
  • 16. 01/11/17 16 CRC Card: Keypad Keypad Responsibilities 1. Store date 2. Store time 3. Store selection Collaborators Date Time Selection
  • 17. 01/11/17 17 CRC Card: Temperature Temperature Responsibilities 1. Measure and Record temperature 2. Determine and record Hi/Lo 3. Determine trend Collaborations T.Device StatDataBase Date Time
  • 18. 01/11/17 18 Class Discovery The entries in the collaborations column are possible classes or non-software entities. In this case these are: UserInterface, Display, Tempertaure, Wind, Pressure, Humidity, StatDataBase, Selection, Date, Time, Keypad, Callibrator. The responsibility of designing one or more of these classes can be assigned to the members of the group who participated in this discovery process. On to relations among classes and class diagrams.
  • 19. 01/11/17 19 Classes OO paradigm supports the view that a system is made up of objects interacting by message passing. Classes represent collection of objects of the same type. An object is an instance of a class. A class is defined by its properties and its behaviors. A class diagram describes the static view of a system in terms of classes and relationships among the classes.
  • 20. 01/11/17 20 Discovering Classes (Alternative) Underline the nouns in a problem statement. Using the problem context and general knowledge about the problem domain decide on the important nouns. Design and implement classes to represent the nouns. Underline the verbs. Verbs related to a class may represent the behavior of the class.
  • 21. 01/11/17 21 Examples Drawing package: Design a user interface for drawing various shapes: circle, square, rectangle. Football scores: Keep track of football score. General purpose counter: To keep of track of count for various applications. Library: Books, different categories of books, details of student borrower, library personnel.
  • 22. 01/11/17 22 Designing Classes (Take 2) A class represents a class of objects. A class contains the data declarations (“parts”) and methods (“behaviors” or “capabilities” ). OO Design: Class properties or characteristics are answers to “What is it made of?” (It has a ____, ____, etc.) Behaviors, capabilities or operations are answers to “What can it do?” (verbs in the problem)
  • 23. 01/11/17 23 Classes are Blueprints (Take 2) A class defines the general nature of a collection of objects of the same type. The process creating an object from a class is called instantiation. Every object is an instance of a particular class. There can be many instances of objects from the same class possible with different values for data. A class structure implements encapsulation as well as access control: private, public, protected.
  • 24. 01/11/17 24 Example (Take 2) class Rose blueRose redRose class objects Object References
  • 25. 01/11/17 25 Class Diagram : Automobile Automobile public: seat seatBelt accelerator private: sparkPlugs gear protected: gloveCompartment public: startEngine brake protected: transmission private: fuelInjection
  • 26. 01/11/17 26 Automobile Class Using Rational Rose Tool Automobile seat seatBelt acceleratorPedal sparkPlugs gear gloveCompartment startEngine( ) brake( ) transmission( ) fuelInjection( )
  • 27. 01/11/17 27 Access Control Public, protected, private Public properties and behaviors are available to any other object to use/invoke Private: available only within the objects. Protected: available within the objects and to the class hierarchy inherited from the class. (We will discuss more about this when dealing with OO concept Inheritance.)
  • 28. 01/11/17 28 Relationships Typically an application consists of many related classes. Commonly used relationships include: associations, aggregations, and generalizations.
  • 29. 01/11/17 29 Association An association is a connection between classes, a semantic connection between objects of classes involved in the association. Association typically represents “has a” or “uses” relationships. Indicated by a line,  sometimes with arrow indicating unidirectional relationship,  adorned by the name of the relation, and  the ends of the line adorned by cardinality of relationship and optionally by the roles connected to each class.
  • 30. 01/11/17 30 Association : Examples Uses Person Computer A person uses a computer. Owns Person Car0..* A person may own many (zero..many) cars.
  • 31. 01/11/17 31 Roles in Association drives Person Car A person (driver) drives a (company) car. company cardriver Person husband wife married to
  • 32. 01/11/17 32 Aggregation Aggregation represents a relation “contains”, “is a part of”, “whole-part” relation. Indicated by a line adorned on the “whole” by a hollow diamond  Along with name of relationship and  Cardinality.
  • 33. 01/11/17 33 Aggregation: Example contains League Team * Membership aggregation: A league is made up of Many teams. made of Auto wheel engine 4 1 part* Strong aggregation.
  • 34. 01/11/17 34 Generalization Generalization is a relationship between a general and a specific class. The specific class called the subclass inherits from the general class, called the superclass. Public and protected properties (attributes) and behaviors (operations) are inherited. Design representation “inheritance” OO concept.
  • 35. 01/11/17 35 Generalization: Symbol It represents “is a” relationship among classes and objects. Represented by a line with an hollow arrow head pointing to the superclass at the superclass end.
  • 37. 01/11/17 37 Combined Example Vehicle Car Boat Truck Person drives 0..*
  • 38. 01/11/17 38 Discovering Classes Library Management System (LMS) RESPONSIBILITIES 1. Borrow item 2. Reserve item 3. Return item 4. Remove reservation 5. Add borrower 6. Update or remove borrower 7. Add title (book or magazine) 8. Update or remove title 9. Add item 10. Update or remove item 11. Store loan details COLLABORATIONS Item Reservation Borrower Title Book Title Magazine Title Loan (Transaction) Database
  • 39. 01/11/17 39 CRC Cards LMS (Librarian) Borrower Title: Book Title, Magazine Title Item Reservation Transaction (Loan) Database for storage
  • 40. 01/11/17 40 Static Analysis: Initial Class Diagram Objects of these classes are all persistent data (in a Database) BookTitle MagazineTitle0..1 LoanTransaction 0..* Borrower 0..* 0..* Item 0..1 0..* Reservation 0..* 0..* Title 0..* 0..*
  • 41. 01/11/17 41 Dynamic Analysis “Borrow Item” use case using Sequence Diagram “Add Title” use case using Collaboration diagram “Add Item” using Activity diagram “Reservation” state diagram
  • 42. 01/11/17 42 Borrow Item: Sequence Diagram : BorrowerBison : LMS: Borrower 1: findTitle ( ) : Title : Loan Transaction : Item 2: find ( ) 3: findItem ( ) 4: searchItem ( ) 5: identifyBorrower ( ) 6: findBorrower ( ) 7: createLoanTrans ( )
  • 43. 01/11/17 43 Add Title: Collaboration Diagram name, ISBN : Librarian : Title Assuming that add title implies adding an item : Item 1: create ( ) id 2: setItem ( ) ObjId,id 3: addItem ( ) Objid DB : DB 4: storeTitle ( ) titleObj 5: storeItem ( ) itemObj
  • 44. 01/11/17 44 Add Item: Activity Diagram createItem setItem addToTitle updateDatabase Title Item Database
  • 45. 01/11/17 45 Component Diagram GUI Package + Lend Window + Return Window + Reservation Window + Maintenance Window Business Package + Item + Loan + Title + Borrower information + Book Title + Reservation + Magazine Title
  • 46. Analysis, Design Implementation/programming What is the deliverable at the end of the analysis and design phase? One or more class diagrams showing the classes and the relationships that define the OOD. On to OOP: Object-oriented programming. 01/11/17 46
  • 47. 01/11/17 47 Problem Solving Using Java OO Design and Progamming in Java Identify classes needed Reuse API classes Reuse your classes Design new classes Write an application class Write an applet class Create and use objects
  • 48. 01/11/17 48 Instantiation : Examples class FordCar ---- defines a class name FordCar FordCar windstar; ---- defines a Object reference windStar windstar = new FordCar(); ---- instantiates a windstar Object class HousePlan1 { color…. HousePlan1 blueHouse; blueHouse = new HousePlan1(BLUE); HousePlan1 greenHouse = new HousePlan1(GREEN);
  • 49. 01/11/17 49 Operator new and “dot” new operator creates a object and returns a reference to that object. After an object has been instantiated, you can use dot operator to access its methods and data declarations (if you have access permissions). EX: redRose.bloom(); greenHouse.color
  • 50. 01/11/17 50 Elements of a Class class header methods data declarations (variables, constants) header body variables, constants statementsmodifiers, type, name parameters selection repetition assignment others
  • 52. 01/11/17 52 Defining Classes Syntax: class class_name { data-declarations constructors methods } Constructors are special methods used for instantiating (or creating) objects from a class. Data declarations are implemented using variable and constant declarations.
  • 53. 01/11/17 53 Naming Convention Constants: All characters in uppercase, words in the identifier separated by underscore: EX: MAX_NUM Variables, objects, methods: First word all lowercase, subsequent words start with uppercase. EX: nextInt, myPen, readInt() Classes: Start with an uppercase letter. EX: Tree, Car, System , Math Packages: are formed by set of related classes and packages.
  • 54. 01/11/17 54 A complete example Problem Statement: You have been hired to assist in an secret encryption project. In this project each message (string) sent out is attached to a randomly generated secret code (integer) between 1 and 999. Design and develop an application program in Java to carry out this project.
  • 55. 01/11/17 55 Identify Objects There are two central objects:  Message  Secret code Is there any class predefined in JAVA API that can be associated with these objects? Yes ,  “string” of java.lang and “Random” of java.util
  • 56. 01/11/17 56 The Random class Random class is defined in java.util package. nextInt() method of Random class returns an integer between 0 and MAXINT of the system.
  • 57. 01/11/17 57 Design Class String An instance of string Class Random An instance of Random number generator Input and fill up message. Generate Random integer Attach (concatenate) Output combined message. Lets look at an implementation.
  • 58. 01/11/17 58 Debugging and Testing Compile-time Errors : Usually typos or syntax errors Run-time Errors : Occurs during execution. Example: divide by zero . Logic Errors: Software will compile and execute with no problem, but will not produce expected results. (Solution: testing and correction) See /projects/bina/java/Peets directory for an exercise.
  • 59. 01/11/17 59 Class Components Class name (starts with uppercase), constants, instance variables, constructors definitions and method definitions. Constants: public final static double PI = 3.14; Variables: private double bonus; public string name;
  • 60. 01/11/17 60 Method Invocation/Call Syntax: method_name (values); object_name.method_name(values); classname.method_name(values); Examples: computeSum(); // call to method from within the class where it is located YourRose.paintIt(Red); Math.abs(X);
  • 61. 01/11/17 61 Defining Methods A method is group of (related) statements that carry out a specified function. A method is associated with a particular class and it specifies a behavior or functionality of the class. A method definition specifies the code to be executed when the method is invoked/activated/called.
  • 62. 01/11/17 62 Method Definition : Syntax visibility return_type method_name (parameter_list) { statements }
  • 63. 01/11/17 63 Return Type can be void, type or class identifier void indicates that the method called to perform an action in a self-standing way: Example: println type or class specify the value returned using a return statement inside the method.
  • 64. 01/11/17 64 Return Statement Syntax of return statement: return; // for void methods return expression; // for type or class return value // the expression type and return type should be same
  • 65. 01/11/17 65 Parameter List Parameter list specified in method header provides a mechanism for sending information to a method. It is powerful mechanism for specializing an object. The parameter list that appears in the header of a method  specifies the type and name of each parameter and  is called formal parameter list. The corresponding parameter list in the method invocation is called an actual parameter list.
  • 66. 01/11/17 66 Parameter list : Syntax Formal parameter list: This is like molds or templates (parm_type parm_name, parm_type parm_name, ....) Actual parameter list: This is like material that fit into the mold or template specified in the formal list: (expression, expression....)
  • 67. 01/11/17 67 Method Definition : review return type Name parameter list { statements } header body definition Visibility modifiers
  • 68. 01/11/17 68 Method Definition : Example Write a method that computes and returns the perimeter of a rectangle class. Analysis:  Send to the method: Length and Width  Compute inside the method: Perimeter  Return from the method: Perimeter
  • 69. 01/11/17 69 ...Example (contd.) public int Perimeter (int Length, int Width) { int Temp; // local temporary variable Temp = 2 * (Length + Width); // compute perimeter return Temp; // return computed value }
  • 70. 01/11/17 70 What happens when a method is called? Control is transferred to the method called and execution continues inside the method. Control is transferred back to the caller when a return statement is executed inside the method.
  • 71. 01/11/17 71 Method Invocation : semantics 8 Main method Operating System Rect.Area(….) Area method 1 2 4 5 6 1. OS to main method 2. Main method execution 3. Invoke Area 4. Transfer control to Area 5. Execute Area method 6. Return control back to main method 7. Resume executing main 8. Exit to OS 3 7 8
  • 72. 01/11/17 72 Constructors A Constructor is used to create or instantiate an object from the class. Constructor is a special method:  It has the same name as the class.  It has no return type or return statement. Typically a class has more than one constructor: a default constructor which has no parameters, and other constructors with parameters.
  • 73. 01/11/17 73 Constructors (contd.) You don’t have to define a constructor if you need only a default constructor. When you want initializing constructors : 1. you must include a default constructor in this case. 2. You will use initializing constructors when you want the object to start with a specific initial state rather than as default state. 3. Example: Car myCar(Red); // initializing constructor for Car class with color as parameter
  • 74. 01/11/17 74 Visibility Modifiers Method/variable name public protected “nothing” DEFAULT private type static “nothing” DEFAULT To indicate class method/ variable To indicate object method/ variable
  • 75. 01/11/17 75 ..Modifiers (contd.) private : available only within class “nothing” specified : DEFAULT: within class and within package protected : within inherited hierarchy (only to sub classes) public : available to any class.
  • 76. 01/11/17 76 Inheritance Inheritance is the act of deriving a new class from an existing one. A primary purpose of inheritance is to reuse existing software. Original class used to derive a new class is called “super” class and the derived class is called “sub” class. Inheritance represents “is a” relationship between the superclass and the subclass.
  • 77. 01/11/17 77 Syntax class subclass extends superclass { class definition } Example: class Windstar extends FordCar // meaning it inherits from class Fordcar{ ....} Windstar myCar(); In this example, FordCar is the super-class and Windstar is a sub-class and myCar is an object Windstar class.
  • 78. 01/11/17 78 Representing the Relationship BankClass Account [ ] Checking Savings MortgageSVC BrokerageSVC has a has a has a is a is a is a : use inheritance has a : use composition, or membership
  • 79. 01/11/17 79 Modifers Visibility modifiers: private, public, protected Protected modifier is used when the entity needs to be available to the subclass but not to the public.
  • 80. 01/11/17 80 Example : Words Main class Book class Dictionary Class Super class subclass Uses is a
  • 81. 01/11/17 81 Example : School Student Grad Student Main class uses
  • 82. 01/11/17 82 Example Food Pizza Hamburger HotDog Abstract super class subclasses
  • 83. 01/11/17 83 Interface An abstract method is one that does not have a definition within the class. Only the prototype is present. An interface is collection of constants and abstract methods. Syntax interface interface_name { constant -declarations; abstract methods; }
  • 84. 01/11/17 84 Example interface EPA { bool emissionControl(); bool pollutionControl(); … } class NYepa implements EPA { bool emissionControl () { details/semantics /statements how to implement it } class CAepa implements EPA { bool emissionControl () {…. // different details on implementation….}
  • 85. 01/11/17 85 Inheritance and Interfaces In Java class may inherit (extend) from only one class. (C++ allows multiple inheritance). But a Java class may implement many interfaces. For example, public class Scribble extends Applet implements MouseListner, MouseMotionListner {
  • 86. Next Steps Develop a multi-class java application Develop a application with graphical user interface Develop the solution for LMS Where can you get more info? http://www.netbeans.org/kb/trails/java-se.html 01/11/17 86
  • 87. Summary We studied object-oriented analysis and design.  From problem statement to class diagram We also studied basics of object- oriented programming (OOP). 01/11/17 87