SlideShare una empresa de Scribd logo
1 de 46
3/20/2012




                                                      Software Quality
                                                         Robert Hughes and
                                                             Mike Cotterell


                                                                                                           1
             Department of Computer Science , National Textile University Faisalabad-37610, Pakistan
            Office Phone: +92-41-9230081 Ext: 119 | Fax: +92 (41) 9230098 | email: cmn.faisal@ntu.edu.pk
Objective

             Explain the importance of software quality to software
              users and software developers
             Define the qualities of a good software
             Design methods for measuring the required qualities of
              software
             Monitor the quality of the processes in a software project
             Use external quality standards to ensure the quality of
              software acquired from an outside supplier
             Develop system using procedures that will increase their
              quality
3/20/2012




                                                                                  2
                                                         - Software Engineering
12.2 Introduction

            Quality is generally agreed to be a good thing. In a practice the quality of a system
            can be a vague, undefined, attribute. We therefore need to define precisely
            what qualities were require of a system. However, this is not enough – we need to
            objectively weather a system meet out quality requirements and this need
            measurement.
3/20/2012




                                                                                                 3
                                                                        - Software Engineering
12.2 Place of software quality in project
            management.


            Quality will be of concern at all stages of project planning and execution. But will
            be of particular interest at the following points in the step wise framework
3/20/2012




                                                                                                4
                                                                       - Software Engineering
Software Quality
                                  0. Select
                                   Project
               1. Identify                          2. Identify
              Project scope                           Project
              and objective                       Infrastructure


                                 3. Analyze
                                  project
                               characteristics



                                4. Identify the
                                 projects and
                                   activities



              10.Lower           5. Estimate
            Level Planning       efforts for
                                   activity


             9. Execute          6. Identify
                Plan            activity risk



             8. Review /         7. Allocate
            Publicize Plan       resources
3/20/2012




                                                                                            5
                                                                   - Software Engineering
1.   Identify Project Scope and objective: Some objective could relate to the
                 qualities of the application to be delivered.

            2.   Identify project infrastructure: Identify the installation standard and
                 procedures. Some of these almost certainly be about quality

            3.   Analyze project characteristics: To identify the other qualities based
                 requirement.

            4.   Identify the products and activities of the project: It is at this point the entry,
                 exist and process requirement are identified for each activity

            5.   Review and publicize Plan: At his stage the overall quality aspects of the
                 project plan are reviewed
3/20/2012




                                                                                                   6
                                                                          - Software Engineering
12.3 Importance of Software Quality

             We would expect quality to be concern of all procedures of goods and services.

             Increasing criticality of software: the end user of a software generally anxious
              about the quality of software especially about the reliability. They are concern
              about the safety because of their dependency on the software system such as
              aircraft control system are more safety critical systems

             The intangibility of software: This make it difficulty to know that a particular
              tasks in project has been completed satisfactory. The results of these tasks can be
              made tangible by demanding that the developer produce deliverables that can
              be examined for quality
3/20/2012




                                                                                                 7
                                                                        - Software Engineering
 Accumulating errors during software development:

            As computer system developed in made up of a number of steps where the output
            from one step is the input to the next, the error in the earlier deliverables will be
            added to those in the later steps leading to an accumulating determined effects. In
            general the later in a project that an error is found the more expensive it will be to
            fix. In addition because the number of errors in the system is unknown, the
            debugging phases of a project are particularly difficult to control


             12.4 Defining the software Quality: Quality is a rather vague
             term and we need to define carefully what we mean by it.

             A functional specification describing what the system is to do
             A quality specification concerned with how well the functions are to operate
             A resource specification concerned with how much in to be spent on the system
3/20/2012




                                                                                                 8
                                                                        - Software Engineering
Attempt to identify specific product qualities that are appropriate to software, for
            instance, grouped software qualities into three sets. Product operation qualities,
            Products revision qualities and product transition qualities.

            Product operation qualities

            Correctness: The extent to which a program satisfy its specification and fulfil user
            objective
            Reliability: The extent to which a program can be expected to perform its
            intended function with required precision
            Efficiency: The amounts of computer resource required by software
            Integrity: The extent to which access to software or data by unauthorized persons
            can be controlled
            Usability: The effort required to learn, operate, prepare input and interprets
            output
3/20/2012




                                                                                                9
                                                                       - Software Engineering
Product revision qualities

            Maintainability: the effort required to locate and fix an error in an operational
            program
            Testability: The effort required to test a program to ensure it performs its
            intended function
            Flexibility: The effort required to modify an operational program,
            Product Transition qualities
            Portability: The efforts required to transfer a program from one hardware
            configuration and or software system environment to another
            Reusability: The extent to which a program can be used in other applications.
            Interoperability: The efforts required to couple one system to another
3/20/2012




                                                                                            10
                                                             MGT-3071- Software Project Management
3/20/2012




                                     11
            - Software Engineering
During quality is not enough. If we are to judge whether a system meets out
            requirements we need to be able to measure its qualities. For each criterion, one
            or more measure have to be invented the degree to which the quality is present.
            In general the user of software would be concerned with measuring what McCall
            called quality factors while the developers would be concerned with quality
            criteria. The following should be laid down for each quality.

            Scale – the unit of measurement
            Test – the practical test of the extent to which the attribute quality exists
            Worst – the worst acceptable value
            Plan – the value that is planned to achieve
            Best – the best value that appears to be feasible
            Now – the values that applies currently
3/20/2012




                                                                                                  12
                                                                         - Software Engineering
12.5 ISO-9126:
              ISO 9126 standard was published in 1991 to tackle the question of the definition
             of software quality this 13 pages document was designed as foundation upon
             which further, more detailed standard could be built.
             ISO 9126 identifies six software quality characteristics

             Functionality: which covers the functions that a software product provides to
              satisfy user needs
             Reliability: Which relates to the capability of the software to maintain its level of
              performance
             Usability: Efforts need to use a software
             Efficiency: physical resource used when a software is executed
             Maintainability: Effort needed to the make changes to the software
             Portability: Availability of the software to be transferred to a different
              environment.
