SlideShare una empresa de Scribd logo
1 de 17
1
Software Quality
2
Software Quality
1 Importance of Software Quality
Increasing criticality of software - the final customer or user is
anxious about the general quality of software, especially its
reliability. This is increasingly in case where organizations depend
on computer systems and software for their operations
2 The Intangibility of software
It is difficult to know whether a particular task in a project has been
completed satisfactorily.
3.Accumulating errors during software development
as a computer system consists of number of steps, where output from
one step is input to next step, errors in one step, will be added to
other steps. Later in a project, an error which is found will be more
expensive to fix.
3
Defining Software Quality
For any software system there should be three specifications
1. A functional specification describing what the system is to do
2. A quality specification concerned with how well the functions
are to operate
3. A Resource specification concerned with how much is to be
spent on the system
Software Quality factors
1. Product operation qualities
2. Product revision qualities
3. Product transition qualities
4
1. Product operation quality factors
* Correctness - extent to which a program satisfies its specifications
and fulfils the user’s objectives
* Reliability - extent to which a program can be expected to perform
its intended function with required precision
* Efficiency - the amounts of computer resources required by the
software
* Integrity - extent to which access to software or data by
unauthorized persons can be controlled
* Usability - effort required to learn, operate, prepare input and
interpret output
5
2. Product revision quality factors
1. Maintainability - effort required to locate and fix an error in an
operational program
2. Testability - effort required to test a program to ensure it performs
its intended function
3. Flexibility - effort required to modify an operational program
3. Product Transition Quality factors
1. Portability - effort required to transfer a program from one
hardware configuration software system environment to another
2. Reusability - extent to which a program can be used in other
applications
3. Interoperability- effort required to link one system to another
6
James A. Mccall’s software Quality criteria
Quality factor Software Quality criteria
Correctness traceability, consistency, completeness
Reliability error tolerance, consistency, accuracy, simplicity
Efficiency execution efficiency, storage efficiency
Integrity access control, access audit
Usability operability, training, communicativeness, I/O volume
Maintainability simplicity, self-descriptiveness, consistency
Testability simplicity, modularity, self descriptiveness
Flexibility generality, expandibility, self descriptiveness
Portability machine independence, software system independence
Reusability generality, software system independence, machine
independence, self-descriptiveness
Interoperability communications commonality, data commonality
7
Class Exercise :
Divide the class into 3 groups
Each group should select a team leader
Each group should identify a pair of quality attributes
discussed in the class for 3 different types of categories
1) Complementary : The Presence of this Attribute will
improve the performance of other attribute.
2) Conflicting : The presence of this attribute will affect
the other attribute
3) Indifferent : The presence of this attribute has no
effect on the other attribute.
8
How to measure the quality ?
The following should be laid down for each quality
1 Scale - the unit of measurement
2 Test - the practical test of the extent to which the attribute
quality exists
3. Worst - the worst acceptable value
4. Plan - the value that is planned to achieve
5. Best - the best value that appears to be feasible; this would
be a level that is known to have been achieved elsewhere
6. Now - the value that applies currently
9
Eg. Suggest quality specifications for a word processing package
Quality - Ease of learning
definition - the time taken, by a novice, to learn how to operate
the package to produce a standard document
scale - hours
test - interview novices to ascertain their previous experiences
of word processing, supply them with a machine, software
a training manual and a standard document to type. Time
how long it takes them to learn how to type a document
worst - 4 hours
planned - 2 hours
best - 1 hour
now - 4 hours
10
Practical Software Measures
The measures described relate to the final software products of a
project.
Reliability
This might be measured in terms of:
* Availability - the percentage of a particular time interval that a
system is usable
* MTBF - the total service time divided by number of failures
* failure on demand - the probability that a system will not be
available at the time required or the probability that
a transaction will fail
* support activity - the number of fault reports that are generated
Maintainability
This is closely related to flexibility, the ease with which the
software can be modified. The main difference is that before an
amendment can be made, the fault has to be diagnosed first.
Diagnosability-avg amout of time needed to diagnose a fault
11
Extendibility
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.
Product versus Process quality Management
* Measurements described above can be done only after system is
operational
* If measurements & other checks are taken during development
that could help us a lot.
* System development process is made up of number of activities
that are linked together so that output from one activity is input to
the next activity. So program testing should be done at each stage.
* Errors should be corrected by careful examination of the
deliverables of each stage before they are passed on to the next.
To do this the following process requirements should be specified
for each activity.
12
Railway Reservation system is available from 8am to 8pm on
all days. Over a four week period the system was not available
on two days. On a day the system was down due to network
Problems from 8am to 10am. On another day the system was
not available from 10am to 2pm due to virus problems.
Compute the MTBF (Mean Time Between Failures) and
the availability of the given service.
13
Each day system should be available from 8am to 8pm.
i.e. 12 hours
Over 4 weeks that should be 12 x 7 x 4 hours=336 hours
It was unavailable for one day for 2 hours
On another day it was unavailable for 4 hours
Total hours available=336-2-4=330 hours
Availability 330/336 x 100 = 98.2%
MTBF = 330/2 = 165 hours
14
The Original maintenance billing system contains 5000 LOC
(Source Lines of Code) and took 400 work days to implement.
An amendment to the core system caused by the introduction
of group accounts has led to 100 SLOC being added which took
another 20 workdays to implement.
1) Calculate the productivity of original system
2) Calculate the productivity of the amendment
3) Calculate the Extendibility
15
Productivity of the original system
5000/400 = 12.5 SLOC/Staff-day
Productivity of the amendment
100/20 = 5 SLOC/Staff-day
Extendibility =
5/12.5 X 100 = 40%
16
Techniques to help enhance software quality
Three main themes emerge :
1. Increasing visibility- Software development process should be
made more visible by the simple practice of programmers looking
at each other’s code - “egoless programming” by Gerald Weinberg
2. Procedural structure - Standard procedure must be followed
for software development cycle
3. Checking intermediate stages- We should adopt the quality
practice of checking the correctness of work at its earlier stage itself
17
Structured programming and clean-room software development
E.W. Dijkstra (digstra) in 1968, wrote a letter to a computer
journal which was entitled “Go To statement is considered
harmful” which led to the common idea that structured
programming was simply not using GO TO statements
The ideas of structured programming have been further developed
into the ideas of clean-room software development by Harlan Mills
of IBM, who developed this idea.
With this development, there are three separate teams
* A specification team - which obtains user requirements and also
a usage profile estimating the volume of use for each feature in
the system
* a development team- which develops the code but which does
no machine testing of the program code produced
* a certification team - which carries out testing

