SlideShare a Scribd company logo
Object Analysis

   classification
Classification theory
• Process of checking to see if an object
  belongs to a category or a class
Approaches for identifying classes
1. Noun phrase approach
2. Common class patterns approach
3. Use case driven ,sequence/collaboration
   approach
4. Classes, responsibilities and
   Collaborators (CRC) approach
Noun phrase approach
• Identify Noun phrases from requirements or use
  cases
• Nouns - classes
• Verbs      - methods
• All plurals          singular
• Create a List of nouns
  – Divided into 3 categories
     • Relevant classes               Candidate classes
     • Fuzzy classes
     • Irrelevant classes

                     Removed safely
cont…
• Identifying tentative classes
• Guidelines
  – Look for nouns and noun phrases in the use
    case
  – Some classes are implicit and taken from
    knowledge
  – Avoid computer implementation classes (defer
    them to design phase). application domain
    related classes makes sense
  – Carefully choose and define class name
Guidelines :Selecting classes from
relevant and fuzzy category
• Redundant classes
   – Avoid
   – Choose more meaningful name and name used by user
• Adjective classes
   – Adjective can suggest
       • Different kind of object
       • Different use of same object
       • Utterly irrelevant
   eg: adult member and youth member
• Attribute classes
   – Objects used only as value can be treated as attribute instead of
     classes
• Irrelevant classes
   – Relevant class have statement of purpose.
   – Irrelevant classes - have no statement of purpose
Initial list of noun classes : in vianet bank
•   Account            • Client        • Record
•   Account balance    • Client’s      • Savings
•   Amount               account       • Savings
•   Approval process   • Currency        account
•   Atm card           • Dollar        • Step
•   Atm machine        • Envelope      • System
•   Bank               • Four digits   • Transaction
•   Bank client        • Fund          • transaction
•   Card               • Invalid pin     history
•   Cash               • Message
•   Check              • Money
•   Checking           • Password
•   Checking           • PIN
    account            • Pin code
Removing irrelevant classes
•   Account            • Client        • Record
•   Account balance    • Client’s      • Savings
•   Amount               account       • Savings
•   Approval process   • Currency        account
•   Atm card           • Dollar        • Step
•   Atm machine        • Envelope      • System
•   Bank               • Four digits   • Transaction
•   Bank client        • Fund          • transaction
•   Card               • Invalid pin     history
•   Cash               • Message
•   Check              • Money
•   Checking           • Password
•   Checking           • PIN
    account            • Pin code
Removing redundant classe and
building common vocabulary
•   Account            • Client        • Record
•   Account balance    • Client’s      • Savings
•   Amount               account       • Savings
•   Approval process   • Currency        account
•   Atm card           • Dollar        • Step
•   Atm machine        • Envelope      • System
•   Bank               • Four digits   • Transaction
•   Bank client        • Fund          • transaction
•   Card               • Invalid pin     history
•   Cash               • Message
•   Check              • Money
•   Checking           • Password
•   Checking           • PIN
    account            • Pin code
Reviewing the classes containing
            adjectives
• When class represented by noun behaves
  differently when adjective is applied to it,
  then separate class has to be created
• In this ex no such classes
Reviewing the possible attributes


• Noun phrases used only as values should
  be treated as attributes
Reviewing possible attributes
•   Account            • Client        • Record
•   Account balance    • Client’s      • Savings
•   Amount               account       • Savings
•   Approval process   • Currency        account
•   Atm card           • Dollar        • Step
•   Atm machine        • Envelope      • System
•   Bank               • Four digits   • Transaction
•   Bank client        • Fund          • transaction
•   Card               • Invalid pin     history
•   Cash               • Message
•   Check              • Money
•   Checking           • Password
•   Checking           • PIN
    account            • Pin code
Reviewing the class purpose
• Include classes with
   – Purpose
   – Clear definition
   – Necessary in achieving system goal
• Eliminate classes with no purpose
• Ex: Candidate class with purpose are
   –   ATM machine class
   –   ATM card class
   –   Bankclient class
   –   Bank class
   –   Account class
   –   Checking account class
   –   Saving account class
   –   Transaction class
Common class pattern approach
•   Based on knowledge base of the common classes ,
•   proposed by researchers like shlaer and mellor
•   Patterns for finding class and object
     – Concept class
         • Particular idea or understanding
              – Ex: performance
     – Event class
         • Are points in time tat must be recorded
         • Ex : account, request, order
     – Organization class
         • Collection of people, resources, facilities or groups to which the user belongs
         • Ex : account dept,bank
     – People class
         • Represents different roles user plays in interacting with the system.
         • Ex : bank client
     – Places class
         • Physical location that the system must keep inform about
         • Ex :
     – Tangible things and devices
         • Includes physical objects or group of objects
         • Ex : atmmachine
