November 14, 2019

Dynamic Modelling - Conclusion

 

I have used a relatively simple walk-through to illustrate the basics.
A walk-through concentrates on locating objects by means of navigating associations. Other use cases will be far more complicated and the walk-throughs may require the creation or deletion of links and objects.
For example, assume that a Record a Sale use case has been specified. If a painting is sold, it must be removed from the system. What does that involve in terms of links and objects? This Painting object, once located, is linked to several objects. These are:

  1. An Artist instance
  2. The OI, admin (another walk-through will necessitate an artworks association between QuadAdmin and Artwork)
  3. Possibly a Showing instance

Furthermore, a Sale instance must be created with the creation of a link between it and the Painting object. Also to be considered will be the location of the relevant Buyer object before creating another link between it and the Sale object. The Sale instance needs to record data held by the Painting instance and can achieve this by use of the link between them (an instance of the isSoldIn association). If the Painting instance is to be removed from the system then clearly the creation of the Sale object and the link to the Painting object, must occur before the Painting object and any of its links are destroyed.

There are other repercussions involving the creation and deletion of links. A walkthrough determines the direction of navigation of an association. Some associations will be navigated in just one direction whilst others are navigated in both. The former requires the object at the 'from end' to record the link to the other object. In other words, if object A needs to locate object B, A will need to keep a record of B. Creation of the link requires A's record to be updated. If a link between A and B is to be destroyed, A's record of B will need to be removed. Two-way navigability results in a responsibility for both objects to record the link to each other. So A has a record of B and B has a record of A. But if the link is to be destroyed then the records of A and B will both need modification.

Other walkthroughs will require changes to the state of the objects that are located, whilst others will require checking for certain conditions (what happens if the name entered doesn't exist?).

As a consequence, you cannot, with any certainty, assign all the protocol responsibilities until completion of every use case.

In conclusion, the process of dynamic modelling is often complex and far from straightforward. Those with considerable experience of these matters have said to me that data modelling is as much an art form as it is a science.

M206 provides a framework for the development of object-oriented software, but, as with most things in life, there is no substitute for practice.

 

Previous page « List Works of Artist Use Case

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Up to top of page