Software Quality
eBook - ePub

Software Quality

Concepts and Practice

Daniel Galin

Share book
  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Software Quality

Concepts and Practice

Daniel Galin

Book details
Book preview
Table of contents
Citations

About This Book

The book presents a comprehensive discussion on software quality issues and software quality assurance (SQA) principles and practices, and lays special emphasis on implementing and managing SQA. Primarily designed to serve three audiences; universities and college students, vocational training participants, and software engineers and software development managers, the book may be applicable to all personnel engaged in a software projects

Features:

  • A broad view of SQA. The book delves into SQA issues, going beyond the classic boundaries of custom-made software development to also cover in-house software development, subcontractors, and readymade software.
  • An up-to-date wide-range coverage of SQA and SQA related topics. Providing comprehensive coverage on multifarious SQA subjects, including topics, hardly explored till in SQA texts.
    • A systematic presentation of the SQA function and its tasks: establishing the SQA processes, planning, coordinating, follow-up, review and evaluation of SQA processes.
    • Focus on SQA implementation issues. Specialized chapter sections, examples, implementation tips, and topics for discussion.
    • Pedagogical support: Each chapter includes a real-life mini case study, examples, a summary, selected bibliography, review questions and topics for discussion. The book is also supported by an Instructor's Guide.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Software Quality an online PDF/ePUB?
Yes, you can access Software Quality by Daniel Galin in PDF and/or ePUB format, as well as other popular books in Ciencia de la computación & Control y garantía de calidad. We have over one million books available in our catalogue for you to explore.

Information

Part I
Introduction

The opening part of the book presents definitions and background subjects related to software quality:
  • SQA – definitions and concepts (Chapter 1)
  • Software quality factors (attributes) (Chapter 2)
  • SQA challenges (Chapter 3)
  • Organization for assuring software quality (Chapter 4)
  • An additional chapter, Chapter 5, presents “the world of SQA”, an overview of the book.

Chapter 1
SQA – Definitions and Concepts

1.1 Software Quality and Software Quality Assurance – Definitions

We shall Start by delving into our target topic of software quality and discuss the following basic definitions:
  • Software quality
  • Software quality assurance (SQA)
  • Software quality assurance – an expanded definition
  • The objectives of SQA activities
The definition of software quality is shown in Frame 1.1.

Frame 1.1: Software Quality – a Definition

Source: IEEE Std. 730-2014 (IEEE, 2014)
Software quality is
The degree to which a software product meets established requirements; however, quality depends upon the degree to which established requirements accurately represent stakeholder needs, wants, and expectations.
Two aspects of software quality are presented in the above definition: one is meeting the requirements, while the other is generating customer/stakeholder satisfaction. A high quality software product is expected to meet all written development requirements – whether defined fully before the development began, or later in the course of the development process – and to meet the relevant regulations and professional conventions. Quality is also achieved through fulfillment of stakeholder needs and wants.

Software Quality Assurance – Definition

One of the most commonly used definitions of SQA is proposed by the IEEE, cited in Frame 1.2.

Frame 1.2: Software Quality Assurance – a Definition

Source: IEEE Std. 730-2014
Software quality assurance is
A set of activities that define and assess the adequacy of software process to provide evidence that establishes confidence that the software processes are appropriate for and produce software products of suitable quality for their intended processes. A key attribute of SQA is the objectivity of the SQA function with respect to the project. The SQA function may also be organizationally independent of the project, that is, free from technical, managerial, and financial pressures from the project.
This definition may be characterized by the following:
  • Plan and implement systematically. SQA is based on the planning and implementation of a series of activities that are integrated into all stages of the software development process. These activities are performed in order to substantiate the client's confidence that the software product will meet all the technical requirements.
  • Refer to the software development products keeping the specified technical requirements and suitability for stake holder's intended use. However, it does not include quality of the operation services.
  • Refer to the technical appropriateness of the development process. However, important attributes of the development process, namely schedule and budget keeping, are not included. It is noteworthy that:
    1. The appropriateness of project schedule and budget is a major issue in SQA as can be seen by requirement for performing contract reviews and project planning.
    2. The major part of project progress control procedures, given to the issues of schedule and budget.
    3. The close relationships that exist between software product quality, project schedule, and project budget, where schedule and budget failures result, almost always, in unavoidable software quality failure.
An extended SQA definition was created considering the importance of the quality of the software operation and the important effect of schedule and budget keeping on the software quality product.
The resulting expanded SQA definition is shown in Frame 1.3.

Frame 1.3: Software Quality Assurance – an Expanded Definition

Software quality assurance
A set of activities that define and assess the adequacy of software process to provide evidence that establishes confidence that the software processes are appropriate for producing software products of suitable quality, for their intended processes, or for their intended operation services and fulfils the requirements of schedule and budget keeping

The Objectives of SQA Activities

The objectives of SQA activities refer to the functional and managerial aspects of software development and software maintenance. These objectives are listed in Frame 1.4.

Frame 1.4: The Objectives of SQA Activities

The objectives of SQA activities are
  • Ensuring an acceptable level of confidence that the software product and software operation services will conform to functional technical requirements and be suitable quality for its intended use.
  • According to the extended SQA definition – ensuring an acceptable level of confidence that the software development and software operation process will conform to scheduling and budgetary requirements.
  • Initiating and managing activities to improve and increase the efficiency of software development, software operation, and SQA activities. These activities yield improvements to the prospects' achieving of functional and managerial requirements while reducing costs.
The other sections of the chapter deal with the following issues:
  • What is a software product?
  • The principles of SQA
  • Software errors, faults, and failures
  • The causes of software errors
  • Software quality assurance versus software quality control (SQC)
  • Software quality engineering and software engineering

1.2 What is a Software Product?

Intuitively, when we think about software, we imagine an accumulation of programming language instruc...

Table of contents