CSE 5324: Software Engineering I

(Analysis, Design, Creation)

 

Fall 1997

Objected Oriented Software Engineering:

 

This is really not all so different.

 

Review:

 

Software Lifecycles:

Waterfall

Spiral

Cleanroom

Many more

 

Requirements:

Text

Structured (SA)

Formal Methods

Object Oriented

Many more

 

 

 

 

 

Objects:

 

Model the "real" world

 

Assumes an evolutionary process model

Tend to evolve; allow re-use

 

O-O is analysis, design, and programming

 

An object may represent real world entities

A Class is an abstraction of objects

 

You do this now: Pascal and C:

Types, records, structures.

May build upon other types, records and structs.

 

 

 

 

Some objects:

 

Fish

People

Spiders

Virus

Professors

 

What is common?

Living entities, live organisms

What else:

Weight range, age range, environment lives in, etc.

Some actions that may change it:

What can kill it?, How to make it happy?, etc.

 

Class: Organism

Attributes:

Weight Range

Maximum Age

Operations: (Services, Methods)

Make it happy

Kill it

 

Instances (of class)

CS Professor

Weight: 3 ..800 Kg

Max Age: 120 Years

Kill it: Silver Bullet(?)

 

 

A class hierarchy:

 

A windowing system for computer terminal

 

Points:

X, Y

Circle:

Point

Radius

Polygon

Set of Points

Shape:

Circle

Polygon

Line

End points: Point1, Point2

What are windows?

What are multiple objects on a canvas?

Color?

Line thickness?

Scrolling?

 

 

Classes

 

Objects

 

Attributes

 

Operations (Services, or Methods)

 

Messages (to an object, with parameters)

 

Encapsulation

 

Inheritance

 

Polymorphism

 

 

 

A Library:

 

Books

What is common?

 

Magazines

Video

Recordings

Computer Programs?

 

What else?

 

Users:

 

Students

Special

Admin

Reader

Borrower