3/20/2012




                                                                                                 13
                                                                        - Software Engineering
Functionality: which covers the functions that a software product provides to
            satisfy user needs.

            Functionality sub characteristics: suitability, Accuracy, Interoperability,
            Compliance and Security.
            Compliance refers to the degree to which the software adheres to application-
            related standards or legal requirements. Typically these could be auditing
            requirement. Interoperability refers to the ability of software to interact with
            others.

            Reliability: Which relates to the capability of the software to maintain its level of
            performance

            Reliability sub characteristics: Maturity, Fault Tolerance and recoverability.
            Maturity refers to frequency of failures due to fault in software more
            identification of fault more chances to remove them. Recoverability describe the
            control of access to a system
3/20/2012




                                                                                                14
                                                                       - Software Engineering
Usability: Efforts need to use a software.
            Usability sub characteristics: Understand ability, Learnability, operability.

            Understand-ability is a clear quality to grasp, although the definition attributes
            that bear on the user efforts for recognizing the logical concept and its
            applicability in our view actually makes it less clear. Learnability has been
            distinguished from operability. A software tool might be easy to learn but time-
            consuming to use say it uses a large number of nested menus. This is for a
            package that is used only intermittently but not where the system is used or
            several hours each day by the end user. In this case learnability has been
            incorporated at the expense of operability.
3/20/2012




                                                                                                 15
                                                                        - Software Engineering
Efficiency: physical resource used when a software is executed
            Efficiency sub characteristics: Time behaviour, Resource behaviour.

            Maintainability: Effort needed to the make changes to the software
             Maintainability sub characteristics: Analysability, Changeability, Stability and
            Testability.

            Analysability is the quality that McCall called diagnose ability, the ease with which
            the cause of failure can be determined. Changeability is the quality that other
            have called flexibility: the latter name is perhaps a better one as changeability has
            a slightly different connotation in plain English It implies that the suppliers of the
            software are always changing it. Stability, on the other hand, does not means that
            the software never changes, It means that there is a low risk of a modification to
            the software having unexpected effects.
3/20/2012




                                                                                                16
                                                                       - Software Engineering
Portability: Availability of the software to be transferred to a different
            environment.

            Portability sub characteristics: Adaptability, Install ability , Conformance and
            Replace ability.

            Conformance is distinguished from compliance relates to those standard that
            have bearing on portability. The use of a standard programming language
            common to many software/hardware environment is an example of conformance.
            Replace ability refers to the factors that give upwards compatibility between old
            software components and the new ones. Downwards compatibility is specifically
            excluded from definition.
3/20/2012




                                                                                             17
                                                                    - Software Engineering
Quality Metrics selection: Measurements that correlate to the characteristics of
            each quality have to be identified. No specific guidance is given by ISO 9129
            standard on the applicability of the various measurements that might be used.

            Rating Level Definition: The metrics used must be mapped onto scales that
            indicate the degree to which the requirement have been satisfied for example in
            one application time behaviour in the sense of response time might be important
            for a key transaction actual response time might be mapped onto quality scale.
3/20/2012




                                                                                            18
                                                                   - Software Engineering
Assessment criteria definitions: The way that the quality scores are combined or
            summarized or give an overall view of the product has to be defined. There
            software product as now to be evaluated by measuring its qualities, converting
            them to quality score or rating and summarising them the rating to obtain an
            overall judgment.
3/20/2012




                                                                                            19
                                                                   - Software Engineering
Practical software quality measures : Below are some way of measuring
            particular qualities.

            Reliability: might be measure in terms of
            Availability: the percentage of a particular time interval that a system is usable.

            Means time between failures, the total service time divided by the number of
            failures

            Failure on demand: the probability that a system will not be available at the time
            required on the probability that a transaction will fail.

            Support activity: the number of fault reports that are dealt with
3/20/2012




                                                                                                20
                                                                       - Software Engineering
Maintainability: This is closely related to flexibility the ease with which the
            software can be modified. The main deference is that before an amendment can
            be made, the fault has to be diagnosed. Maintainability can therefore be seen as
            flexibility plus a new quality, diagnose ability which might be defined as the
            average amount of time needed to diagnose a fault.

            Extendibility: This is a component of the more general quality of flexibility. It can
            be defined as the productivity needed to incorporate a new feature into an
            existing system expressed as a percentage of the normal productivity when
            developing the software from scratch.
3/20/2012




                                                                                                21
                                                                       - Software Engineering
The original IOE maintenance billing system comprised 5000 SLOC and took 400
            works-days to implement. An amendment t the core system caused by the
            introduction of group accounts has lead to 100 SLOC being added which took 20
            works days to implements thus
3/20/2012




                                                                                          22
                                                                 - Software Engineering
12.7 Product Versus Process Quality Management
            The measurement describe above can be taken only after the system is
            operational. It might be too late to do anything to remedy problems. What would
            be more helpful to someone like Amanda the IOE would be measurement and
            other checks that can be take during development and that can help control what
            the final system will be like. The system development process in made up of a
            number of activities that are liked together so that the output from one activity is
            the input to the next step. Thus, program testing will depend on there being a
            program to test that will be the product of the program coding stage. Errors can
            enter the process at any stage. They can be introduced either because of a defect
            in the way a process is carried out as when programmers make mistakes in the
            logic of their programs or because information has not been passed clearly and
            unambiguously between stages.
3/20/2012




                                                                                                 23
                                                                        - Software Engineering
Errors that creep in at the early stages are more expensive to correct at late staves
            for the following reasons

            The later the error is found the more rework at more stages of development.
            The general tendency is for each successive stage of development to be more
            detailed and less able to absorb change.

            Error should therefore be eradicated by careful examination of the products of
            each stage before they are passed on to the next. The following process
            requirement should be specified for each activity.
3/20/2012




                                                                                                  24
                                                                         - Software Engineering
