+ All Categories

1. oose

Date post: 20-Jul-2015
Category:
Upload: ashenafi-workie
View: 29 times
Download: 2 times
Share this document with a friend
Popular Tags:
21
Object Object-Oriented Software Engineering Oriented Software Engineering Chapter 1 An Introduction to Object-Oriented Software Engineering Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill What is Object-Oriented Software Engineering ?.... Object-Oriented Software Engineering is the process of solving customers’ problems by using the Object-Oriented concepts and the systematic development and evolution of large, high-quality software systems within cost and time.
Transcript
Page 1: 1. oose

ObjectObject--Oriented Software EngineeringOriented Software Engineering

Chapter 1

An Introduction to Object-Oriented Software

Engineering

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

What is Object-Oriented Software Engineering ?....

Object-Oriented Software Engineering is the process of

solving customers’ problems by using the Object-Oriented

concepts and the systematic development and evolution of

large, high-quality software systems within cost and time.

Page 2: 1. oose

3

Two Orthogonal views of software

The StructuralStructural "part of" hierarchy, functions concentrate on actual components concrete

The Object OrientedObject Oriented "is a" hierarchy concentrate on kinds of components abstract

4

A View of the Two paradigms

Page 3: 1. oose

5

A View of the Two paradigms

6

Page 4: 1. oose

What is a Software development methodology?

• Practices, procedures, and rules used to develop software.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Systems Development Methodologies

• Systems Development methodology is a way to develop system.

• A Comprehensive System Development methodology utilizes sets of tools as well as the style in which they are to be used.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Page 5: 1. oose

Object Oriented System Development methodology

• Object-Oriented Systems Development is a way to develop software by building self-contained modules that can be more easily:

• Replaced• Modified• and Reused.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Traditional Systems Development Methodology

• Traditional or Structured approach is based on the idea that a system can be thought of as a collection of modules or subsystems.

• It is much easier to work with a smaller cohesive (inter-related) module than a complex system.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Page 6: 1. oose

Object-Oriented Systems Development Methodology

• In an O-O environment, Software is a collection of discrete objects.

• These objects encapsulate their data and functionalities to model real world "objects."

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Object-Oriented Systems Development Approach

Iteration and Reuse

Build use-casemodel

Validate/ Test

O-O Analysis

BuildUse-Cases

Design classes,defineattributes andmethods

O-O DesignO-O Implementation

Using TOOLSCASE and/orOO programing languages

Usersatisfaction Usability &QA Tests

Build object& dynamicmodel

Objectanalysis

Build UIandprototype

User satisfaction test,usability testquality assurance test

Validate/test

Page 7: 1. oose

Object-Oriented Environment

In an object-oriented environment, software is a collection of discrete objects that encapsulate their data and the functionality to model real-world objects

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Object-Oriented Systems Development Methodology (Con’t)

• An object-oriented life cycle encourages a view of the world as a system of cooperative and collaborating agents.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Page 8: 1. oose

15

What Object Oriented…?

Object Orientation is about viewing and modelling the real

world / system as a set of interacting and interrelated objects

Features of OO Approach:

The universe consists of interacting objects

Describes and builds systems consisting of objects

Benefits of Object Orientation• An Object orientation produces

systems that are easier to evolve(develop), more flexible, more robust,and more re-usable than otherTraditional approaches

• Faster development,• Re-Usability,• Increased quality,• and easier maintenance.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Page 9: 1. oose

Towards Object Orientation

17

Unified Approach

• The unified approach (UA) is amethodology for softwaredevelopment.

• The UA, based on methodologiesby Booch, Rumbaugh, Jacobson,and others, tries to combine thebest practices, processes, andguidelines.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Page 10: 1. oose

Unified Approach (Con’t)

• UA utilizes the Unified Modeling Language (UML) which is a set of notations and conventions used todescribe and model an application.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Layered Architecture

• UA also uses a layered architecture to develop applications.

• The layered approach consists of view (or) user interface, business, and access layers.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Page 11: 1. oose

Layered Architecture (Con’t)

• This approach reduces the inter-dependence of the user interface, database access, and business control.

• Therefore, it allows for a more robust(healthy/ strong) and flexible system.

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

