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.

and finding errors before proceeding to implement them. Prototyping offers one suchapproach, although there are some possible side-effects to this approach that canreduce its cost-effectiveness.Another economic issue that needs to be considered is the cost of making changesto a system. Most software-based systems evolve with time, undergoing enhancementsand changes as the needs of the users alter, the environment alters, and faults in performanceare identified. Lientz and Swanson (1980) studied the types of softwaremaintenance activity that occur in practice, and identified three main forms.1. Perfective maintenance is concerned with extending and improving a system once itis operational, typically by providing new forms of functionality requested by users.2. Adaptive maintenance is performed in order to meet needs for change that areimposed from outside (examples of these might be changes in legislation affectinga financial package, change of operating systems, or any similar type of change thatarises from external factors).3. Corrective maintenance is performed to fix any ‘bugs’ that may be detected in theoperational system.57The longer termIn practice, the first of these is generally dominant, and it has been estimated thataround 65 per cent of all maintenance work falls into this category.This reinforces the earlier point that the structure of a system should allow it to bemodified fairly easily, so that it can be adapted to cope with likely changes (or, at least,with perfective and adaptive changes; it would be difficult to make much usefulallowance for likely corrective changes!). This is a principle that has been common inmany other branches of engineering for a long time. (Examples of the design of componentsundergoing frequent revision can often be found in the design of cars and electronicgoods.) As already observed, such practices may create constraints that limit the‘solution space’ available to the designer, so increasing the initial cost while decreasingthe long-term cost. Unfortunately, the way in which most organizations budget forsoftware production is too short term for such practices to be adopted as effectively asmight be desired.3.5 The longer termMost of our discussion so far has been centred upon the notion that the design processis completed once it has delivered some form of plan that can be used for developing aproduct. However, as the preceding sections of this chapter have indicated, once created,the form of the product may itself then need to evolve and change over time.Of course, this concept is familiar enough when applied to manufactured itemssuch as motor cars, washing-machines, cameras, etc. For a given model of car, the generalcharacteristics might not change greatly from year to year, but the manufacturerwill almost certainly introduce annual changes to styling, features, choices. As theseaccumulate over a number of years, the result is that the appearance and form of thecurrent version of a given model may be very different to those of the same modelwhen it was first launched on to the market.

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

Saved successfully!

Ooh no, something went wrong!