Entry requirement. Which have to be in place before an activity can start.
            Implementation requirement: Which define how the process is to be conducted.
            Exit Requirement. Which have to be fulfilled before an activity is deemed to have
            been completed.
3/20/2012




                                                                                               25
                                                                      - Software Engineering
12.8 External Standard (BS EN ISO 9001)
             Various national and international standards bodies including the British Standard
             Institution (BSI) in United Kingdom have Inevitably become involved in the
             creation of standards or quality management system. The British standard is now
             called BS EN ISO 9001:1994. Standards such as the ISO 9000 such as the ISO 9000
             series aim to ensure that a monitoring and control system to check quality is in
             place.
             An overview of BS EN ISO QMS Requirements
             In order for quality management system (QMS) to meet the standard it has to
             conform to certain requirement which are summarized below
             The Management must define and document the policy concerning quality and
              must ensure that this policy is communicated to all levels of the organization
3/20/2012




                                                                                                 26
                                                                        - Software Engineering
 All Quality control procedures must be documented
             All contract to supply goods or services must contain mutually agreed
              requirements that the developers is capable for delivering.
             There must be procedures to control and verify the design of the system to be
              supplied so that it meets the requirements agreed with customers.
             There must be procedures to approve design and other documentation.
             Where components of the system to be supplied to the clients are obtained from
              third parties there must be procedures to ensure check and maintain the quality
              of these components.
             Individuals products must be identifiable as should their components
3/20/2012




                                                                                               27
                                                                      - Software Engineering
 The process by which the final product is created must be planned and
              monitored
             Inspection and testing must take place during the development phase at its
              completion and before delivery. Tests and inspection must also be carried out on
              the component obtained from third parties
             The equipment used in the production process itself must be properly controlled
              with respect to quality
             The testing status of all components and system must be clearly recorded at all
              times
             Care must be take to ensure that items that are known to be defective or not in
              carelessly used.
             When a defect is detected, measures must be undertaken to remove the
              defective part and to ensure that the defect does not occur again
3/20/2012




                                                                                                28
                                                                       - Software Engineering
 Satisfactory procedure must be in place to details with correct handling storage,
              packaging and delivery of the products
             Sufficient records must be maintained to demonstrate that the quality system s
              working satisfactorily.
             The software quality management system must be audited on a regular basis
             Servicing and support activities must be subject to the quality management
              system
             The developers must establish appropriate statistical techniques to verify the
              acceptability of the final product.
3/20/2012




                                                                                                 29
                                                                        - Software Engineering
TickIT

             The ISO9000 standard refer to quality management system is general but in the
             united kingdom, The department of Trade and Industry (DTI) have formulated the
             TICKIT standard which give an interpretation of these standards and includes the
             followings requirements.
             A detailed development plan is required before development is embarked upon.
             Chang control procedures should be used at all stages of development
             Design reviews must take place.
             The suitability of the design methodology must the reviewed
             Progress must be reviewed on a systematic basis.
3/20/2012




                                                                                               30
                                                                      - Software Engineering
 It must be possible to trace back the features of the software design to
              specification and requirements.
             Designs must be properly documented
             Suitable test plans, specifications and records must be produced
             A code of practice must be in place which governs the way the software is
              developed
             The code of practice must include the requirements that
             The design must be broken down into levels each with identifiable input and
              outputs
             Software must be organized into modules
             A modules must normally performs a single function or a set of related functions
             A plan language description must exist for each module
3/20/2012




                                                                                                31
                                                                       - Software Engineering
Capability process models

            Rather than just checking that a system is in place to detect faults, a customers
            might wish to check that a supplier is using a software development methods and
            tools that are like to produce good quality software. In The United states, an
            influential capability maturity model (CMM) has be developed at the software
            engineering institute (SEI), a part of the Carnegie- Mellon University. These levels
            are defined as.

            Level 1: Initial: The procedures followed tend to be haphazard. Some project will
            be successful, but this tends to be because of the skills of particular individuals
            including project managers. This is no level 0 and so any organization would be at
            this level by default.

            Level 2: Repeatable: Organization at this level will have basic project management
            procedures in place, however, the way an individual task is carried out will largely
            on the person doing it
3/20/2012




                                                                                                 32
                                                                        - Software Engineering
Level 3 Defined: the organization have the way in which each task in the software
            development life cycle is to be done.
            Level 4 Managed: The product and the processes involved in software
            development are subject to measurement and control
            Level 5 Optimizing: Improvement in procedure are designed and implemented
            using the data gather from the measurement process
3/20/2012




                                                                                              33
                                                                     - Software Engineering
Assessing software products:




            The concern in this section has so far been with the assessment of organization
            and the process that they used to produce software, but many purchases of
            software, including project managers contemplating the purchase of software
            tools are more directly worried about the quality of the software product itself.




            Compliers for some programming languages for examples are subject to
            certification. Must progress however has still to be made in this area.
3/20/2012




                                                                                               34
                                                                      - Software Engineering
12.9 Techniques to help Enhance software Quality
            So far in this chapter we have looked at the steps a customer might take to ensure
            the quality of software produced by an outside supplier

            Increase Visibility: A landmark in this movement towards making the software
            development process more visible was the advocacy by the American software
            guru, Gerald Weinberg of egoless programming. Weinberg encouraged the simple
            practice of programmer looking at each other code.

            Procedural Structure: At first programmer were more or less left to get on with
            writing the programs, although there might be some general guidelines, Over the
            years there has been the growth of methodologies where every process in the
            software development cycle has carefully laid down steps
3/20/2012




                                                                                                35
                                                                       - Software Engineering
Checking intermediate stages:

            It seem inherent in human nature to push forward quickly with the development
            of any engineered object until a working model, however imperfect has been
            produced that can then be debugged. One of the element of the move towards
            quality practices has been put emphasis on checking the correctness of work at its
            earlier conceptual stages.

            The push towards visibility can be increase by using walkthroughs, inspection and
            reviews. The movement towards more procedural structure inevitably leads to
            discussion of structured programming techniques and to its later manifestation in
            the ideas of Clean-room software development
