å°Šę•¬ēš„ å¾®äæ”걇ēŽ‡ļ¼š1円 ā‰ˆ 0.046166 元 ę”Æä»˜å®ę±‡ēŽ‡ļ¼š1円 ā‰ˆ 0.046257元 [退å‡ŗē™»å½•]
SlideShare a Scribd company logo
I D E N T I F Y I N G
C L A SS E S A N D
O B J E C T S
J MELBA ROSALIND,
DEPARTMENT OF COMPUTER SCIENCE
LADY DOAK COLLEGE,
MADURAI
CLASSIFICATION
CLASSIFICATION
APPROACHES
ā€¢ The following three types of classification are
generally employed:
1. Classical Categorization
2. Conceptual Clustering
3. Prototype Theory
CLASSICAL
CATEGORIZATIONā€¢ Classical categorization originated during Greeceā€™s classical period
ā€¢ All entities have common properties in common which is sufficient to
define the category. Eg. Married people vs. tall people
ā€¢ Plato, Aristotle in classifying plants and animals
ā€¢ Childrenā€™s game
ā€¢ Aquinas says, ā€ we can name a thing according to the knowledge we
have of its nature from its properties and effectsā€
ā€¢ Piaget observed - around the age of one child develops the concepts of
object permanence
ā€¢ This approach uses related properties as the criteria for sameness
among objects
CONTD..
ā€¢Minsky suggests, ā€œthe most useful sets of
properties are those whose members do not
interact too muchā€
ā€¢Eg. Size, color, shape, substance
(combination)
ā€¢An eagle from a salmon (bird can fly but a fish
cannot)
ā€¢Particular properties in a given situation is
domain-specific (color of a car in automobile
manufacturing plant vs. traffic signaling)
ā€¢Kosko observes, ā€œnatural categories tend to be
messyā€
ā€¢Not all birds fly, some chairs can have any
number of legs
CONCEPTU
AL
CLUSTERIN
G
CONCEPTUAL CLUSTERING
ā€¢ Modern variation of classical approach
ā€¢ Classes are generated by formulating conceptual descriptions and
then classifying according to the descriptions
ā€¢ Eg. ā€œa love songā€
ā€¢ Probabilistic clustering of objects ā€“ related to fuzzy set theory ā€“
may or may not belong to one or more groups in varying degree
of fitness
ā€¢ Absolute judgements of classification by focusing on the ā€œbest fitā€
ā€¢ Eg. A Problem of classification ( ten items of a Train A - J )
PROTOTYPE THEORY
ā€¢ Derived from Rosh and her colleagues in the field of cognitive psychology
ā€¢ Class of object is represented by a prototypical object, an object is member
of a class iff it resembles this prototype in significant ways
ā€¢ Wittgenstein observed there is no fixed boundary to the category game
rather united by family resemblances
ā€¢ Lakoff and Johnson applied in the problem of classifying chairs (beanbag
chair, barber chair, contour chair, etc., as being chairs)
ā€¢ Notion of Interactional properties is central part to the idea of prototype
theory
ā€¢ Group the things according to the degree of their relationship to concrete
prototypes
OBJECT-ORIENTED ANALYSIS
ā€¢ In this analysis,
ā€“ focus is to fully analyze the problem at hand and to model the
world to discover the classes and objects that comprise the
vocabulary of the problem domain
ā€¢ Proven Approaches in carrying out this taskā€¦
ā€“ Classical approaches
ā€“ Behavior Analysis
ā€“ Domain Analysis
ā€“ Use Case Analysis
ā€“ CRC Cards
ā€“ Informal English Description
ā€“ Structured Analysis
CLASSICAL APPROACHES
ā€¢ These derive from the principles of classical categorization.
ā€¢ Sources include (Shlaer, Mellor)
ā€“ Tangible things Cars, telemetry data, pressure sensors
ā€“ Roles Mother, teacher, politician
ā€“ events, and Landing, interrupt, request
ā€“ Interactions Loan, meeting, intersection
ā€¢ In database modeling perspective, Ross offers, a list like people,
places, things, organizations, concepts or events
ā€¢ Other sources of potential objects (Coad, Yourdon) include structure,
other outside agents, devices, records of events remembered , Roles
played, locations, and organizational units.
ā€¢ Any classes identified in this way may be generalized by grouping
them together.
BEHAVIOR ANALYSIS
ā€¢ It is more akin to conceptual clustering and consists of classifying
objects according to common behavior
ā€¢ (Wirfs-Brock et al.,)The knowledge an object maintains and the
actions an object can perform
ā€¢ Responsibilities convey the purpose of the object
ā€¢ Hierarchies of classes are formed involving super classes that
represents general responsibilities, sub classes that specialize their
behavior
ā€¢ Identify the system behaviors, understand the initiators and participants,
recognize them as objects with behavioral responsibilities(Rubin &
Goldberg)
ā€¢ (Rubin) system behavior is related to the idea of function points (Alberch)
DOMAIN
ANALYSIS
ā€¢ The goal in domain analysis is to find classes and objects that are
common to all systems dealing with problems in the same domain,
then consider those which are specific to the problem at hand.
ā€“ Eg. Patient record tracking, bond trading, etc.,
ā€¢ It is helpful by pointing out the key abstractions that have been
already proven
ā€¢ It is an attempt to identify objects, operations and relationships
perceived by the domain experts
ā€¢ Domain analysis requires a domain expert who speaks the vocabulary
of the problem domain (eg. doctor or nurse in patient record tracking)
ā€¢ One benefit of domain analysis is that it supports the possibility of
generating more general classes which can be reused in a variety of
specific problem instances
ā€¢ May be applied across similar applications (vertical and horizontal
domain analysis)
ā€¢ Booch notes "It is truly amazing to see what a little bit of domain
knowledge can do to assist a developer in making intelligent design
decisionsā€
ā€¢ For highly complex systems, domain analysis is a formal process
USE CASE ANALYSIS
ā€¢ ā€˜first three methods are neither deterministic nor predictable successfulā€™ where use
case can be coupled to the earlier approaches
ā€¢ AĀ use-caseĀ is a "particular form or pattern or exemplar of usage, a scenario that
begins with some user of the system initiating some transaction or sequence of
interrelated events.
ā€¢ Introduced by Jacobson and be applied in requirement analysis
ā€¢ In analysis, we may enumerate the use-cases that are fundamental to the operation
of the system.
ā€¢ As development proceeds, the team walks through each scenario identifying the
participant objects and their responsibilities, and the collaborations in which these
objects participate (storyboarding technique)
ā€¢ Focused to craft separation of concerns among all abstractions
ā€¢ Secondary scenarios can be identified and existing abstractions can be reassigned
CRC CARDS
(CLASS/RESPONSIBILITIES/COLLABORATO
RS)
ā€¢ CRCĀ cards provide a concrete product
of analysis of scenarios, and other
analyses, by recording each class's
responsibilities and those classes with
which it collaborates
ā€¢ useful development tool that
facilitates brainstorming and
enhances communication among
developers
ā€¢ cards are arranged to show the flow
of messages among prototypical
instances of each class;
ā€¢ the cards are arranged to represent
generalization/specialization or
aggregation hierarchies among the
classes.
INFORMAL ENGLISH
DESCRIPTIONSā€¢ Meaningful approach to use informal natural language descriptions
ā€¢ Proposed by Abbott, who suggests writing an English description of the
problem (or a part of a
ā€¢ problem) and then underlining the nouns and verbs
ā€¢ The nouns represent candidate objects, and the verbs represent
candidate operations on them
ā€¢ it is simple and because it forces the developer to work in the
vocabulary of the problem space.
ā€¢ This approach provides a good initial method of analysis and helps in
the formation of aĀ Data Dictionary.
STRUCTURED ANALYSIS
ā€¢Structured analysis is a technique that has been used to develop
programs using concepts ofĀ structured programming (CASE tools)
ā€¢These diagrams provide a reasonably formal model of the problem to
identify the meaningful classes and objects in three different ways
1. McMenamin and Palmer suggest starting with an analysis of the
data dictionary and proceeding to analyze the modelā€™s context
diagram
(The next two techniques involve analyzing individual data flow
diagrams)
2. O-O elements can be retrieved from SA designs by scavenging the
data dictionary for objects, and by analyzing the dataflow diagrams to
identify
ā€“external entities
ā€“data stores
ā€“control stores
ā€“control transformations
ā€¢Candidate classes derive from two sources:
ā€“ Data flows
ā€“ Control flows
CONTD..
3. Seidewitz and Stark suggest another technique,
which they call abstraction analysis
ā€¢ Abstraction analysis focuses on the identification of
central entities which are similar in nature to central
transforms in structured design
ā€¢ In structured analysis, input and output data are
examined and followed inwards until they reach the
highest level of abstraction.
ā€“ The processes between the inputs and the outputs
form the central transform
ā€¢ It is tremendously difficult to build an object-oriented
system from a model that is so obviously biased
toward algorithmic decomposition.

More Related Content

What's hot

Ooad
OoadOoad
Ooad
gantib
Ā 
Predicate logic
 Predicate logic Predicate logic
Predicate logic
Harini Balamurugan
Ā 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ashish Kumar
Ā 
Distributed computing
Distributed computingDistributed computing
Distributed computing
shivli0769
Ā 
Distributed database
Distributed databaseDistributed database
Distributed database
ReachLocal Services India
Ā 
Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurance
gopal10scs185
Ā 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
Saurabh Kumar
Ā 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
Kumar
Ā 
Ooad presentatin crc cards
Ooad presentatin crc cardsOoad presentatin crc cards
Ooad presentatin crc cards
Hitachi Systems Micro Clinic
Ā 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
Anamika Singh
Ā 
Processes and threads
Processes and threadsProcesses and threads
Processes and threads
Satyamevjayte Haxor
Ā 
Implementation levels of virtualization
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualization
Gokulnath S
Ā 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
naina-rani
Ā 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & Design
Meghaj Mallick
Ā 
Resource management
Resource managementResource management
Resource management
Dr Sandeep Kumar Poonia
Ā 
Distributed Computing ppt
Distributed Computing pptDistributed Computing ppt
Distributed Computing ppt
OECLIB Odisha Electronics Control Library
Ā 
20CS2021 DISTRIBUTED COMPUTING
20CS2021 DISTRIBUTED COMPUTING20CS2021 DISTRIBUTED COMPUTING
20CS2021 DISTRIBUTED COMPUTING
Kathirvel Ayyaswamy
Ā 
Patterns
PatternsPatterns
Patterns
Amith Tiwari
Ā 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
Ā 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
Amith Tiwari
Ā 

