SlideShare a Scribd company logo
1 of 47
Object Oriented Programming
Systems
An Overview
Object Oriented Analysis And
Design
•Software development process consists of analysis,
design, and implementation phases
•The goal of the analysis phase is a complete description
of what the software product should do
•The goal of object-oriented design is the identification of
classes, their responsibilities, and the relationships among
them
•The goal of the implementation phase is the
programming, testing, and deployment of the software
product
Why OOPS ?
• To modularize software development , just like any other
engineering discipline
•To make software projects more manageable and
predictable
•For better maintainability, since software maintenance
costs were more than the development costs.
•For more reuse of code and to prevent the ‘reinvention of
the wheel’ every time
Programming Techniques
Unstructured Programming
Structured Programming
Modular Programming
Object-Oriented Programming
Modeling
Use Cases
A use case lists a sequence of actions that yields a result that is
of value to an actor
Abstract Data Type
OOPS
• A class specifies objects with the same behavior
•An instance of a class is an object that belongs to the given
class
•Class names should be nouns in the singular form
•To discover responsibilities , look for verbs in the problem
description.
•A responsibility must belong to exactly one class
An OO Program
A circle is a point and a radius
Class and Object concept
An object is characterized by its state, behavior, and identity
• The collection of all information held by an object is its state
•The behavior of an object is defined by the operations or
methods that an object supports
•The unique reference (or name) of an object is its identity
An object of circle is a kind of
point
If Logo is circle and triangle
Has-A relationship
Relationships between Classes
Three relationships are common among classes :
•Dependency (“uses”)
•Aggregation (“has”)
•Inheritance (“is”)
Dependency
• A class depends on another class if it manipulates objects of the
other class in any way.
•If a class can carry out all its tasks without being aware that the
other class even exists, then it doesn’t use that class.
•For example, if there is a Message class which uses the
System.Print class, then the Message class is dependant , or
coupled with the System.Print class
Aggregation
•A class aggregates another if its objects contain objects of
the other class
•Aggregation is often informally described as the ‘has-a’
relationship
Inheritance
A class inherits from another if it incorporates the
behavior of the other class
Inheritance
Inheritance
Inheritance tree
ASP.NET component
using System;
using System.Web.UI;
namespace MSPress.ServerControls
{
public class SimpleControl : Control
{
protected override void Render(HtmlTextWriter writer)
{
writer.Write("I don't do anything useful. ");
writer.Write("but at least i'm a control....");
}
}
}
Re-using the component
<%@ Page language="C#" %>
<%@ Register TagPrefix="msp" NameSpace="MSPress.ServerControls"
Assembly="SimpleControl.cs" %>
<HTML>
<body>
<br>
Here is the output from our first custom control
<br>
<msp:SimpleControl id="simple1" runat="server" />
<br>
</body>
CRC Cards
A CRC card is an index card that describes a class, its high-
level responsibilities , and its collaborators
Polymorphism
Sample Program – Part 1
using System;
public class Control
{
public Control (string data) {Data = data; }
protected string data;
public string Data
{
get { return data ; }
set { data = value; }
}
}
Sample Program – Part 2
interface IValidate
{
bool Validate();
}
class SSN : Control, IValidate
{// Class starts here
const char DELIMITER = '-';
Sample Program – Part 3
public SSN(string val) : base (val) {}
public bool Validate()
{
Console.WriteLine("[SSN.Validate] : Validating
'{0}'", data);
return (11 == data.Length) && (CorrectFormat());
}
Sample Program – Part 4
protected bool CorrectFormat()
{bool correctFormat = true;
for (int i = 0; (correctFormat && i < data.Length);
i++)
{
correctFormat =((IsDelimiterPosition(i) && data[i]
== DELIMITER)|| (IsNumberPosition(i)&&
char.IsNumber(data[i])));
}
return correctFormat; }
Sample Program – Part 5
protected bool IsDelimiterPosition(int i)
{
return (i==3 | i==6);
}
protected bool IsNumberPosition (int i)
{
return (i !=3 && i != 6);
}
} //class SSN : Control, IValidate ends here
Sample Program – Part 6
class InterfacesApp
{ //Main class starts here
public static void Main(string[] args)
{
string data = "";
if (0 < args.GetLength(0))
data = args[0];
SSN ssn = new SSN(data);
IValidate val = (IValidate)ssn;
Sample Program – Part 7
Console.WriteLine("[Main] Calling SSN.Validate");
bool success = val.Validate();
Console.WriteLine("[Main] The validation of
" +
"SSN '{0}' was {1}successful",
ssn.Data,
(true == success ? "" : "NOT "));
}
} //Main class ends here
COM
Messages
.NET
.NET has 5 intrinsic types :
•Class
•Interface
•Struct
•Enum
•Delegate
A simple example of .NET
delegate – Part 1
' Our delegate type can point to any method
' taking two integers and returning an integer.
Public Delegate Function BinaryOp(ByVal x As Integer,
ByVal y As Integer) As Integer
A simple example of .NET
delegate – Part 2
'This class defines the methods that will be 'pointed to' by the delegate.
Public Class SimpleMath
Public Shared Function Add(ByVal x As Integer, ByVal y As Integer) As
Integer
Return x + y
End Function
Public Shared Function Subtract(ByVal x As Integer, ByVal y As Integer)
As Integer
Return x - y
End Function
End Class
A simple example of .NET
delegate – Part 3
Module Program
Sub Main()
Console.WriteLine("****** Simple Delegate Example*******")
'Make a delegate object and add method to invocation
'list using the AddressOf keyword.
Dim b As BinaryOp = New BinaryOp(AddressOf
SimpleMath.Add)
'Invoke the method 'pointed to'
Console.WriteLine("10 + 10 is {0}", b(10, 10))
Console.ReadLine()
End Sub
End Module
The Move from Two-Tier to N-
Tier Architecture
Stored Procedures for Business
Logic
Two Tier can be messy
Introducing middle tier
The ‘abilities’
Maintainability
Usability
Reliability
Scalability
Security
Integrity
Testability
Performance
Summary
Object Oriented systems are a way of engineering software
applications to achieve more consistency and
maintainability .

More Related Content

What's hot

Week10 packages using objects in objects
Week10 packages using objects in objectsWeek10 packages using objects in objects
Week10 packages using objects in objectskjkleindorfer
 
object oriented programming using c++
 object oriented programming using c++ object oriented programming using c++
object oriented programming using c++fasalsial1fasalsial1
 
Development of Java tools using SWT and WALA af Hans Søndergaard, ViaUC
Development of Java tools using SWT and WALA af Hans Søndergaard, ViaUCDevelopment of Java tools using SWT and WALA af Hans Søndergaard, ViaUC
Development of Java tools using SWT and WALA af Hans Søndergaard, ViaUCInfinIT - Innovationsnetværket for it
 
Observer & singleton pattern
Observer  & singleton patternObserver  & singleton pattern
Observer & singleton patternbabak danyal
 
Keyword of java
Keyword of javaKeyword of java
Keyword of javaJani Harsh
 
Workshop Android for Java Developers
Workshop Android for Java DevelopersWorkshop Android for Java Developers
Workshop Android for Java Developersmhant
 
More oop in java
More oop in javaMore oop in java
More oop in javaSAGARDAVE29
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern11prasoon
 
Java for android developers
Java for android developersJava for android developers
Java for android developersAly Abdelkareem
 
iOS development introduction
iOS development introduction iOS development introduction
iOS development introduction paramisoft
 
Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1Jamshid Hashimi
 
Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2Jamshid Hashimi
 
MTA understanding java script and coding essentials
MTA understanding java script and coding essentialsMTA understanding java script and coding essentials
MTA understanding java script and coding essentialsDhairya Joshi
 
2CPP12 - Method Overriding
2CPP12 - Method Overriding2CPP12 - Method Overriding
2CPP12 - Method OverridingMichael Heron
 
Object oriented programming 6 oop with c++
Object oriented programming 6  oop with c++Object oriented programming 6  oop with c++
Object oriented programming 6 oop with c++Vaibhav Khanna
 

What's hot (20)

Week10 packages using objects in objects
Week10 packages using objects in objectsWeek10 packages using objects in objects
Week10 packages using objects in objects
 
object oriented programming using c++
 object oriented programming using c++ object oriented programming using c++
object oriented programming using c++
 
Development of Java tools using SWT and WALA af Hans Søndergaard, ViaUC
Development of Java tools using SWT and WALA af Hans Søndergaard, ViaUCDevelopment of Java tools using SWT and WALA af Hans Søndergaard, ViaUC
Development of Java tools using SWT and WALA af Hans Søndergaard, ViaUC
 
Observer & singleton pattern
Observer  & singleton patternObserver  & singleton pattern
Observer & singleton pattern
 
Keyword of java
Keyword of javaKeyword of java
Keyword of java
 
Workshop Android for Java Developers
Workshop Android for Java DevelopersWorkshop Android for Java Developers
Workshop Android for Java Developers
 
More oop in java
More oop in javaMore oop in java
More oop in java
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern
 
Java for android developers
Java for android developersJava for android developers
Java for android developers
 
iOS development introduction
iOS development introduction iOS development introduction
iOS development introduction
 
Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1
 
Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2
 
MTA understanding java script and coding essentials
MTA understanding java script and coding essentialsMTA understanding java script and coding essentials
MTA understanding java script and coding essentials
 
java tutorial 4
 java tutorial 4 java tutorial 4
java tutorial 4
 
Basic java for Android Developer
Basic java for Android DeveloperBasic java for Android Developer
Basic java for Android Developer
 
2CPP12 - Method Overriding
2CPP12 - Method Overriding2CPP12 - Method Overriding
2CPP12 - Method Overriding
 
Intro sql/plsql
Intro sql/plsqlIntro sql/plsql
Intro sql/plsql
 
TestNG Data Binding
TestNG Data BindingTestNG Data Binding
TestNG Data Binding
 
C# Basics
C# BasicsC# Basics
C# Basics
 
Object oriented programming 6 oop with c++
Object oriented programming 6  oop with c++Object oriented programming 6  oop with c++
Object oriented programming 6 oop with c++
 

Viewers also liked

Uml Presentation
Uml PresentationUml Presentation
Uml Presentationmewaseem
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignHaitham El-Ghareeb
 
Oo Design And Patterns
Oo Design And PatternsOo Design And Patterns
Oo Design And PatternsAnil Bapat
 
Software Design Patterns in Practice
Software Design Patterns in PracticeSoftware Design Patterns in Practice
Software Design Patterns in PracticePtidej Team
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh Soni
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural stylesMajong DevJfu
 
The Arab Spring: A simple compartmental model for the dynamics of a revolution
The Arab Spring: A simple compartmental model for the dynamics of a revolutionThe Arab Spring: A simple compartmental model for the dynamics of a revolution
The Arab Spring: A simple compartmental model for the dynamics of a revolutionHans De Sterck
 
Cold war Photo Essay World History
Cold war Photo Essay World HistoryCold war Photo Essay World History
Cold war Photo Essay World HistoryTorresTroll
 
D3 (drought management and risk reduction in pakistan) brig. kamran shariff
D3 (drought management and risk reduction in pakistan)  brig. kamran shariffD3 (drought management and risk reduction in pakistan)  brig. kamran shariff
D3 (drought management and risk reduction in pakistan) brig. kamran shariffmuneeb khalid khalid muneeb
 
Poverty and Hunger Reduction – a new mix of growth and social protection poli...
Poverty and Hunger Reduction – a new mix of growth and social protection poli...Poverty and Hunger Reduction – a new mix of growth and social protection poli...
Poverty and Hunger Reduction – a new mix of growth and social protection poli...Joachim von Braun
 
6 Day War
6 Day  War6 Day  War
6 Day WarArt 37
 
Inventions: The computer
Inventions: The computerInventions: The computer
Inventions: The computerandreasupertino
 
The Invention of Nuclear Weapons
The Invention of Nuclear WeaponsThe Invention of Nuclear Weapons
The Invention of Nuclear Weaponskryackey
 
October War_Effective Egyptian Preprarations Enable Strategic Surprise
October War_Effective Egyptian Preprarations Enable Strategic SurpriseOctober War_Effective Egyptian Preprarations Enable Strategic Surprise
October War_Effective Egyptian Preprarations Enable Strategic SurpriseW. Troy Ayres
 
Nuclear power
Nuclear powerNuclear power
Nuclear powerAparna
 

Viewers also liked (20)

Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
11 topic 9 ooa
11 topic 9 ooa11 topic 9 ooa
11 topic 9 ooa
 
Oo Design And Patterns
Oo Design And PatternsOo Design And Patterns
Oo Design And Patterns
 
Software Design Patterns in Practice
Software Design Patterns in PracticeSoftware Design Patterns in Practice
Software Design Patterns in Practice
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
The Arab Spring: A simple compartmental model for the dynamics of a revolution
The Arab Spring: A simple compartmental model for the dynamics of a revolutionThe Arab Spring: A simple compartmental model for the dynamics of a revolution
The Arab Spring: A simple compartmental model for the dynamics of a revolution
 
fortigate
fortigatefortigate
fortigate
 
Cold war Photo Essay World History
Cold war Photo Essay World HistoryCold war Photo Essay World History
Cold war Photo Essay World History
 
WWI 5 Weapons
WWI 5 WeaponsWWI 5 Weapons
WWI 5 Weapons
 
D3 (drought management and risk reduction in pakistan) brig. kamran shariff
D3 (drought management and risk reduction in pakistan)  brig. kamran shariffD3 (drought management and risk reduction in pakistan)  brig. kamran shariff
D3 (drought management and risk reduction in pakistan) brig. kamran shariff
 
Poverty and Hunger Reduction – a new mix of growth and social protection poli...
Poverty and Hunger Reduction – a new mix of growth and social protection poli...Poverty and Hunger Reduction – a new mix of growth and social protection poli...
Poverty and Hunger Reduction – a new mix of growth and social protection poli...
 
6 Day War
6 Day  War6 Day  War
6 Day War
 
Inventions: The computer
Inventions: The computerInventions: The computer
Inventions: The computer
 
Egypt
EgyptEgypt
Egypt
 
The Invention of Nuclear Weapons
The Invention of Nuclear WeaponsThe Invention of Nuclear Weapons
The Invention of Nuclear Weapons
 
October War_Effective Egyptian Preprarations Enable Strategic Surprise
October War_Effective Egyptian Preprarations Enable Strategic SurpriseOctober War_Effective Egyptian Preprarations Enable Strategic Surprise
October War_Effective Egyptian Preprarations Enable Strategic Surprise
 
Nuclear power
Nuclear powerNuclear power
Nuclear power
 

Similar to Object oriented programming systems

Introduction to oop
Introduction to oopIntroduction to oop
Introduction to oopcolleges
 
Java Basics for selenium
Java Basics for seleniumJava Basics for selenium
Java Basics for seleniumapoorvams
 
Oop features java presentationshow
Oop features java presentationshowOop features java presentationshow
Oop features java presentationshowilias ahmed
 
Introduction to java programming
Introduction to java programmingIntroduction to java programming
Introduction to java programmingshinyduela
 
ITT 202 PRINCIPLES OF OBJECT ORIENTED TECHNIQUE
ITT 202 PRINCIPLES OF OBJECT ORIENTED TECHNIQUEITT 202 PRINCIPLES OF OBJECT ORIENTED TECHNIQUE
ITT 202 PRINCIPLES OF OBJECT ORIENTED TECHNIQUEVinishA23
 
PHP - Introduction to Object Oriented Programming with PHP
PHP -  Introduction to  Object Oriented Programming with PHPPHP -  Introduction to  Object Oriented Programming with PHP
PHP - Introduction to Object Oriented Programming with PHPVibrant Technologies & Computers
 
Unit3 packages &amp; interfaces
Unit3 packages &amp; interfacesUnit3 packages &amp; interfaces
Unit3 packages &amp; interfacesKalai Selvi
 
Summer Training Project On C++
Summer Training Project On  C++Summer Training Project On  C++
Summer Training Project On C++KAUSHAL KUMAR JHA
 
Java For beginners and CSIT and IT students
Java  For beginners and CSIT and IT studentsJava  For beginners and CSIT and IT students
Java For beginners and CSIT and IT studentsPartnered Health
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindiappsdevelopment
 
JAVA-PPT'S.pptx
JAVA-PPT'S.pptxJAVA-PPT'S.pptx
JAVA-PPT'S.pptxRaazIndia
 
JAVA-PPT'S-complete-chrome.pptx
JAVA-PPT'S-complete-chrome.pptxJAVA-PPT'S-complete-chrome.pptx
JAVA-PPT'S-complete-chrome.pptxKunalYadav65140
 
System_Verilog_OOPS_Concepts.pdf
System_Verilog_OOPS_Concepts.pdfSystem_Verilog_OOPS_Concepts.pdf
System_Verilog_OOPS_Concepts.pdfPoothan
 
Synapseindia reviews.odp.
Synapseindia reviews.odp.Synapseindia reviews.odp.
Synapseindia reviews.odp.Tarunsingh198
 

Similar to Object oriented programming systems (20)

Introduction to oop
Introduction to oopIntroduction to oop
Introduction to oop
 
Object Oriented Programming
Object Oriented ProgrammingObject Oriented Programming
Object Oriented Programming
 
Java Basics for selenium
Java Basics for seleniumJava Basics for selenium
Java Basics for selenium
 
Oop features java presentationshow
Oop features java presentationshowOop features java presentationshow
Oop features java presentationshow
 
Introduction to java programming
Introduction to java programmingIntroduction to java programming
Introduction to java programming
 
ITT 202 PRINCIPLES OF OBJECT ORIENTED TECHNIQUE
ITT 202 PRINCIPLES OF OBJECT ORIENTED TECHNIQUEITT 202 PRINCIPLES OF OBJECT ORIENTED TECHNIQUE
ITT 202 PRINCIPLES OF OBJECT ORIENTED TECHNIQUE
 
PHP - Introduction to Object Oriented Programming with PHP
PHP -  Introduction to  Object Oriented Programming with PHPPHP -  Introduction to  Object Oriented Programming with PHP
PHP - Introduction to Object Oriented Programming with PHP
 
Unit3 packages &amp; interfaces
Unit3 packages &amp; interfacesUnit3 packages &amp; interfaces
Unit3 packages &amp; interfaces
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Summer Training Project On C++
Summer Training Project On  C++Summer Training Project On  C++
Summer Training Project On C++
 
UNIT1-JAVA.pptx
UNIT1-JAVA.pptxUNIT1-JAVA.pptx
UNIT1-JAVA.pptx
 
Java For beginners and CSIT and IT students
Java  For beginners and CSIT and IT studentsJava  For beginners and CSIT and IT students
Java For beginners and CSIT and IT students
 
oopusingc.pptx
oopusingc.pptxoopusingc.pptx
oopusingc.pptx
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1
 
JAVA-PPT'S.pptx
JAVA-PPT'S.pptxJAVA-PPT'S.pptx
JAVA-PPT'S.pptx
 
JAVA-PPT'S-complete-chrome.pptx
JAVA-PPT'S-complete-chrome.pptxJAVA-PPT'S-complete-chrome.pptx
JAVA-PPT'S-complete-chrome.pptx
 
Php oop (1)
Php oop (1)Php oop (1)
Php oop (1)
 
Java notes
Java notesJava notes
Java notes
 
System_Verilog_OOPS_Concepts.pdf
System_Verilog_OOPS_Concepts.pdfSystem_Verilog_OOPS_Concepts.pdf
System_Verilog_OOPS_Concepts.pdf
 
Synapseindia reviews.odp.
Synapseindia reviews.odp.Synapseindia reviews.odp.
Synapseindia reviews.odp.
 

More from rchakra

Requirement management presentation to a software team
Requirement management presentation to a software teamRequirement management presentation to a software team
Requirement management presentation to a software teamrchakra
 
Subversion client
Subversion clientSubversion client
Subversion clientrchakra
 
Subversion
SubversionSubversion
Subversionrchakra
 
Sql 2005 the ranking functions
Sql 2005   the ranking functionsSql 2005   the ranking functions
Sql 2005 the ranking functionsrchakra
 
Sql basics 2
Sql basics 2Sql basics 2
Sql basics 2rchakra
 
T-Sql basics
T-Sql basicsT-Sql basics
T-Sql basicsrchakra
 
Sql architecture
Sql architectureSql architecture
Sql architecturerchakra
 
Introduction to ADO.NET
Introduction to ADO.NETIntroduction to ADO.NET
Introduction to ADO.NETrchakra
 
Intro to Microsoft.NET
Intro to Microsoft.NET Intro to Microsoft.NET
Intro to Microsoft.NET rchakra
 
Subversion Admin
Subversion AdminSubversion Admin
Subversion Adminrchakra
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2rchakra
 
Intro To .Net Threads
Intro To .Net ThreadsIntro To .Net Threads
Intro To .Net Threadsrchakra
 

More from rchakra (12)

Requirement management presentation to a software team
Requirement management presentation to a software teamRequirement management presentation to a software team
Requirement management presentation to a software team
 
Subversion client
Subversion clientSubversion client
Subversion client
 
Subversion
SubversionSubversion
Subversion
 
Sql 2005 the ranking functions
Sql 2005   the ranking functionsSql 2005   the ranking functions
Sql 2005 the ranking functions
 
Sql basics 2
Sql basics 2Sql basics 2
Sql basics 2
 
T-Sql basics
T-Sql basicsT-Sql basics
T-Sql basics
 
Sql architecture
Sql architectureSql architecture
Sql architecture
 
Introduction to ADO.NET
Introduction to ADO.NETIntroduction to ADO.NET
Introduction to ADO.NET
 
Intro to Microsoft.NET
Intro to Microsoft.NET Intro to Microsoft.NET
Intro to Microsoft.NET
 
Subversion Admin
Subversion AdminSubversion Admin
Subversion Admin
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2
 
Intro To .Net Threads
Intro To .Net ThreadsIntro To .Net Threads
Intro To .Net Threads
 

Recently uploaded

USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 

Recently uploaded (20)

USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 

Object oriented programming systems

