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

19
CS 3050 Object-Oriented Analysis and Design

Upload: gyles-york

Post on 13-Dec-2015

261 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

CS 3050

Object-Oriented Analysis and Design

Page 2: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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?

Page 3: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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

Page 4: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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

Page 5: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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

Page 6: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

Other Design Methodologies

Functional DecompositionData DecompositionRelational DBArtificial Intelligence/Expert Systems

Page 7: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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

Page 8: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

Procedural vs. OOP

Page 9: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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.

Page 10: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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

Page 11: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

Data Flow Diagrams

Page 12: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

Entity-Relationship Modeling

Page 13: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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

Page 14: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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

Page 15: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented
Page 16: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented
Page 17: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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.

Page 18: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented

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

Page 19: CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented