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 Navigability?What Is Navigability?• Indicates that it is possible to navigate from aassociating class to the target class using theassociationRegistrationControllerScheduleCourseOfferingMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 42• The navigability property on a role indicates that it is possible to navigate from aassociating class to the target class using the association. This may beimplemented in a number of ways: by direct object references, associative arrays,hash-tables, or any other implementation technique that allows one object toreference another.• Navigability is indicated by an open arrow placed on the target end of theassociation line next to the target class (the one being navigated to). The defaultvalue of the navigability property is true (associations are bi-directional bydefault).• In the course registration example, the association between the Schedule and theCourse Offering is navigable in both directions. That is, a Schedule must knowthe Course Offering assigned to the Schedule, and the Course Offering mustknow the Schedules it has been placed in.• When no arrowheads are shown, the association is assumed to be navigable inboth directions.• In the case of the association between Schedule and Registration Controller, theRegistration Controller must know its Schedules, but the Schedules have noknowledge of the Registration Controllers (or other classes). As a result, thenavigability property of the Registration Controller end of the association isturned off.2 - 42
Module 2 - Concepts of Object OrientationRelationships: DependencyRelationships: Dependency• A relationship between two model elementswhere a change in one may cause a change inthe other• Non-structural, “using” relationshipClassComponentClientClientDependencyrelationshipDependencyrelationshipDependencyrelationshipSupplierSupplierPackageClientPackageSupplierPackageMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 43A dependency relationship is a weaker form of relationship showing a relationshipbetween a client and a supplier where the client does not have semantic knowledgeof the supplier.A dependency relationship denotes a semantic relationship between model elements,where a change in the supplier may cause a change in the client.2 - 43
- 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 84 and 85: 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 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
- Page 134 and 135: DEV475 Mastering Object-Oriented An
- Page 136 and 137: DEV475 Mastering Object-Oriented An
- Page 138 and 139: DEV475 Mastering Object-Oriented An
- Page 140 and 141: DEV475 Mastering Object-Oriented An
- Page 142 and 143: DEV475 Mastering Object-Oriented An
- Page 144 and 145: DEV475 Mastering Object-Oriented An
- Page 146 and 147: DEV475 Mastering Object-Oriented An
- Page 148 and 149: DEV475 Mastering Object-Oriented An
- Page 150 and 151: DEV475 Mastering Object-Oriented An
- Page 152 and 153: DEV475 Mastering Object-Oriented An
<strong>DEV475</strong> <strong>Mastering</strong> <strong>Object</strong>-<strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>What Is Navigability?What Is Navigability?• Indicates that it is possible to navigate from aassociating class to the target class using theassociationRegistrationControllerScheduleCourseOffering<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 42• The navigability property on a role indicates that it is possible to navigate from aassociating class to the target class using the association. This may beimplemented in a number of ways: by direct object references, associative arrays,hash-tables, or any other implementation technique that allows one object toreference another.• Navigability is indicated by an open arrow placed on the target end of theassociation line next to the target class (the one being navigated to). The defaultvalue of the navigability property is true (associations are bi-directional bydefault).• In the course registration example, the association between the Schedule <strong>and</strong> theCourse Offering is navigable in both directions. That is, a Schedule must knowthe Course Offering assigned to the Schedule, <strong>and</strong> the Course Offering mustknow the Schedules it has been placed in.• When no arrowheads are shown, the association is assumed to be navigable inboth directions.• In the case of the association between Schedule <strong>and</strong> Registration Controller, theRegistration Controller must know its Schedules, but the Schedules have noknowledge of the Registration Controllers (or other classes). As a result, thenavigability property of the Registration Controller end of the association isturned off.2 - 42