An object oriented philosophy

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Page 12: 1. oose

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Class and Object

Class and Object

24

Page 13: 1. oose

Class and Object

Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill

Page 14: 1. oose

27

Identification of Attributes

• Attributes express some important aspects of theobjects in the problem domain

LegLeg

Body

Arm

ArmHead

A model of a B Body can be composed of these objects.

28

JohnJohn

Identification of Attributes

Identification of Behaviors

ShafiShafi JohnJohn MaryMary

Page 15: 1. oose

29

Identification of Attributes

Identification of Behaviors

ShafiShafi JohnJohn MaryMary

30

Inheritance

Class of PersonsClass of Persons

Page 16: 1. oose

31

InheritanceClass of PersonClass of Person

AttributesAttributes

NameAddressAgeProfession

BodyBody

Left LegRight LegLeft HandRight HandHead

BehaviorBehavior

Tell AgeStore AgeJumpWalkDance…….

Create an InstanceCreate an Instance

Create Left LegCreate Right LegCreate HeadCreate Left HandCreate Right Hand

Class PersonClass Person

Instance of

Instance of

Instance of

3 November 2014R. MD. Shafi, Associate Professor in CSE

32

Step-4: Inheritance Contd…

Class BodyClass Body

AttributesAttributes

Left LegRight LegLeft HandRight HandHead

BehaviorBehavior

Move Right HandMove Left HandStretch Right LegBend Left Leg…………...

Create A BodyCreate A Body

Create Left LegCreate Right LegCreate HeadCreate Left HandCreate Right Hand

Page 17: 1. oose

33

Class of PersonClass of Person

AttributesAttributes

NameAddressAgeBodyProfession

BehaviorBehavior

Tell AgeStore AgeJumpWalkDance…….

Create A PersonCreate A Person

Create A BodyClass PersonClass Person

Instance of

Instance of

Instance of

Inheritance

34

Inheritance: Person-Man-WomanAttributesAttributes

Husband

BehaviorBehavior

Store AgeJumpWalkDance…….

Create A WomanCreate A Woman

Create A Person

Female ClassFemale ClassDerived fromDerived fromPerson ClassPerson Class

AttributesAttributes

Wife

BehaviorBehavior

Tell AgeStore AgeJumpWalkDance…….

Create A ManCreate A Man

Create A Person

Male ClassMale ClassDerived fromDerived fromPerson ClassPerson Class

Page 18: 1. oose

35

Object Technology PrinciplesCommon Methods of Organization

Abstraction

Encapsulation (Information Hiding)

Inheritance

Polymorphism

Message Communication

Associations

Reuse

36

• Common Methods of OrganizationPeople are accustomed to thinking in terms of...

• color• price• weight• engine• options...

Objects & Attributes

• number of doors• number of wheels• number of windows• number of lights• number of bolt type 1• number of bolt type 2• etc....

Wholes and PartsGroups & Members

VANS:• light utility• utility• passenger• etc...

Page 19: 1. oose

37

AbstractionA mental ability that permits people to view real-world

problem domains with varying degrees of detail depending on the current context of the problem.

• Helps people to think about what they are doing• Functional and Data abstraction

38

Encapsulation (Information Hiding)

A technique in which data are packaged together with

their corresponding procedures.

In Object-Oriented Technology the “package” is called an OBJECT

The interface to each object is defined in such a way as to reveal as little as

possible about its inner workings

Encapsulation allows [software] changes to be reliably made with limited effort

[Gannon, Hamlet, & Mills, 1987]

Page 20: 1. oose

39

Inheritance

A mechanism for expressing similarity

between things thus simplifying their definition.

• looks• behavior•Attitudes etc...

Person

Student Faculty Staff

Inheritance

40

Polymorphism (“many forms”)The ability to hide different implementations

behind a common interface.

The ability for two or more objects to respond

to the same request, each in its own way.

• H2 O = water, ice, steam (liquid, solid, vapor)• Carbon compound crystallizes as graphite &

diamond

Page 21: 1. oose

41

Message Communication

OBJECT

OBJECT

OBJECT

OBJECT

Objects communicate via messages


Recommended