cs 3050 object-oriented analysis and design. objectives what is “object-oriented?”...

Post on 13-Dec-2015

262 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CS 3050

Object-Oriented Analysis and Design

Objectives

What is “Object-Oriented?”Object-Oriented Approach Vs. Structured ApproachHow 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 behaviorsSimilar things can be grouped and classified

What is “Object-Oriented?”

Things or objects also interact such asPeople or other objects can interact with one anotherIn building an information system, identify the objects that are neededWe 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 ReducedCode Reuse Easier

Class is a Representation of a SystemDataBehavior

Encapsulation provides Modularity

Other Design Methodologies

Functional DecompositionData DecompositionRelational DBArtificial Intelligence/Expert Systems

Procedural vs. OOP

AlgorithmicMain Building Block: ProcedureFunctional DecompositionDifficult to Maintain

Object-OrientedMain Building Block: ClassObject is an instance of a ClassObjects 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-sixtiesSmalltalk developed by Xerox in the seventies was instrumental in popularizing GUI interfaceC++ & Pascal with OO features arose in the eightiesObject Oriented COBOL in the ninetiesMore 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 OOOO approach addresses THREE pervasive problems with traditional systems development

QualityProductivityFlexibility

Small, small-contained manageable objects reduces the complexity of the system developmentReuse can greatly increase productivityAdding and changing objects can be done without interfering with the rest of the system

top related