- 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.
- 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.
- 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.
- 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.
- 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].
- See slide
[sli-11-naming]
for the conventions used in the Eiffel
libraries.
Just think of something to rationalize
your own approach.
- 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.
- 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.
- 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.
- See slide
[11-compar-2].
- See slide
[11-lib-criteria].
Often cost factors will be an important
criterion.
A criterion easily overlooked
is adherence to (emerging) standards.
- 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.