Más contenido relacionado

Similar a 3. quality.ppt

Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering Huda Alameen
 
Online auction system srs riport
Online auction system srs  riportOnline auction system srs  riport
Online auction system srs riportDilip Prajapati
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
SOFTWARE QUALITY FACTORS_SQE.pptx
SOFTWARE QUALITY FACTORS_SQE.pptxSOFTWARE QUALITY FACTORS_SQE.pptx
SOFTWARE QUALITY FACTORS_SQE.pptxMusondaSichinga
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdfMUSAIDRIS15
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Gurpreet singh
 
software project management
software project managementsoftware project management
software project managementJassir4
 
Software testing and introduction to quality
Software testing and introduction to qualitySoftware testing and introduction to quality
Software testing and introduction to qualityDhanashriAmbre
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Spm unit v-software reliability-
Spm unit v-software reliability-Spm unit v-software reliability-
Spm unit v-software reliability-Kanchana Devi
 

Similar a 3. quality.ppt (20)

Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
System testing
System testingSystem testing
System testing
 
Testing
TestingTesting
Testing
 
Online auction system srs riport
Online auction system srs  riportOnline auction system srs  riport
Online auction system srs riport
 
software engineering
software engineering software engineering
software engineering
 
Testing
Testing Testing
Testing
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
T0 numtq0nje=
T0 numtq0nje=T0 numtq0nje=
T0 numtq0nje=
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
SOFTWARE QUALITY FACTORS_SQE.pptx
SOFTWARE QUALITY FACTORS_SQE.pptxSOFTWARE QUALITY FACTORS_SQE.pptx
SOFTWARE QUALITY FACTORS_SQE.pptx
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdf
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
Faq
FaqFaq
Faq
 
software project management
software project managementsoftware project management
software project management
 
Software testing and introduction to quality
Software testing and introduction to qualitySoftware testing and introduction to quality
Software testing and introduction to quality
 
Qms
QmsQms
Qms
 
ERP Unit iii
ERP  Unit   iii ERP  Unit   iii
ERP Unit iii
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Spm unit v-software reliability-
Spm unit v-software reliability-Spm unit v-software reliability-
Spm unit v-software reliability-
 

Último

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

