Object oriented classification Classification is the process of checking to see if an object belongs...
-
Upload
griffin-chase -
Category
Documents
-
view
213 -
download
0
Transcript of Object oriented classification Classification is the process of checking to see if an object belongs...
![Page 1: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/1.jpg)
Object oriented classification
•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.
•Classification guides us in making decisions about modularization.
•Classification also plays a role in allocating process to procedures
![Page 2: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/2.jpg)
• Classes are an important mechanisms for classifying objects.
• A class is a specification structure., behavior and the description of the object
![Page 3: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/3.jpg)
Employer Employee
Pet owner Woman Jill
![Page 4: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/4.jpg)
• So classification is defined as the categorization of input data (things) into identifiable classes via the extraction of the significant feature of attributes of the data from a background of irrelevant details
![Page 5: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/5.jpg)
Approaches to identifying classes
• Identifying classes
• Noun phase approach
• The common class pattern approach
• Use case driven/sequence/collaboration modeling approach
• Classes, responsibilities, collaborators (CRC)
![Page 6: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/6.jpg)
Noun phase approach
• It was proposed by Rebecca Wirfs-Brock
• You read the through the requirements or use cases looking for noun phases
• Noun in the textual description are considered to be classes and verbs to be methods of the classes.
![Page 7: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/7.jpg)
• All plurals are changed into singular
• Nouns are listed
• List divided into three categories
• Relevant classes
• Fuzzy classes (those classes that are not sure about)
• Irrelevant classes
![Page 8: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/8.jpg)
Identifying Tentative classes
• The following guidelines • Look for nouns and noun phrases in the
use cases• Some classes are implicit or taken from
general knowledge.• All classes must make sense in the
application domain • Carefully choose and define the class
names
![Page 9: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/9.jpg)
Selecting classes from the relevant and fuzzy categories
• Guidelines
• Redundant classes:- Do not keep two classes that express the same information.
• It more than one word is being used to describe the same idea , select the one that is the most meaningful in the context of the system.
• Choose vocabulary carefully
![Page 10: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/10.jpg)
• Adjectives classes:- “ Be wary of the use of adjectives.
• Adjectives can be used in many ways • An adjective can suggest a different kind
of object, different use of the same object, or it could be utterly irrelevant.
• Ex adult members behave different from young members so the two should be classified a different classes
![Page 11: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/11.jpg)
• Attribute classes: tentative objects that are used only a values should be defined or restated as attributes not as a class.
• For ex: client status and demographic of client are not classes but attributes of the client classes
![Page 12: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/12.jpg)
• Irrelevant classes:- • Each class must have a purpose and
every class should be clearly defined and necessary.
• You must formulate a statement of purpose for each candidate classes.
• If you cannot come up with a statement of purpose , simply eliminate the candidate class
![Page 13: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/13.jpg)
Review redundant classes
Review irrelevant classes
Review attributes
Review adjectives
![Page 14: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/14.jpg)
• The vianet bank system: identifying classes by using noun phrase approach
• Initial list of noun phrases: candidate classes:
• The initial study of the use cases of the bank system produces the following noun phrases
![Page 15: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/15.jpg)
Guidelines for identifying super-sub class relationship
Top-downBottom-upReusability
Multiple inheritance
![Page 16: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/16.jpg)
Top-down
• Look for noun phrases composed of various adjectives in a class name.
• Avoid excessive refinement.• Specialize only when the subclasses have
significant behavior.• For example , a phone operator can be
represented as a cook as well as a clerk or manager because they all have similar behavior
![Page 17: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/17.jpg)
Bottom-up
• Look for classes with similar attributes or methods
• You can group them by moving the common attributes and methods to an abstract class
• You may have to alter the definitions a bit; this is acceptable as long as generalization truly applies
![Page 18: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/18.jpg)
Reusability
• Move attributes and behaviors (methods) as high as possible in the hierarchy.
• Do not create very specialized classes at the top of the hierarchy.
• The balancing act can be achieved by several iterations
• This process ensures that you design objects that can be reused in another application.
![Page 19: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/19.jpg)
Multiple inheritance
• Avoid excessive use of multiple inheritance • It give more complications• How to determine which behavior to get from
which class , particularly several ancestors define the same method
• One way to achieve the benefits of MI is to inherit from the most appropriate class and add an object of another class as an attribute
![Page 20: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/20.jpg)
Multiple Inheritance
Single inheritance Aggregation
![Page 21: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/21.jpg)
A-part of relationships-Aggregation
• A-part of relationships also called Aggregation , represents the situation where a class consists of several component classes.
• A class that is composed of other classes does not behave like its parts.
• For example a car consist of many other classes, one of which is radio , but a car does not behave like a radio.
![Page 22: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/22.jpg)
Two major properties
• Transitivity :- the property where
• If a-> b and b>c so a->c
• For example a carburetor is part of an engine and engine is a part of car , therefore a carburetor is a part of car.
![Page 23: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/23.jpg)
• Ant symmetry:- the property of a-part-of relation where , if A is a part of b , then B is not part of A
• For example an engine is part of car, but a car is not part of engine .
![Page 24: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/24.jpg)
Car
Engine Radio
carburetor
![Page 25: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/25.jpg)
• Does the part class belong to a problem domain?
• Is the part class within the system’s responsibilities?
• Does the part class capture more than a single value?
• Does it provides a useful abstraction in dealing problem domain?
• Hallow diamond represents Aggregation
![Page 26: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/26.jpg)
A-part-of-relationship patterns
• Assembly: an assembly is constructed from its parts and an assembly-part situation physically exists
• For example a French onion soup is an assembly of onion, butter, flour, French bread, cheddar cheese and so on.
![Page 27: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/27.jpg)
• Container:- a physical whole encompasses but is not constructed from physical parts.
• For example a house can be considered as a container for furniture and appliances
![Page 28: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/28.jpg)
House
Furniture Appliances
![Page 29: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/29.jpg)
• Collection –member :- a conceptual whole encompasses parts that may be physical or conceptual
• For example a football teams is a collection of players.
![Page 30: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/30.jpg)
Football Team
Player
![Page 31: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/31.jpg)
Case study Relationship analysis for vianet bank ATM system
• Identifying classes relationships
• One of the strengths of object-oriented analysis is the ability to model objects as they exist in the real world.
• Several different relationships exist in the vianet bank ATM system
![Page 32: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/32.jpg)
• Developing a UML class diagram based on the use-case analysis
• Bank client• ATM machine• Transaction• Savings Account• Checking Account
BANK Account
![Page 33: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/33.jpg)
Defining associations
• Part-of ,next-to, works-for
• Location association: next to. Part of, contained in
• Communication association
• Talk to order to
![Page 34: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/34.jpg)
BANK
Account
1
1,2
Has
![Page 35: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/35.jpg)
Guidelines for identifying super-sub class relationship
Top-downBottom-upReusability
Multiple inheritance
![Page 36: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/36.jpg)
Top-down
• Look for noun phrases composed of various adjectives in a class name.
• Avoid excessive refinement.• Specialize only when the subclasses have
significant behavior.• For example , a phone operator can be
represented as a cook as well as a clerk or manager because they all have similar behavior
![Page 37: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/37.jpg)
Bottom-up
• Look for classes with similar attributes or methods
• You can group them by moving the common attributes and methods to an abstract class
• You may have to alter the definitions a bit; this is acceptable as long as generalization truly applies
![Page 38: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/38.jpg)
Reusability
• Move attributes and behaviors (methods) as high as possible in the hierarchy.
• Do not create very specialized classes at the top of the hierarchy.
• The balancing act can be achieved by several iterations
• This process ensures that you design objects that can be reused in another application.
![Page 39: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/39.jpg)
Multiple inheritance
• Avoid excessive use of multiple inheritance • It give more complications• How to determine which behavior to get from
which class , particularly several ancestors define the same method
• One way to achieve the benefits of MI is to inherit from the most appropriate class and add an object of another class as an attribute
![Page 40: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/40.jpg)
Multiple Inheritance
Single inheritance Aggregation
![Page 41: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/41.jpg)
A-part of relationships-Aggregation
• A-part of relationships also called Aggregation , represents the situation where a class consists of several component classes.
• A class that is composed of other classes does not behave like its parts.
• For example a car consist of many other classes, one of which is radio , but a car does not behave like a radio.
![Page 42: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/42.jpg)
Two major properties
• Transitivity :- the property where
• If a-> b and b>c so a->c
• For example a carburetor is part of an engine and engine is a part of car , therefore a carburetor is a part of car.
![Page 43: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/43.jpg)
• Ant symmetry:- the property of a-part-of relation where , if A is a part of b , then B is not part of A
• For example an engine is part of car, but a car is not part of engine .
![Page 44: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/44.jpg)
Car
Engine Radio
carburetor
![Page 45: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/45.jpg)
• Does the part class belong to a problem domain?
• Is the part class within the system’s responsibilities?
• Does the part class capture more than a single value?
• Does it provides a useful abstraction in dealing problem domain?
• Hallow diamond represents Aggregation
![Page 46: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/46.jpg)
A-part-of-relationship patterns
• Assembly: an assembly is constructed from its parts and an assembly-part situation physically exists
• For example a French onion soup is an assembly of onion, butter, flour, French bread, cheddar cheese and so on.
![Page 47: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/47.jpg)
• Container:- a physical whole encompasses but is not constructed from physical parts.
• For example a house can be considered as a container for furniture and appliances
![Page 48: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/48.jpg)
House
Furniture Appliances
![Page 49: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/49.jpg)
• Collection –member :- a conceptual whole encompasses parts that may be physical or conceptual
• For example a football teams is a collection of players.
![Page 50: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/50.jpg)
Football Team
Player
![Page 51: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/51.jpg)
Case study Relationship analysis for vianet bank ATM system
• Identifying classes relationships
• One of the strengths of object-oriented analysis is the ability to model objects as they exist in the real world.
• Several different relationships exist in the vianet bank ATM system
![Page 52: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/52.jpg)
• Developing a UML class diagram based on the use-case analysis
• Bank client• ATM machine• Transaction• Savings Account• Checking Account
BANK Account
![Page 53: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/53.jpg)
Defining associations
• Part-of ,next-to, works-for
• Location association: next to. Part of, contained in
• Communication association
• Talk to order to
![Page 54: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/54.jpg)
BANK
Account
1
1,2
Has
![Page 55: Object oriented classification Classification is the process of checking to see if an object belongs to a category or a class, is regarded as a basic attribute.](https://reader030.fdocuments.us/reader030/viewer/2022032805/56649eec5503460f94bfdd5b/html5/thumbnails/55.jpg)
Defining super-sub relationship
• Top-down : Look for noun phrases composed of various adjectives in the class name
• Bottom-up: Look for classes with similar attributes or methods
• Reusability : Move attributes and behaviors as high as possible in the hierarchy
• Multiple inheritance: Avoid excessive use of multiple inheritance