business applications with object-oriented paradigm (modeling concepts)

52
Dr. Chen - Introduction to Object-Oriented Paradigm TM -1 Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA 99258

Upload: duscha

Post on 14-Jan-2016

39 views

Category:

Documents


1 download

DESCRIPTION

Business Applications with Object-Oriented Paradigm (Modeling Concepts). Professor Chen School of Business Gonzaga University Spokane, WA 99258. PARADIGMS (Definition). A paradigm is a way of viewing things and thinking about things. Traditional vs. New Approach. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -1

Business Applications with Object-Oriented

Paradigm (Modeling Concepts)

Professor Chen

School of Business

Gonzaga University

Spokane, WA 99258

Page 2: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -2

PARADIGMS(Definition)

A paradigm is a way of viewing things and thinking about things.

Page 3: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Paradigm Shift

Traditional vs. New Approach

Functional vs. Object-Oriented

Dr. Chen - Introduction to Object-Oriented Paradigm TM -3

Page 4: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -4

PARADIGMS SHIFT

In the last two decades (mid 1970’s to the present) popular paradigms have been used:

Process ---> Data ---> O-O

Modeling Modeling Modeling

(DFD) (E/R) (UML etc.)

Page 5: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -5

OBJECT-ORIENTED METHODOLOGY

The technique of object-oriented (OO) methodology really has emerged only in the last five to six years (early 1990’s).

The O-O methods organize both information and the processing that manipulates the information, according to the real-world objects that the information describes.

Page 6: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -6

I. OBJECT-ORIENTED CONCEPTS

Page 7: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -7

What is OBJECT-ORIENTED (OO)?

Object = Data structure + Behavior

(attributes) (operations)

where Behavior is in a single entity.

Page 8: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -8

What is OBJECT-ORIENTED (OO)?

Object = Data structure + Behavior

(attributes) (operations)

where Behavior is in a single entity.

Page 9: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -9

Page 10: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -10

Page 11: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -11

Why O-O? (Advantages / Objectives)

Understanding problemsCommunicating with application

expertsModeling enterprisesPreparing documentationDesigning programs and databases

Page 12: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -12

Definition of O-O vs. Conventional Programming

O-O organizing software as a collection of discrete objects that incorporate both data structure and behavior.

Conventional programming: data structure and behavior are only loosely connected.

Page 13: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -13

Characteristics of Objects:

Identity Classification (Abstraction) Polymorphism Inheritance

Page 14: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -14

Characteristics of Objects:

Identity Classification (Abstraction) Polymorphism Inheritance

Page 15: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -15

Characteristics of Objects: Identity:

This means that data is quantified into discrete, distinguished entities called objects

Can be either concrete or conceptual Classification (abstraction):

Means that objects with the same data structure (attributes) and behavior (operations) are grouped into a class

Page 16: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -16

Characteristics of Objects (Conti.): Polymorphism:

Means that the same operation (e.g., dial) may behave differently on different classes

A specific implementation of an operation by a certain class is called a method

Because an O-O operation is polymorphic, it may have more than one method implementing it

Page 17: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -17

Characteristics of Objects (Conti.): Inheritance:

Is the sharing of attributes and operations among classes based on a hierarchical relationship

A class can be defined broadly and then refined into successively finer subclasses. Each subclass incorporates, or inherits all of the properties of its superclass and adds its own unique properties

Page 18: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -18

Objects vs. Classes

Objects Definition: An

object is a concept, abstraction, or thing with crisp boundaries and meaning for the problem at hand.

Page 19: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -19

Objects vs. Classes (Conti.) Purpose: Objects promote understanding

of the real world and provide a practical basis for computer implementation.

All objects have identity and are distinguishable, and therefore, decomposition of a problem into objects depends on judgment and the nature of the problem.

Page 20: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -20

Objects vs. Classes (Conti.)Classes Definition: An object class describes a group of objects

with similar properties (attributes), common behavior (operations), common relationships to other objects, and common semantics.

Page 21: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -21

The abbreviation class is often used instead of object class. The objects in a class share a

common semantic purpose, above and beyond the requirement of common attributes

and behavior.

Objects -----------------------------> Classes Abstract to (Specific) (General) Instances *attributes *operations

Page 22: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -22

The abbreviation class is often used instead of object class. The objects in a class share a common semantic purpose, above and beyond the requirement of common attributes and behavior.

Abstract

(John,Mary ...) to (Person)

Objects -----------------------------> Classes

(Specific) (General)

Instances *attributes

*operations

Page 23: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -23

WHAT IS O-O DEVELOPMENT?

Systems Development Life Cycle (SDLC): include the phases of analysis, design, implementation, and maintenance.

O-O Development Life Cycle: focuses on identifying and organizing application-domain concepts, rather than their final representation in a programming language.

Page 24: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -24

Modeling concepts not implementation.

Definition:A model is an abstraction of a reality.

Abstraction is the process of temporarily ignoring underlying details so we can focus on the most important features (or big picture) of the large problem at hand.

Page 25: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -25

The real payoff comes from addressing front-end conceptual issues, rather than back-end implementation issues.

