iisc - proficience - sqam - module 1

Upload: vijayasekar

Post on 30-May-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    1/27

    SQAM Course, Proficience, IISc 1

    Module 1Module 1

    Introduction to SoftwareIntroduction to SoftwareQualityQuality

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    2/27

    SQAM Course, Proficience, IISc 2

    Different Views on QualityDifferent Views on Quality

    Hard to define, Impossible to measure and Easy torecognize

    Transparent when present, but easily recognized inabsence

    Quality is not absolute

    Quality is multidimensional

    Quality is subject to constraintsQuality is about acceptable compromises

    Quality Criteria are not independent, but interactwith each other

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    3/27

    SQAM Course, Proficience, IISc 3

    Garvins Five Definitions ofGarvins Five Definitions of

    QualityQuality Transcendent Definition (Relative Quality): Quality is universally

    recognizable; it is related to a comparison of features andcharacteristics of products.

    Product-Based: Quality is a precise and measurable variable.Differences in quality reflect differences in quantity of some productattribute.

    User-Based Definition: Quality is fitness for intended use.

    Manufacturing-Based Definition: Quality is conformance tospecifications.

    Value-Based Definition: Quality is defined in terms of costs andprices. A quality product is one that provides performance at anacceptable price or conformance at an acceptable costs.

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    4/27

    SQAM Course, Proficience, IISc 4

    Quality Revolution or Quality Confusion?Quality Revolution or Quality Confusion?

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    5/27

    SQAM Course, Proficience, IISc 5

    Poor Quality Practice Results inPoor Quality Practice Results in

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    6/27

    SQAM Course, Proficience, IISc 6

    Some Definitions..Some Definitions..

    ISO: The totality of features and

    characteristics of a product or service that

    bear on its ability to satisfy specified orimplied needs

    Fruhauf (1994): Quality is when the customer

    comes back, not the product

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    7/27

    SQAM Course, Proficience, IISc 7

    Software QualitySoftware QualityThe degree to which a software product posses a

    specified set of attributes necessary to fulfill astated purpose(Reifer,1985)

    Conformance to customer expectations (StephenKan,1995)

    Software product must provide functions of a typeand at a time when the user needs them. If it does

    not, nothing else matters. The product must workconsistently and reasonably, without which theuser will not use it regardless of its other bestattributes.( Watts Humprey, 1995)

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    8/27

    SQAM Course, Proficience, IISc 8

    GE Model (McCall,1977)GE Model (McCall,1977)

    Product Revision:

    2. Maintainability

    3. Flexibility

    4. Testability

    Product Transition:

    2. Portability

    3. Reusability

    4. Interoperability

    Product Operations:

    2. Correctness

    3. Reliability

    4. Efficiency

    5. Integrity

    6. Usability

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    9/27

    SQAM Course, Proficience, IISc 9

    Software Quality FactorsSoftware Quality Factors

    Product Operations

    Correctness Extent to which a program satisfies its

    specification and fulfills the users

    functional requirements

    Does it do what I want?

    Reliability Extent to which a program can beexpected to perform its intended

    functions with required precision

    Does it behave properly all the time?

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    10/27

    SQAM Course, Proficience, IISc 10

    Product Operations (continued)Efficiency The amount of computing resources

    required by a program to perform its functions

    Will it run fast?Integrity Extent to which access to software or data

    by unauthorized persons can be controlled

    Is it secure?

    Usability Effort required to learn, operate, prepareinput, and interpret output of a program

    Can I run it easily?

    Software Quality FactorsSoftware Quality Factors

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    11/27

    SQAM Course, Proficience, IISc 11

    Product RevisionMaintainability Effort required to locate and fix

    an error in an operational program

    Can I fix it?Testability Effort required to test a program

    to ensure it performs its intended

    functions

    Can I test it?Flexibility Effort required to modify an

    operational program

    Can I change it?

    Software Quality FactorsSoftware Quality Factors

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    12/27

    SQAM Course, Proficience, IISc 12

    Product Transition

    Portability Effort required to transfer an program from one

    hardware configuration or software system

    environment to another

    Can it run on another machine?

    Reusability Effort to which a program can be used in other

    applications

    Can I reuse part of the software?Interoperability Effort required to couple one system with another

    Can it interface with another system?

    Software Quality FactorsSoftware Quality Factors

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    13/27

    SQAM Course, Proficience, IISc 13

    Interaction between quality parametersInteraction between quality parameters

    oXooooooooUser friendliness

    oooCost/BenefitoooXoooooXoUser flexibility

    oAppeal

    XoXoooXXXooTime to use

    XXXXXXXXXXXXoXTimeliness

    oooooXooooAccuracy

    oooooXoooooooUser Consultation

    XooooXoooooXoPortability

    oooooXXXooEase of Interfacing

    XoXoXXooooooXoFlexibility

    ooooXXooooooXoUnderstandability

    XoXooXXXoXSecurity

    oXooXXXoXIntegrity

    XoXXXoXXXXXXXoEfficiency

    oooooooooooooReliability

    OCUATTAUPEIFUSIERCriteria

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    14/27

    SQAM Course, Proficience, IISc 14

    Process and product qualityProcess and product quality

    The quality of a developed product is influenced

    by the quality of the production process.

    This is important in software development as some

    product quality attributes are hard to assess.However, there is a very complex and poorly

    understood relationship between software

    processes and product quality.

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    15/27

    SQAM Course, Proficience, IISc 15

    Software Quality AssuranceSoftware Quality Assurance

    Activity of providing to all concerned the

    evidence needed to establish confidence that the

    quality function is being performed adequately(Juran,1995)

    Quality Assurance is a planned and systematic

    pattern of all actions necessary to provide

    adequate confidence that an item or productconforms to established technical requirements

    (IEEE,1990)

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    16/27

    SQAM Course, Proficience, IISc 16

    Software Quality Assurance ActivitiesSoftware Quality Assurance Activities

    Monitoringprocesses andproducts throughout thesoftware development lifecycle to ensure the quality of thedelivered product(s)

    Monitoring the processes

    Provides management with objective feedbackregarding process compliance to approved plans,procedures, standards, and analyses

    Monitoring the products Focus on the quality of product within each phase of

    the SDLC e.g., requirements, test plan, architecture, etc.

    Objective: identify and remove defects throughout thelifecycle, as early as possible

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    17/27

    SQAM Course, Proficience, IISc 17

    Process AssessmentProcess Assessment

    Use of standards and process models has a positive impact onthe quality of the software product

    Disciplined, controlled development process

    Examples include:

    ISO 9001 CMMI

    CMU SEI, 5 levels

    SPICE

    Developing a standard for software process assessment

    ISO joint committee, Europe, Australia

    IEEE 12207

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    18/27

    SQAM Course, Proficience, IISc 18

    Product AssessmentProduct Assessment

    Reviews, inspections, walkthroughs, reports, standards

    Requirements, analysis, architecture, detailed design

    model, test cases

    Issue or problem reports

    Metric reports

    Traceability reports

    Documentation, coding standards

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    19/27

    SQAM Course, Proficience, IISc 19

    Microsoft ViewMicrosoft View Have you identified important quality characteristics to

    your project?

    Have you made others aware of projects qualityobjectives?

    Have you differentiated between External an Internalquality characteristics?

    Do you use different error detection techniques?

    Do you have a plan to assure quality at each stage ofsoftware development?

    Is quality measured to say whether it is improving anddegrading?

    (Jim McCarthy, Microsoft Press, 1995)

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    20/27

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    21/27

    SQAM Course, Proficience, IISc 21

    Software Quality ControlSoftware Quality Control

    Involves series of inspections, reviews and

    tests used throughout the software process.

    Measurement and feedback loop is

    important

    Activities can be completely automated,

    entirely manual or combination of both.

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    22/27

    SQAM Course, Proficience, IISc 22

    Verification and ValidationVerification and Validation

    Verification is the process of evaluating a system

    to determine whether the products of a given

    development phase satisfy the conditions imposedat the start of that phase.

    Validation is the process of evaluating a system or

    component during or at the end of development

    process to determine whether it satisfies specifiedrequirements

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    23/27

    SQAM Course, Proficience, IISc 23

    Software quality managementSoftware quality managementConcerned 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 arefollowed.

    Should aim to develop a quality culture where

    quality is seen as everyones responsibility.

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    24/27

    SQAM Course, Proficience, IISc 24

    Define process standards such as how reviewsshould be conducted, configurationmanagement, etc.

    Monitor the development process to ensurethat standards are being followed.

    Report on the process to project management andsoftware procurer.

    Dont use inappropriate practices simply becausestandards have been established.

    Practical process qualityPractical process quality

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    25/27

    SQAM Course, Proficience, IISc 25

    Typical SQA Role in the organizationTypical SQA Role in the organization

    Responsibility for SQA planning, oversight,recording, analysis and reporting.

    Prepare an SQA plan for a project

    Participate in the development of projects processdescription

    Reviews Software Engineering activities to verifycompliance with defined software process

    Audits the designated software work productsEnsures deviations are recorded and closed

    Reports to Senior Management

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    26/27

    SQAM Course, Proficience, IISc 26

  • 8/14/2019 IISc - Proficience - SQAM - Module 1

    27/27

    SQAM Course, Proficience, IISc 27

    Case AnalysisCase Analysis

    Compare ISO 9126 and ISO 12207

    How they are related?

    To be presented in the next class

    Thank you