What's hot (20)

Ooad
OoadOoad
Ooad
Ā 
Predicate logic
 Predicate logic Predicate logic
Predicate logic
Ā 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
Ā 
Distributed computing
Distributed computingDistributed computing
Distributed computing
Ā 
Distributed database
Distributed databaseDistributed database
Distributed database
Ā 
Unit 5 testing -software quality assurance
Unit 5  testing -software quality assuranceUnit 5  testing -software quality assurance
Unit 5 testing -software quality assurance
Ā 
Dynamic and Static Modeling
Dynamic and Static ModelingDynamic and Static Modeling
Dynamic and Static Modeling
Ā 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
Ā 
Ooad presentatin crc cards
Ooad presentatin crc cardsOoad presentatin crc cards
Ooad presentatin crc cards
Ā 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
Ā 
Processes and threads
Processes and threadsProcesses and threads
Processes and threads
Ā 
Implementation levels of virtualization
Implementation levels of virtualizationImplementation levels of virtualization
Implementation levels of virtualization
Ā 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
Ā 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & Design
Ā 
Resource management
Resource managementResource management
Resource management
Ā 
Distributed Computing ppt
Distributed Computing pptDistributed Computing ppt
Distributed Computing ppt
Ā 
20CS2021 DISTRIBUTED COMPUTING
20CS2021 DISTRIBUTED COMPUTING20CS2021 DISTRIBUTED COMPUTING
20CS2021 DISTRIBUTED COMPUTING
Ā 
Patterns
PatternsPatterns
Patterns
Ā 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Ā 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
Ā 

