Presentation is loading. Please wait.

Presentation is loading. Please wait.

Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.

Similar presentations


Presentation on theme: "Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24."— Presentation transcript:

1 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24

2 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville2 Topics covered Software Quality management Process of quality assurance Quality reviews Software standards Software metrics Product quality metrics

3 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville3 Software quality management Concerned with ensuring that the required level of quality is achieved in a software product Involves defining appropriate quality standards and procedures and ensuring that these are followed Should aim to develop a ‘quality culture’ where quality is seen as everyone’s responsibility

4 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville4 What is quality? In its simple understanding, Quality means that a product should meet its specification This is problematical for software systems Tension between customer quality requirements (efficiency, reliability, etc.) and developer quality requirements (maintainability, reusability, etc.) Some quality requirements are difficult to specify in an unambiguous way Software specifications are usually incomplete and often inconsistent

5 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville5 Software quality attributes

6 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville6 Quality management activities Quality assurance Establish organizational procedures and standards for quality Quality planning Select applicable procedures and standards for a particular project and modify these as required Quality control Ensure that procedures and standards are followed by the software development team

7 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville7 ISO 9000 ISO 9000 is an iinternational set of standards for quality management in all industries … Applicable to a range of organizations from manufacturing to service industries… Each country has its own version… ISO 9001 applicable to organizations which design, develop and maintain products… It is a generic model of the quality process… Must be instantiated for each organization… ISO 9000-3 interprets ISO 9000 for software engineering…

8 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville8 ISO 9000 certification Quality standards and procedures should be documented in an organizational quality manual External body may certify that an organisation’s quality manual conforms to ISO 9000 standards Customers are, increasingly, demanding that suppliers are ISO 9000 certified

9 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville9 ISO 9000 and quality management

10 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville10 The quality of a developed product is influenced by the quality of the production process Particularly important in software development as some product quality attributes are hard to assess However, there is a very complex and poorly understood relation between software processes and product quality… Process quality assurance

11 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville11 Quality reviews The principal method of validating the quality of a process or of a product Group examined part or all of a process or system and its documentation to find potential problems There are different types of review with different objectives Inspections for defect removal (product) Reviews for progress assessment (product and process) Quality reviews (product and standards)

12 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville12 Quality reviews Objective is the discovery of system defects and inconsistencies Any documents produced in the process may be reviewed Review teams should be relatively small and reviews should be fairly short Review should be recorded and records maintained

13 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville13 Comments made during the review should be documented and classified: No action. No change to the software or documentation is required. Refer for repair. Designer or programmer should correct an identified fault. Reconsider overall design. The problem identified in the review impacts other parts of the design. Some overall judgement must be made about the most cost-effective way of solving the problem. Review results

14 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville14 Key to effective quality management May be international, national, organizational or project Product standards define characteristics that all components should exhibit e.g. a common programming style Process standards define how the software process should be conducted Software standards

15 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville15 Encapsulation of best practice. Avoids repetition of past mistakes Framework for QA process - it involves checking standard compliance Provide continuity. New staff can understand the organisation by understand the standards applied Importance of standards

16 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville16 Problems with standards Not seen as relevant and up-to-date by software engineers Involve too much bureaucratic form filling Unsupported by software tools and manual work is involved to maintain standards

17 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville17 Involve practitioners in development Engineers should understand the rationale underlying a standard Review standards and their usage regularly. Standards can quickly become outdated and this reduces their credibility amongst practitioners Detailed standards should have associated tool support. Excessive clerical work is the most significant complaint against standards Standards development

18 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville18 Any type of measurement which relates to a software system, process or related documentation Lines of code in a program, number of person-days required to develop a component, the number of errors per module… Allow the software and the software process to be quantified Measures of the software process or product Should be captured automatically if possible Software metrics

19 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville19 A software property can be measured It is difficult to relate what can be measured to desirable quality attributes There is a relationship between what we can measure and what we want to know This relationship has been formalized and validated Metrics assumptions

20 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville20 Internal and external attributes

21 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville21 Design Metrics Cohesion How closely are the parts of a component related Coupling How independent is a component Understandability How easy is it to understand a component’s function Adaptability How easy is to change a component

22 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville22 The whole area is still a research area rather than practically applicable. Validation of quality metrics

23 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville23 Programs quality metrics Design metrics also applicable to programs Other metrics include Length. The size of the program source code Cyclomatic complexity. The complexity of program control Length of identifiers Depth of conditional nesting Anomalous metric values suggest a component may contain an above average number of defects or may be difficult to understand

24 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville24 Common Metrics for programs Length of code is simple but experiments have suggested it is a good predictor of problems Cyclomatic complexity can be misleading Long names should increase program understandability Deeply nested conditionals are hard to understand. May be a contributor to an understandability index

25 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville25 Metrics still have a limited value and are not widely collected Relationships between what we can measure and what we want to know are not well- understood Lack of commonality across software process between organizations makes universal metrics difficult to develop Problems with Metrics

26 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville26 Key points Software quality management is concerned with ensuring that software meets its required standards Quality assurance procedures should be documented in an organisational quality manual A project quality plan should identify project- specific quality requirements Software standards are an encapsulation of best practice

27 Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville27 Key points Reviews are the principal means of implementing quality assurance Metrics gather information about both process and product Control metrics provide management information about the software project. Predictor metrics allow product attributes to be estimated Quality metrics should be used to identify potentially problematical components


Download ppt "Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24."

Similar presentations


Ads by Google