Use case driven approach
• Identifying classes and their usage
  through sequence collaboration modelling
• Recommended approach
• Problem driven approach
  – Prob is considered 1st. Not the relationship bw objects
    (like in data driven approach)
• Atleast one senario be prepared for each
  significantly different use case instance
• Use case diag – high level view of the system
• Sequence diag – interaction among objects
  – By walking through the steps, we can determine what
    objects necessary for those steps to take place
client                        atmmachine                       Bank client

            Insert atm card

            Request pin
           Enter pin number
                                           Verify pin number

                                           Bad pin number
         Bad pin number
Classes , Responsibilities, and
           Collaborators
• Classes ,responsibilities, collaborators
   – Leads to identifying its attributes and methods
• CRC index card
   – 4” * 6” card
   – Cheap, portable, readily available, familiar
   – Contains all information

           Class name             Collaborators

            Responsibiliti
            es in bullet
            format
CRC process
• 3 steps
                            Identify
                            classes
                         responsibility(
                          and identify
                            classes)


               iterate

                                              Assign
          Identify                         responsibiliti
       collaborators                            es
Atm system
Account          Checking
                 account
Balance
                 (sub class)
Number
                 Saving
                 account
Withdraw         (sub class)
Deposit
getbalance
Guidelines: Naming class
•   Singular
•   Use standard vocabulary
•   Reflect its intrinsic feature
•   Readable names

More Related Content

PPTX
Introduction to Object Oriented Programming
PPTX
Functional dependency
PPTX
Requirements modeling
PPT
PPT
Memory Management in OS
PPTX
Cook Recipe App ERD
PPTX
Database Management System - SQL Advanced Training
PDF
Run time storage
Introduction to Object Oriented Programming
Functional dependency
Requirements modeling
Memory Management in OS
Cook Recipe App ERD
Database Management System - SQL Advanced Training
Run time storage

What's hot (20)

PPTX
Lecture 17 Iterative Deepening a star algorithm
PPT
Problems, Problem spaces and Search
PDF
Software Engineering - chp4- design patterns
PPT
Software development life cycle
PPTX
The Single Responsibility Principle
PPT
extreme Programming
PPT
Query processing-and-optimization
PPTX
knowledge representation in artificial intelligence
PPTX
Threads .ppt
PPTX
Requirements elicitation
PPT
Dinive conquer algorithm
PDF
software design principles
PPT
Decision table
PPTX
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
PPT
Thrashing allocation frames.43
PPTX
Software process
PPT
Predicate logic_2(Artificial Intelligence)
PPTX
Deadlock ppt
PDF
Dynamic programming
PPT
UML diagrams and symbols
Lecture 17 Iterative Deepening a star algorithm
Problems, Problem spaces and Search
Software Engineering - chp4- design patterns
Software development life cycle
The Single Responsibility Principle
extreme Programming
Query processing-and-optimization
knowledge representation in artificial intelligence
Threads .ppt
Requirements elicitation
Dinive conquer algorithm
software design principles
Decision table
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Thrashing allocation frames.43
Software process
Predicate logic_2(Artificial Intelligence)
Deadlock ppt
Dynamic programming
UML diagrams and symbols
Ad

Similar to Unit 3 object analysis-classification (20)

PPT
unit3-objectanalysis-classification-120310233747-phpapp01.ppt
PPT
Evergreen Indiana Basic Circulation Class
PPT
PPTX
ppt.pptx
PPTX
Object Oriented Programming
PDF
Data Exploration, Validation and Sanitization
PDF
CNIT 160: Ch 3c: The Risk Management Life Cycle
PPTX
Credit_Card_Fraud_Detection_Presentation.pptx
PPTX
A Beginner's Guide to Machine Learning with Scikit-Learn
PDF
CNIT 160: Ch 3c: The Risk Management Life Cycle
PPTX
Revenue Growth through Machine Learning
PPTX
Summit EU Machine Learning
PPTX
CI4305 Lecture Defining Requirements_2023.pptx
PPTX
NF+FR requirements User.pptxxxxxxxxxxxxxx
PPTX
Credit_Scoring_Model Credit_Scoring_Model .pptx
PPTX
Chapter 5 - Identity Management
PPTX
Summit EU Machine Learning
PPTX
Requirements Management Part 2 - Analysis and Communication
PPTX
Requirements Management Part 1 - Management and Elicitation
PPT
Slide 3 musfique
unit3-objectanalysis-classification-120310233747-phpapp01.ppt
Evergreen Indiana Basic Circulation Class
ppt.pptx
Object Oriented Programming
Data Exploration, Validation and Sanitization
CNIT 160: Ch 3c: The Risk Management Life Cycle
Credit_Card_Fraud_Detection_Presentation.pptx
A Beginner's Guide to Machine Learning with Scikit-Learn
CNIT 160: Ch 3c: The Risk Management Life Cycle
Revenue Growth through Machine Learning
Summit EU Machine Learning
CI4305 Lecture Defining Requirements_2023.pptx
NF+FR requirements User.pptxxxxxxxxxxxxxx
Credit_Scoring_Model Credit_Scoring_Model .pptx
Chapter 5 - Identity Management
Summit EU Machine Learning
Requirements Management Part 2 - Analysis and Communication
Requirements Management Part 1 - Management and Elicitation
Slide 3 musfique
Ad

