[hand with pencil]
Stuff For Sale
2004 Summer Tour
Class Stuff
Email Me
In The Press
Veggie Van Gogh

© 2002,

[this is simply a banner and menu bar]

Please patronize sponsors of this page!

Bytesmiths no longer is involved in software consulting. Maintenance of this web site is currently subsidised by unrelated business activities. Please pass the word to other interested folks, so I can continue to host this page!
Your site could be listed here, for as little as $12 per month! Go to Bytesmiths Press for details.

This site has been selected by PC Webopaedia as one of the best on this topic!
This site has been awarded a Links2Go Key Resource Award in the Smalltalk category!

[ prev | top | next ]

Software Component Lifecycle

(This is a slide show. You really won't get 
anything out 

of it unless you have a graphical web browser with graphics turned 

You cannot delete components from the library. Be careful when choosing names, because you cannot rename classes, applications, subapplications, or configurations.

Versioning and Releasing

Versioning classes is a lightweight operation. Within a week, for example, a developer might want to version a class more than once. One reason is obvious -- to be able to return to that state of the class if you are about to try an experiment. Another reason is to allow another developer to load the class -- developers cannot load each other's editions of classes.

Releasing classes is less frequent. When you have tested the classes in your subapp or app and want others to automatically get those versions when they load the app/subapp, you release the classes. Generally all classes are released when a trial build is to be done for integration testing. At this point we suggest not versioning the apps and subapps.

Versioning applications and subapplications is a heavyweight operation that should not be done until the app has been tested. However, contrary to the normal pattern, it is a good idea to immediately release to the parent app any new edition you make of its subapp. A subapp does not need to be a version before it is released to an app. This is tricky for beginners in ENVY to remember.

Versioning a configuration is only possible when all of its applications are versioned and the configuration has successfully been loaded. One generally versions configurations after integration testing, for periodic development milestones. Another typical configuration version is for builds done for special demos (such as for OOPSLA '94!).

Methods are an exception to the versioning and releasing cycle. Method editions are automatically released to the class or class extension in which they are created. The developer can always decide to load a different edition of a method, thereby "releasing" that method edition to its class or class extension edition.

[ prev | top | next ]