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.

Summary439This chapter has only skimmed the surface of a large and technically complex topic, and one thatis still an area for research. However, it should have provided sufficient detail to give the readeran appreciation of why some familiarity with the strengths and limitations of formal methods isan important part of the software designer’s repertoire. There are times when a more rigorousapproach to specification of behaviour, or of component structures, is needed, and it is importantto appreciate that there are techniques that can provide support when this arises.ExercisesWhat does emerge from the material covered in this chapter is that formal descriptions can providea very powerful aid to developing a design, especially when issues such as consistency andverification are considered. However, the design techniques needed for the derivation of a formalspecification (as opposed to the mathematical techniques) are much less well developed. Thisleaves open the question of when to make use of these techniques and on what scale. There isrelatively little documented use of formal methods for the development of very large systems and,indeed, this may not be the best way of making use of their strengths. There is evidence ofincreasing use for the development of high-integrity systems – or at least, of those parts of a largesystem that may require high integrity (including those often termed ‘safety-critical’). It is herethat we may well find that these techniques can make their largest contribution.Further readingHall A. (1990). Seven myths of formal methods. IEEE <strong>Software</strong>, 7(5), 11–19A highly-acclaimed paper written by an industrial practitioner and providing a refreshinglyunbiased appraisal of what such approaches can provide, and where their limitations lie.Bowen J.P. and Hinchey M.G. (1995). Ten commandments of formal methods. IEEE Computer,28(4), 56–63A very practical set of guidelines for the successful use of formal methods in practical projects,distilled from observations of their use in projects.Currie E. (1999). The Essence of Z. Prentice HallA slim and readable volume on the basics of Z, beginning with a helpful tutorial on the mathematicalunderpinnings. The emphasis of the book is on the use of Z for specification and modellingof systems.Exercises18.1 For the example of the simple reservation system used in Section 18.2.1, createspecifications for the following operations:(a) CancelSeat (the opposite action to ReserveSeat )(b) AvailableSeats (an operation which returns the number of unreserved seats)

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

Saved successfully!

Ooh no, something went wrong!