3/20/2012




                                                                                                36
                                                                       - Software Engineering
Inspection

             When a piece of work is completed the copies of the work are distributed to co-
             worker to identifies the defects. The involved colleagues must the experience in
             the similar area such a programmer always inspect the work of programmes. Our
             own experience of using this techniques has been that.

             It is very effective way of removing superficial error from a piece of work
             It motivate the programmer to produce a better structure and self explanatory
              program because they know that other peoples will criticizing it
             It helps spread good programming practices because the participants discuss the
              advantages and dis- advanteges of specific pieces of code.
             It can enhance team spirit.
3/20/2012




                                                                                               37
                                                                      - Software Engineering
General Principal behind the Fagan method



               Inspections are carried our on all major deliverables
               All type of defects are noted
               Inspection can be carried out by colleagues
               Inspection are carried out using a predefined set of steps
               Inspection meeting do not last for more than two hours
               The inspection is led by a moderator who has had specific training in the
                techniques
               The participants have define rules
               Checklist are used to assist the fault-finding process
               Material is inspected at an optimal rate of about 100 lines an hour
               Statistics are maintained so that the effectiveness of the inspection process can
                be monitored
3/20/2012




                                                                                                   38
                                                                          - Software Engineering
Structured Programming and clean-room software development

            The way to deal with complex system, it was contended was to break them down
            into components that were of a size for the human mind to comprehend. For a
            large system there would be a hierarchy of components and sub-components. For
            this decomposition to work properly each components would have to be self
            contained with only one entry and exit point. The Idea of structure programming
            have been further developed into the ideas of clean room software development
            by the peoples such as Harlan Mills f IBM with this type of development there are
            three separate teams.

            A specification team, which obtains the user requirements and also a usage profile
            estimating the volume of use for each feature in the system
3/20/2012




                                                                                                39
                                                                       - Software Engineering
 A Development team, which develop the code but does no machine testing of
              the program code produced
             A certification team which carries out testing

             A system is produced in increments each of which should be capable of actual
             operation by the end user. The development team does no debugging. Instead all
             software has to be verified by them using mathematical techniques.
3/20/2012




                                                                                              40
                                                                     - Software Engineering
Formal Methods

            In the section above on clean room development the use of mathematical
            verification techniques was mentioned. These techniques used un-ambiguous.
            Mathematically-based, specification. They are used to define pre-conditions and
            post conditions for each procedures. Pre-conditions define the allowable states,
            before processing or the various items of data that a procedures is to work upon.
            The post-conditions define the state of these data items after the procedure has
            been executed.
            Software Quality Circles:

            Must interest has been shown in Japanese software quality practices. The aim of
            the Japanese approach is to examine and modify the activities in the development
            process in order to reduce the number of error that they have in their end
            products. Testing and Fagan Inspection can assist the removal or error but the
            same types of error generally occur again and again in successive products created
            by a specific type of process. By uncovering the source of errors, this repetition
            can be eliminated.
3/20/2012




                                                                                                41
                                                                       - Software Engineering
To do this needs the involvement of all the staff in identifying the causes of errors.
             The staff are involved in the identification of source through the formation of
             quality circles known as Software Quality circle (SWQC).
             Identify a list of problems
             Select one problems to solve
             Clarify the problem
             Identify and evaluate the causes
             Identify and evaluate the solutions
             Decide one solution
             Develop and implementation plan
             Present the plan to management
             Implement the plan
             Monitor the plan
             Consider wider applicability of solution
             Restart from B
3/20/2012




                                                                                                    42
                                                                           - Software Engineering
A number of specific techniques characterize quality circle, the most prominent of
            which is brainstorming. As a idea is written down the on a flip card for comments
            and criticisms and suggestion.

            The effectiveness of Quality circles:

            For quality circles to work there be full support for them at all levels of
            management. First-line management can feel threatened by them as they might
            appear to undermine their authority. After all problem solving is one of their main
            tasks. The proponents of quality circle see them as a way of giving management
            more time for planning and development. An manager will have to devote time to
            fire-fighting dealing with ad hoc crises and then can detract from longer term
            activities that will be able to improve the effectiveness of the organization.
3/20/2012




                                                                                                43
                                                                       - Software Engineering
The GQM Approach:

             Approaches to process improvement such as the quality circles that have just
             discuss, May be support by quantitative measurement techniques. One of these is
             the GQM (Goal/Question/Metric) approach. This require that the goals to
             achieved is firstly identified. A goal might be to evaluate whether a new
             programming language allowed developers to be more productive. In order to
             achieve this goal certain specific question now need to be identified as needing
             answer. For example in order to evaluate the productivity of a new programming
             language the following questions might need answering.

             How quick where developers previously writing code
             How quickly are developers writing code with new programming language
3/20/2012




                                                                                               44
                                                                      - Software Engineering
How good the quality the software previously
            How good is the quality of the software produced using the new programming
            language

            For each question, a number of matrices will need to be identifies as needing
            collection in order to answer the question. For instance, to find out how quickly
            developers have ben writing code, development efforts and the size of
            development tasks in terms of the number of function point to be produced might
            be needed
3/20/2012




                                                                                               45
                                                                      - Software Engineering
- Software Engineering




                                       Thank you
3/20/2012




                                                                                                           46
             Department of Computer Science , National Textile University Faisalabad-37610, Pakistan
            Office Phone: +92-41-9230081 Ext: 119 | Fax: +92 (41) 9230098 | email: cmn.faisal@ntu.edu.pk

Más contenido relacionado

La actualidad más candente

Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptxKarthigaiSelviS3
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)Priya Tomar
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimationinayat khan
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering NotesNavjyotsinh Jadeja
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceEr. Nancy
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMInimmik4u
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project ManagementReetesh Gupta
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineeringdeshpandeamrut
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 

La actualidad más candente (20)

Formal Approaches to SQA.pptx
Formal Approaches to SQA.pptxFormal Approaches to SQA.pptx
Formal Approaches to SQA.pptx
 