More from gopal10scs185 (20)

PPTX
Unit4 desiging classes
PPT
Unit three identifying actors
PPT
Unit 5 testing
PPT
PPT
Unit 5 usability and satisfaction test
PPT
Unit 5 testing -software quality assurance
PPT
PPT
Unit 4 designing classes
PPT
Unit 3 attributes, methods, relationships
PPT
Unit4 desiging classes
Unit three identifying actors
Unit 5 testing
Unit 5 usability and satisfaction test
Unit 5 testing -software quality assurance
Unit 4 designing classes
Unit 3 attributes, methods, relationships

Recently uploaded (20)

PDF
Bitcoin Layer August 2025: Power Laws of Bitcoin: The Core and Bubbles
PDF
NAPF_RESPONSE_TO_THE_PENSIONS_COMMISSION_8 _2_.pdf
PPTX
Introduction to Managemeng Chapter 1..pptx
PDF
Spending, Allocation Choices, and Aging THROUGH Retirement. Are all of these ...
PPTX
Who’s winning the race to be the world’s first trillionaire.pptx
PPTX
introuction to banking- Types of Payment Methods
PPTX
The discussion on the Economic in transportation .pptx
PPTX
social-studies-subject-for-high-school-globalization.pptx
PDF
ECONOMICS AND ENTREPRENEURS LESSONSS AND
PDF
final_dropping_the_baton_-_how_america_is_failing_to_use_russia_sanctions_and...
PDF
Dr Tran Quoc Bao the first Vietnamese speaker at GITEX DigiHealth Conference ...
PDF
Mathematical Economics 23lec03slides.pdf
PDF
illuminati Uganda brotherhood agent in Kampala call 0756664682,0782561496
PDF
Predicting Customer Bankruptcy Using Machine Learning Algorithm research pape...
PPTX
Basic Concepts of Economics.pvhjkl;vbjkl;ptx
PDF
ECONOMICS AND ENTREPRENEURS LESSONSS AND
PDF
Copia de Minimal 3D Technology Consulting Presentation.pdf
PPTX
Session 14-16. Capital Structure Theories.pptx
PDF
Understanding University Research Expenditures (1)_compressed.pdf
PPTX
Session 11-13. Working Capital Management and Cash Budget.pptx
Bitcoin Layer August 2025: Power Laws of Bitcoin: The Core and Bubbles
NAPF_RESPONSE_TO_THE_PENSIONS_COMMISSION_8 _2_.pdf
Introduction to Managemeng Chapter 1..pptx
Spending, Allocation Choices, and Aging THROUGH Retirement. Are all of these ...
Who’s winning the race to be the world’s first trillionaire.pptx
introuction to banking- Types of Payment Methods
The discussion on the Economic in transportation .pptx
social-studies-subject-for-high-school-globalization.pptx
ECONOMICS AND ENTREPRENEURS LESSONSS AND
final_dropping_the_baton_-_how_america_is_failing_to_use_russia_sanctions_and...
Dr Tran Quoc Bao the first Vietnamese speaker at GITEX DigiHealth Conference ...
Mathematical Economics 23lec03slides.pdf
illuminati Uganda brotherhood agent in Kampala call 0756664682,0782561496
Predicting Customer Bankruptcy Using Machine Learning Algorithm research pape...
Basic Concepts of Economics.pvhjkl;vbjkl;ptx
ECONOMICS AND ENTREPRENEURS LESSONSS AND
Copia de Minimal 3D Technology Consulting Presentation.pdf
Session 14-16. Capital Structure Theories.pptx
Understanding University Research Expenditures (1)_compressed.pdf
Session 11-13. Working Capital Management and Cash Budget.pptx

