2. Function Oriented Versus Object
Oriented Analysis / Design
• Function Oriented
– Functions that are to be
performed by the system
are identified
– Data on which these
functions are to be
performed are identified
– Functions and Data have
M;N mapping
– Every Effort is made to
make a modular program to
get a maintainable system
But …
• Object Oriented
– Relatively new approach
– Real life system is studied
and Objects and Classes
are identified
– Their attributes or data are
worked out, and methods,
operations or services
these objects provide are
identified
– Attributes and Methods are
encapsulated in the form of
Classes, Objects or
components
– Relationships between
these components
highlighted, to get a highly
maintainable system
3.
4.
5. Elicitation of Objects and
Methods
• There are three well-used approaches:
– Abbot’s Textual Analysis (later developed
by Garaham et al)
– Grady Booch’s Method
• Extension of DFDs to identify Objects and the
bubbles identifying the Methods or services
provided by the Objects
– Peter Coad’s Pattern System
6. Textual Analysis
• Some Important Steps
1. Read the problem
2. Mark all nouns and verbs; Nouns will point to
Objects, Classes and Attributes, whereas the
Verbs will point to Methods, Services being
provided by Objects/Classes and their
relationships
3. List all possible nouns, leaving the duplicates
and aliases
4. Review the list, add if anything need to be
added by virtue of Solution or Problem domain
5. Categorize what is Class, Object or an Attribute
7. An Example – Cyberspace Invaders
A panel displays a defender and an alien. The alien
moves sideways. When it hits a wall, it reverses its
direction. The alien randomly launches a bomb that
moves vertically downwards. If a bomb hits the
defender, the user loses and the game is over. The
defender moves left or right according to mouse
movements, when the mouse is clicked, the
defender launches a laser that moves upwards. If a
laser hits the alien, the user wins and the game is
over.
A Button is provided to start a new game.
8. Some Guidelines
Part of Speech Model Concept Example
Proper Noun Instance SSA/D by
Yourdon
Improper Noun Class/Obj/Role Student,
Teacher
Doing Verb Operation Buy
Being Verb Classification Is a horse, is a
book
9. Having Verb Composition Fan has wings
Adjective Attribute Value Ball is green
Adjective
Phrase
Association The Customer
with children
Operation The Customer
who bought
the book
10. 2. Underline all the nouns
A panel displays a defender and an alien. The alien
moves sideways. When it hits a wall, it reverses its
direction. The alien randomly launches a bomb that
moves vertically downwards. If a bomb hits the
defender, the user loses and the game is over. The
defender moves left or right according to mouse
movements, when the mouse is clicked, the
defender launches a laser that moves upwards. If a
laser hits the alien, the user wins and the game is
over.
A Button is provided to start a new game.
11. 3. List of Nouns without Duplicates
• Initial Pass – Potential Objects
– Panel, defender, alien, wall, bomb, mouse, laser
• Translation of Objects into Classes
– panel translates into the Panel class, available in the
library. Similarly defender and alien translate into classes
Defender and Alien respectively. The noun wall need not be
implemented as a class because it can be simply
accommodated as a detail within the class Alien. The noun
bomb translates into class Bomb. The noun mouse need
not to be implemented, instead mouse clicks will be
handled by Panel or Defender Classes. Hence we get to
the following list of non-library classes
– Game, Defender, Alien, Laser, Bomb
12. Class Diagrams
– Class diagrams are backbone of all OO
Methods
– These are too rich and are overwhelming
to use
– While drawing Class diagrams
• Don’t try to use all the notations available to
you, start with simple stuff – classes,
associations, attributes, generalization and
constraints.
• Fit the perspective from which you are drawing
the model to the stage of the project
– For Analysis draw Conceptual Models
13. – When working with Software, concentrate on
Specification models,
– When illustrating implementation techniques, draw
implementation model
• Don’t draw models for everything; instead,
concentrate on the key areas. Better have few
diagrams that you use and keep them up to
date, than to have many obsolete models
• The biggest danger with Class Diagrams it that
you can bogged down in implementation
details for too early. To combat this, focus on
the conceptual and specification perspectives.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34. Some References
– Martin Fowler and Kendall Scott (2000);
UML distilled, 2nd Ed, Addison Wesley,
Reading, Ch-4 Class Diagrams pp: 49-66
– Risk Assessment examples - IEEE Std
1074-1995
– Win Win Spiral Model
• http://sunset.usc.edu/classes/cs5777a_98/lectu
res/04
• http://www.sea.uni-
linz.ac.at/systtechnik/lehranstaltungen/st_old_srv/introwinwin/