CHAPTER 1 Introduction to SQA.

Slides:



Advertisements
Similar presentations
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Advertisements

Software Quality Assurance Plan
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.
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.
Quality assurance in software production Lari Karppinen
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited The need for comprehensive software quality requirements Classification.
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The need for comprehensive software quality requirements Classification.
Software Quality Assurance
Software Quality Assurance What is software quality?
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation
Chapter 2 Please note that author slides have been significantly modified.
Introduction to Software Testing
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.
Factor Of Software Quality
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
S OFTWARE Q UALITY A SSURANCE M ODEL. S UGGESTED MODEL One of SQA model that is suggested is a McCall’s model which consists of 11 factors, subsequent.
CHAPTER 5 Infrastructure Components PART I. 2 ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser 2 Learning Objectives: To discuss: The need for SQA procedures.
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.
Software Quality Assurance
Managing Software Quality
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Planning and Tracking Software Quality.  What Is Software Quality?  Causes of Software Defects  What is Quality Assurance?  Improving the Software.
Software Quality Assurance Activities
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
SE513 Software Quality Control Lecture01: Introduction to Software Quality Assurance Galin, SQA from Theory to Education Limited.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
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,
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 3 Software Quality Factors.
Slide 1V&V 10/2002 Software Quality Assurance Dr. Linda H. Rosenberg Assistant Director For Information Sciences Goddard Space Flight Center, NASA
Basic of Software Testing Presented by The Smartpath Information System An ISO 9001:2008 Certified Organization
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
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
About Quality Pre paired By: Muhammad Azhar. Scope What is Quality Quality Attributes Conclusion on software Quality Quality Concepts Quality Costs.
Tutorial 1: Date: 19/09/2012 Instructor: Hanif Ullah
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 factors
Quality Models in Software Engineering Literature: An Analytical and Comparative Study Rafa E. Al-Qutaish, PhD Al Ain University of Science and Technology.
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
SEN 460 Software Quality Assurance
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
1 Chapter 1 The Software Quality Challenge. 2 The uniqueness of software quality assurance  DO you think that there is a bug-free software?  Can software.
SE513 Software Quality Assurance Lecture02: Software Quality Factors SE513 Software Quality Assurance Lecture02: Software Quality Factors Galin, SQA from.
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.
What is software quality
TOTAL QUALITY MANAGEMENT
16CS202 & Software Engineering
Software Quality Control and Quality Assurance: Introduction
Software Verification and Validation
SEVERITY & PRIORITY RELATIONSHIP
Source & Courtesy: Doc. S. Dapkūnas
Software Quality Assurance Software Quality Factor
McCall’s Quality Factors
Definitions.
مقدمه اي بر مهندسي نيازمنديها
Introduction to Software Testing
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
What is software quality?
What is software quality?
Chapter # 2 Software Quality Factors
Chapter # 7 Software Quality Metrics
Chapter # 1 Overview of Software Quality Assurance
Presentation transcript:

CHAPTER 1 Introduction to SQA

ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser Learning Objectives: To discuss: Overview of Software Quality Definitions and Objectives of SQA Software quality factors ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Overview of Software Quality Software is (IEEE): Computer program, procedures and possibly associated documentation and data pertaining to the operation of a computer system. Identical to ISO, list the following components: Computer program (code) Procedures Data necessary for operating the software system. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Software errors, faults and failures Software faults? Software failures? ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Software errors, faults and failures Software error – coding error, logical error  mistake made by people. Software faults – result of error. Software failures – occurs when fault execute. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Classification of the causes of software errors Faulty definition of requirement Client-developer communication failures Deliberate deviations from software requirements Logical design errors Coding errors Non-compliance with documentation and coding instructions Shortcomings of the testing process Procedure errors Documentation errors ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser Quality Popular view: an intangible trait—it can be discussed, felt, and judged, but cannot be weighed or measured. "I know it when I see it." quality connotes luxury, class, and taste. Expensive, elaborate, and more complex products are regarded as offering a higher level of quality than their humbler counterparts. a Cadillac is a quality car, but a Chevrolet is not, regardless of reliability and repair records; or, a surround-sound hi-fi system is a quality system, but a single-speaker radio is not. According to this view, quality is restricted to a limited class of expensive products with sophisticated functionality and items that have a touch of class.  inexpensive products can hardly be classified as quality products. (?) ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser Quality Professional view: Crosby (1979) defines quality as "conformance to requirements“. implies that requirements must be clearly stated such that they cannot be misunderstood. Then, in the development and production process, measurements are taken regularly to determine conformance to those requirements. The non-conformances are regarded as defects—the absence of quality. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser Quality Juran and Gryna (1970) define it as "fitness for use“. takes customers' requirements and expectations into account, which involve whether the products or services fit their uses. Since different customers may use the products in different ways, it means that products must possess multiple elements of fitness for use. According to Juran, each of these elements is a quality characteristic and all of them can be classified into categories known as parameters for fitness for use. The two most important parameters are quality of design and quality of conformance. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser Quality quality of conformance is concerned with implementation, quality of design measures how valid the design and requirements are in creating a worthwhile product (Pressman, 2005). ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Software Quality – IEEE Definition Software quality is: The degree to which a system, component, or process meets specified requirements. The degree to which a system, component, or process meets customer or user needs or expectations. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Software Quality – Pressman’s Definition Software quality is defined as: Conformance to explicitly stated functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Software Quality – Pressman’s Definition 3 requirements for quality: Specific functional requirements  output of the software system; The software quality standards mentioned in the contract; Good Software Engineering Practices (GSEP), to be met by the developer even though not explicitly mentioned in the contract. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Definition and Objectives of SQA SQA (IEEE definition) is: A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements. A set of activities designed to evaluate the process by which the products are developed or manufactured. Contrast with quality control. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Derived from SQA definition by IEEE Plan and implement systematically. Refer to the software development process. Refer to the specifications of the technical requirements. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

SQA – Extended definition SQA is: A systematic, planned set of actions necessary to provide adequate confidence that the software development process or the maintenance process of a software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within the budgetary confines.  see attachment. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser The Objectives of SQA Software development (process-oriented) Acceptable level of confidence that the software will conform to functional technical requirements. Acceptable level of confidence that the software will conform to managerial scheduling and budgetary requirements. Initiating and managing of activities for the improvement and greater efficiency of software development and SQA activities. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Objectives of SQA (cont..) Software maintenance (product-oriented) Acceptable level of confidence that the software maintenance activities will conform to the functional technical requirements. Acceptable level of confidence that the software maintenance activities will conform to managerial scheduling and budgetary requirements. Initiating and managing activities to improve and increase efficiency of software maintenance and SQA activities. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Software Quality Factors Content: The need for comprehensive software quality requirements Classifications of software requirements into software quality factors The structure (categories and factors) of McCall’s classic factor model The additional factors Those intended in defining the software quality requirements ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

The need for comprehension software quality requirements Many cases of low customer satisfaction are situations where software projects have satisfactorily fulfilled the basic requirements of correctness, while suffering from poor performance in other important areas such as maintenance, reliability, software reuse, or training. One of the main causes: lack of defined requirements pertaining to these aspects of software functionality.  need for comprehensive definition of requirements that will cover all aspects of software use throughout all stages of the software life cycle. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

The structure (categories and factors) McCalls’s factor model classifies all software requirements into 11 software quality factors. These factors are grouped into 3 categories: Product operation factors: correctness, reliability, efficiency, integrity, usability. Product revision factors: maintainability, flexibility, testability. Product transition factors: portability, reusability, interoperability. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Product operation software quality factors Correctness: required accuracy, completeness of the output information, etc. Reliability: determine maximum allowed software system failure rate. Efficiency: resources needed to perform all the functions of the software in conformance to all requirements. Integrity: software system security. Usability: scope of staff resources needed to operate the software system. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Product revision software quality factors Maintainability: determine the efforts needed to identify the reasons for failure, to correct it, and to verify the success of the corrections. Flexibility: capabilities and efforts to support adaptive maintenance activities. Testability: related to special features in the programs that help the testers – providing predefined results, logfiles. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Product transition software quality factors Portability: adaptation of a software system to other environments – hardware, OS, etc. Reusability: use other software’s module in a new project. Interoperability: creating interfaces with other software systems or with other systems. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Alternative models of software quality factors The Evans and Marciniak factor model (Evans & Marciniak, 1987). The Deutsch and Willis factor model (Deustch & Willis, 1988). ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser Comparison Both exclude testability factors. Evan & Marciniak1: 12 factors, classified into 3 categories. Deustch & Willis2: 15 factors, classified into 4 categories. 5 new factors: verifiability (both), expandability (both), safety2, manageability2, survivability2. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser Additional factors Verifiability: design and programming features that enable efficient verification of the design and programming. Expandability: future efforts to improve service, or add new applications to improve usability. Safety: eliminate condition hazardous to operators of equipment as a results of errors in process control software. Manageability: administrative tools that support software modification. Survivability: continuity of service. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Those interested in defining software quality requirements The client’s requirements document Assure the quality of the software product. The developer’s additional requirements document. Adding requirements that represent his own interests: reusability, verifiability and portability. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser

Additional notes and reference Appendix 1 Table 2.2: The expanded SQA definition – comparisons with other versions (pg 27). Appendix 2 Table 3.3: Factors and sub-factors (pg 49). Galin, D. 2004. Software Quality Assurance: From Theory to Implementation. ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser