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