Unit 3 object analysis-classification

  • 1. Object Analysis classification
  • 2. Classification theory • Process of checking to see if an object belongs to a category or a class
  • 3. Approaches for identifying classes 1. Noun phrase approach 2. Common class patterns approach 3. Use case driven ,sequence/collaboration approach 4. Classes, responsibilities and Collaborators (CRC) approach
  • 4. Noun phrase approach • Identify Noun phrases from requirements or use cases • Nouns - classes • Verbs - methods • All plurals singular • Create a List of nouns – Divided into 3 categories • Relevant classes Candidate classes • Fuzzy classes • Irrelevant classes Removed safely
  • 5. cont… • Identifying tentative classes • Guidelines – Look for nouns and noun phrases in the use case – Some classes are implicit and taken from knowledge – Avoid computer implementation classes (defer them to design phase). application domain related classes makes sense – Carefully choose and define class name
  • 6. Guidelines :Selecting classes from relevant and fuzzy category • Redundant classes – Avoid – Choose more meaningful name and name used by user • Adjective classes – Adjective can suggest • Different kind of object • Different use of same object • Utterly irrelevant eg: adult member and youth member • Attribute classes – Objects used only as value can be treated as attribute instead of classes • Irrelevant classes – Relevant class have statement of purpose. – Irrelevant classes - have no statement of purpose
  • 7. Initial list of noun classes : in vianet bank • Account • Client • Record • Account balance • Client’s • Savings • Amount account • Savings • Approval process • Currency account • Atm card • Dollar • Step • Atm machine • Envelope • System • Bank • Four digits • Transaction • Bank client • Fund • transaction • Card • Invalid pin history • Cash • Message • Check • Money • Checking • Password • Checking • PIN account • Pin code
  • 8. Removing irrelevant classes • Account • Client • Record • Account balance • Client’s • Savings • Amount account • Savings • Approval process • Currency account • Atm card • Dollar • Step • Atm machine • Envelope • System • Bank • Four digits • Transaction • Bank client • Fund • transaction • Card • Invalid pin history • Cash • Message • Check • Money • Checking • Password • Checking • PIN account • Pin code
  • 9. Removing redundant classe and building common vocabulary • Account • Client • Record • Account balance • Client’s • Savings • Amount account • Savings • Approval process • Currency account • Atm card • Dollar • Step • Atm machine • Envelope • System • Bank • Four digits • Transaction • Bank client • Fund • transaction • Card • Invalid pin history • Cash • Message • Check • Money • Checking • Password • Checking • PIN account • Pin code
  • 10. Reviewing the classes containing adjectives • When class represented by noun behaves differently when adjective is applied to it, then separate class has to be created • In this ex no such classes
  • 11. Reviewing the possible attributes • Noun phrases used only as values should be treated as attributes
  • 12. Reviewing possible attributes • Account • Client • Record • Account balance • Client’s • Savings • Amount account • Savings • Approval process • Currency account • Atm card • Dollar • Step • Atm machine • Envelope • System • Bank • Four digits • Transaction • Bank client • Fund • transaction • Card • Invalid pin history • Cash • Message • Check • Money • Checking • Password • Checking • PIN account • Pin code
  • 13. Reviewing the class purpose • Include classes with – Purpose – Clear definition – Necessary in achieving system goal • Eliminate classes with no purpose • Ex: Candidate class with purpose are – ATM machine class – ATM card class – Bankclient class – Bank class – Account class – Checking account class – Saving account class – Transaction class
  • 14. Common class pattern approach • Based on knowledge base of the common classes , • proposed by researchers like shlaer and mellor • Patterns for finding class and object – Concept class • Particular idea or understanding – Ex: performance – Event class • Are points in time tat must be recorded • Ex : account, request, order – Organization class • Collection of people, resources, facilities or groups to which the user belongs • Ex : account dept,bank – People class • Represents different roles user plays in interacting with the system. • Ex : bank client – Places class • Physical location that the system must keep inform about • Ex : – Tangible things and devices • Includes physical objects or group of objects • Ex : atmmachine
  • 15. Use case driven approach • Identifying classes and their usage through sequence collaboration modelling
  • 16. • Recommended approach • Problem driven approach – Prob is considered 1st. Not the relationship bw objects (like in data driven approach) • Atleast one senario be prepared for each significantly different use case instance • Use case diag – high level view of the system • Sequence diag – interaction among objects – By walking through the steps, we can determine what objects necessary for those steps to take place
  • 17. client atmmachine Bank client Insert atm card Request pin Enter pin number Verify pin number Bad pin number Bad pin number
  • 18. Classes , Responsibilities, and Collaborators • Classes ,responsibilities, collaborators – Leads to identifying its attributes and methods • CRC index card – 4” * 6” card – Cheap, portable, readily available, familiar – Contains all information Class name Collaborators Responsibiliti es in bullet format
  • 19. CRC process • 3 steps Identify classes responsibility( and identify classes) iterate Assign Identify responsibiliti collaborators es
  • 20. Atm system Account Checking account Balance (sub class) Number Saving account Withdraw (sub class) Deposit getbalance
  • 21. Guidelines: Naming class • Singular • Use standard vocabulary • Reflect its intrinsic feature • Readable names