SlideShare uma empresa Scribd logo
1 de 24
Object Oriented Methodology Lab
Md. Mujahid Islam
Software Developer & Guest Lecturer
1
What Is an Object?
 Real-world objects share two characteristics: They all
have state and behavior. Dogs have state (name, color, breed, hungry) and
behavior (barking, fetching, wagging tail). Bicycles also have state (current
gear, current pedal cadence, current speed) and behavior (changing gear,
changing pedal cadence, applying brakes).
  For each object that you see, ask yourself two questions: "What possible
states can this object be in?" and "What possible behavior can this object
perform?". 
2
What Is an Object?
3
What is Object Oriented Methodology?
 Object Oriented Methodology (OOM) is a system development approach
encouraging and facilitating re-use of software components. With this
methodology, a computer system can be developed on a component basis
which enables the effective re-use of existing components and facilitates the
sharing of its components by other systems.
 By the adoption of OOM, higher productivity, lower maintenance cost and
better quality can be achieved.
 This methodology employs international standard Unified Modeling Language
(UML) from the Object Management Group (OMG). UML is a modeling standard
for OO analysis and design which has been widely adopted in the IT industry.
4
HISTORY OF OOM
 The use of OOM for analysing and designing systems began to mature towards
1990 with the launch of methodologies from the three industry-leading
methodologists : Ivar Jacobson, Grady Booch and James Rumbaugh.
 In 1989, the Object Management Group (OMG) was founded. The mission of
OMG is to establish industry guidelines, detailed object management
specifications and common frameworks for application development.
5
Unified Modeling Language
One of the best-known specifications maintained by OMG is the Unified Modeling
Language (UML). The UML is a language for specifying, visualizing, constructing,
and documenting the deliverables of software systems, as well as for business
modelling and other non-software systems.
6
BENEFITS OF OOM
 Improve productivity : Application development is facilitated by the reuse of
existing components which can greatly improve the productivity and facilitate
rapid delivery.
 Deliver high quality system : The quality of the system can be improved as
the system is built up in a component manner with the use of existing
components which are well-tested and well-proven.
 Lower maintenance cost : The associated property of traceability of OOM can
help to ensure the impact of change is localised and the problem area can be
easily traced. As a result, the maintenance cost can be reduced.
 Facilitate reuse : With this approach, a computer system can be developed on
a component basis that enables the effective re-use of existing components.
 Manage complexity : The use of OOM eases the process in managing
complexity. By the breaking down of a complex solution into different
components and with each component encapsulated (e.g. treated as a black
box) from others, complex development can be better managed.
7
The OOM life cycle
 Business Planning
 Business Architecture Definition
 Technical Architecture Definition
 Incremental Delivery Planning
 Incremental Design & Build
 Deployment
8
Object Oriented Language
 Java
 C++
 Python
 PHP
 C#
 JavaScript
9
History of Java
 Java is a programming language created by James Gosling & Patrick Naughton
from Sun Microsystems (Sun) in 1991.
 The first publicly available version of Java (Java 1.0) was released in 1995.
Sun Microsystems was acquired by the Oracle Corporation in 2010. Oracle has
now the steermanship for Java.
 The target of Java is to write a program once and then run this program on
multiple operating systems. In 2006 Sun started to make Java available under
the GNU General Public License (GPL). Oracle continues this project
called OpenJDK.
 The current version of Java is Java 1.8 which is also known as Java 8.
10
Working Mechanism of Java
 In the Java programming language, all source code is first written in plain
text files ending with the .java extension.
 Those source files are then compiled into .class files by the javac compiler.
A .class file does not contain code that is native to your processor; it instead
contains bytecodes — the machine language of the Java Virtual Machine1(Java
VM).
 The java launcher tool then runs your application with an instance of the Java
Virtual Machine.
11
Working Mechanism of Java
12
Main Features of JAVA
 Platform independent
 Object-orientated programming language
 Strongly-typed programming language
 Simple
 Robust Language
 Secure
 Multithreading
 Portable
