Assessment of Software Quality: A Fuzzy Multi-Criteria Approach

Assessment of Software Quality: A Fuzzy Multi-Criteria Approach

Praveen Ranjan Srivastava (Birla Institute of Technology and Science (BITS), India), Ajit Pratap Singh (Civil Engineering Group, India) and Vageesh K. V. (Indian Institute of Management (IIM), India)
DOI: 10.4018/978-1-61520-809-8.ch011
OnDemand PDF Download:


Software Quality Assurance consists of monitoring the software engineering processes and ensuring the highest quality. But, the software quality attributes that we deal with are not explicit in the outset and cannot be easily measured. The same attribute has multiple significance and importance in multiple contexts. The user, the developer and the manager of a software product may have different stands regarding the significance of a quality attribute. A software quality engineer, while measuring the total software quality should provide appropriate weight to each of the decision makers. This chapter proposes a fuzzy multi-criteria approach to measure the total software quality and to identify the best alternative from a set of software products.
Chapter Preview


Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software (Pierre Bourque and Robert Dupuis, 2004). Computerized systems now pervade every aspect of our daily life, increasing the importance on the quality of the software that run them. As the hardware systems became more sophisticated, the software became more complex and new programming paradigms were introduced. The development and use of software is becoming very important in today’s life of rapid technological advancement. It becomes even more important when critical decisions are made by software driven systems (M. Lehman, 1996).

Therefore, as we become more dependent on software based systems, there is a need to produce high quality software which requires a systematic approach for quantification of quality of the software developed. Software quality is generally defined as “the degree to which a system or its components, or the processes involved in the system meets specified requirements”. It can also be expressed as “the degree to which a system, its components, or process meets customer or user based expectations.” (Sivamuni Kalaimagal and Rengaramanujam Srinivasan, 2008). Quality, in general, is the totality of features and characteristics of a product or a service that bears on its ability to satisfy the given needs (Arun Sharma, Rajesh Kumar and P. S. Grover, 2008). According to Ljerka Beus Dukic and Jorgen Boegh (2003), software quality evaluation is defined as “the systematic examination of the software capability to fulfill specified quality requirements.” A software quality model is defined as, “a set of characteristics and sub characteristics, as well as the relationships between them that provide the basis for specifying quality requirements and evaluating quality.” To fulfill the expectations of user, good software should deal various quality attributes, the quantification of which is a challenging and complex prospect.

Many investigators have classified various software quality attributes depending on the important viewpoints of a software product (Luigi Buglione and Alian Abran, 1999) and (Praveen Ranjan Srivastava and Krishan Kumar, 2009) these can be as follows:

  • Attributes with Manager’s Perspective

  • Attributes with User’s Perspective

  • Attributes with Developer’s Perspective

Complete Chapter List

Search this Book: