13.07.2015 Views

Software Design 2e - DIM

Software Design 2e - DIM

Software Design 2e - DIM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

112Transferring design knowledgethe key issues very elegantly and in a concise manner. The authors also argue that theconcept of architecture can have an impact upon at least the following five aspects ofsoftware development.nnnnnUnderstanding. This stems from the way that architectural concepts provide anabstract vocabulary that aids understanding of a system’s high-level design.Reuse. This partly relates to the idea of the component, which we will be examiningin Chapter 17.Evolution. Garlan and Perry argue that ‘software architecture can expose thedimensions along which a system is expected to evolve’. As such, therefore, it providesa guide to the ideas and aims of the originators, for use by those entrustedwith its later maintenance and change.Analysis. Here an architectural style offers a framework that can provide the basisfor checking various features of a design (including its conformance to the style!).Management. The arguments here are largely concerned with the role of architectureas an aid to planning and, in particular, of planning for change.Some of these are issues that we have already encountered in the discussions of earlierchapters, and all of them are issues that we will return to in later ones.Various authors have suggested some ways in which we might classify architecturalstyles so that these can be used to describe software systems. We now go on toreview some of these, in order to illustrate some of the points made in this sub-section.6.2.2 Classifying architectural stylesFor the concept of an architectural style to be of use to us, we need to be able to providea specification of its characteristics in some way. Not unreasonably, since a styledescribes ‘a family of instances’, we might also expect that the notation we use todescribe the architectural form of individual systems should also be suitable fordescribing the more general concept of an architectural style too.In Perry and Wolf (1992), the authors proposed an initial classification scheme inthe form of:<strong>Software</strong> Architecture = {Elements, Form, Rationale}through which an architecture (and hence a style) could be considered as being definedby a set of (design) elements that have a particular form. The particular elements thatthey identified were:nnnprocessing elementsdata elementsconnecting elementswhere the connecting elements could also be processing or data elements. (Examplesof connecting elements include such mechanisms as procedure calls, messages, shareddata repositories, etc.). Form was then described as a set of ‘weighted properties andrelationships’, which constrains the choice of elements and how they can be used.

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

Saved successfully!

Ooh no, something went wrong!