Software project management 3
Software project management 3Software project management 3
Software project management 3
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimation
 
Spm unit2
Spm unit2Spm unit2
Spm unit2
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Stepwise planning
Stepwise planningStepwise planning
Stepwise planning
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Black box & white-box testing technique
Black box & white-box testing techniqueBlack box & white-box testing technique
Black box & white-box testing technique
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software myths | Software Engineering Notes
Software myths | Software Engineering NotesSoftware myths | Software Engineering Notes
Software myths | Software Engineering Notes
 
Software cost estimation
Software cost estimationSoftware cost estimation
Software cost estimation
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Unit1
Unit1Unit1
Unit1
 
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMIEvolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 

Similar a Software quality

SDPM - Lecture 8 - Software quality assurance
SDPM - Lecture 8 - Software quality assuranceSDPM - Lecture 8 - Software quality assurance
SDPM - Lecture 8 - Software quality assuranceOpenLearningLab
 
Se lect12 btech
Se lect12 btechSe lect12 btech
Se lect12 btechIIITA
 
Se lect13 btech
Se lect13 btechSe lect13 btech
Se lect13 btechIIITA
 
A system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareA system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareMr. Chanuwan
 
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02NNfamily
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)MuhammadTalha436
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 MuhammadTalha436
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxKalpna Saharan
 
Bridge Process Model
Bridge Process ModelBridge Process Model
Bridge Process ModelStephen Raj
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdfMUSAIDRIS15
 
Rhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software
 

Similar a Software quality (20)

SDPM - Lecture 8 - Software quality assurance
SDPM - Lecture 8 - Software quality assuranceSDPM - Lecture 8 - Software quality assurance
SDPM - Lecture 8 - Software quality assurance
 
Se lect12 btech
Se lect12 btechSe lect12 btech
Se lect12 btech
 
Se lect13 btech
Se lect13 btechSe lect13 btech
Se lect13 btech
 
A system for performance evaluation of embedded software
A system for performance evaluation of embedded softwareA system for performance evaluation of embedded software
A system for performance evaluation of embedded software
 
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
Asystemforperformanceevaluationofembeddedsoftware 100813001230-phpapp02
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Iv2515741577
Iv2515741577Iv2515741577
Iv2515741577
 
Iv2515741577
Iv2515741577Iv2515741577
Iv2515741577
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
1 se-introduction
1 se-introduction1 se-introduction
1 se-introduction
 
M017548895
M017548895M017548895
M017548895
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Cm24585587
Cm24585587Cm24585587
Cm24585587
 
Lecture 1 SE.pptx
Lecture 1 SE.pptxLecture 1 SE.pptx
Lecture 1 SE.pptx
 
Bridge Process Model
Bridge Process ModelBridge Process Model
Bridge Process Model
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdf
 
Itc chapter # 7
Itc   chapter # 7Itc   chapter # 7
Itc chapter # 7
 
Rhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software Quality Assurance Services
Rhonda Software Quality Assurance Services
 

Último

Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.MateoGardella
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...KokoStevan
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 

Último (20)

Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.Gardella_Mateo_IntellectualProperty.pdf.
Gardella_Mateo_IntellectualProperty.pdf.
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 

