| Author |
Different Navigabilities?
|
Desai Sandeep
Ranch Hand
Joined: Apr 02, 2001
Posts: 1157
|
|
Hi,
Excerpt from Martin Fowler, UML Distilled, Chapter 4, Associations, Page 55 [..]Note also that the navigabilities are likely to be different between specification and implementation.
Please look at my next post for my queries. Thanks in advance, Sandeep
|
<b>Sandeep</b> <br /> <br /><b>Sun Certified Programmer for Java 2 Platform</b><br /> <br /><b>Oracle Certified Solution Developer - JDeveloper</b><br /><b>-- Oracle JDeveloper Rel. 3.0 - Develop Database Applications with Java </b><br /><b>-- Object-Oriented Analysis and Design with UML</b><br /> <br /><b>Oracle Certified Enterprise Developer - Oracle Internet Platform</b><br /><b>-- Enterprise Connectivity with J2EE </b><br /><b>-- Enterprise Development on the Oracle Internet Platform </b>
|
 |
Desai Sandeep
Ranch Hand
Joined: Apr 02, 2001
Posts: 1157
|
|
I am not very sure what Martin meant by this.I am taking the same Order and Customer example which he uses to explain. Say in the Specification prespective, the navigability is from Order to Customer only,i.e., Order has the responsibility to tell us, which Customer it is for. Now at the implementation stage, we realize, it is better that the Customer takes the responsibility to tell us about the Order, since he should also have the authority to update the association, like cancelling the Order, changing the Order, so on and so forth.If we start implementing in this way, the navigability is changed now from Customer to Order. Is this what Martin meant by change in navigability in the two perspectives? Thanks in advance, Sandeep
|
 |
Desai Sandeep
Ranch Hand
Joined: Apr 02, 2001
Posts: 1157
|
|
Refresh please. Thanks, Sandeep
|
 |
Junilu Lacar
Ranch Hand
Joined: Feb 26, 2001
Posts: 3008
|
|
Sandeep, Go back to page 54. Quote: "...responsibilities do not imply data structure, however. From a specification-level diagram, I can make no assumptions about the data structure of the classes...The diagram indicates only the interface--nothing more." Put in another way: The contract (specification) is for Order to know the Customer. However, when you implement, there may be some constraints--perhaps due to the language you use or platform, whatever--that make it necessary to have Order point to Customer and Customer point to Order. The contract remains the same though since no new responsibilities have been identified. If, however, during the course of implementation, you realize that a new responsibility has been identified, that new responsibility should be reflected in the specification-level diagram. Junilu
|
Junilu
[How to Ask Questions] [How to Answer Questions] [MiH]
|
 |
Desai Sandeep
Ranch Hand
Joined: Apr 02, 2001
Posts: 1157
|
|
Originally posted by JUNILU LACAR: If, however, during the course of implementation, you realize that a new responsibility has been identified, that new responsibility should be reflected in the specification-level diagram.
If the above happens, does it mean we reflect the change in the implementation-level Class Diagram OR specification-level Class Diagram? Am puzzled, since Fowler says "Note also that the navigabilities are likely to be different between specification and implementation." This means you may have Class Diagrams in the implementation-level not in sync with specification-level.If the navigabilities is changed/added in the implementation-level, it means that new responsibilities have been discovered and also that the specification-level contract is broken.So what happens to the responsibilities identified in the original specification contract? I believe it should be the navigabilities should be same between specification and implementation. Thanks, Sandeep [This message has been edited by Desai Sandeep (edited May 29, 2001).]
|
 |
 |
|
|
subject: Different Navigabilities?
|
|
|