3. quality.ppt

  • 2. 2 Software Quality 1 Importance of Software Quality Increasing criticality of software - the final customer or user is anxious about the general quality of software, especially its reliability. This is increasingly in case where organizations depend on computer systems and software for their operations 2 The Intangibility of software It is difficult to know whether a particular task in a project has been completed satisfactorily. 3.Accumulating errors during software development as a computer system consists of number of steps, where output from one step is input to next step, errors in one step, will be added to other steps. Later in a project, an error which is found will be more expensive to fix.
  • 3. 3 Defining Software Quality For any software system there should be three specifications 1. A functional specification describing what the system is to do 2. A quality specification concerned with how well the functions are to operate 3. A Resource specification concerned with how much is to be spent on the system Software Quality factors 1. Product operation qualities 2. Product revision qualities 3. Product transition qualities
  • 4. 4 1. Product operation quality factors * Correctness - extent to which a program satisfies its specifications and fulfils the user’s objectives * Reliability - extent to which a program can be expected to perform its intended function with required precision * Efficiency - the amounts of computer resources required by the software * Integrity - extent to which access to software or data by unauthorized persons can be controlled * Usability - effort required to learn, operate, prepare input and interpret output
  • 5. 5 2. Product revision quality factors 1. Maintainability - effort required to locate and fix an error in an operational program 2. Testability - effort required to test a program to ensure it performs its intended function 3. Flexibility - effort required to modify an operational program 3. Product Transition Quality factors 1. Portability - effort required to transfer a program from one hardware configuration software system environment to another 2. Reusability - extent to which a program can be used in other applications 3. Interoperability- effort required to link one system to another
  • 6. 6 James A. Mccall’s software Quality criteria Quality factor Software Quality criteria Correctness traceability, consistency, completeness Reliability error tolerance, consistency, accuracy, simplicity Efficiency execution efficiency, storage efficiency Integrity access control, access audit Usability operability, training, communicativeness, I/O volume Maintainability simplicity, self-descriptiveness, consistency Testability simplicity, modularity, self descriptiveness Flexibility generality, expandibility, self descriptiveness Portability machine independence, software system independence Reusability generality, software system independence, machine independence, self-descriptiveness Interoperability communications commonality, data commonality
  • 7. 7 Class Exercise : Divide the class into 3 groups Each group should select a team leader Each group should identify a pair of quality attributes discussed in the class for 3 different types of categories 1) Complementary : The Presence of this Attribute will improve the performance of other attribute. 2) Conflicting : The presence of this attribute will affect the other attribute 3) Indifferent : The presence of this attribute has no effect on the other attribute.
  • 8. 8 How to measure the quality ? The following should be laid down for each quality 1 Scale - the unit of measurement 2 Test - the practical test of the extent to which the attribute quality exists 3. Worst - the worst acceptable value 4. Plan - the value that is planned to achieve 5. Best - the best value that appears to be feasible; this would be a level that is known to have been achieved elsewhere 6. Now - the value that applies currently
  • 9. 9 Eg. Suggest quality specifications for a word processing package Quality - Ease of learning definition - the time taken, by a novice, to learn how to operate the package to produce a standard document scale - hours test - interview novices to ascertain their previous experiences of word processing, supply them with a machine, software a training manual and a standard document to type. Time how long it takes them to learn how to type a document worst - 4 hours planned - 2 hours best - 1 hour now - 4 hours
  • 10. 10 Practical Software Measures The measures described relate to the final software products of a project. Reliability This might be measured in terms of: * Availability - the percentage of a particular time interval that a system is usable * MTBF - the total service time divided by number of failures * failure on demand - the probability that a system will not be available at the time required or the probability that a transaction will fail * support activity - the number of fault reports that are generated Maintainability This is closely related to flexibility, the ease with which the software can be modified. The main difference is that before an amendment can be made, the fault has to be diagnosed first. Diagnosability-avg amout of time needed to diagnose a fault
  • 11. 11 Extendibility 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. Product versus Process quality Management * Measurements described above can be done only after system is operational * If measurements & other checks are taken during development that could help us a lot. * System development process is made up of number of activities that are linked together so that output from one activity is input to the next activity. So program testing should be done at each stage. * Errors should be corrected by careful examination of the deliverables of each stage before they are passed on to the next. To do this the following process requirements should be specified for each activity.
  • 12. 12 Railway Reservation system is available from 8am to 8pm on all days. Over a four week period the system was not available on two days. On a day the system was down due to network Problems from 8am to 10am. On another day the system was not available from 10am to 2pm due to virus problems. Compute the MTBF (Mean Time Between Failures) and the availability of the given service.
  • 13. 13 Each day system should be available from 8am to 8pm. i.e. 12 hours Over 4 weeks that should be 12 x 7 x 4 hours=336 hours It was unavailable for one day for 2 hours On another day it was unavailable for 4 hours Total hours available=336-2-4=330 hours Availability 330/336 x 100 = 98.2% MTBF = 330/2 = 165 hours
  • 14. 14 The Original maintenance billing system contains 5000 LOC (Source Lines of Code) and took 400 work days to implement. An amendment to the core system caused by the introduction of group accounts has led to 100 SLOC being added which took another 20 workdays to implement. 1) Calculate the productivity of original system 2) Calculate the productivity of the amendment 3) Calculate the Extendibility
  • 15. 15 Productivity of the original system 5000/400 = 12.5 SLOC/Staff-day Productivity of the amendment 100/20 = 5 SLOC/Staff-day Extendibility = 5/12.5 X 100 = 40%
  • 16. 16 Techniques to help enhance software quality Three main themes emerge : 1. Increasing visibility- Software development process should be made more visible by the simple practice of programmers looking at each other’s code - “egoless programming” by Gerald Weinberg 2. Procedural structure - Standard procedure must be followed for software development cycle 3. Checking intermediate stages- We should adopt the quality practice of checking the correctness of work at its earlier stage itself
  • 17. 17 Structured programming and clean-room software development E.W. Dijkstra (digstra) in 1968, wrote a letter to a computer journal which was entitled “Go To statement is considered harmful” which led to the common idea that structured programming was simply not using GO TO statements The ideas of structured programming have been further developed into the ideas of clean-room software development by Harlan Mills of IBM, who developed this idea. With this development, there are three separate teams * A specification team - which obtains user requirements and also a usage profile estimating the volume of use for each feature in the system * a development team- which develops the code but which does no machine testing of the program code produced * a certification team - which carries out testing