tailieunhanh - Lecture Software engineering (7/e): Chapter 22 – Ian Sommerville

The goals of this chapter are: To introduce software verification and validation and to discuss the distinction between them, to describe the program inspection process and its role in V & V, to explain static analysis as a verification technique, to describe the Cleanroom software development process. | Verification and Validation Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To explain static analysis as a verification technique To describe the Cleanroom software development process Topics covered Verification and validation planning Software inspections Automated static analysis Cleanroom software development Verification: "Are we building the product right”. The software should conform to its specification. Validation: "Are we building the right product”. The software should do what the user really requires. Verification vs validation Is a whole life-cycle process - V & V must be applied at each stage in the software process. Has two principal objectives The discovery of defects in a system; The assessment of whether or not the system is useful and useable in an operational situation. The V & V process V& V goals Verification and validation should . | Verification and Validation Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To explain static analysis as a verification technique To describe the Cleanroom software development process Topics covered Verification and validation planning Software inspections Automated static analysis Cleanroom software development Verification: "Are we building the product right”. The software should conform to its specification. Validation: "Are we building the right product”. The software should do what the user really requires. Verification vs validation Is a whole life-cycle process - V & V must be applied at each stage in the software process. Has two principal objectives The discovery of defects in a system; The assessment of whether or not the system is useful and useable in an operational situation. The V & V process V& V goals Verification and validation should establish confidence that the software is fit for purpose. This does NOT mean completely free of defects. Rather, it must be good enough for its intended use and the type of use will determine the degree of confidence that is needed. V & V confidence Depends on system’s purpose, user expectations and marketing environment Software function The level of confidence depends on how critical the software is to an organisation. User expectations Users may have low expectations of certain kinds of software. Marketing environment Getting a product to market early may be more important than finding defects in the program. Software inspections. Concerned with analysis of the static system representation to discover problems (static verification) May be supplement by tool-based document and code analysis Software testing. Concerned with exercising and observing product behaviour (dynamic verification) The system is executed with test data and its operational behaviour is observed Static and dynamic .