13.07.2015 Views

Software Design 2e - DIM

Software Design 2e - DIM

Software Design 2e - DIM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

208<strong>Design</strong> processes and design strategiesFigure 9.9 The compositional design strategy. An important feature is the design of theinterfaces between the elements of the model.nature of the entities used in the model will vary with the method, as will the viewpointschosen for describing them. Figure 9.9 shows a schematic view of this strategy.In a method that uses a compositional strategy, such as JSD (Chapter 15), and the‘object-oriented’ approaches (Chapter 16), the relevant entities are normally identifiedby analysing an initial description of the problem. A complete and detailed model ofthe solution is then developed by elaborating the descriptions of the entities and theinteractions occurring between them. While the type and form of entity and interactionmay differ considerably (as indeed they do in the two examples cited above),the overall strategy of composing the design model by grouping elements together isthe same.We can again model these processes using the D-Matrix, but now the process ismore likely to be one of grouping columns of the matrix to create new abstractions, aswell as elaborating more complex combinations of viewpoints. Indeed, as we will seewhen we come to examine methods that employ such models, the philosophy behindthis strategy tends to result in design processes that are largely sequences of elaborationsteps, with any transformations being essentially ‘spread out’ across a number ofsteps, rather than forming explicit steps in the process.JSP (Chapter 14) is another design method that can be regarded as using a compositionalstrategy. In the case of JSP, however, the model of the problem is created usinga data-modelling viewpoint, by assembling a set of descriptions of the structures of theinput and output data streams. While these are rather less concrete forms of entity thanthose used in the two methods referred to above, the basic strategy involved in thedesign process is still a compositional one.It is reasonable to consider the process of using a compositional strategy as ratherless directly intuitive than the top-down strategy (Vessey and Conger, 1994). However,it can also be argued that this ‘intuition’ is partly a matter of familiarity, sinceprogrammers are generally more experienced with function-oriented (imperative)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!