Similar to Identifying classes and objects ooad

Chapter Session 4.4 Grounded theory.ppt
Chapter Session 4.4 Grounded theory.pptChapter Session 4.4 Grounded theory.ppt
Chapter Session 4.4 Grounded theory.ppt
etebarkhmichale
Ā 
Grounded theory
Grounded theoryGrounded theory
Grounded theory
Sehriban Bugday
Ā 
System Concepts for Object Modelling.pptx
System Concepts for Object Modelling.pptxSystem Concepts for Object Modelling.pptx
System Concepts for Object Modelling.pptx
barrettoleisabel
Ā 
Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0
Ganapathi M
Ā 
Ooad ch 1_2
Ooad ch 1_2Ooad ch 1_2
Ooad ch 1_2
anujabeatrice2
Ā 
Week 2
Week 2Week 2
Ooad ch 2
Ooad ch 2Ooad ch 2
Ooad ch 2
anujabeatrice2
Ā 
Understanding Concepts
Understanding ConceptsUnderstanding Concepts
Understanding Concepts
Dr. N. Asokan
Ā 
Grounded Theory as a Research Method
Grounded Theory as a Research MethodGrounded Theory as a Research Method
Grounded Theory as a Research Method
Sheila Dingcong
Ā 
object modeling chapter 4 for students a
object modeling chapter 4 for students aobject modeling chapter 4 for students a
object modeling chapter 4 for students a
SaudFlash1
Ā 
L ab # 07
L ab # 07L ab # 07
L ab # 07
Mr SMAK
Ā 
Grounded theory
Grounded theoryGrounded theory
Grounded theory
Aamiruvas
Ā 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and Design
SAFAD ISMAIL
Ā 
Pre-school children talking about the models they have constructed: Analysis ...
Pre-school children talking about the models they have constructed: Analysis ...Pre-school children talking about the models they have constructed: Analysis ...
Pre-school children talking about the models they have constructed: Analysis ...
European University-Cyprus
Ā 
Analysing qualitative data from information organizations
Analysing qualitative data from information organizationsAnalysing qualitative data from information organizations
Analysing qualitative data from information organizations
Aleeza Ahmad
Ā 
Twenty two qualitative data methods
Twenty two qualitative data methodsTwenty two qualitative data methods
Twenty two qualitative data methods
Universidade Estadual Paulista - UNESP
Ā 
Twenty Two Qualitative Data Methods
Twenty Two Qualitative Data MethodsTwenty Two Qualitative Data Methods
Twenty Two Qualitative Data Methods
Asia Pacific Marketing Institute
Ā 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Mahesh Bhalerao
Ā 
Week 4 lecture notescom350
Week 4 lecture notescom350Week 4 lecture notescom350
Week 4 lecture notescom350
Olivia Miller
Ā 
Chapter-1-the-problem-and-its-scope.pptx
Chapter-1-the-problem-and-its-scope.pptxChapter-1-the-problem-and-its-scope.pptx
Chapter-1-the-problem-and-its-scope.pptx
sordillasecondsem
Ā 

Similar to Identifying classes and objects ooad (20)

Chapter Session 4.4 Grounded theory.ppt
Chapter Session 4.4 Grounded theory.pptChapter Session 4.4 Grounded theory.ppt
Chapter Session 4.4 Grounded theory.ppt
Ā 
Grounded theory
Grounded theoryGrounded theory
Grounded theory
Ā 
System Concepts for Object Modelling.pptx
System Concepts for Object Modelling.pptxSystem Concepts for Object Modelling.pptx
System Concepts for Object Modelling.pptx
Ā 
Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0Object oriented analysis_and_design_v2.0
Object oriented analysis_and_design_v2.0
Ā 
Ooad ch 1_2
Ooad ch 1_2Ooad ch 1_2
Ooad ch 1_2
Ā 
Week 2
Week 2Week 2
Week 2
Ā 
Ooad ch 2
Ooad ch 2Ooad ch 2
Ooad ch 2
Ā 
Understanding Concepts
Understanding ConceptsUnderstanding Concepts
Understanding Concepts
Ā 
Grounded Theory as a Research Method
Grounded Theory as a Research MethodGrounded Theory as a Research Method
Grounded Theory as a Research Method
Ā 
object modeling chapter 4 for students a
object modeling chapter 4 for students aobject modeling chapter 4 for students a
object modeling chapter 4 for students a
Ā 
L ab # 07
L ab # 07L ab # 07
L ab # 07
Ā 
Grounded theory
Grounded theoryGrounded theory
Grounded theory
Ā 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and Design
Ā 
Pre-school children talking about the models they have constructed: Analysis ...
Pre-school children talking about the models they have constructed: Analysis ...Pre-school children talking about the models they have constructed: Analysis ...
Pre-school children talking about the models they have constructed: Analysis ...
Ā 
Analysing qualitative data from information organizations
Analysing qualitative data from information organizationsAnalysing qualitative data from information organizations
Analysing qualitative data from information organizations
Ā 
Twenty two qualitative data methods
Twenty two qualitative data methodsTwenty two qualitative data methods
Twenty two qualitative data methods
Ā 
Twenty Two Qualitative Data Methods
Twenty Two Qualitative Data MethodsTwenty Two Qualitative Data Methods
Twenty Two Qualitative Data Methods
Ā 
Object oriented analysis
Object oriented analysisObject oriented analysis
Object oriented analysis
Ā 
Week 4 lecture notescom350
Week 4 lecture notescom350Week 4 lecture notescom350
Week 4 lecture notescom350
Ā 
Chapter-1-the-problem-and-its-scope.pptx
Chapter-1-the-problem-and-its-scope.pptxChapter-1-the-problem-and-its-scope.pptx
Chapter-1-the-problem-and-its-scope.pptx
Ā 

Recently uploaded

New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
ThousandEyes
Ā 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Neeraj Kumar Singh
Ā 
Call Girls ChandigarhšŸ”„7023059433šŸ”„Agency Profile Escorts in Chandigarh Availab...
Call Girls ChandigarhšŸ”„7023059433šŸ”„Agency Profile Escorts in Chandigarh Availab...Call Girls ChandigarhšŸ”„7023059433šŸ”„Agency Profile Escorts in Chandigarh Availab...
Call Girls ChandigarhšŸ”„7023059433šŸ”„Agency Profile Escorts in Chandigarh Availab...
manji sharman06
Ā 
An All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS MarketAn All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS Market
ScyllaDB
Ā 
Building a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data PlatformBuilding a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data Platform
Enterprise Knowledge
Ā 
CNSCon 2024 Lightning Talk: Donā€™t Make Me Impersonate My Identity
CNSCon 2024 Lightning Talk: Donā€™t Make Me Impersonate My IdentityCNSCon 2024 Lightning Talk: Donā€™t Make Me Impersonate My Identity
CNSCon 2024 Lightning Talk: Donā€™t Make Me Impersonate My Identity
Cynthia Thomas
Ā 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo GĆ³mez Abajo
Ā 
Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
Overkill Security
Ā 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
Ā 
Introduction to ThousandEyes AMER Webinar
Introduction  to ThousandEyes AMER WebinarIntroduction  to ThousandEyes AMER Webinar
Introduction to ThousandEyes AMER Webinar
ThousandEyes
Ā 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
Safe Software
Ā 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
Ā 
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to SuccessMongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
ScyllaDB
Ā 
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
ScyllaDB
Ā 
Day 4 - Excel Automation and Data Manipulation
Day 4 - Excel Automation and Data ManipulationDay 4 - Excel Automation and Data Manipulation
Day 4 - Excel Automation and Data Manipulation
UiPathCommunity
Ā 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
ScyllaDB
Ā 
So You've Lost Quorum: Lessons From Accidental Downtime
So You've Lost Quorum: Lessons From Accidental DowntimeSo You've Lost Quorum: Lessons From Accidental Downtime
So You've Lost Quorum: Lessons From Accidental Downtime
ScyllaDB
Ā 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
Ā 
From NCSA to the National Research Platform
From NCSA to the National Research PlatformFrom NCSA to the National Research Platform
From NCSA to the National Research Platform
Larry Smarr
Ā 
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc
Ā 

