Download Identifying Classes in Object-Oriented Analysis: Classification and Noun Phrase Approach and more Schemes and Mind Maps Computer Vision in PDF only on Docsity!
12/24/22 11
Object Analysis:
Classification
Dr. Santosh Kumar Swain
Associate Professor School Of Computer Engineering KIIT , Bhubaneswar. 12/24/22 1
Introduction
- (^) OOA is a process by which we can identify classes that play a role in achieving system goals and requirements
- (^) Various Approaches for identifying the classes
- (^) Classification: is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute of human nature. Example: Classifying the car
What is a Class?
- (^) A Class is a software template that defines the methods and variables to be included in a particular kind of Object.
- (^) Is a blue print used to create objects. As it is a blue print , at runtime it will not occupy any memory.
- (^) Examples : Animal, Human being, Automobiles
... Intelligent classification is intellectually hard work, and it best comes about through an incremental and iterative process Booch
Point To Remember Two Issues
- (^) A class is a specification of structure, behavior, and the description of an object.
- (^) Classification is more concerned with identifying classes than identifying the individual objects in a system.
The Challenge of Classification
- (^) Intelligent classification is intellectually hard work and may seem rather arbitrary.
- (^) Martin and Odell have observed in object-oriented analysis and design, that “In fact, an object can be categorized in more than one way.”
Noun Phrase Approach
- (^) Using this method, you have to read through the Use cases, interviews, and requirements specification carefully, looking for noun phrases.
Noun Phrase Strategy (Con’t)
- (^) Change all plurals to singular and make a list, which can then be divided into three categories. Relevent Classes (^) Fuzzy Classes Irrelevent Classes
Guidelines For Identifying Classes
- (^) The followings are guidelines for selecting classes in your application:
- (^) Look for nouns and noun phrases in the problem statement.
- (^) Some classes are implicit or taken from general knowledge.
Guidelines For Identifying Classes (Con’t)
- (^) All classes must make sense in the application domain.
- (^) Avoid computer implementation classes, defer it to the design stage.
- (^) Carefully choose and define class names.
Guidelines For Refining Classes (Con’t) Adjective Classes:
- (^) Does the object represented by the noun behave differently when the adjective is applied to it?
Guidelines For Refining Classes (Con’t)
- (^) If the use of the adjective signals that the behavior of the object is different, then make a new class.
- (^) For example, If Adult Membership and Youth Membership behave differently, than they should be classified as different classes.
Guidelines For Refining Classes (Con’t) Irrelevant Classes:
- (^) Each class must have a purpose and every class should be clearly defined and necessary.
- (^) If you cannot come up with a statement of purpose, simply eliminate the candidate class.
Identifying a list of candidate classes
- (^) Take a coherent, concise statement of the requirement of the system
- (^) Underline its noun and noun phrases, that is, identify the words and phases the denote things
- (^) This gives a list of candidate classes, which we can then modify to get an initial class list for the system