Top Banner
SE-381 Software Engineering BEIT-V Lecture no. 27 (Object Oriented Analysis / Design, and Class Diagrams)
35

Se 381 - lec 27 - 12 jun05 - ooa and ood and class diagrams

Jan 13, 2015

Download

Education

babak

Software Engineering, Lectures
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

SE-381Software Engineering

BEIT-VLecture no. 27

(Object Oriented Analysis / Design, and Class Diagrams)

Page 2: Se 381 -  lec 27 - 12 jun05 - ooa and ood 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

Page 3: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 4: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 5: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

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

Page 6: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

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

Page 7: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

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.

Page 8: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

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

Page 9: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

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

Page 10: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

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.

Page 11: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

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

Page 12: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

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

Page 13: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

– 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.

Page 14: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 15: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 16: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 17: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 18: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 19: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 20: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 21: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 22: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 23: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 24: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 25: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 26: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 27: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 28: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 29: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 30: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 31: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 32: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 33: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams
Page 34: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

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/

Page 35: Se 381 -  lec 27 - 12 jun05 - ooa and ood and class diagrams

Object Oriented SDLC Model