Recently uploaded (20)

New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024New ThousandEyes Product Features and Release Highlights: June 2024
New ThousandEyes Product Features and Release Highlights: June 2024
Ā 
Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0Chapter 5 - Managing Test Activities V4.0
Chapter 5 - Managing Test Activities V4.0
Ā 
Call Girls ChandigarhšŸ”„7023059433šŸ”„Agency Profile Escorts in Chandigarh Availab...
Call Girls ChandigarhšŸ”„7023059433šŸ”„Agency Profile Escorts in Chandigarh Availab...Call Girls ChandigarhšŸ”„7023059433šŸ”„Agency Profile Escorts in Chandigarh Availab...
Call Girls ChandigarhšŸ”„7023059433šŸ”„Agency Profile Escorts in Chandigarh Availab...
Ā 
An All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS MarketAn All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS Market
Ā 
Building a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data PlatformBuilding a Semantic Layer of your Data Platform
Building a Semantic Layer of your Data Platform
Ā 
CNSCon 2024 Lightning Talk: Donā€™t Make Me Impersonate My Identity
CNSCon 2024 Lightning Talk: Donā€™t Make Me Impersonate My IdentityCNSCon 2024 Lightning Talk: Donā€™t Make Me Impersonate My Identity
CNSCon 2024 Lightning Talk: Donā€™t Make Me Impersonate My Identity
Ā 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Ā 
Fuxnet [EN] .pdf
Fuxnet [EN]                                   .pdfFuxnet [EN]                                   .pdf
Fuxnet [EN] .pdf
Ā 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Ā 
Introduction to ThousandEyes AMER Webinar
Introduction  to ThousandEyes AMER WebinarIntroduction  to ThousandEyes AMER Webinar
Introduction to ThousandEyes AMER Webinar
Ā 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
Ā 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
Ā 
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to SuccessMongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
Ā 
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State StoreElasticity vs. State? Exploring Kafka Streams Cassandra State Store
Elasticity vs. State? Exploring Kafka Streams Cassandra State Store
Ā 
Day 4 - Excel Automation and Data Manipulation
Day 4 - Excel Automation and Data ManipulationDay 4 - Excel Automation and Data Manipulation
Day 4 - Excel Automation and Data Manipulation
Ā 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Ā 
So You've Lost Quorum: Lessons From Accidental Downtime
So You've Lost Quorum: Lessons From Accidental DowntimeSo You've Lost Quorum: Lessons From Accidental Downtime
So You've Lost Quorum: Lessons From Accidental Downtime
Ā 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Ā 
From NCSA to the National Research Platform
From NCSA to the National Research PlatformFrom NCSA to the National Research Platform
From NCSA to the National Research Platform
Ā 
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
TrustArc Webinar - Your Guide for Smooth Cross-Border Data Transfers and Glob...
Ā 

