SE-381Software Engineering
BEIT-VLecture no. 27
(Object Oriented Analysis / Design, and Class Diagrams)
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
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
Textual Analysis• Some Important Steps
1. Read the problem2. 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
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.
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
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
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.
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
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
– 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.
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/lectures/04• http://www.sea.uni-linz.ac.at/systtechnik/
lehranstaltungen/st_old_srv/introwinwin/
Object Oriented SDLC Model
Top Related