An Overview of Software Quality Concepts and Management Issues

Author(s):  
Alain April ◽  
Claude Y. Laporte

This chapter introduces the generally accepted knowledge on software quality that has been included in the (SWEBOK) Software Engineering Body of Knowledge (ISOTR 19759, 2005). One chapter of the SWEBOK is dedicated to software quality (April et al., 2005). It argues that ethics play an important role in applying the quality models and the notions of cost of quality for software engineers. It also describes the minimal content required in a software quality assurance plan. Finally an overview of what to expect in the upcoming international standards on software quality requirements, which transcend the life cycle activities of all IT processes, is presented.

2009 ◽  
pp. 222-241
Author(s):  
Alain April ◽  
Claude Y. Laporte

This chapter introduces the generally accepted knowledge on software quality that has been included in the (SWEBOK) Software Engineering Body of Knowledge (ISOTR 19759, 2005). One chapter of the SWEBOK is dedicated to software quality (April et al., 2005). It argues that ethics play an important role in applying the quality models and the notions of cost of quality for software engineers. It also describes the minimal content required in a software quality assurance plan. Finally an overview of what to expect in the upcoming international standards on software quality requirements, which transcend the life cycle activities of all IT processes, is presented.


Author(s):  
Claude Y. Laporte ◽  
Alain April

Software tests are used by most organizations. However, many other software quality assurance practices are often neglected. Most developers are not aware of the high cost of inferior quality and its impact on the duration and budget of a project. At the École de technologie supérieure (ÉTS), software quality assurance (SQA) is taught in lecture format in the undergraduate software engineering curriculum. The SQA course covers the concepts of the business modeland the cost of quality, to convince students of the importance of putting in place adequate prevention and evaluation practices, both to reduce the number of defects and to predict the extra effort needed to correct defects introduced as the work progresses.The course includes a 10-week capstone project in which teams of 4 students apply the SQA practices taught inclass in a software development assignment. The students collect measures throughout the 10-week period, and the performance of each team is analyzed. This analysis allows discussion to take place on the positive impact of SQA practices as a way to deliver quality software on time and within budget.


Author(s):  
David N. Card

This article discusses the importance of achieving software quality to ensure the safety and security of maritime systems. Software controls the behaviour of many maritime and offshore systems, making it an essential component of such systems. Software defects have been the primary cause of several accidents and have contributed to many more. All the good work of mechanical engineers and marine architects can be undone by a simple programming error. Unfortunately, standards and risk analyses that address software currently are not part of standard industry practice. This article reviews the motivation for addressing software as part of maritime systems assurance and summarizes the standards and risk analyses available to the industry. Both international standards and classification rules are beginning to be adopted, as part of an increasing recognition of the role of software in all complex systems. This article introduces a framework for examination of software quality, including process product, operational, and customer perspectives. Important elements of this article were introduced in Card [1]. This article focuses on software process quality. Getting the software right the first time is much cheaper than testing and fixing it to reach acceptability. The cost of rework for a typical software development project ranges from 20% to 50% of total project costs. This article identifies some common software process reference models and explains how they help to achieve software quality. While, there is no specific national or international regulation addressing Software Quality Assurance (SQA) in the Maritime and Offshore industry, some recommendations and guidelines have emerged recently. Three classification societies (DNV GL, ABS, and LR) have published software process reference models (standards) as optional rules for offshore vessels. These standards are based on widely accepted ISO/IEC standards that have been endorsed by national standards bodies. Regulations and liability concerns will eventually force the maritime and offshore industry to accept greater requirements for software quality assurance, as has happened in other major industries. For now, if a customer wants quality, he/she must ask for it. These new optional standards make that easier.


2010 ◽  
Author(s):  
◽  
Margaret Hamill ◽  

As software evolves, becoming a more integral part of complex systems, modern society becomes more reliant on the proper functioning of such systems. However, the field of software quality assurance lacks detailed empirical studies from which best practices can be determined. The fundamental factors that contribute to software quality are faults, failures and fixes, and although some studies have considered specific aspects of each, comprehensive studies have been quite rare. Thus, the fact that we establish the cause-effect relationship between the fault(s) that caused individual failures, as well as the link to the fixes made to prevent the failures from (re)occurring appears to be a unique characteristic of our work. In particular, we analyze fault types, verification activities, severity levels, investigation effort, artifacts fixed, components fixed, and the effort required to implement fixes for a large industrial case study. The analysis includes descriptive statistics, statistical inference through formal hypothesis testing, and data mining. Some of the most interesting empirical results include (1) Contrary to popular belief, later life-cycle faults dominate as causes of failures. Furthermore, over 50% of high priority failures (e.g., post-release failures and safety-critical failures) were caused by coding faults. (2) 15% of failures led to fixes spread across multiple components and the spread was largely affected by the software architecture. (3) The amount of effort spent fixing faults associated with each failure was not uniformly distributed across failures; fixes with a greater spread across components and artifacts, required more effort. Overall, the work indicates that fault prevention and elimination efforts focused on later life cycle faults is essential as coding faults were the dominating cause of safety-critical failures and post-release failures. Further, statistical correlation and/or traditional data mining techniques show potential for assessment and prediction of the locations of fixes and the associated effort. By providing quantitative results and including statistical hypothesis testing, which is not yet a standard practice in software engineering, our work enriches the empirical knowledge needed to improve the state-of-the-art and practice in software quality assurance.


2005 ◽  
Vol 40 (11) ◽  
pp. 29-36 ◽  
Author(s):  
Bixin Li ◽  
Ying Zhou ◽  
Yancheng Wang ◽  
Junhui Mo

Sign in / Sign up

Export Citation Format

Share Document