Software quality

  • 1. 3/20/2012 Software Quality Robert Hughes and Mike Cotterell 1 Department of Computer Science , National Textile University Faisalabad-37610, Pakistan Office Phone: +92-41-9230081 Ext: 119 | Fax: +92 (41) 9230098 | email: cmn.faisal@ntu.edu.pk
  • 2. Objective  Explain the importance of software quality to software users and software developers  Define the qualities of a good software  Design methods for measuring the required qualities of software  Monitor the quality of the processes in a software project  Use external quality standards to ensure the quality of software acquired from an outside supplier  Develop system using procedures that will increase their quality 3/20/2012 2 - Software Engineering
  • 3. 12.2 Introduction Quality is generally agreed to be a good thing. In a practice the quality of a system can be a vague, undefined, attribute. We therefore need to define precisely what qualities were require of a system. However, this is not enough – we need to objectively weather a system meet out quality requirements and this need measurement. 3/20/2012 3 - Software Engineering
  • 4. 12.2 Place of software quality in project management. Quality will be of concern at all stages of project planning and execution. But will be of particular interest at the following points in the step wise framework 3/20/2012 4 - Software Engineering
  • 5. Software Quality 0. Select Project 1. Identify 2. Identify Project scope Project and objective Infrastructure 3. Analyze project characteristics 4. Identify the projects and activities 10.Lower 5. Estimate Level Planning efforts for activity 9. Execute 6. Identify Plan activity risk 8. Review / 7. Allocate Publicize Plan resources 3/20/2012 5 - Software Engineering
  • 6. 1. Identify Project Scope and objective: Some objective could relate to the qualities of the application to be delivered. 2. Identify project infrastructure: Identify the installation standard and procedures. Some of these almost certainly be about quality 3. Analyze project characteristics: To identify the other qualities based requirement. 4. Identify the products and activities of the project: It is at this point the entry, exist and process requirement are identified for each activity 5. Review and publicize Plan: At his stage the overall quality aspects of the project plan are reviewed 3/20/2012 6 - Software Engineering
  • 7. 12.3 Importance of Software Quality We would expect quality to be concern of all procedures of goods and services.  Increasing criticality of software: the end user of a software generally anxious about the quality of software especially about the reliability. They are concern about the safety because of their dependency on the software system such as aircraft control system are more safety critical systems  The intangibility of software: This make it difficulty to know that a particular tasks in project has been completed satisfactory. The results of these tasks can be made tangible by demanding that the developer produce deliverables that can be examined for quality 3/20/2012 7 - Software Engineering
  • 8.  Accumulating errors during software development: As computer system developed in made up of a number of steps where the output from one step is the input to the next, the error in the earlier deliverables will be added to those in the later steps leading to an accumulating determined effects. In general the later in a project that an error is found the more expensive it will be to fix. In addition because the number of errors in the system is unknown, the debugging phases of a project are particularly difficult to control 12.4 Defining the software Quality: Quality is a rather vague term and we need to define carefully what we mean by it.  A functional specification describing what the system is to do  A quality specification concerned with how well the functions are to operate  A resource specification concerned with how much in to be spent on the system 3/20/2012 8 - Software Engineering
  • 9. Attempt to identify specific product qualities that are appropriate to software, for instance, grouped software qualities into three sets. Product operation qualities, Products revision qualities and product transition qualities. Product operation qualities Correctness: The extent to which a program satisfy its specification and fulfil user objective Reliability: The extent to which a program can be expected to perform its intended function with required precision Efficiency: The amounts of computer resource required by software Integrity: The extent to which access to software or data by unauthorized persons can be controlled Usability: The effort required to learn, operate, prepare input and interprets output 3/20/2012 9 - Software Engineering
  • 10. Product revision qualities Maintainability: the effort required to locate and fix an error in an operational program Testability: The effort required to test a program to ensure it performs its intended function Flexibility: The effort required to modify an operational program, Product Transition qualities Portability: The efforts required to transfer a program from one hardware configuration and or software system environment to another Reusability: The extent to which a program can be used in other applications. Interoperability: The efforts required to couple one system to another 3/20/2012 10 MGT-3071- Software Project Management
  • 11. 3/20/2012 11 - Software Engineering
  • 12. During quality is not enough. If we are to judge whether a system meets out requirements we need to be able to measure its qualities. For each criterion, one or more measure have to be invented the degree to which the quality is present. In general the user of software would be concerned with measuring what McCall called quality factors while the developers would be concerned with quality criteria. The following should be laid down for each quality. Scale – the unit of measurement Test – the practical test of the extent to which the attribute quality exists Worst – the worst acceptable value Plan – the value that is planned to achieve Best – the best value that appears to be feasible Now – the values that applies currently 3/20/2012 12 - Software Engineering
  • 13. 12.5 ISO-9126: ISO 9126 standard was published in 1991 to tackle the question of the definition of software quality this 13 pages document was designed as foundation upon which further, more detailed standard could be built. ISO 9126 identifies six software quality characteristics  Functionality: which covers the functions that a software product provides to satisfy user needs  Reliability: Which relates to the capability of the software to maintain its level of performance  Usability: Efforts need to use a software  Efficiency: physical resource used when a software is executed  Maintainability: Effort needed to the make changes to the software  Portability: Availability of the software to be transferred to a different environment. 3/20/2012 13 - Software Engineering
  • 14. Functionality: which covers the functions that a software product provides to satisfy user needs. Functionality sub characteristics: suitability, Accuracy, Interoperability, Compliance and Security. Compliance refers to the degree to which the software adheres to application- related standards or legal requirements. Typically these could be auditing requirement. Interoperability refers to the ability of software to interact with others. Reliability: Which relates to the capability of the software to maintain its level of performance Reliability sub characteristics: Maturity, Fault Tolerance and recoverability. Maturity refers to frequency of failures due to fault in software more identification of fault more chances to remove them. Recoverability describe the control of access to a system 3/20/2012 14 - Software Engineering
  • 15. Usability: Efforts need to use a software. Usability sub characteristics: Understand ability, Learnability, operability. Understand-ability is a clear quality to grasp, although the definition attributes that bear on the user efforts for recognizing the logical concept and its applicability in our view actually makes it less clear. Learnability has been distinguished from operability. A software tool might be easy to learn but time- consuming to use say it uses a large number of nested menus. This is for a package that is used only intermittently but not where the system is used or several hours each day by the end user. In this case learnability has been incorporated at the expense of operability. 3/20/2012 15 - Software Engineering
  • 16. Efficiency: physical resource used when a software is executed Efficiency sub characteristics: Time behaviour, Resource behaviour. Maintainability: Effort needed to the make changes to the software Maintainability sub characteristics: Analysability, Changeability, Stability and Testability. Analysability is the quality that McCall called diagnose ability, the ease with which the cause of failure can be determined. Changeability is the quality that other have called flexibility: the latter name is perhaps a better one as changeability has a slightly different connotation in plain English It implies that the suppliers of the software are always changing it. Stability, on the other hand, does not means that the software never changes, It means that there is a low risk of a modification to the software having unexpected effects. 3/20/2012 16 - Software Engineering
  • 17. Portability: Availability of the software to be transferred to a different environment. Portability sub characteristics: Adaptability, Install ability , Conformance and Replace ability. Conformance is distinguished from compliance relates to those standard that have bearing on portability. The use of a standard programming language common to many software/hardware environment is an example of conformance. Replace ability refers to the factors that give upwards compatibility between old software components and the new ones. Downwards compatibility is specifically excluded from definition. 3/20/2012 17 - Software Engineering
  • 18. Quality Metrics selection: Measurements that correlate to the characteristics of each quality have to be identified. No specific guidance is given by ISO 9129 standard on the applicability of the various measurements that might be used. Rating Level Definition: The metrics used must be mapped onto scales that indicate the degree to which the requirement have been satisfied for example in one application time behaviour in the sense of response time might be important for a key transaction actual response time might be mapped onto quality scale. 3/20/2012 18 - Software Engineering
  • 19. Assessment criteria definitions: The way that the quality scores are combined or summarized or give an overall view of the product has to be defined. There software product as now to be evaluated by measuring its qualities, converting them to quality score or rating and summarising them the rating to obtain an overall judgment. 3/20/2012 19 - Software Engineering
  • 20. Practical software quality measures : Below are some way of measuring particular qualities. Reliability: might be measure in terms of Availability: the percentage of a particular time interval that a system is usable. Means time between failures, the total service time divided by the number of failures Failure on demand: the probability that a system will not be available at the time required on the probability that a transaction will fail. Support activity: the number of fault reports that are dealt with 3/20/2012 20 - Software Engineering
  • 21. Maintainability: This is closely related to flexibility the ease with which the software can be modified. The main deference is that before an amendment can be made, the fault has to be diagnosed. Maintainability can therefore be seen as flexibility plus a new quality, diagnose ability which might be defined as the average amount of time needed to diagnose a fault. Extendibility: This is a component of the more general quality of flexibility. It can be defined as the productivity needed to incorporate a new feature into an existing system expressed as a percentage of the normal productivity when developing the software from scratch. 3/20/2012 21 - Software Engineering
  • 22. The original IOE maintenance billing system comprised 5000 SLOC and took 400 works-days to implement. An amendment t the core system caused by the introduction of group accounts has lead to 100 SLOC being added which took 20 works days to implements thus 3/20/2012 22 - Software Engineering
  • 23. 12.7 Product Versus Process Quality Management The measurement describe above can be taken only after the system is operational. It might be too late to do anything to remedy problems. What would be more helpful to someone like Amanda the IOE would be measurement and other checks that can be take during development and that can help control what the final system will be like. The system development process in made up of a number of activities that are liked together so that the output from one activity is the input to the next step. Thus, program testing will depend on there being a program to test that will be the product of the program coding stage. Errors can enter the process at any stage. They can be introduced either because of a defect in the way a process is carried out as when programmers make mistakes in the logic of their programs or because information has not been passed clearly and unambiguously between stages. 3/20/2012 23 - Software Engineering
  • 24. Errors that creep in at the early stages are more expensive to correct at late staves for the following reasons The later the error is found the more rework at more stages of development. The general tendency is for each successive stage of development to be more detailed and less able to absorb change. Error should therefore be eradicated by careful examination of the products of each stage before they are passed on to the next. The following process requirement should be specified for each activity. 3/20/2012 24 - Software Engineering
  • 25. Entry requirement. Which have to be in place before an activity can start. Implementation requirement: Which define how the process is to be conducted. Exit Requirement. Which have to be fulfilled before an activity is deemed to have been completed. 3/20/2012 25 - Software Engineering
  • 26. 12.8 External Standard (BS EN ISO 9001) Various national and international standards bodies including the British Standard Institution (BSI) in United Kingdom have Inevitably become involved in the creation of standards or quality management system. The British standard is now called BS EN ISO 9001:1994. Standards such as the ISO 9000 such as the ISO 9000 series aim to ensure that a monitoring and control system to check quality is in place. An overview of BS EN ISO QMS Requirements In order for quality management system (QMS) to meet the standard it has to conform to certain requirement which are summarized below  The Management must define and document the policy concerning quality and must ensure that this policy is communicated to all levels of the organization 3/20/2012 26 - Software Engineering
  • 27.  All Quality control procedures must be documented  All contract to supply goods or services must contain mutually agreed requirements that the developers is capable for delivering.  There must be procedures to control and verify the design of the system to be supplied so that it meets the requirements agreed with customers.  There must be procedures to approve design and other documentation.  Where components of the system to be supplied to the clients are obtained from third parties there must be procedures to ensure check and maintain the quality of these components.  Individuals products must be identifiable as should their components 3/20/2012 27 - Software Engineering
  • 28.  The process by which the final product is created must be planned and monitored  Inspection and testing must take place during the development phase at its completion and before delivery. Tests and inspection must also be carried out on the component obtained from third parties  The equipment used in the production process itself must be properly controlled with respect to quality  The testing status of all components and system must be clearly recorded at all times  Care must be take to ensure that items that are known to be defective or not in carelessly used.  When a defect is detected, measures must be undertaken to remove the defective part and to ensure that the defect does not occur again 3/20/2012 28 - Software Engineering
  • 29.  Satisfactory procedure must be in place to details with correct handling storage, packaging and delivery of the products  Sufficient records must be maintained to demonstrate that the quality system s working satisfactorily.  The software quality management system must be audited on a regular basis  Servicing and support activities must be subject to the quality management system  The developers must establish appropriate statistical techniques to verify the acceptability of the final product. 3/20/2012 29 - Software Engineering
  • 30. TickIT The ISO9000 standard refer to quality management system is general but in the united kingdom, The department of Trade and Industry (DTI) have formulated the TICKIT standard which give an interpretation of these standards and includes the followings requirements.  A detailed development plan is required before development is embarked upon.  Chang control procedures should be used at all stages of development  Design reviews must take place.  The suitability of the design methodology must the reviewed  Progress must be reviewed on a systematic basis. 3/20/2012 30 - Software Engineering
  • 31.  It must be possible to trace back the features of the software design to specification and requirements.  Designs must be properly documented  Suitable test plans, specifications and records must be produced  A code of practice must be in place which governs the way the software is developed  The code of practice must include the requirements that  The design must be broken down into levels each with identifiable input and outputs  Software must be organized into modules  A modules must normally performs a single function or a set of related functions  A plan language description must exist for each module 3/20/2012 31 - Software Engineering
  • 32. Capability process models Rather than just checking that a system is in place to detect faults, a customers might wish to check that a supplier is using a software development methods and tools that are like to produce good quality software. In The United states, an influential capability maturity model (CMM) has be developed at the software engineering institute (SEI), a part of the Carnegie- Mellon University. These levels are defined as. Level 1: Initial: The procedures followed tend to be haphazard. Some project will be successful, but this tends to be because of the skills of particular individuals including project managers. This is no level 0 and so any organization would be at this level by default. Level 2: Repeatable: Organization at this level will have basic project management procedures in place, however, the way an individual task is carried out will largely on the person doing it 3/20/2012 32 - Software Engineering
  • 33. Level 3 Defined: the organization have the way in which each task in the software development life cycle is to be done. Level 4 Managed: The product and the processes involved in software development are subject to measurement and control Level 5 Optimizing: Improvement in procedure are designed and implemented using the data gather from the measurement process 3/20/2012 33 - Software Engineering
  • 34. Assessing software products: The concern in this section has so far been with the assessment of organization and the process that they used to produce software, but many purchases of software, including project managers contemplating the purchase of software tools are more directly worried about the quality of the software product itself. Compliers for some programming languages for examples are subject to certification. Must progress however has still to be made in this area. 3/20/2012 34 - Software Engineering
  • 35. 12.9 Techniques to help Enhance software Quality So far in this chapter we have looked at the steps a customer might take to ensure the quality of software produced by an outside supplier Increase Visibility: A landmark in this movement towards making the software development process more visible was the advocacy by the American software guru, Gerald Weinberg of egoless programming. Weinberg encouraged the simple practice of programmer looking at each other code. Procedural Structure: At first programmer were more or less left to get on with writing the programs, although there might be some general guidelines, Over the years there has been the growth of methodologies where every process in the software development cycle has carefully laid down steps 3/20/2012 35 - Software Engineering
  • 36. Checking intermediate stages: It seem inherent in human nature to push forward quickly with the development of any engineered object until a working model, however imperfect has been produced that can then be debugged. One of the element of the move towards quality practices has been put emphasis on checking the correctness of work at its earlier conceptual stages. The push towards visibility can be increase by using walkthroughs, inspection and reviews. The movement towards more procedural structure inevitably leads to discussion of structured programming techniques and to its later manifestation in the ideas of Clean-room software development 3/20/2012 36 - Software Engineering
  • 37. Inspection When a piece of work is completed the copies of the work are distributed to co- worker to identifies the defects. The involved colleagues must the experience in the similar area such a programmer always inspect the work of programmes. Our own experience of using this techniques has been that.  It is very effective way of removing superficial error from a piece of work  It motivate the programmer to produce a better structure and self explanatory program because they know that other peoples will criticizing it  It helps spread good programming practices because the participants discuss the advantages and dis- advanteges of specific pieces of code.  It can enhance team spirit. 3/20/2012 37 - Software Engineering
  • 38. General Principal behind the Fagan method  Inspections are carried our on all major deliverables  All type of defects are noted  Inspection can be carried out by colleagues  Inspection are carried out using a predefined set of steps  Inspection meeting do not last for more than two hours  The inspection is led by a moderator who has had specific training in the techniques  The participants have define rules  Checklist are used to assist the fault-finding process  Material is inspected at an optimal rate of about 100 lines an hour  Statistics are maintained so that the effectiveness of the inspection process can be monitored 3/20/2012 38 - Software Engineering
  • 39. Structured Programming and clean-room software development The way to deal with complex system, it was contended was to break them down into components that were of a size for the human mind to comprehend. For a large system there would be a hierarchy of components and sub-components. For this decomposition to work properly each components would have to be self contained with only one entry and exit point. The Idea of structure programming have been further developed into the ideas of clean room software development by the peoples such as Harlan Mills f IBM with this type of development there are three separate teams. A specification team, which obtains the user requirements and also a usage profile estimating the volume of use for each feature in the system 3/20/2012 39 - Software Engineering
  • 40.  A Development team, which develop the code but does no machine testing of the program code produced  A certification team which carries out testing A system is produced in increments each of which should be capable of actual operation by the end user. The development team does no debugging. Instead all software has to be verified by them using mathematical techniques. 3/20/2012 40 - Software Engineering
  • 41. Formal Methods In the section above on clean room development the use of mathematical verification techniques was mentioned. These techniques used un-ambiguous. Mathematically-based, specification. They are used to define pre-conditions and post conditions for each procedures. Pre-conditions define the allowable states, before processing or the various items of data that a procedures is to work upon. The post-conditions define the state of these data items after the procedure has been executed. Software Quality Circles: Must interest has been shown in Japanese software quality practices. The aim of the Japanese approach is to examine and modify the activities in the development process in order to reduce the number of error that they have in their end products. Testing and Fagan Inspection can assist the removal or error but the same types of error generally occur again and again in successive products created by a specific type of process. By uncovering the source of errors, this repetition can be eliminated. 3/20/2012 41 - Software Engineering
  • 42. To do this needs the involvement of all the staff in identifying the causes of errors. The staff are involved in the identification of source through the formation of quality circles known as Software Quality circle (SWQC).  Identify a list of problems  Select one problems to solve  Clarify the problem  Identify and evaluate the causes  Identify and evaluate the solutions  Decide one solution  Develop and implementation plan  Present the plan to management  Implement the plan  Monitor the plan  Consider wider applicability of solution  Restart from B 3/20/2012 42 - Software Engineering
  • 43. A number of specific techniques characterize quality circle, the most prominent of which is brainstorming. As a idea is written down the on a flip card for comments and criticisms and suggestion. The effectiveness of Quality circles: For quality circles to work there be full support for them at all levels of management. First-line management can feel threatened by them as they might appear to undermine their authority. After all problem solving is one of their main tasks. The proponents of quality circle see them as a way of giving management more time for planning and development. An manager will have to devote time to fire-fighting dealing with ad hoc crises and then can detract from longer term activities that will be able to improve the effectiveness of the organization. 3/20/2012 43 - Software Engineering
  • 44. The GQM Approach: Approaches to process improvement such as the quality circles that have just discuss, May be support by quantitative measurement techniques. One of these is the GQM (Goal/Question/Metric) approach. This require that the goals to achieved is firstly identified. A goal might be to evaluate whether a new programming language allowed developers to be more productive. In order to achieve this goal certain specific question now need to be identified as needing answer. For example in order to evaluate the productivity of a new programming language the following questions might need answering.  How quick where developers previously writing code  How quickly are developers writing code with new programming language 3/20/2012 44 - Software Engineering
  • 45. How good the quality the software previously How good is the quality of the software produced using the new programming language For each question, a number of matrices will need to be identifies as needing collection in order to answer the question. For instance, to find out how quickly developers have ben writing code, development efforts and the size of development tasks in terms of the number of function point to be produced might be needed 3/20/2012 45 - Software Engineering
  • 46. - Software Engineering Thank you 3/20/2012 46 Department of Computer Science , National Textile University Faisalabad-37610, Pakistan Office Phone: +92-41-9230081 Ext: 119 | Fax: +92 (41) 9230098 | email: cmn.faisal@ntu.edu.pk