13
Platform independent
Java programs use the Java virtual machine as abstraction and do not access the
operating system directly. So this reason Java program (which is standard-
compliant and follows certain rules) can run unmodified on all supported
platforms, e.g., Windows or Linux.
14
Object-orientated programming language
4 main concepts of Object Oriented programming are:
Abstraction : Abstraction is managed by well-defined objects and their
hierarchical classification.
Encapsulation : Binding the data with the code that manipulates it & It keeps
the data and the code safe from external interference
Inheritance : Inheritance is the mechanism by which an object acquires the
some/all properties of another object.
Polymorphism : Polymorphism means to process objects differently based on
their data type.
15
Simple
Java is considered as one of simple language because it does not have complex
features like Operator overloading, Multiple inheritance, pointers and Explicit
memory allocation.
16
void operator ++()
{
count = count+1;
}
void operator --()
{
count = count-1;
}
class A
{
public:
A() { cout << "A's constructor called" << endl; }
};
class B
{
public:
B() { cout << "B's constructor called" << endl; }
};
class C: public B, public A // Note the order
{
public:
C() { cout << "C's constructor called" << endl; }
};
Robust Language
 Two main problems that cause program failures are memory management
mistakes and mishandled runtime errors. Java handles both of them
efficiently.
1) Memory management mistakes can be overcome by garbage collection.  Garbage collection
is automatic de-allocation of objects which are no longer needed.
2) Mishandled runtime errors are resolved by Exception Handling procedures.
17
Secure
It provides a virtual firewall between the application and the computer.  Java
codes are confined within Java Runtime Environment (JRE) thus it does not grant
unauthorized access on the system resources.
Firewall
A firewall is a network security system that monitors and controls the incoming
and outgoing network traffic based on predetermined security rules.A firewall
typically establishes a barrier between a trusted, secure internal network and
another outside network.
18
Multithreading
 A thread is a light-weight smallest part of a process that can run concurrently
with the other parts(other threads) of the same process.
 Threads are independent because they all have separate path of execution
that’s the reason if an exception occurs in one thread, it doesn’t affect the
execution of other threads.
 All threads of a process share the common memory. The process of
executing multiple threads simultaneously is known as multithreading.
19
Java virtual machine
 The Java virtual machine (JVM) is a software implementation of a computer
that executes programs like a real machine.
 The Java virtual machine is written specifically for a specific operating
system, e.g., for Linux a special implementation is required as well as for
Windows.
 Java programs are compiled by the Java compiler into bytecode. The Java
virtual machine interprets this bytecode and executes the Java program.
20
Java virtual machine
21
Environment Setup
 Java Runtime Environment (JRE) and the Java Development Kit (JDK).
 Eclipse or any other Integrated Development Environment (IDE).
 Setting Up the Path for Windows :
1. Assuming you have installed Java in c:Program Filesjavajdk directory −
2. Right-click on 'My Computer' and select 'Properties'.
3. Click the 'Environment variables' button under the 'Advanced' tab.
4. Now, alter the 'Path' variable so that it also contains the path to the Java executable.
Example, if the path is currently set to 'C:WINDOWSSYSTEM32', then change your path
to read 'C:WINDOWSSYSTEM32;c:Program Filesjavajdkbin'.
 https://www.ntu.edu.sg/home/ehchua/programming/howto/EclipseJava_HowTo.
html
22
Hello World Program
class MyBaseClass {
public void hello() {
System.out.println("Hello from MyBaseClass");
}
}
23
24
Questions?

Mais conteúdo relacionado

Mais procurados

Python Programming Language
Python Programming LanguagePython Programming Language
Python Programming LanguageLaxman Puri
 
Conceptual dependency
Conceptual dependencyConceptual dependency
Conceptual dependencyJismy .K.Jose
 
human activity recognization using machine learning with data analysis
human activity recognization using machine learning with data analysishuman activity recognization using machine learning with data analysis
human activity recognization using machine learning with data analysisVenkat Projects
 
Travelling Salesman
Travelling SalesmanTravelling Salesman
Travelling SalesmanShuvojit Kar
 
Computer Network notes (handwritten) UNIT 1
Computer Network notes (handwritten) UNIT 1Computer Network notes (handwritten) UNIT 1
Computer Network notes (handwritten) UNIT 1NANDINI SHARMA
 
Forms of learning in ai
Forms of learning in aiForms of learning in ai
Forms of learning in aiRobert Antony
 
Intelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCE
Intelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCEIntelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCE
Intelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCEKhushboo Pal
 
Chapter 6 agent communications--agent communications
Chapter 6 agent communications--agent communicationsChapter 6 agent communications--agent communications
Chapter 6 agent communications--agent communicationsfarshad33
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design ConceptSharath g
 
Decision properties of reular languages
Decision properties of reular languagesDecision properties of reular languages
Decision properties of reular languagesSOMNATHMORE2
 
Chapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYA
Chapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYAChapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYA
Chapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYAMaulik Borsaniya
 

Mais procurados (20)

Python Programming Language
Python Programming LanguagePython Programming Language
Python Programming Language
 
Bitwise operators
Bitwise operatorsBitwise operators
Bitwise operators
 
software engineering
software engineeringsoftware engineering
software engineering
 
Conceptual dependency
Conceptual dependencyConceptual dependency
Conceptual dependency
 
Production System
Production SystemProduction System
Production System
 
human activity recognization using machine learning with data analysis
human activity recognization using machine learning with data analysishuman activity recognization using machine learning with data analysis
human activity recognization using machine learning with data analysis
 
Travelling Salesman
Travelling SalesmanTravelling Salesman
Travelling Salesman
 
Computer Network notes (handwritten) UNIT 1
Computer Network notes (handwritten) UNIT 1Computer Network notes (handwritten) UNIT 1
Computer Network notes (handwritten) UNIT 1
 
Forms of learning in ai
Forms of learning in aiForms of learning in ai
Forms of learning in ai
 
Intelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCE
Intelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCEIntelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCE
Intelligent Agent PPT ON SLIDESHARE IN ARTIFICIAL INTELLIGENCE
 
Chapter 6 agent communications--agent communications
Chapter 6 agent communications--agent communicationsChapter 6 agent communications--agent communications
Chapter 6 agent communications--agent communications
 
Object Oriented Design Concept
Object Oriented Design ConceptObject Oriented Design Concept
Object Oriented Design Concept
 
Decision properties of reular languages
Decision properties of reular languagesDecision properties of reular languages
Decision properties of reular languages
 
Chapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYA
Chapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYAChapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYA
Chapter 1 - INTRODUCTION TO PYTHON -MAULIK BORSANIYA
 
Control statement-Selective
Control statement-SelectiveControl statement-Selective
Control statement-Selective
 
Function in C program
Function in C programFunction in C program
Function in C program
 
Chapter 12 user interface design
Chapter 12 user interface designChapter 12 user interface design
Chapter 12 user interface design
 
Frames
FramesFrames
Frames
 
Assembly Language
Assembly LanguageAssembly Language
Assembly Language
 
Storage class in C Language
Storage class in C LanguageStorage class in C Language
Storage class in C Language
 

Semelhante a Object Oriented Methodology in Java (Lecture-1)

Elements of Java Language
Elements of Java Language Elements of Java Language
Elements of Java Language Hitesh-Java
 
Session 02 - Elements of Java Language
Session 02 - Elements of Java LanguageSession 02 - Elements of Java Language
Session 02 - Elements of Java LanguagePawanMM
 
Vb.net basics 1(vb,net--3 year)
Vb.net basics 1(vb,net--3 year)Vb.net basics 1(vb,net--3 year)
Vb.net basics 1(vb,net--3 year)Ankit Gupta
 
Introduction to java
Introduction to  javaIntroduction to  java
Introduction to javaKalai Selvi
 
1.INTRODUCTION TO JAVA_2022 MB.ppt .
1.INTRODUCTION TO JAVA_2022 MB.ppt      .1.INTRODUCTION TO JAVA_2022 MB.ppt      .
1.INTRODUCTION TO JAVA_2022 MB.ppt .happycocoman
 
Unit1 introduction to Java
Unit1 introduction to JavaUnit1 introduction to Java
Unit1 introduction to JavaDevaKumari Vijay
 
Object oriented programming-with_java
Object oriented programming-with_javaObject oriented programming-with_java
Object oriented programming-with_javaHarry Potter
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programmingJames Wong
 
Object oriented programming-with_java
Object oriented programming-with_javaObject oriented programming-with_java
Object oriented programming-with_javaHoang Nguyen
 
Object oriented programming-with_java
Object oriented programming-with_javaObject oriented programming-with_java
Object oriented programming-with_javaTony Nguyen
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programmingYoung Alista
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programmingFraboni Ec
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programmingLuis Goldster
 

Semelhante a Object Oriented Methodology in Java (Lecture-1) (20)

Java session2
Java session2Java session2
Java session2
 
Elements of Java Language
Elements of Java Language Elements of Java Language
Elements of Java Language
 
Java1
Java1Java1
Java1
 
Java
Java Java
Java
 
