0% found this document useful (0 votes)
41 views16 pages

An Overview of OOSD

This document provides an overview of object-oriented system development. It discusses key OO concepts like objects, classes, attributes, methods, encapsulation, and inheritance. It also describes the OO development process involving object-oriented analysis, design and programming. Common OO languages like Java and modeling tools like UML are also introduced. The benefits of the OO approach like its natural representation of real-world problems and reusability are highlighted.

Uploaded by

tom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views16 pages

An Overview of OOSD

This document provides an overview of object-oriented system development. It discusses key OO concepts like objects, classes, attributes, methods, encapsulation, and inheritance. It also describes the OO development process involving object-oriented analysis, design and programming. Common OO languages like Java and modeling tools like UML are also introduced. The benefits of the OO approach like its natural representation of real-world problems and reusability are highlighted.

Uploaded by

tom
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Module01- An Overview of

Object-Oriented System Development

Chapter 1 - Object-Oriented System Development 1

Chapter 1 Topics
 Characteristics of OO development.
 OO concepts: object, class, instance, attributes,
methods, and encapsulation.
 Object interaction through methods and association
relationships.
 The concept of inheritance applied to classes of objects.
 Benefits of using OO development.
 Preview of OO development.

Chapter 1 - Object-Oriented System Development 2

1
Object-Oriented System Development

 OO information system development involves:


– OOA: Using an OO approach to system analysis
– OOD: Using an OO approach to system design
– OOP: Using an OO approach to programming

Chapter 1 - Object-Oriented System Development 3

Understanding OO Development

 OO approach
– System is defined as a collection of objects that work together to
accomplish tasks
• Objects carry out actions when asked.
• Each object maintains its own data.
• Bottom-up approach.
• Early feedback system.
• Solve for any real-world problems
 Procedural approach or Traditional Approach
– System is defined as a set of procedures that interact with data
• Data is maintained separately from procedures.
• Top-down approach.
• Implemented by an algorithms or procedures.
• Late feedback system.
• Not solve for real-world problems
Chapter 1 - Object-Oriented System Development 4

2
Chapter 1 - Object-Oriented System Development 5

Understanding OO Development

 OO Programming (OOP)
– Started in 1960s in Norway
• Simula
– First language designed to run computer simulations
» Simulations involve objects that maintain their own
data values and can interact independently
– 1970s at Xerox PARC
• Smalltalk
– First general purpose OO programming language

Chapter 1 - Object-Oriented System Development 6

3
Understanding OO Development

 OO Programming (OOP)
– Java
• Introduced in 1995 by Sun Microsystems
• “pure” OO language.
• Syntax similar to C++
• Cross platform
– Ideal for Web-based applications

Chapter 1 - Object-Oriented System Development 7

Chapter 1 - Object-Oriented System Development 8

4
Chapter 1 - Object-Oriented System Development 9

Understanding OO Development

 OO Analysis and Design


– Unified Modeling Language (UML)
Standard OOA&D modeling notation
Defined by: Grady Booch, James Rumbaugh &
Ivar Jacobson
Uses model-driven approach:
 Enables creation of graphical models of the system
requirements and system design.

Chapter 1 - Object-Oriented System Development 10

5
Understanding OO Development
 OO Analysis and Design
– Unified Modeling Language (UML)
• Components
– Class diagrams
– Object diagrams
– Package diagrams
– Use Case diagrams
– Sequence diagrams
– State chart diagrams
– Activity diagrams
– Collaboration diagrams
– Deployment diagrams
– Component diagrams
Chapter 1 - Object-Oriented System Development 11

Chapter 1 - Object-Oriented System Development 12

6
Understanding OO Development

 OO Analysis and Design


– System Development Life Cycle (SDLC)
• Project management framework that defines project
phases and activities
• Phases:
– Planning
– Analysis
– Design
– Implementation
– Support

Chapter 1 - Object-Oriented System Development 13

Understanding OO Development
 OO Analysis and Design
– Prototyping
• Creating a working model of one or more parts of
the system for user evaluation and feedback
– Joint Application Development (JAD)
• Key system stakeholders and decision makers
work together to rapidly define system
requirements and designs

Chapter 1 - Object-Oriented System Development 14

7
Understanding OO Development

 OO Analysis and Design


– Other requirements:
• Project management
• Interviewing
• Data collection
• User interface (UI) design
• Testing
• Conversion techniques

Chapter 1 - Object-Oriented System Development 15

Chapter 1 - Object-Oriented System Development 16

8
Understanding OO Concepts

 Objects, Attributes, and Methods


– Objects are instances of class, which holds the data variables
declared in class and the member functions work on these class
objects
• Attributes
– Characteristics of an object that have values
• Behaviors (or methods)
– Describe what an object can do
• Examples:
– GUI objects
– Problem Domain objects

Chapter 1 - Object-Oriented System Development 17

Understanding OO Concepts

 Object Interactions and Messages


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

Chapter 1 - Object-Oriented System Development 18

9
Chapter 1 - Object-Oriented System Development 19

Understanding OO Concepts

 Encapsulation and Information Hiding


– Encapsulation: Encapsulation is used to hide the values or state of
a structured data object inside a class, preventing unauthorized parties'
direct access to them. It can be used to hide data members and
member functions.
– Information Hiding
• Hiding the internal structure of objects, protecting them from
unauthorized access.
 Identity
– Unique reference for each object
 Persistent objects
– Defined as available for use over time

Chapter 1 - Object-Oriented System Development 20

10
Understanding OO Concepts

 Classes, Instances, and Associations


– Class
• Defines what all objects of the class represent.
– Instances
• Objects of the class

Chapter 1 - Object-Oriented System Development 21

Chapter 1 - Object-Oriented System Development 22

11
Understanding OO Concepts

 Classes, Instances, and Associations


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

Chapter 1 - Object-Oriented System Development 23

Chapter 1 - Object-Oriented System Development 24

12
Understanding OO Concepts

 Inheritance and Polymorphism


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

Chapter 1 - Object-Oriented System Development 25

Chapter 1 - Object-Oriented System Development 26

13
Understanding OO Concepts
 Inheritance and Polymorphism
– Polymorphism
• “many forms”
• Different objects can respond in their own way to the
same message.

Chapter 1 - Object-Oriented System Development 27

Chapter 1 - Object-Oriented System Development 28

14
Recognizing the Benefits of OO Development

 Objects are More Natural


– Naturalness
• Based on the fact that people usually think about their
world in terms of objects
• Natural to define the classes of objects involved
• OO vs. procedural
– Which is harder to learn?

Chapter 1 - Object-Oriented System Development 29

Recognizing the Benefits of OO Development

 Classes of Objects can be Reused


– Reuse
• Classes and objects can be invented once and used
many times
– During analysis, design, and programming
• Do not need source code for reused class, simply need
to know interface

Chapter 1 - Object-Oriented System Development 30

15
Learning OO Development

 Introducing Three-Tier Design


– Objects that interact in OO system are separated into
three categories of classes:
• Problem domain classes(ex. Entity class)
– Specific to a particular business application
• GUI classes(ex. Boundary class)
– Define objects that make up the UI to the application
• Data access classes(ex. Control class)
– Work with DBMS to store/retrieve object information

Chapter 1 - Object-Oriented System Development 31

The Unified Approach Road Map

Chapter 1 - Object-Oriented System Development 32

16

You might also like