DEV475 Mastering Object-Oriented Analysis and Design with UML ...
DEV475 Mastering Object-Oriented Analysis and Design with UML ... DEV475 Mastering Object-Oriented Analysis and Design with UML ...
DEV475 Mastering Object-Oriented Analysis and Design with UMLWhat Is Hierarchy?What Is Hierarchy?IncreasingabstractionAssetBankAccountSecurityRealEstateSavingsCheckingStockBondDecreasingabstractionElements at the same level of the hierarchyshould be at the same level of abstraction.Mastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 22Hierarchy can be defined as:Any ranking or ordering of abstractions into a tree-like structure. Kinds: Aggregationhierarchy, class hierarchy, containment hierarchy, inheritance hierarchy, partitionhierarchy, specialization hierarchy, type hierarchy. (Dictionary of Object Technology,Firesmith, Eykholt, 1995)• Hierarchy organizes items in a particular order or rank (for example, complexityand responsibility). This organization is dependent on perspective. Using ahierarchy to describe differences or variations of a particular concept provides formore descriptive and cohesive abstractions and a better allocation ofresponsibility.• In any one system, there may be multiple abstraction hierarchies (for example, afinancial application may have different types of customers and accounts).• Hierarchy is not an organizational chart or a functional decomposition.• Hierarchy is a taxonomic organization. The use of hierarchy makes it easy torecognize similarities and differences. For example, botany organizes plants intofamilies. Chemistry organizes elements in a periodic table.2 - 22
Module 2 - Concepts of Object OrientationWhat Is a Class?What Is a Class?• A class is a description of a set of objects thatshare the same attributes, operations,relationships, and semantics.• An object is an instance of a class.• A class is an abstraction in that it• Emphasizes relevant characteristics.• Suppresses other characteristics.Class+ attribute+ operation()Mastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 23A class can be defined as:A description of a set of objects that share the same attributes, operations,relationships, and semantics. (The Unified Modeling Language User Guide, Booch,1999)• There are many objects identified for any domain.• Recognizing the commonalties among the objects and defining classes helps usdeal with the potential complexity.• The OO principle of abstraction helps us deal with complexity.2 - 23
- Page 34 and 35: DEV475 Mastering Object-Oriented An
- Page 36 and 37: DEV475 Mastering Object-Oriented An
- Page 38 and 39: DEV475 Mastering Object-Oriented An
- Page 40 and 41: DEV475 Mastering Object-Oriented An
- Page 42 and 43: DEV475 Mastering Object-Oriented An
- Page 44 and 45: DEV475 Mastering Object-Oriented An
- Page 46 and 47: DEV475 Mastering Object-Oriented An
- Page 48 and 49: DEV475 Mastering Object-Oriented An
- Page 50 and 51: DEV475 Mastering Object-Oriented An
- Page 52 and 53: DEV475 Mastering Object-Oriented An
- Page 54 and 55: DEV475 Mastering Object-Oriented An
- Page 56 and 57: DEV475 Mastering Object-Oriented An
- Page 58 and 59: DEV475 Mastering Object-Oriented An
- Page 60 and 61: DEV475 Mastering Object-Oriented An
- Page 62 and 63: DEV475 Mastering Object-Oriented An
- Page 64 and 65: DEV475 Mastering Object-Oriented An
- Page 66 and 67: DEV475 Mastering Object-Oriented An
- Page 68 and 69: DEV475 Mastering Object-Oriented An
- Page 70 and 71: DEV475 Mastering Object-Oriented An
- Page 72 and 73: DEV475 Mastering Object-Oriented An
- Page 74 and 75: DEV475 Mastering Object-Oriented An
- Page 76 and 77: DEV475 Mastering Object-Oriented An
- Page 78 and 79: DEV475 Mastering Object-Oriented An
- Page 80 and 81: DEV475 Mastering Object-Oriented An
- Page 82 and 83: DEV475 Mastering Object-Oriented An
- Page 86 and 87: DEV475 Mastering Object-Oriented An
- Page 88 and 89: DEV475 Mastering Object-Oriented An
- Page 90 and 91: DEV475 Mastering Object-Oriented An
- Page 92 and 93: DEV475 Mastering Object-Oriented An
- Page 94 and 95: DEV475 Mastering Object-Oriented An
- Page 96 and 97: DEV475 Mastering Object-Oriented An
- Page 98 and 99: DEV475 Mastering Object-Oriented An
- Page 100 and 101: DEV475 Mastering Object-Oriented An
- Page 102 and 103: DEV475 Mastering Object-Oriented An
- Page 104 and 105: DEV475 Mastering Object-Oriented An
- Page 106 and 107: DEV475 Mastering Object-Oriented An
- Page 108 and 109: DEV475 Mastering Object-Oriented An
- Page 110 and 111: DEV475 Mastering Object-Oriented An
- Page 112 and 113: DEV475 Mastering Object-Oriented An
- Page 114 and 115: DEV475 Mastering Object-Oriented An
- Page 116 and 117: DEV475 Mastering Object-Oriented An
- Page 118 and 119: DEV475 Mastering Object-Oriented An
- Page 120 and 121: DEV475 Mastering Object-Oriented An
- Page 122 and 123: DEV475 Mastering Object-Oriented An
- Page 124 and 125: DEV475 Mastering Object-Oriented An
- Page 126 and 127: DEV475 Mastering Object-Oriented An
- Page 128 and 129: DEV475 Mastering Object-Oriented An
- Page 130 and 131: DEV475 Mastering Object-Oriented An
- Page 132 and 133: DEV475 Mastering Object-Oriented An
Module 2 - Concepts of <strong>Object</strong> OrientationWhat Is a Class?What Is a Class?• A class is a description of a set of objects thatshare the same attributes, operations,relationships, <strong>and</strong> semantics.• An object is an instance of a class.• A class is an abstraction in that it• Emphasizes relevant characteristics.• Suppresses other characteristics.Class+ attribute+ operation()<strong>Mastering</strong> <strong>Object</strong> <strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Copyright © 2003 Rational Software, all rights reserved 23A class can be defined as:A description of a set of objects that share the same attributes, operations,relationships, <strong>and</strong> semantics. (The Unified Modeling Language User Guide, Booch,1999)• There are many objects identified for any domain.• Recognizing the commonalties among the objects <strong>and</strong> defining classes helps usdeal <strong>with</strong> the potential complexity.• The OO principle of abstraction helps us deal <strong>with</strong> complexity.2 - 23