Session 02 - Elements of Java Language
Session 02 - Elements of Java LanguageSession 02 - Elements of Java Language
Session 02 - Elements of Java Language
 
VMPaper
VMPaperVMPaper
VMPaper
 
Vb.net basics 1(vb,net--3 year)
Vb.net basics 1(vb,net--3 year)Vb.net basics 1(vb,net--3 year)
Vb.net basics 1(vb,net--3 year)
 
Presentation5
Presentation5Presentation5
Presentation5
 
CORE JAVA
CORE JAVACORE JAVA
CORE JAVA
 
Introduction to java
Introduction to  javaIntroduction to  java
Introduction to java
 
1.INTRODUCTION TO JAVA_2022 MB.ppt .
1.INTRODUCTION TO JAVA_2022 MB.ppt      .1.INTRODUCTION TO JAVA_2022 MB.ppt      .
1.INTRODUCTION TO JAVA_2022 MB.ppt .
 
Unit1 introduction to Java
Unit1 introduction to JavaUnit1 introduction to Java
Unit1 introduction to Java
 
Object oriented programming-with_java
Object oriented programming-with_javaObject oriented programming-with_java
Object oriented programming-with_java
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Object oriented programming-with_java
Object oriented programming-with_javaObject oriented programming-with_java
Object oriented programming-with_java
 
Object oriented programming-with_java
Object oriented programming-with_javaObject oriented programming-with_java
Object oriented programming-with_java
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
Java ms harsha
Java ms harshaJava ms harsha
Java ms harsha
 

Último

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 

Último (20)

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 

