PERTEMUAN - 2 SOFTWARE QUALITY. OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality.

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
Software Quality Assurance Plan
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 6/e (McGraw-Hill 2005). Slides copyright 2005 by Roger Pressman.1.
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
CHAPTER 1 Introduction to SQA.
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 What is software? Software errors, faults and failures Classification.
Quality assurance in software production Lari Karppinen
Components of software quality assurance system overview
Software Quality Assurance
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
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.
SQA Architecture Software Quality.
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.
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
Software Quality Assurance & Testing Mistake in coding is called error, Error found by tester is called defect, Defect accepted by development team then.
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.
SQA Architecture Software Quality By: MSMZ.
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.
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
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.
Chapter 4 Components of the Software Quality Assurance System
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.
S Q A.
 Black Box Testing Techniques © Sheridan College SYST30009-Engineering Quality Software 4.
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 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
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,
SEN 460 Software Quality Assurance. Bahria University Karachi Campus Waseem Akhtar Mufti B.E(UIT), M.S(S.E) AAU Denmark Assistant Professor Department.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
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 Lecture10: Documentation and Quality Records Control Galin, SQA from Theory to Education Limited.
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.
Multitude of source of errors - various style of source of errors will affect the SQA components * The environment in which software development & maintenance.
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.
Lecture#1 Introduction….Cont Software Quality Engineering Subject : 19(A/B) – {Assignment /Query}
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
CASE Tools and their Effect on Software Quality
Chapter 2 What is software quality?. Outline What is software? Software errors, faults and failures differences Classification of the causes of software.
What is software quality
Components of software quality assurance system overview
Software Configuration Management
Software Quality Control and Quality Assurance: Introduction
Components of software quality assurance system overview
Documentation control
Software Verification and Validation
SEVERITY & PRIORITY RELATIONSHIP
Chapter 18 Maintaining Information Systems
The Software Quality Challenge
Definitions.
BASIC DEFINITIONS Errors : An error is a mistake, misconception, or misunderstanding on the part of a software developer. In the category of developer.
What is software quality?
Software Quality Assurance
Unit 1 :Basic Of Software Testing
What is software quality?
Chapter # 6 Software Configuration Management
Chapter # 3 The Components of SQA
Chapter # 1 Overview of Software Quality Assurance
Presentation transcript:

PERTEMUAN - 2 SOFTWARE QUALITY

OBJECTIVES After completing this chapter, you will be able to: ■ Define software, software quality and software quality assurance. ■ Distinguish between software errors, software faults and software failures. ■ Identify the various causes of software errors. ■ Explain the objectives of software quality assurance activities. ■ Distinguish and explain the difference between software quality assurance and quality control. ■ Explain the relationship between software quality assurance and software engineering.

SOFTWARE What is software? Software errors, faults and failures Classification of the causes of software errors

SOFTWARE Software is: Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system.

SOFTWARE QUALITY Four Component needed to assure Quality of Software : ■ Computer programs (the “code”). ■ Procedures, 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. ■ Documentation are needed for developers, users and maintenance personnel. ■ 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 Software Error, Fault and Failures

SOFTWARE QUALITY Software errors are sections of the code that are partially or totally incorrect as a result of a grammatical, logical or other mistake made by a systems analyst, a programmer, or another member of the software development team.

SOFTWARE QUALITY Software faults are software errors that cause the incorrect functioning of the software during a specific application.

SOFTWARE QUALITY Software faults become software failures only when they are “activated”, that is, when a user tries to apply the specific software section that is faulty. Thus, the root of any software failure is a software error.

SOFTWARE QUALITY The nine causes of software errors (based of phase in Software Development) 1. Faulty requirements definition 2. Client–developer communication failures 3. Deliberate deviations from software requirements 4. Logical design errors 5. Coding errors 6. Non-compliance with documentation and coding instructions 7. Shortcomings of the testing process 8. Procedure errors 9. Documentation errors

SOFTWARE QUALITY The faulty definition of requirements, usually prepared by the client, is one of the main causes of software errors. The most common errors of this type are: ■ Erroneous definition of requirements. ■ Absence of vital requirements. ■ Incomplete definition of requirements. ■ Inclusion of unnecessary requirements, functions that are not expected to be needed in the near future.

SOFTWARE QUALITY Misunderstandings resulting from defective client–developer communication are additional causes for the errors that prevail in the early stages of the development process: ■ Misunderstanding of the client’s instructions as stated in the requirement document. ■ Misunderstanding of the client’s requirements changes presented to the developer in written form during the development period. ■ Misunderstanding of the client’s requirements changes presented orally to the developer during the development period. ■ Misunderstanding of the client’s responses to the design problems presented by the developer.

