Chapter 11

  1. Large applications need to be decomposed into components of a manageable size. Prefarably off-the-shelf components. To combine components, possibly obtained from various vendors, standardization is necessary.
  2. The OMG aims at defining a standard allowing for the combination of components in a distributed environment. The goal is to define standards allowing for application integration in a language-, platform- and vendor-independent manner. The OMG proposed an Object Management Architecture offering an interface description language (IDL) and standards for Object Services. To realize these aims, many technical problems need to be solved. See slide 11-services. But perhaps more importantly, issues of terminology and policy need to be sorted out as well.
  3. The ODMG standardization effort aims at introducing object persistence as an extension to object-oriented languages, within a unified type system. See slide 11-ODMG. The ODMG standard is intended to be compatible with the OMG standard. The object interface description language ODL may be regarded as an extension of IDL.
  4. See slide sli-11-events for a discussion of the role of events in analysis, design and implementation. Clearly, objects and events are in a way complementary entities. Complementary, in the sense that events may be said to occur to objects, whereas objects may be regarded as being susceptible to events. On the other hand, events may be regarded as objects themselves.
  5. The main problem of library design is to arrive at a simple, comprehensible class structure, offering the functionality needed in an easy to use manner. Backward compatibility is a difficult issue. Annotating methods that are outdated as obsolete seems to be a reasonable compromise. See slide 11-obsolete.
  6. See slide sli-11-naming for the conventions used in the Eiffel libraries. Just think of something to rationalize your own approach.
  7. What we need are tools for archiving and retrieval. One can think of an object repository for storing objects and annotations to allow for the retrieval of objects by index attributes. One of the unsolved problems, still, is what indexes or annotations need to be provided. A promising technology for retrieval from software repositories is offered by hypermedia.
  8. An overview of development methods is given in slide sli-11-methods. More details for a selected number of methods can be found in slide sli-11-compar-1 Some methods, such as OMT and CRC, primarily cover analysis. But most methods also cover design. The Booch method offers numerous diagram techniques, which also apply to the implementation phase.
  9. See slide sli-11-fusion for an overview of the Fusion method. Characteristic for the Fusion method is that it offers a systematic approach to the process of software development.
  10. See slide 11-compar-2.
  11. See slide 11-lib-criteria. Often cost factors will be an important criterion. A criterion easily overlooked is adherence to (emerging) standards.
  12. What may be regarded as the minimal functionality for these libraries is listed in slides sli-11-lib-structures, sli-11-lib-mathematics and sli-11-lib-GUI. If you find these lacking, add the functionality that you consider essential.