The UML Profile for Framework Architectures

7.1 The cluster cycle process model of framework development and adaptation

Object-oriented development techniques rely on the same activities as those described in conventional process models that is, analysis, specification, design, implementation, test, and maintenance. Unfortunately, methods such as the Unified Process (Jacobson et al. 1999) suggest slightly different but synonymous terms. In the following material, note that we deliberately use references dating back more than a decade to corroborate that the coarse-grained characteristics of reuse-centered development have been well known for some years.

Classical software development strategies do not focus on the reusability of software components. Meyer (1989) remarks that 'object-orientedness is not just a programming style but the implementation of a certain view of what software should be this view implies profound rethinking of the software process.' Thus, Meyer discerns two views or cultures:

The object-oriented, long term view implies a new activity in the software lifecycle, called generalization, and a modification of the specification activity:

Which process model captures the framework development and adaptation process? Though the answer to that question is controversial, we have found that the cluster model Meyer (1990) coined the term in the early 1990s describes the flavor of the process quite well on a coarse-grained level (see Figure 7.1). A cluster, in this context, is a group of related classes and/or interfaces. The design, development and adaptation of classes/interfaces belonging to one cluster constitutes one lifecycle. Note that the model also comprises the adaptation process of a framework. The following changes to the usual arrangement of the activities in the software lifecycle become necessary in this model.

Figure 7.1. Cluster model of the software lifecycle (adapted from Meyer, 1990)

Regarding the sequencing of the cluster lifecycle, we recommend working first on the most general clusters (providing some utility features) and then proceeding to those that are application specific. The following sections discuss that aspect in more detail. The case study illustrates how the clusters manifest in a sample framework.

Категории