Identifying classes and objects ooad

  • 1. I D E N T I F Y I N G C L A SS E S A N D O B J E C T S J MELBA ROSALIND, DEPARTMENT OF COMPUTER SCIENCE LADY DOAK COLLEGE, MADURAI CLASSIFICATION
  • 2. CLASSIFICATION APPROACHES ā€¢ The following three types of classification are generally employed: 1. Classical Categorization 2. Conceptual Clustering 3. Prototype Theory
  • 3. CLASSICAL CATEGORIZATIONā€¢ Classical categorization originated during Greeceā€™s classical period ā€¢ All entities have common properties in common which is sufficient to define the category. Eg. Married people vs. tall people ā€¢ Plato, Aristotle in classifying plants and animals ā€¢ Childrenā€™s game ā€¢ Aquinas says, ā€ we can name a thing according to the knowledge we have of its nature from its properties and effectsā€ ā€¢ Piaget observed - around the age of one child develops the concepts of object permanence ā€¢ This approach uses related properties as the criteria for sameness among objects
  • 4. CONTD.. ā€¢Minsky suggests, ā€œthe most useful sets of properties are those whose members do not interact too muchā€ ā€¢Eg. Size, color, shape, substance (combination) ā€¢An eagle from a salmon (bird can fly but a fish cannot) ā€¢Particular properties in a given situation is domain-specific (color of a car in automobile manufacturing plant vs. traffic signaling) ā€¢Kosko observes, ā€œnatural categories tend to be messyā€ ā€¢Not all birds fly, some chairs can have any number of legs
  • 6. CONCEPTUAL CLUSTERING ā€¢ Modern variation of classical approach ā€¢ Classes are generated by formulating conceptual descriptions and then classifying according to the descriptions ā€¢ Eg. ā€œa love songā€ ā€¢ Probabilistic clustering of objects ā€“ related to fuzzy set theory ā€“ may or may not belong to one or more groups in varying degree of fitness ā€¢ Absolute judgements of classification by focusing on the ā€œbest fitā€ ā€¢ Eg. A Problem of classification ( ten items of a Train A - J )
  • 7. PROTOTYPE THEORY ā€¢ Derived from Rosh and her colleagues in the field of cognitive psychology ā€¢ Class of object is represented by a prototypical object, an object is member of a class iff it resembles this prototype in significant ways ā€¢ Wittgenstein observed there is no fixed boundary to the category game rather united by family resemblances ā€¢ Lakoff and Johnson applied in the problem of classifying chairs (beanbag chair, barber chair, contour chair, etc., as being chairs) ā€¢ Notion of Interactional properties is central part to the idea of prototype theory ā€¢ Group the things according to the degree of their relationship to concrete prototypes
  • 8. OBJECT-ORIENTED ANALYSIS ā€¢ In this analysis, ā€“ focus is to fully analyze the problem at hand and to model the world to discover the classes and objects that comprise the vocabulary of the problem domain ā€¢ Proven Approaches in carrying out this taskā€¦ ā€“ Classical approaches ā€“ Behavior Analysis ā€“ Domain Analysis ā€“ Use Case Analysis ā€“ CRC Cards ā€“ Informal English Description ā€“ Structured Analysis
  • 9. CLASSICAL APPROACHES ā€¢ These derive from the principles of classical categorization. ā€¢ Sources include (Shlaer, Mellor) ā€“ Tangible things Cars, telemetry data, pressure sensors ā€“ Roles Mother, teacher, politician ā€“ events, and Landing, interrupt, request ā€“ Interactions Loan, meeting, intersection ā€¢ In database modeling perspective, Ross offers, a list like people, places, things, organizations, concepts or events ā€¢ Other sources of potential objects (Coad, Yourdon) include structure, other outside agents, devices, records of events remembered , Roles played, locations, and organizational units. ā€¢ Any classes identified in this way may be generalized by grouping them together.
  • 10. BEHAVIOR ANALYSIS ā€¢ It is more akin to conceptual clustering and consists of classifying objects according to common behavior ā€¢ (Wirfs-Brock et al.,)The knowledge an object maintains and the actions an object can perform ā€¢ Responsibilities convey the purpose of the object ā€¢ Hierarchies of classes are formed involving super classes that represents general responsibilities, sub classes that specialize their behavior ā€¢ Identify the system behaviors, understand the initiators and participants, recognize them as objects with behavioral responsibilities(Rubin & Goldberg) ā€¢ (Rubin) system behavior is related to the idea of function points (Alberch)
  • 11. DOMAIN ANALYSIS ā€¢ The goal in domain analysis is to find classes and objects that are common to all systems dealing with problems in the same domain, then consider those which are specific to the problem at hand. ā€“ Eg. Patient record tracking, bond trading, etc., ā€¢ It is helpful by pointing out the key abstractions that have been already proven ā€¢ It is an attempt to identify objects, operations and relationships perceived by the domain experts ā€¢ Domain analysis requires a domain expert who speaks the vocabulary of the problem domain (eg. doctor or nurse in patient record tracking) ā€¢ One benefit of domain analysis is that it supports the possibility of generating more general classes which can be reused in a variety of specific problem instances ā€¢ May be applied across similar applications (vertical and horizontal domain analysis) ā€¢ Booch notes "It is truly amazing to see what a little bit of domain knowledge can do to assist a developer in making intelligent design decisionsā€ ā€¢ For highly complex systems, domain analysis is a formal process
  • 12. USE CASE ANALYSIS ā€¢ ā€˜first three methods are neither deterministic nor predictable successfulā€™ where use case can be coupled to the earlier approaches ā€¢ AĀ use-caseĀ is a "particular form or pattern or exemplar of usage, a scenario that begins with some user of the system initiating some transaction or sequence of interrelated events. ā€¢ Introduced by Jacobson and be applied in requirement analysis ā€¢ In analysis, we may enumerate the use-cases that are fundamental to the operation of the system. ā€¢ As development proceeds, the team walks through each scenario identifying the participant objects and their responsibilities, and the collaborations in which these objects participate (storyboarding technique) ā€¢ Focused to craft separation of concerns among all abstractions ā€¢ Secondary scenarios can be identified and existing abstractions can be reassigned
  • 13. CRC CARDS (CLASS/RESPONSIBILITIES/COLLABORATO RS) ā€¢ CRCĀ cards provide a concrete product of analysis of scenarios, and other analyses, by recording each class's responsibilities and those classes with which it collaborates ā€¢ useful development tool that facilitates brainstorming and enhances communication among developers ā€¢ cards are arranged to show the flow of messages among prototypical instances of each class; ā€¢ the cards are arranged to represent generalization/specialization or aggregation hierarchies among the classes.
  • 14. INFORMAL ENGLISH DESCRIPTIONSā€¢ Meaningful approach to use informal natural language descriptions ā€¢ Proposed by Abbott, who suggests writing an English description of the problem (or a part of a ā€¢ problem) and then underlining the nouns and verbs ā€¢ The nouns represent candidate objects, and the verbs represent candidate operations on them ā€¢ it is simple and because it forces the developer to work in the vocabulary of the problem space. ā€¢ This approach provides a good initial method of analysis and helps in the formation of aĀ Data Dictionary.
  • 15. STRUCTURED ANALYSIS ā€¢Structured analysis is a technique that has been used to develop programs using concepts ofĀ structured programming (CASE tools) ā€¢These diagrams provide a reasonably formal model of the problem to identify the meaningful classes and objects in three different ways 1. McMenamin and Palmer suggest starting with an analysis of the data dictionary and proceeding to analyze the modelā€™s context diagram (The next two techniques involve analyzing individual data flow diagrams) 2. O-O elements can be retrieved from SA designs by scavenging the data dictionary for objects, and by analyzing the dataflow diagrams to identify ā€“external entities ā€“data stores ā€“control stores ā€“control transformations ā€¢Candidate classes derive from two sources: ā€“ Data flows ā€“ Control flows
  • 16. CONTD.. 3. Seidewitz and Stark suggest another technique, which they call abstraction analysis ā€¢ Abstraction analysis focuses on the identification of central entities which are similar in nature to central transforms in structured design ā€¢ In structured analysis, input and output data are examined and followed inwards until they reach the highest level of abstraction. ā€“ The processes between the inputs and the outputs form the central transform ā€¢ It is tremendously difficult to build an object-oriented system from a model that is so obviously biased toward algorithmic decomposition.
  ēæ»čƑļ¼š