Object Oriented Methodology in Java (Lecture-1)

  • 1. Object Oriented Methodology Lab Md. Mujahid Islam Software Developer & Guest Lecturer 1
  • 2. What Is an Object?  Real-world objects share two characteristics: They all have state and behavior. Dogs have state (name, color, breed, hungry) and behavior (barking, fetching, wagging tail). Bicycles also have state (current gear, current pedal cadence, current speed) and behavior (changing gear, changing pedal cadence, applying brakes).   For each object that you see, ask yourself two questions: "What possible states can this object be in?" and "What possible behavior can this object perform?".  2
  • 3. What Is an Object? 3
  • 4. What is Object Oriented Methodology?  Object Oriented Methodology (OOM) is a system development approach encouraging and facilitating re-use of software components. With this methodology, a computer system can be developed on a component basis which enables the effective re-use of existing components and facilitates the sharing of its components by other systems.  By the adoption of OOM, higher productivity, lower maintenance cost and better quality can be achieved.  This methodology employs international standard Unified Modeling Language (UML) from the Object Management Group (OMG). UML is a modeling standard for OO analysis and design which has been widely adopted in the IT industry. 4
  • 5. HISTORY OF OOM  The use of OOM for analysing and designing systems began to mature towards 1990 with the launch of methodologies from the three industry-leading methodologists : Ivar Jacobson, Grady Booch and James Rumbaugh.  In 1989, the Object Management Group (OMG) was founded. The mission of OMG is to establish industry guidelines, detailed object management specifications and common frameworks for application development. 5
  • 6. Unified Modeling Language One of the best-known specifications maintained by OMG is the Unified Modeling Language (UML). The UML is a language for specifying, visualizing, constructing, and documenting the deliverables of software systems, as well as for business modelling and other non-software systems. 6
  • 7. BENEFITS OF OOM  Improve productivity : Application development is facilitated by the reuse of existing components which can greatly improve the productivity and facilitate rapid delivery.  Deliver high quality system : The quality of the system can be improved as the system is built up in a component manner with the use of existing components which are well-tested and well-proven.  Lower maintenance cost : The associated property of traceability of OOM can help to ensure the impact of change is localised and the problem area can be easily traced. As a result, the maintenance cost can be reduced.  Facilitate reuse : With this approach, a computer system can be developed on a component basis that enables the effective re-use of existing components.  Manage complexity : The use of OOM eases the process in managing complexity. By the breaking down of a complex solution into different components and with each component encapsulated (e.g. treated as a black box) from others, complex development can be better managed. 7
  • 8. The OOM life cycle  Business Planning  Business Architecture Definition  Technical Architecture Definition  Incremental Delivery Planning  Incremental Design & Build  Deployment 8
  • 9. Object Oriented Language  Java  C++  Python  PHP  C#  JavaScript 9
  • 10. History of Java  Java is a programming language created by James Gosling & Patrick Naughton from Sun Microsystems (Sun) in 1991.  The first publicly available version of Java (Java 1.0) was released in 1995. Sun Microsystems was acquired by the Oracle Corporation in 2010. Oracle has now the steermanship for Java.  The target of Java is to write a program once and then run this program on multiple operating systems. In 2006 Sun started to make Java available under the GNU General Public License (GPL). Oracle continues this project called OpenJDK.  The current version of Java is Java 1.8 which is also known as Java 8. 10
  • 11. Working Mechanism of Java  In the Java programming language, all source code is first written in plain text files ending with the .java extension.  Those source files are then compiled into .class files by the javac compiler. A .class file does not contain code that is native to your processor; it instead contains bytecodes — the machine language of the Java Virtual Machine1(Java VM).  The java launcher tool then runs your application with an instance of the Java Virtual Machine. 11
  • 13. Main Features of JAVA  Platform independent  Object-orientated programming language  Strongly-typed programming language  Simple  Robust Language  Secure  Multithreading  Portable 13
  • 14. Platform independent Java programs use the Java virtual machine as abstraction and do not access the operating system directly. So this reason Java program (which is standard- compliant and follows certain rules) can run unmodified on all supported platforms, e.g., Windows or Linux. 14
  • 15. Object-orientated programming language 4 main concepts of Object Oriented programming are: Abstraction : Abstraction is managed by well-defined objects and their hierarchical classification. Encapsulation : Binding the data with the code that manipulates it & It keeps the data and the code safe from external interference Inheritance : Inheritance is the mechanism by which an object acquires the some/all properties of another object. Polymorphism : Polymorphism means to process objects differently based on their data type. 15
  • 16. Simple Java is considered as one of simple language because it does not have complex features like Operator overloading, Multiple inheritance, pointers and Explicit memory allocation. 16 void operator ++() { count = count+1; } void operator --() { count = count-1; } class A { public: A() { cout << "A's constructor called" << endl; } }; class B { public: B() { cout << "B's constructor called" << endl; } }; class C: public B, public A // Note the order { public: C() { cout << "C's constructor called" << endl; } };
  • 17. Robust Language  Two main problems that cause program failures are memory management mistakes and mishandled runtime errors. Java handles both of them efficiently. 1) Memory management mistakes can be overcome by garbage collection.  Garbage collection is automatic de-allocation of objects which are no longer needed. 2) Mishandled runtime errors are resolved by Exception Handling procedures. 17
  • 18. Secure It provides a virtual firewall between the application and the computer.  Java codes are confined within Java Runtime Environment (JRE) thus it does not grant unauthorized access on the system resources. Firewall A firewall is a network security system that monitors and controls the incoming and outgoing network traffic based on predetermined security rules.A firewall typically establishes a barrier between a trusted, secure internal network and another outside network. 18
  • 19. Multithreading  A thread is a light-weight smallest part of a process that can run concurrently with the other parts(other threads) of the same process.  Threads are independent because they all have separate path of execution that’s the reason if an exception occurs in one thread, it doesn’t affect the execution of other threads.  All threads of a process share the common memory. The process of executing multiple threads simultaneously is known as multithreading. 19
  • 20. Java virtual machine  The Java virtual machine (JVM) is a software implementation of a computer that executes programs like a real machine.  The Java virtual machine is written specifically for a specific operating system, e.g., for Linux a special implementation is required as well as for Windows.  Java programs are compiled by the Java compiler into bytecode. The Java virtual machine interprets this bytecode and executes the Java program. 20
  • 22. Environment Setup  Java Runtime Environment (JRE) and the Java Development Kit (JDK).  Eclipse or any other Integrated Development Environment (IDE).  Setting Up the Path for Windows : 1. Assuming you have installed Java in c:Program Filesjavajdk directory − 2. Right-click on 'My Computer' and select 'Properties'. 3. Click the 'Environment variables' button under the 'Advanced' tab. 4. Now, alter the 'Path' variable so that it also contains the path to the Java executable. Example, if the path is currently set to 'C:WINDOWSSYSTEM32', then change your path to read 'C:WINDOWSSYSTEM32;c:Program Filesjavajdkbin'.  https://www.ntu.edu.sg/home/ehchua/programming/howto/EclipseJava_HowTo. html 22
  • 23. Hello World Program class MyBaseClass { public void hello() { System.out.println("Hello from MyBaseClass"); } } 23