SlideShare a Scribd company logo
1 of 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

More Related Content

Similar to 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 designnaveed428
 
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 Appletsshaynaynay
 
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.pptxChandrakalaV15
 
Math Weekly Planner bv Slidesgo.pptx
Math Weekly Planner bv Slidesgo.pptxMath Weekly Planner bv Slidesgo.pptx
Math Weekly Planner bv Slidesgo.pptxRodrigoBermudez16
 
Object-Oriented Programming.pptx
Object-Oriented Programming.pptxObject-Oriented Programming.pptx
Object-Oriented Programming.pptxssusereae59d
 
Math Weekly Planner _ by Slddidesgo.pptx
Math Weekly Planner _ by Slddidesgo.pptxMath Weekly Planner _ by Slddidesgo.pptx
Math Weekly Planner _ by Slddidesgo.pptxRafaelRamosPereirada
 
PpT kReAtIV.pptx
PpT kReAtIV.pptxPpT kReAtIV.pptx
PpT kReAtIV.pptxvivi113154
 
Teaching of computer programming
Teaching of  computer programmingTeaching of  computer programming
Teaching of computer programmingmarpasha
 
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)Andrea Valente
 
College Schedules by Slidesgo.pptx
College Schedules by Slidesgo.pptxCollege Schedules by Slidesgo.pptx
College Schedules by Slidesgo.pptxthai42
 
Lecture 14 project planning
Lecture 14 project planningLecture 14 project planning
Lecture 14 project planningMinjeong Lee
 
Approaches to teaching primary computing
Approaches to teaching primary computingApproaches to teaching primary computing
Approaches to teaching primary computingJEcomputing
 
oomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.pptoomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.pptPavan992098
 
Mark jastine Pertez Chapter 7
Mark jastine Pertez Chapter 7Mark jastine Pertez Chapter 7
Mark jastine Pertez Chapter 7Jaypee Tan
 
Mark Jastine Pertez Chapter 3 & 4
Mark Jastine Pertez Chapter 3 & 4Mark Jastine Pertez Chapter 3 & 4
Mark Jastine Pertez Chapter 3 & 4Jaypee Tan
 

Similar to 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
 
Math Weekly Planner _ by Slddidesgo.pptx
Math Weekly Planner _ by Slddidesgo.pptxMath Weekly Planner _ by Slddidesgo.pptx
Math Weekly Planner _ by Slddidesgo.pptx
 
PpT kReAtIV.pptx
PpT kReAtIV.pptxPpT kReAtIV.pptx
PpT kReAtIV.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
 

More from babak danyal

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 Socketsbabak danyal
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streamsbabak danyal
 
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 Javababak danyal
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the desbabak danyal
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network securitybabak danyal
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systemsbabak danyal
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systemsbabak danyal
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systemsbabak danyal
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systemsbabak danyal
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systemsbabak danyal
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systemsbabak danyal
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systemsbabak danyal
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systemsbabak danyal
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signababak danyal
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systemsbabak danyal
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniquesbabak danyal
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Securitybabak danyal
 

More from 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
 

Recently uploaded

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 

Recently uploaded (20)

Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 

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/