SOFTWARE QUALITY In several circumstances, developers may deliberately deviate from the documented requirements, actions that often cause software errors. The errors in these cases are byproducts of the changes. The most common situations of deliberate deviation are: ■ The developer reuses software modules taken from an earlier project without sufficient analysis of the changes and adaptations needed to correctly fulfill all the new requirements. ■ Due to time or budget pressures, the developer decides to omit part of the required functions in an attempt to cope with these pressures. ■ Developer-initiated, unapproved improvements to the software, introduced without the client’s approval, frequently disregard requirements that seem minor to the developer.

SOFTWARE QUALITY Software errors can enter the system when the professionals who design the system – systems architects, software engineers, analysts, etc. – formulate the software requirements. Typical errors include: ■ Definitions that represent software requirements by means of erroneous algorithms. ■ Process definitions that contain sequencing errors. ■ Erroneous definition of boundary conditions. ■ Omission of required software system states. ■ Omission of definitions concerning reactions to illegal operation of the software system.

SOFTWARE QUALITY A broad range of reasons cause programmers to make coding errors. These include misunderstanding the design documentation, linguistic errors in the programming languages, errors in the application of CASE and other development tools, errors in data selection, and so forth.

SOFTWARE QUALITY Almost every development unit has its own documentation and coding standards that define the content, order and format of the documents, and the code created by team members. It means non compliance with documentation and coding instruction. ■ Team members who need to coordinate their own codes with code modules developed by “non-complying” team members can be expected to encounter more than the usual number of difficulties when trying to understand the software developed by the other team members. ■ Individuals replacing the “non-complying” team member (who has retired or been promoted) will find it difficult to fully understand his or her work. ■ The design review team will find it more difficult to review a design prepared by a non- complying team. ■ The test team will find it more difficult to test the module; ■ Maintenance teams required to contend with the “bugs” detected by users and to change or add to the existing software will face difficulties when trying to understand the software and its documentation.

SOFTWARE QUALITY Shortcomings of the testing process affect the error rate by leaving a greater number of errors undetected or uncorrected. These shortcomings result from the following causes: ■ Incomplete test plans leave untreated portions of the software or the application functions and states of the system. ■ Failures to document and report detected errors and faults. ■ Failure to promptly correct detected software faults as a result of inappropriate indications of the reasons for the fault. ■ Incomplete correction of detected errors due to negligence or time pressures.

SOFTWARE QUALITY Procedures direct the user with respect to the activities required at each step of the process. They are of special importance in complex software systems where the processing is conducted in several steps, each of which may feed a variety of types of data and allow for examination of the intermediate results.

SOFTWARE QUALITY The documentation errors that trouble the development and maintenance teams are errors in the design documents and in the documentation integrated into the body of the software. Typical errors of this type are: ■ Omission of software functions. ■ Errors in the explanations and instructions given to users, resulting in “dead ends” or incorrect applications. ■ Listing of non-existing software functions, that is, functions planned in the early stages of development but later dropped, and functions that were active in previous versions of the software but cancelled in the current version.

SOFTWARE QUALITY 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.

SOFTWARE QUALITY ASSURANCE 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.

SOFTWARE QUALITY ASSURANCE SQA – expanded definition Software quality assurance 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.

SOFTWARE QUALITY ASSURANCE Quality control is defined as “a set of activities designed to evaluate the quality of a developed or manufactured product” (IEEE, 1991); in other words, activities whose main objective is the withholding of any product that does not qualify.

SOFTWARE 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. These activities prevent the causes of errors, and detect and correct them early in the development process.

SOFTWARE QUALITY ASSURANCE SQC and SQA in summary: Quality control is a set of activities carried out with the main objective of withholding products from shipment if they do not qualify. In contrast, quality assurance is meant to minimize the costs of quality by introducing a variety of activities throughout the development and maintenance process in order to prevent the causes of errors, detect them, and correct them in the early stages of development. Quality control is a subset of quality assurance

SOFTWARE QUALITY ASSURANCE The objectives of SQA activities for software development and maintenance are: (1) Assuring, with acceptable levels of confidence, conformance to functional technical requirements. (2) Assuring, with acceptable levels of confidence, conformance to managerial requirements of scheduling and budgets. (3) Initiating and managing activities for the improvement and greater efficiency of software development and SQA activities.

SOFTWARE QUALITY ASSURANCE Objective of SQA activities in software developments: (1) Assuring an acceptable level of confidence that the software will conform to functional technical requirements. (2) Assuring an acceptable level of confidence that the software will conform to managerial scheduling and budgetary requirements. (3) Initiation and management of activities for the improvement and greater efficiency of software development and SQA activities.

SOFTWARE QUALITY ASSURANCE Objective of SQA activities in software maintenance : (1) Assuring an acceptable level of confidence that the software maintenance activities will conform to the functional technical requirements. (2) Assuring an acceptable level of confidence that the software maintenance activities will conform to managerial scheduling and budgetary requirements. (3) Initiate and manage activities to improve and increase the efficiency of software maintenance and SQA activities.