SlideShare ist ein Scribd-Unternehmen logo
1 von 35
SE-381
Software Engineering
BEIT-V
Lecture 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 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
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/lectu
res/04
• http://www.sea.uni-
linz.ac.at/systtechnik/lehranstaltungen/st_old_srv/introwinwin/
Object Oriented SDLC Model

Weitere ähnliche Inhalte

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

Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
naveed428
 
Rnold Serrano (Evaluation tool to evaluate the kiosk)
Rnold Serrano (Evaluation tool to evaluate the kiosk)Rnold Serrano (Evaluation tool to evaluate the kiosk)
Rnold Serrano (Evaluation tool to evaluate the kiosk)
Jaypee Tan
 
Measurement Online Applets
Measurement Online AppletsMeasurement Online Applets
Measurement Online Applets
shaynaynay
 
Math Weekly Planner bv Slidesgo.pptx
Math Weekly Planner bv Slidesgo.pptxMath Weekly Planner bv Slidesgo.pptx
Math Weekly Planner bv Slidesgo.pptx
RodrigoBermudez16
 
Object-Oriented Programming.pptx
Object-Oriented Programming.pptxObject-Oriented Programming.pptx
Object-Oriented Programming.pptx
ssusereae59d
 
College Schedules by Slidesgo.pptx
College Schedules by Slidesgo.pptxCollege Schedules by Slidesgo.pptx
College Schedules by Slidesgo.pptx
thai42
 
Lecture 14 project planning
Lecture 14 project planningLecture 14 project planning
Lecture 14 project planning
Minjeong Lee
 
Mark Jastine Pertez Chapter 3 & 4
Mark Jastine Pertez Chapter 3 & 4Mark Jastine Pertez Chapter 3 & 4
Mark Jastine Pertez Chapter 3 & 4
Jaypee Tan
 

Ähnlich wie Se 381 - lec 27 - 12 jun05 - ooa and ood and class diagrams (20)

Object oriented analysis and design
Object oriented analysis and designObject oriented analysis and design
Object oriented analysis and design
 
Grasp
GraspGrasp
Grasp
 
L05 Design Patterns
L05 Design PatternsL05 Design Patterns
L05 Design Patterns
 
Rnold Serrano (Evaluation tool to evaluate the kiosk)
Rnold Serrano (Evaluation tool to evaluate the kiosk)Rnold Serrano (Evaluation tool to evaluate the kiosk)
Rnold Serrano (Evaluation tool to evaluate the kiosk)
 
Measurement Online Applets
Measurement Online AppletsMeasurement Online Applets
Measurement Online Applets
 
Artificial intyelligence and machine learning introduction.pptx
Artificial intyelligence and machine learning introduction.pptxArtificial intyelligence and machine learning introduction.pptx
Artificial intyelligence and machine learning introduction.pptx
 
Math Weekly Planner bv Slidesgo.pptx
Math Weekly Planner bv Slidesgo.pptxMath Weekly Planner bv Slidesgo.pptx
Math Weekly Planner bv Slidesgo.pptx
 
Object-Oriented Programming.pptx
Object-Oriented Programming.pptxObject-Oriented Programming.pptx
Object-Oriented Programming.pptx
 
PpT kReAtIV.pptx
PpT kReAtIV.pptxPpT kReAtIV.pptx
PpT kReAtIV.pptx
 
Math Weekly Planner _ by Slddidesgo.pptx
Math Weekly Planner _ by Slddidesgo.pptxMath Weekly Planner _ by Slddidesgo.pptx
Math Weekly Planner _ by Slddidesgo.pptx
 
Ch05lect1 ud
Ch05lect1 udCh05lect1 ud
Ch05lect1 ud
 
Teaching of computer programming
Teaching of  computer programmingTeaching of  computer programming
Teaching of computer programming
 
Please don't make me draw (eKnow 2010)
Please don't make me draw (eKnow 2010)Please don't make me draw (eKnow 2010)
Please don't make me draw (eKnow 2010)
 
College Schedules by Slidesgo.pptx
College Schedules by Slidesgo.pptxCollege Schedules by Slidesgo.pptx
College Schedules by Slidesgo.pptx
 
Lecture 14 project planning
Lecture 14 project planningLecture 14 project planning
Lecture 14 project planning
 
Approaches to teaching primary computing
Approaches to teaching primary computingApproaches to teaching primary computing
Approaches to teaching primary computing
 
oomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.pptoomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.ppt
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
Mark jastine Pertez Chapter 7
Mark jastine Pertez Chapter 7Mark jastine Pertez Chapter 7
Mark jastine Pertez Chapter 7
 
Mark Jastine Pertez Chapter 3 & 4
Mark Jastine Pertez Chapter 3 & 4Mark Jastine Pertez Chapter 3 & 4
Mark Jastine Pertez Chapter 3 & 4
 

Mehr von babak danyal

Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signa
babak danyal
 

Mehr von babak danyal (20)

applist
applistapplist
applist
 
Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Sockets
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streams
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
 
Tcp sockets
Tcp socketsTcp sockets
Tcp sockets
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the des
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systems
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systems
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systems
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systems
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systems
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systems
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systems
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systems
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signa
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systems
 
Lecture9
Lecture9Lecture9
Lecture9
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniques
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 

Kürzlich hochgeladen

Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Kürzlich hochgeladen (20)

Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 

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

  • 1. SE-381 Software Engineering BEIT-V Lecture no. 27 (Object Oriented Analysis / Design, and Class Diagrams)
  • 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/