Chapter # 1 Overview of Software Quality Assurance

Slides:



Advertisements
Similar presentations
1.Quality-“a characteristic or attribute of something.” As an attribute of an item, quality refers to measurable characteristics— things we are able to.
Advertisements

OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 6/e (McGraw-Hill 2005). Slides copyright 2005 by Roger Pressman.1.
CHAPTER 1 Introduction to SQA.
Overview Lesson 10,11 - Software Quality Assurance
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 What is software? Software errors, faults and failures Classification.
School of Computing, Dublin Institute of Technology.
Software Quality Assurance What is software quality?
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality - continued So let’s move on to ‘exactly’ what we mean.
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
OHT 22.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
DATE: 28/11/2012 INSTRUCTOR: HANIF ULLAH Tutorial 7.
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Introduction to Software Quality Assurance (SQA)
Chapter 2 What is software quality ?. Outline What is software? Software errors, faults and failures Classification of the causes of software errors Software.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Planning and Tracking Software Quality.  What Is Software Quality?  Causes of Software Defects  What is Quality Assurance?  Improving the Software.
Software Quality Assurance Activities
Software Quality Assurance
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
SE513 Software Quality Control Lecture01: Introduction to Software Quality Assurance Galin, SQA from Theory to Education Limited.
Quality Control Project Management Unit Credit Value : 4 Essential
S Q A.
1 Software quality - Definition IEEE 1. The degree to which a system, component, or process meets specified requirements. 2. The degree to which a system,
Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality.
Software Project Management Lecture # 11. Outline Quality Management (chapter 26 - Pressman)  What is quality?  Meaning of Quality in Various Context.
Software Project Management Lecture # 12. Outline Chapter 26 – Quality Management  What is Quality?  Meaning of Quality in Various Context  Software.
Creator: ACSession No: 15 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Software Quality Assurance & Software Quality Control.
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
1 Software quality - Definition IEEE 1. The degree to which a system, component, or process meets specified requirements. 2. The degree to which a system,
Software Quality assurance SQA – SWE 333
Software Quality Assurance. Software Quality Software quality is defined as the quality that ensures customer satisfaction by offering all the customer.
Software Engineering Lecture 8: Quality Assurance.
SEN 460 Software Quality Assurance. Bahria University Karachi Campus Waseem Akhtar Mufti B.E(C.S.E) UIT, M.S(S.E) AAU Denmark Assistant Professor Department.
SEN 460 Software Quality Assurance. Bahria University Karachi Campus Waseem Akhtar Mufti B.E(CSE) UIT, M.S(S.E) AAU Denmark Assistant Professor Department.
1 Definition Quality costs Plan Team Characteristics Implementation documentation Reviews & Audit Software Quality Assurance.
What is software quality
Quality Control and Quality Assurance
Project Quality Management
Software Quality Control and Quality Assurance: Introduction
Software Quality Management
CIS 375 Bruce R. Maxim UM-Dearborn
Software Engineering (CSI 321)
CS223: Software Engineering
Components of software quality assurance system overview
Software Quality Assurance
Software Verification and Validation
SEVERITY & PRIORITY RELATIONSHIP
Software Quality Assurance
Quality Quality is “a characteristic or attribute of something.”
د. حنان الداقيز خريف /28/2016 Software Quality Assurance ضمان جودة البرمجيات ITSE421 5 – The components of the SQA.
Definitions.
Software Quality Assurance
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
What is software quality?
Quality Measurable characteristic Cyclomatic complexity Cohesion
Software Quality Assurance
What is software quality?
Chapter # 8 Quality Management Standards
Chapter # 7 Software Quality Metrics
Software Quality Assurance 2015
Chapter # 3 The Components of SQA
BU5004 Managerial Accounting
Software Reviews.
3. Software Quality Management
Presentation transcript:

Chapter # 1 Overview of Software Quality Assurance 435-INFS-3 Software Quality Assurance Chapter # 1 Overview of Software Quality Assurance Software Quality Assurance from Theory to Implementation by Daniel Galin Prepared by: S.Hashmi

What is Software? Software is:[IEEE definition] Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system.   The IEEE definition of software, which is almost identical to the ISO definition ,lists the following four components of software: ■ Computer programs (the “code”) ■ Procedures ■ Documentation ■ Data necessary for operating the software system Computer programs (the “code”) are needed because, obviously, they activate the computer to perform the required applications.

Continue Procedures are required, to define the order and schedule in which the programs are performed, the method employed, and the person responsible for performing the activities that are necessary for applying the software. Various types of documentation are needed for developers, users and maintenance personnel. The development documentation (the requirements report, design reports, program descriptions, etc.) allows efficient cooperation and coordination among development team members and efficient reviews and inspections of the design and programming products. The user’s documentation (the “user’s manual”, etc.) provides a description of the available applications and the appropriate method for their use. The maintenance documentation (the “programmer’s software manual”, etc.) provides the maintenance team with all the required information about the code, and the structure and tasks of each software module. This information is used when trying to locate causes of software failures (“bugs”) or to change or add to existing software. Data including parameters, codes and name lists that adapt the software to the needs of the specific user are necessary for operating the software

