Object Oriented Development
with Java
(CT038-3.5-2)
Object Technology
Introduction
Prepared by: Lee Kim Keong First Prepared on: June 13 Last Modified on: April 19
Quality checked by: null
Copyright 2019 Asia Pacific University of Innovation and Technology
Learning outcome
• At the end of this lesson, you will be able
to
– Define object technology and its strengths
– Explain the history of object technology
– Discuss how object technology is used today
CT038-3-2 Object Oriented Development with Java Object Technology 2
What Is Object Technology?
• A set of principles
(abstraction,
encapsulation,
polymorphism) guiding
software construction,
together with languages,
databases, and other tools
that support those
principles. (Object
Technology - A Manager’s
Guide, Taylor, 1997.)
CT038-3-2 Object Oriented Development with Java Object Technology 3
What Is Object Technology?
• Is a software design model that uses objects or
symbols to create applications and programs.
• It differs from traditional development, which
uses a programming language, and instead
organizes software design around objects, or
data, rather than functions and logic.
• An object is a data field that has unique attributes
and behavior. OOT is increasingly deployed in
distributed computing
CT038-3-2 Object Oriented Development with Java Object Technology 4
The Strengths of Object
Technology
• Reflects a single paradigm
• Facilitates architectural and code reuse
• Reflects real world models more closely
• Encourages stability
• Is adaptive to change
CT038-3-2 Object Oriented Development with Java Object Technology 5
The History of Object Technology
• Major object technology milestones
Simula C ++ The UML
1967 Late 1980s 1996
1972 1991 2004
Smalltalk Java UML 2
CT038-3-2 Object Oriented Development with Java Object Technology 6
Simula
• Simula (Simulation Language) was the first object-
oriented programming language. Its groundbreaking
introduction of classes allowed the language to
represent real-world entities and interactions.
• Classes also encapsulated data and the methods
for manipulating that data to allow for more intuitive
structures of programs.
• Simula also introduced concepts like inheritance,
which paved the way for further development and
organization of complex software systems.
CT038-3-2 Object Oriented Development with Java Object Technology 7
Smalltalk
• Smalltalk is a purely object oriented
programming language that was originally
created in the 1970s for educational use,
specifically for constructionist learning, but later
found use in business.
• It was created at Xerox PARC by Learning
Research Group (LRG) scientists
CT038-3-2 Object Oriented Development with Java Object Technology 8
C++
C++ is a general-purpose, middle-level language that was
originally developed by Danish computer scientist Bjarne
Stroustrup in 1979 at Bell Laboratories USA.
The C++ language was initially designed as an extension
of the C language, which was widely used in system
programming and Unix-based OS. Also, C was developed
in 1970 by Dennis Ritchie while at Bell Labs
CT038-3-2 Object Oriented Development with Java Object Technology 9
Java
Java was created at Sun Microsystems, Inc., where
James Gosling led a team of researchers in an effort to
create a new language that would allow consumer
electronic devices to communicate with each other. Work
on the language began in 1991, and before long the
team's focus changed to a new niche, the World Wide
Web
CT038-3-2 Object Oriented Development with Java Object Technology 10
Java
CT038-3-2 Object Oriented Development with Java Object Technology 11
UML
UML, Unified Modeling Language, is a
standard notation for the modeling of real-
world objects as a first step in developing an
object oriented program. It describes one
consistent language for specifying,
visualizing, constructing and documenting
the artifacts of software systems
CT038-3-2 Object Oriented Development with Java Object Technology 12
Where Is Object Technology
Used?
• Client/Server Systems and Web
Development
– Object technology
allows companies to encapsulate business
information in objects and helps to distribute
processing across the Internet or a network.
CT038-3-2 Object Oriented Development with Java Object Technology 13
Cont’d
• Real-time systems
– Object technology enables real-time
systems to be developed with higher
quality and flexibility.
CT038-3-2 Object Oriented Development with Java Object Technology 14
Differences Between OO and
Structured Design
• Object-orientation (OO)
– Melds the data and data flow process
together early in the lifecycle
– Has a high level of encapsulation
– Promotes reuse of code differently
– Permits more software extensibility
CT038-3-2 Object Oriented Development with Java Object Technology 15
Discussion
• What is your perception of object
technology?
• What do you perceive as object
technology’s strengths? Its weaknesses?
• Why are you making the shift to object
technology?
CT038-3-2 Object Oriented Development with Java Object Technology 16
Q&A
CT038-3-2 Object Oriented Development with Java Object Technology 17