An O-O development approach encourages software developers to use and think in terms of the application domain through most of the software engineering life cycles. It is only when the inherent concepts of the applications are identified, organized, and understood that the details of data structures and functions can be addressed effectively.

Page 26: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -26

Page 27: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -27

What is the Methodology?

Methodology is a series of steps with techniques and notations associated with each step.

Concepts Techniques Notations Steps

Page 28: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -28

Differences from Functional Methodology

O-O Methodology vs. Conventional (Functional) Methodology

Page 29: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -29

1. Conventional Methodology

primary emphasis is placed on specifying and decomposing system functionality

Page 30: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -30

Pros and cons (Conventional)

PROS: it seems the most direct way of implementing a desired goal.

CONS: the resulting system can be fragile because if the requirements change, a system based on decomposing functionality may require massive restructuring.

Page 31: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -31

2. O-O Methodology

Focuses first on identifying objects from the application domain, then fitting procedures around them.

Page 32: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -32

Pros and Cons (OO) PROS: O-O software holds up better as

requirements evolve, because it is based on the underlying framework of the application domain itself, rather than the ad-hoc functional requirements of a single problem.

CONS: it is a rather indirect way to describe the problem for those user have used conventional techniques.

Page 33: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -33

OBJECT-ORIENTED THEMES

Abstraction.Encapsulation (Information Hiding)Combining Data and BehaviorSharing / InheritanceEmphasis on Object Structure, Not

ProcedurePolymorphism

Page 34: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -34

OBJECT-ORIENTED THEMES

Abstraction.Encapsulation (Information Hiding)Combining Data and BehaviorSharing / InheritanceEmphasis on Object Structure, Not

ProcedurePolymorphism

Page 35: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -35

1. Abstraction

Concealing irrelevant details from the user.Abstraction is the process of temporarily

ignoring underlying details so we can focus on the big picture of the large problem at hand

Page 36: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -36

Focusing on the essential, inherent aspects of an entity and ignoring its accidental properties -- in systems development, this means focusing on what an object is and does, before deciding how it should be implemented.

Advantage: preserving the freedom to make decisions as long as possible by avoiding premature commitments to details.

Page 37: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -37

2. Encapsulation

Information hiding: the process of designing functions, procedures, or classes as “black boxes.” Therefore, to use a function, procedure, or class, a designer does not need to know the box’s inner workings

Page 38: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -38

Preventing a program from becoming so interdependent that a small change has massive ripple effects. The Implementation of an object can be changed without affecting the applications that use it - reusable code.

Encapsulation is not unique to O-O languages but the ability to combine data structure and behavior in a single entity makes encapsulation cleaner and more powerful than is conventional languages that separate data structure and behavior.

Page 39: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -39

3. Combining Data and Behavior

Conventional procedural O-O Approach

approach

*data structure hierarchy class hierarchy

*procedure hierarchy

Polymorphism

Page 40: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -40

3. Combining Data and Behavior

Conventional procedural O-O Approach

approach

*data structure hierarchy class hierarchy

*procedure hierarchy

Polymorphism

Page 41: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -41

4. Inheritance/ Sharing O-O techniques promote sharing at several different

levels. Inheritance of both data structure and behavior allows

common structures to be shared among several similar subclasses without redundancy.

Page 42: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -42

PROS:The sharing code using inheritance is one of the main

advantages of O-O language.More important than savings in code is the conceptual

clarity from recognizing that different operations are all really the same thing -- this reduces the number of distinct cases that must be understood and analyzed.

O-O development not only allows information to be shared within an application, but also offers the prospect of reusing design and code on future projects.

Page 43: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -43

5. Emphasis on Object Structure, Not Procedure

Structure

Object-oriented technology stresses specifying what an object is, rather than how it is used.

Page 44: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -44

6. Polymorphism Poly - many; Morphic

- forms Many forms An object (e.g.,

telephone) that is capable of having two or more forms (during the run time) with the same name (e.g., dial).

Page 45: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -45

Development of Object Technology

OO-A

OO-P

OO-D

C++, JAVA

SmallTalk, etc.

UML

Page 46: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -46

OBJECT ORIENTATION’S CONTRIBUTIONS

COMPUTER-RELATED AREA OO CONTRIBUTIONS

Programming Language Reduces the number of lines of codeDecreases development timeEnhances code reusabilityMakes code maintenance easierEnhances programmer productivity

Graphical User Interface (GUI) Enhances ability to create easy-to-use interfaceImproves system user-friendlinessMakes it easier to define standards

Databases Supports abstract data typesSupports complex objectsSupports multimedia databases

Design Captures more of the data model’s semanticsRepresents the real world better

Operating Systems Enhances system portability, thus improvinginteroperability

Page 47: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -47

WHAT’S NEXT?

Unified Modeling Language(UML)

Page 48: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -48

Conclusion -- Synergy

Page 49: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -49

Page 50: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -50

OBJECT ORIENTATION’S CONTRIBUTIONS

. . .

Page 51: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -51

Page 52: Business Applications with Object-Oriented Paradigm  (Modeling Concepts)

Dr. Chen - Introduction to Object-Oriented Paradigm TM -52

Ready for the Next Run?