Software quality – IEEE definition Software quality is: 1. The degree to which a system, component, or process meets specified requirements. 2. The degree to which a system, component, or process meets customer or user needs or expectations. The above definition offers two alternative definitions of software quality, held by the founders of modern quality assurance, Philip B. Crosby and Joseph M. Juran. Each definition reflects a different conception of software quality: Quality means conformance to requirements” (Crosby, 1979). (1) Quality consists of those product features which meet the needs of customers and thereby provide product satisfaction. (2) Quality consists of freedom from deficiencies” (Juran, 1988). Crosby’s definition of software quality refers to the degree to which the written software meets the specifications prepared by the customer and his professional team. This means that errors included in the software specification are not considered and do not reduce the software quality, a characteristic that can be considered the approach’s deficiency.

Continue Juran’s definition is aimed at achieving customer satisfaction, and views the fulfillment of customers’ real needs as the true goal of software quality Software quality – Pressman’s definition Pressman’s definition suggests three requirements for quality assurance that are to be met by the developer: ■ Specific functional requirements, which refer mainly to the outputs of the software system. ■ The software quality standards mentioned in the contract. ■ Good Software Engineering Practices (GSEP), reflecting state-of-the-art professional practices, to be met by the developer even though not explicitly mentioned in the contract. In effect, Pressman’s definition provides operative directions for testing the degree to which the requirements are met. Quality Control (QC) is a system of routine technical activities, to measure and control the quality of the inventory as it is being developed The QC system is designed to: (i) Provide routine and consistent checks to ensure data integrity, correctness, and Completeness

Continue (ii) Identify and address errors and omissions; (iii) Document and archive inventory material and record all QC activities. 1) Quality of Design: Quality of design refers to the characteristics that designers specify for an item. In software development, quality of design encompasses requirements, specifications, and the design of the system. 2) Quality of conformance is the degree to which the design specifications are followed during manufacturing User satisfaction = Compliant product + Good quality + Delivery within budget But if the user isn’t satisfied, nothing else really matters Cost of Quality-> The cost of quality includes all costs incurred in the pursuit of quality or in performing quality-related activities. Cost of quality may be divided into costs associated with prevention, appraisal, and failure. Prevention costs include Quality planning Formal technical reviews Test equipment Training

Continue Appraisal costs include activities to gain insight into product condition the “first time through” each process Failure costs are those that would disappear if no defects appeared before shipping a product to customers. Failure costs may be subdivided into internal failure costs and external failure costs. Internal failure costs are incurred when we detect a defect in our product prior to shipment. Internal failure costs include • Rework • Repair • Failure mode analysis External failure costs are associated with defects found after the product has been shipped to the customer. Examples of external failure costs are Complaint resolution Product return and replacement Help line support, Warranty work Quality Assurance: The main objective of quality assurance is to minimize the cost of guaranteeing quality by a variety of activities performed throughout the development and manufacturing processes/stages

Continue These activities prevent the causes of errors, and detect and correct them early in the development process. As a result, quality assurance activities substantially reduce the rate of products that do not qualify for shipment and, at the same time, reduce the costs of guaranteeing quality in most cases. Software quality assurance – The IEEE definition Software quality assurance is: 1. A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements. 2. A set of activities designed to evaluate the process by which the products are developed or manufactured. Contrast with quality control. The objectives of SQA activities The objectives of SQA activities refer to the functional, managerial and economic aspects of software development and software maintenance Software development (process-oriented): 1. Assuring an acceptable level of confidence that the software will conform to functional technical requirements

Continue 2. Assuring an acceptable level of confidence that the software will conform to managerial scheduling and budgetary requirements. 3. Initiating and managing of activities for the improvement and greater efficiency of software development and SQA activities. Software maintenance (product-oriented): 1. Assuring with an acceptable level of confidence that the software maintenance activities will conform to the functional technical requirements. 2. Assuring with an acceptable level of confidence that the software maintenance activities will conform to managerial scheduling and budgetary requirements. 3. Initiating and managing activities to improve and increase the efficiency of software maintenance and SQA activities Software Quality Assurance vs. Software Quality Control

Software Quality Assurance vs. Software Quality Control Criteria Software Quality Assurance (SQA) Software Quality Control (SQC) Definition SQA is a set of activities for ensuring quality in software engineering processes (that ultimately result in quality in software products). The activities establish and evaluate the processes that produce products. SQC is a set of activities for ensuring quality in software products. The activities focus on identifying defects in the actual products produced. Focus Process focused Product focused Orientation Prevention oriented Detection oriented Breadth Organization wide Product/project specific Scope Relates to all products that will ever be created by a process Relates to specific product Activities Process Definition and Implementation Audits Training Reviews Testing