Object-Oriented? - Weber State University

processroguishSoftware and s/w Development

Nov 18, 2013 (3 years and 10 months ago)

101 views

CS 3050


Object
-
Oriented Analysis and
Design

Objectives

What is “Object
-
Oriented?”

Object
-
Oriented Approach Vs.
Structured Approach

How Has the Object
-
Oriented Approach
Evolved?

What are the Benefits of the Object
-
Oriented Approach?


What is “Object
-
Oriented?”

A computer system is viewed as a
collection of objects.

These objects have certain features, or
attributes.

They can also exhibit certain behaviors

Similar things can be grouped and


classified

What is “Object
-
Oriented?”


Things or objects also
interact
such as


People or other objects can interact with one
another

In building an information system, identify
the objects that are needed

We need only to know what the objects do
and use them.

Called this the building block approach


Object
-
Oriented Paradigm

Capitalize on Object Oriented Programming
(OOP)

Models Real World

Development Time Reduced

Code Reuse Easier

Class is a Representation of a System

Data

Behavior

Encapsulation provides Modularity


Other Design Methodologies

Functional Decomposition

Data Decomposition

Relational DB

Artificial Intelligence/Expert Systems




Procedural vs. OOP

Algorithmic

Main Building Block: Procedure

Functional Decomposition

Difficult to Maintain

Object
-
Oriented

Main Building Block: Class

Object is an instance of a Class

Objects has identity, state, and behavior

Procedural vs. OOP

Object
-
Oriented Approach Vs.
Structured Approach

Structured Traditional approach:
(See Fig
1.2)

Computer systems is viewed as a collection of
computer programs

Procedural approach is usually complex.

Three logic structures characterize structured
programming :



-

sequence of set of instructions



-

choice on set of instructions



-

repetition of a set of instructions.


Structured methods and rules for more
complex problems

Structured systems analysis
-

hierarchy of
procedures using



-

process model : Data Flow Diagrams



-

Data model: ER Diagrams


Structured systems design


organizing
smaller programs (Modular) & using


a structure chart as a guideline for modular
programming




-
hierarchy of smaller programs


Object
-
Oriented Approach Vs.
Structured Approach

Data Flow Diagrams

Entity
-
Relationship Modeling

Object Oriented Approach:

New methods, rules and concepts are
defined (
See Fig 1.1
)

Object
-
Oriented Analysis :



-

Defines all of the types of objects that are part
of the


user’s work environment

Object
-
Oriented Design:



-
Defines additional types of objects, the user
interface


and operating environment and ways in
which they


interact

Object
-
Oriented Approach Vs.
Structured Approach

Object Oriented Programming:



-
programs written that define all objects to






include their attributes and behaviors

Structured & Object Oriented
approaches are different in many ways
BUT are also similar



-

the concept of identifying business events &




defining users’ requirements



-

data modeling concepts & techniques



-

GUI & Internet Websites

Object
-
Oriented Approach Vs.
Structured Approach

How has the Object
-
Oriented
Approach Evolved?

SIMULA was first OO programming language in mid
-
sixties

Smalltalk developed by Xerox in the seventies was
instrumental in popularizing GUI interface

C++ & Pascal with OO features arose in the eighties

Object Oriented COBOL in the nineties

More recently
-

pure object Oriented Java, J++ and
VB

Current OO methods use UML (Unified Modeling
Language) to define constructs and models.

What are the Benefits of OO

OO approach addresses THREE pervasive
problems with traditional systems
development

Quality

Productivity

Flexibility

Small, small
-
contained manageable objects
reduces the complexity of the system
development

Reuse can greatly increase productivity

Adding and changing objects can be done
without interfering with the rest of the system