business applications with object oriented paradigm modeling concepts n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Business Applications with Object-Oriented Paradigm (Modeling Concepts) PowerPoint Presentation
Download Presentation
Business Applications with Object-Oriented Paradigm (Modeling Concepts)

Loading in 2 Seconds...

play fullscreen
1 / 52

Business Applications with Object-Oriented Paradigm (Modeling Concepts) - PowerPoint PPT Presentation


  • 134 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Business Applications with Object-Oriented Paradigm (Modeling Concepts)' - duscha


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
business applications with object oriented paradigm modeling concepts
Business Applications with Object-Oriented Paradigm (Modeling Concepts)

Professor Chen

School of Business

Gonzaga University

Spokane, WA 99258

paradigms definition
PARADIGMS(Definition)
  • A paradigm is a way of viewing things and thinking about things.
paradigm shift
Traditional vs. New Approach

Functional vs. Object-Oriented

Paradigm Shift

TM -3

Dr. Chen - Introduction to Object-Oriented Paradigm

paradigms shift
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) (UMLetc.)

object oriented methodology
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.
what is object oriented oo
What is OBJECT-ORIENTED (OO)?
  • Object = Data structure + Behavior

(attributes) (operations)

where Behavior is in a single entity.

what is object oriented oo1
What is OBJECT-ORIENTED (OO)?
  • Object = Data structure + Behavior

(attributes) (operations)

where Behavior is in a single entity.

why o o advantages objectives
Why O-O? (Advantages / Objectives)
  • Understanding problems
  • Communicating with application experts
  • Modeling enterprises
  • Preparing documentation
  • Designing programs and databases
definition of o o vs conventional programming
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.
characteristics of objects
Characteristics of Objects:
  • Identity
  • Classification (Abstraction)
  • Polymorphism
  • Inheritance
characteristics of objects1
Characteristics of Objects:
  • Identity
  • Classification (Abstraction)
  • Polymorphism
  • Inheritance
characteristics of objects2
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
characteristics of objects conti
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
characteristics of objects conti1
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
objects vs classes
Objects vs. Classes

Objects

  • Definition: An object is a concept, abstraction, or thing with crisp boundaries and meaning for the problem at hand.
objects vs classes conti
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.
objects vs classes conti1
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.
slide21
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

slide22
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

what is o o development
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.
modeling concepts not implementation
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.
slide25
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.
what is the methodology
Methodology is a series of steps with techniques and notations associated with each step.

Concepts

Techniques

Notations

Steps

What is the Methodology?
differences from functional methodology
Differences from Functional Methodology

O-O Methodology vs. Conventional (Functional) Methodology

1 conventional methodology
1. Conventional Methodology
  • primary emphasis is placed on specifying and decomposing system functionality
pros and cons conventional
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.
2 o o methodology
2. O-O Methodology
  • Focuses first on identifying objects from the application domain, then fitting procedures around them.
pros and cons oo
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.
object oriented themes
OBJECT-ORIENTED THEMES
  • Abstraction.
  • Encapsulation (Information Hiding)
  • Combining Data and Behavior
  • Sharing / Inheritance
  • Emphasis on Object Structure, Not Procedure
  • Polymorphism
object oriented themes1
OBJECT-ORIENTED THEMES
  • Abstraction.
  • Encapsulation (Information Hiding)
  • Combining Data and Behavior
  • Sharing / Inheritance
  • Emphasis on Object Structure, Not Procedure
  • Polymorphism
1 abstraction
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
slide36
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.
2 encapsulation
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
slide38
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.
3 combining data and behavior
3. Combining Data and Behavior

Conventional procedural O-O Approach

approach

*data structure hierarchyclass hierarchy

*procedure hierarchy

Polymorphism

3 combining data and behavior1
3. Combining Data and Behavior

Conventional procedural O-O Approach

approach

*data structure hierarchyclass hierarchy

*procedure hierarchy

Polymorphism

4 inheritance sharing
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.
slide42
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.
5 emphasis on object structure not procedure structure
5. Emphasis on Object Structure, Not Procedure Structure
  • Object-oriented technology stresses specifying what an object is, rather than how it is used.
6 polymorphism
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).
development of object technology

OO-D

OO-A

OO-P

Development of Object Technology

UML

C++, JAVA

SmallTalk, etc.

what s next
WHAT’S NEXT?

Unified Modeling Language(UML)