Thursday, June 18, 2009

Persistence And Documentation

                       Many applications, perhaps most will need to conserve objects from one session to the next. The environment should provide a mechanism to do this in a simple way.An object will often contain references to other objects; since the same may be true of these objects, this means that every object may have a large number of dependent objects with a possibly complex dependency graph.It would usually make no sense to store or retrieve the object without all its direct and indirect dependents.A persistence mechanism which can automatically store an objects dependents along with the object is said to support persistence closure.

                    A persistent storage mechanism supporting persistence closure should be available to store an object and all its dependents into external devices and to retrieve them in the same or another session.For some applications, mere persistence support is not sufficient.Such applications will need full database support which also explores other persistent issues such as schema evolution the ability to retrieve objects safely even if the corresponding classes have changed.

               Developers of classes and systems must provide management, customers and other developers with clear  high level descriptions of the software they produce. They need tools to assist them in this effort as much as possible of the documentation should be produced automatically from the software texts. Assertions as already noted help make such software extracted documents precise and informative.              

                 This puts on the environment the burden of providing developers with tools to examine a class text.Find its dependencies on other classes and switch rapidly from one class text to another.This task is called browsing.Typical facilities offered by good browsing tools include find the clients,suppliers,descendants,ancestors of a class.Find all the redefinitions of a feature and the original declaration of a redefined feature.

No comments:

Post a Comment