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

Ä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
 
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
 

Mehr von 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
 

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

Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 

Kürzlich hochgeladen (20)

Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 

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/