01 - Software Quality

Embed Size (px)

Citation preview

  • 8/12/2019 01 - Software Quality

    1/23

    SOFTWARE QUALITY

  • 8/12/2019 01 - Software Quality

    2/23

    CHOOSE A CELLPHONENokia 7210 MyPhone T52

    P5, 500 P5, 200

  • 8/12/2019 01 - Software Quality

    3/23

    COMPARISON

    Nokia 7210 MyPhone T52

    Weight 69.8g 81g

    Size 10 x 45 x 10.6mm 10 x 47 x 14 mm Features

    Music player Yes Yes

    Memory 2GB Transflash

    FM Radio Yes Yes

  • 8/12/2019 01 - Software Quality

    4/23

    Group Discussion

    Which cellphone would you choose?

    Why?

  • 8/12/2019 01 - Software Quality

    5/23

    History of Quality Started with craftsmen building unions or guilds in late

    13thcentury

    Rise of the factory system started in UK in 1750s andgrew during Industrial Revolution in mid 1750s World War II - quality became an important component Quality Revolution in Japan with inputs from

    Americans Joseph Juran and W. Edwards Deming

    1970s high quality Japanese products in Americanmarket

    TQM (Total Quality Management) as a response

  • 8/12/2019 01 - Software Quality

    6/23

    What is Quality?

    Five Different Quality Views (David Garin)

    Transcendental something that can berecognized but not defined

    User fitness for purpose

    Manufacturing conformance to specifications

    Product inherent characteristics of the product Value dependent on the amount a customer iswilling to pay for it

  • 8/12/2019 01 - Software Quality

    7/23

    What is Quality?

    The degree to which a system, component, orprocess meets (1) specified requirements, and(2) customer or user needs or expectations

    (IEEE Standard Glossary of Software Engineering Terminoloy)

  • 8/12/2019 01 - Software Quality

    8/23

    Nature of Quality

    Myths

    Quality is defined by the producer, not thecustomer

    Quality relates only to the final product

    Software development is the biggest contributor todefects

    Improving quality always costs more money

    Quality is the responsibility of the QualityAssurance Department

  • 8/12/2019 01 - Software Quality

    9/23

    Nature of Quality

    Real Story The customer (user) defines quality

    Quality is determined by every process, supportfunction and subproduct

    Software defects are traceable to the reqts as amajor contributor, and can occur during any life

    cycle phases Improving quality will result in a lower life cycle

    cost Quality is everyones job, on every task they

    perform

  • 8/12/2019 01 - Software Quality

    10/23

    Why Quality?

    "Quality is free. Its not a gift, but its free. Theunquality things are what cost money." --

    Philip B. Crosby

  • 8/12/2019 01 - Software Quality

    11/23

    Why Quality?

    Productivity and Economic

    IT spending is expected to hit $2 trillion in 2013

    (Gartner) IT has contributed approx $50 billion in productivity

    output (Information Week)

    IT errors can also contribute to loss, estimated at $60

    billion annually in economic losses

  • 8/12/2019 01 - Software Quality

    12/23

    Why is There a Cost to SoftwareQuality?

    Rooted in the requirement to assure that thedeveloped product meets the approvedspecifications

  • 8/12/2019 01 - Software Quality

    13/23

    Why is There a Cost to SoftwareQuality? Nature and size of investment determined by:

    Requirements imposed by the buyer

    Kind of technologies used

    Kind of product being developed

    Internal development environment

    Project budget Degree of incorporating repeatable processes and

    measures in everyday practices

    Domain knowledge possessed by development

  • 8/12/2019 01 - Software Quality

    14/23

    What is Software Quality?

    composite of all attributes which describe thedegree of excellence of the computer system

    (Fisher and Light)

    the degree to which a software productpossesses a specified set of attributes necessary

    to fulfill a stated purpose (Donald Reifer) Software quality is the fitness for use ofthe software product

  • 8/12/2019 01 - Software Quality

    15/23

    Software Quality Assurance planned and systematic pattern of all actions

    necessary to provide adequate confidence that

    an item or product conforms to establishedtechnical requirements

    What does this mean?

    Provide an independent review of developmentprocess (products and process)

    Check for conformance to standards Reduce the costs of correcting defects

  • 8/12/2019 01 - Software Quality

    16/23

    Software Quality Control

    independent evaluation of the ability of thesoftware process to produce a usable software

    product

  • 8/12/2019 01 - Software Quality

    17/23

    Software Maintainability 60 to 70% of software expense allocated to

    maintenance

    (1) use of conducting scheduled inspections andservicing, called serviceability, and (2) case ofrestoring service after failure called repairability(JM Juran)

    Perspective on maintainability:

    Corrective correction of faults uncovered in aprogram Adaptive response to a change in the programs

    operating circumstances Perfective enhancements of all kinds

  • 8/12/2019 01 - Software Quality

    18/23

    Software Maintanability

    process of modifying a software system orcomponent after delivery to correct faults,improve performance or other attribute, or

    adapt to a changed environment

  • 8/12/2019 01 - Software Quality

    19/23

    Verification and Validation

    Verification

    process of evaluating a system to determine

    whether the products of a given developmentphase satisfy the conditions imposed at the start ofthe phase (IEEE Standard Glossary)

    Validation

    process of evaluating a system to determinewhether it satisfies specified requirements (IEEE

    Standard Glossary)

  • 8/12/2019 01 - Software Quality

    20/23

  • 8/12/2019 01 - Software Quality

    21/23

    Test and Evaluation (T&E) Testing - process of operating a system or system

    component under specified conditions, observing

    or recording the results, and making an evaluationof some aspect of the system or component (IEEE)

    Evaluation to appraise, to judge the quality orworth of

    Testing and Evaluation:process of exercising complete programs to judge

    their quality through the fulfillment of specifiedrequirements

  • 8/12/2019 01 - Software Quality

    22/23

    Whats the Difference?

    Testing and Evaluation vs Verification andValidation

    V &V can be accomplished without testing thesoftware (but usually is not)

    V &V traceability of requirements

    Verification accomplished through tracing ofrequirements embodied in the design specificationsand code

    Validation accomplished through test closuretraceability

  • 8/12/2019 01 - Software Quality

    23/23

    Software Process Improvement

    deliberate, planned methodology followingstandardized documentation practices to capture

    on paper (and in practice) the activities,methods, practices and the associated products.As each activity, method practice andtransformation is documented, each is analyzedagainst the standard of value added to theorganization