  • 2. Object Oriented Analysis And Design •Software development process consists of analysis, design, and implementation phases •The goal of the analysis phase is a complete description of what the software product should do •The goal of object-oriented design is the identification of classes, their responsibilities, and the relationships among them •The goal of the implementation phase is the programming, testing, and deployment of the software product
  • 3. Why OOPS ? • To modularize software development , just like any other engineering discipline •To make software projects more manageable and predictable •For better maintainability, since software maintenance costs were more than the development costs. •For more reuse of code and to prevent the ‘reinvention of the wheel’ every time
  • 9. Use Cases A use case lists a sequence of actions that yields a result that is of value to an actor
  • 11. OOPS • A class specifies objects with the same behavior •An instance of a class is an object that belongs to the given class •Class names should be nouns in the singular form •To discover responsibilities , look for verbs in the problem description. •A responsibility must belong to exactly one class
  • 13. A circle is a point and a radius
  • 14. Class and Object concept An object is characterized by its state, behavior, and identity • The collection of all information held by an object is its state •The behavior of an object is defined by the operations or methods that an object supports •The unique reference (or name) of an object is its identity
  • 15. An object of circle is a kind of point
  • 16. If Logo is circle and triangle
  • 18. Relationships between Classes Three relationships are common among classes : •Dependency (“uses”) •Aggregation (“has”) •Inheritance (“is”)
  • 19. Dependency • A class depends on another class if it manipulates objects of the other class in any way. •If a class can carry out all its tasks without being aware that the other class even exists, then it doesn’t use that class. •For example, if there is a Message class which uses the System.Print class, then the Message class is dependant , or coupled with the System.Print class
  • 20. Aggregation •A class aggregates another if its objects contain objects of the other class •Aggregation is often informally described as the ‘has-a’ relationship
  • 21. Inheritance A class inherits from another if it incorporates the behavior of the other class
  • 25. ASP.NET component using System; using System.Web.UI; namespace MSPress.ServerControls { public class SimpleControl : Control { protected override void Render(HtmlTextWriter writer) { writer.Write("I don't do anything useful. "); writer.Write("but at least i'm a control...."); } } }
  • 26. Re-using the component <%@ Page language="C#" %> <%@ Register TagPrefix="msp" NameSpace="MSPress.ServerControls" Assembly="SimpleControl.cs" %> <HTML> <body> <br> Here is the output from our first custom control <br> <msp:SimpleControl id="simple1" runat="server" /> <br> </body>
  • 27. CRC Cards A CRC card is an index card that describes a class, its high- level responsibilities , and its collaborators
  • 29. Sample Program – Part 1 using System; public class Control { public Control (string data) {Data = data; } protected string data; public string Data { get { return data ; } set { data = value; } } }
  • 30. Sample Program – Part 2 interface IValidate { bool Validate(); } class SSN : Control, IValidate {// Class starts here const char DELIMITER = '-';
  • 31. Sample Program – Part 3 public SSN(string val) : base (val) {} public bool Validate() { Console.WriteLine("[SSN.Validate] : Validating '{0}'", data); return (11 == data.Length) && (CorrectFormat()); }
  • 32. Sample Program – Part 4 protected bool CorrectFormat() {bool correctFormat = true; for (int i = 0; (correctFormat && i < data.Length); i++) { correctFormat =((IsDelimiterPosition(i) && data[i] == DELIMITER)|| (IsNumberPosition(i)&& char.IsNumber(data[i]))); } return correctFormat; }
  • 33. Sample Program – Part 5 protected bool IsDelimiterPosition(int i) { return (i==3 | i==6); } protected bool IsNumberPosition (int i) { return (i !=3 && i != 6); } } //class SSN : Control, IValidate ends here
  • 34. Sample Program – Part 6 class InterfacesApp { //Main class starts here public static void Main(string[] args) { string data = ""; if (0 < args.GetLength(0)) data = args[0]; SSN ssn = new SSN(data); IValidate val = (IValidate)ssn;
  • 35. Sample Program – Part 7 Console.WriteLine("[Main] Calling SSN.Validate"); bool success = val.Validate(); Console.WriteLine("[Main] The validation of " + "SSN '{0}' was {1}successful", ssn.Data, (true == success ? "" : "NOT ")); } } //Main class ends here
  • 36. COM
  • 38. .NET .NET has 5 intrinsic types : •Class •Interface •Struct •Enum •Delegate
  • 39. A simple example of .NET delegate – Part 1 ' Our delegate type can point to any method ' taking two integers and returning an integer. Public Delegate Function BinaryOp(ByVal x As Integer, ByVal y As Integer) As Integer
  • 40. A simple example of .NET delegate – Part 2 'This class defines the methods that will be 'pointed to' by the delegate. Public Class SimpleMath Public Shared Function Add(ByVal x As Integer, ByVal y As Integer) As Integer Return x + y End Function Public Shared Function Subtract(ByVal x As Integer, ByVal y As Integer) As Integer Return x - y End Function End Class
  • 41. A simple example of .NET delegate – Part 3 Module Program Sub Main() Console.WriteLine("****** Simple Delegate Example*******") 'Make a delegate object and add method to invocation 'list using the AddressOf keyword. Dim b As BinaryOp = New BinaryOp(AddressOf SimpleMath.Add) 'Invoke the method 'pointed to' Console.WriteLine("10 + 10 is {0}", b(10, 10)) Console.ReadLine() End Sub End Module
  • 42. The Move from Two-Tier to N- Tier Architecture
  • 43. Stored Procedures for Business Logic
  • 44. Two Tier can be messy
  • 47. Summary Object Oriented systems are a way of engineering software applications to achieve more consistency and maintainability .