Achieving Quality Software

Including Its Application to Safety-Related Systems

  • David J. Smith

Table of contents

  1. Front Matter
    Pages i-xiii
  2. The Background to Software Engineering and Quality

    1. Front Matter
      Pages 1-1
    2. David J. Smith
      Pages 3-8
    3. David J. Smith
      Pages 9-18
    4. David J. Smith
      Pages 19-25
  3. Guidance, Legislation and Liability

    1. Front Matter
      Pages 27-27
    2. David J. Smith
      Pages 29-37
    3. David J. Smith
      Pages 38-58
    4. David J. Smith
      Pages 59-65
  4. Achieving Software Quality

    1. Front Matter
      Pages 67-67
    2. David J. Smith
      Pages 69-89
    3. David J. Smith
      Pages 90-102
    4. David J. Smith
      Pages 103-111
    5. David J. Smith
      Pages 112-122
    6. David J. Smith
      Pages 123-144
    7. David J. Smith
      Pages 145-163
    8. David J. Smith
      Pages 164-176
  5. Management Issues

    1. Front Matter
      Pages 177-177
    2. David J. Smith
      Pages 179-191
    3. David J. Smith
      Pages 192-205
  6. Case Study

    1. Front Matter
      Pages 207-207
  7. Back Matter
    Pages 257-287

About this book


The rapid growth in use of programmable technology, in nearly all sectors of Engineering, is a well-known established trend and one which there is every reason to believe will continue into the foreseeable future. The drivers of this trend include cost, flexibility, rich functionality and certain reliability and safety advantages. However, as explained in this book, these advantages have to be carefully weighed against a number of dis­ advantages which, amongst other things, have fundamental implications for reliability and safety. Ideally, a programmable system would be viewed as a fusion of hardware, software and user (or 'skinware'), operating under a set of environmental conditions. To date, such a unifying model does not exist and so hardware, software and human factors are still considered largely as three separate disciplines, albeit with certain interdependencies. Established techniques are available which enable the engineer to develop systems comprising purely hardware components to a prescribed reliability and performance. Software, however, is fundamentally different in a number of ways, and does not lend itself to equivalent analysis. A major problem with software is its poor 'visibility', and consequently the great difficulty in understanding and predicting its behaviour in all cir­ cumstances. This results in the ever-present software design flaws, or 'bugs', which have plagued the software industry from its beginnings.


design documentation formal methods hardware design language management modeling organization programming quality reliability software software engineering standards

Authors and affiliations

  • David J. Smith
    • 1
  1. 1.TonbridgeUK

Bibliographic information

Industry Sectors
Materials & Steel
Chemical Manufacturing
Consumer Packaged Goods
Energy, Utilities & Environment
Oil, Gas & Geosciences