Comparative Analysis of Different Software Quality Models



Similar documents
A Comparative Study of Software Quality Models

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

What do you think? Definitions of Quality

Software Engineering: Analysis and Design - CSE3308

Software quality attributes and trade-offs

Evaluating the Quality of Software in ERP Systems Using the ISO 9126 Model

QUALITY MODEL BASED ON COTS QUALITY ATTRIBUTES

Comparison of most adaptive meta model With newly created Quality Meta-Model using CART Algorithm

The Role of Information Technology Studies in Software Product Quality Improvement

Software Quality Management

Software Engineering Compiled By: Roshani Ghimire Page 1

Capability Maturity Model Integrated (CMMI)

Non-Functional Requirements

Software Quality Assurance: VI Standards

Darshan Institute of Engineering & Technology Unit : 7

MTAT Software Engineering Management

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011,

An Approach for Enhance the Software Quality Based on Quality Model

Manufacturing View. User View. Product View. User View Models. Product View Models

Software Process Improvement CMM

Impact of user satisfaction on Software quality in use

Evaluation of the Iceland State Financial and Human Resource System REPORT OF THE INDIVIDUAL EVALUATOR. Annex 2 SYSTEM AND SOFTWARE QUALITY

Basic Principles and Concepts for Achieving Quality

Basic Testing Concepts and Terminology

Key Factors for Developing a Successful E-commerce Website

Application of software product quality international standards through software development life cycle

Future of CMM and Quality Improvement. Roy Ko Hong Kong Productivity Council

Plan-Driven Methodologies

An Efficient Objective Quality Model for Agile Application Development

CSC 408F/CSC2105F Lecture Notes

application of software quality models in evaluation of study quality

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

A Report on The Capability Maturity Model

Software Process Maturity Model Study

MEASURING USABILITY OF ICONIC BASED GUIs OF MOBILE EMERGENCY SERVICE SOFTWARE BY USING HCI. Y.Batu Salman, Adem Karahoca

Characteristics of Computational Intelligence (Quantitative Approach)

Evaluation and Integration of Risk Management in CMMI and ISO/IEC 15504

V&V and QA throughout the M&S Life Cycle

Process Improvement. Objectives

Process Improvement. From the Software Engineering Institute:

Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM)

Software Testing Maturity Model SM (SW-TMM SM ) Presenter: Duy Huynh

PORTFOLIO, PROGRAMME & PROJECT MANAGEMENT MATURITY MODEL (P3M3)

ISO/IEC 9126 in practice: what do we need to know?

Organizational Requirements Engineering

Software Engineering CSCI Class 50 Software Process Improvement. December 1, 2014

CMMI 100 Success Secrets

Software Process Improvement. Overview

The Advantages of ISO 9001 Certification

Lecture 8 About Quality and Quality Management Systems

Chap 1. Software Quality Management

Software Maintenance Capability Maturity Model (SM-CMM): Process Performance Measurement

Quality Management. Lecture 12 Software quality management

The Design and Improvement of a Software Project Management System Based on CMMI

Process Improvement -CMMI. Xin Feng

ISO OR CMM: WHICH IS MORE EXTENSIVE FOR THE QUALITY SYSTEMS IN A SOFTWARE INDUSTRY?

SOFTWARE REQUIREMENTS

CDC UNIFIED PROCESS JOB AID

Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA)

Developing CMMI in IT Projects with Considering other Development Models

<name of project> Software Project Management Plan

Project Management Step Wise. Sunday, 4 November 12

Introduction to Software Engineering. 8. Software Quality

AN OVERVIEW OF INDUSTRIAL SOFTWARE DOCUMENTATION PRACTICES

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

[project.headway] Integrating Project HEADWAY And CMMI

Levels of Software Testing. Functional Testing

The Capability Maturity Model for Software, Version 1.1

Software Engineering

Software Metrics and Measurements

A Quality Model of e-government Services Based on the ISO/IEC 9126 Standard

Process Improvement. Objectives

Quality Management. Objectives

Quality Management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 27 Slide 1

Comparison of Software Quality Models: An Analytical Approach

Software process and product improvement: an empirical assessment

Lecture 1: Introduction to Software Quality Assurance

An Enterprise Framework for Evaluating and Improving Software Quality

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Quality Management. Managing the quality of the software process and products

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

CHANGE MANAGEMENT PRINCIPLES AND PRACTICES IN ORGANISATION

An Integrated Model of ISO 9001:2000 and CMMI for ISO Registered Organizations

Quality Management. Objectives. Topics covered. Process and product quality Quality assurance and standards Quality planning Quality control

Prof. Paolo Nesi. Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet

Software Quality Standards and. from Ontological Point of View SMEF. Konstantina Georgieva

The most suitable system methodology for the proposed system is drawn out.

Requirements engineering

Transcription:

Comparative Analysis of Different Software Quality Models Ranbireshwar S. Jamwal, Deepshikha Jamwal & Devanand Padha Jamwal.grandee@gmail.com, Jamwal.shivani@gmail.com,dpadha@rediffmail.com Lecturer, Research Scholar, H.O.D ABSTRACT Software Quality is increasingly important in today's marketplace. An organization s focus on the strategic importance of software quality depends on whether they are producers or users of software. Software users see software as a tool to be used to support them in the way they do business in their specific sector. Quality is a composition of many characteristics. Because of that, quality is usually captured in a model that depicts the characteristics and their relationships. The models are useful; they show what people think is important when speaking about quality. Different organizations use different quality models based upon the requirements. Different concepts of software quality characteristics are reviewed and discussed in this paper. Also comparative analysis of various software quality models used by various organisations is being discussed in this paper. KEY WORDS Software Quality, software Quality Models. 1. INTRODUCTION Software quality is conformance to explicitly state functional and performance requirements, explicitly documented development standards, and implicit characteristics that are expected of all professionally developed software. Some organisations try to develop standard definitions for quality. We now Present some definitions of international and standard organisations: ISO 9126: Software quality characteristic is a set of attributes of a software product by which its quality is described and evaluated". German Industry Standard DIN 55350 Part 11: Quality comprises all Characteristics and significant features of a product or an activity which relate to the satisfying of given requirements". ANSI Standard (ANSI/ASQC A3/1978): Quality is the totality of features and characteristics of a product or a service that bears on its ability to satisfy the given needs. IEEE Standards (IEEE Std 729-1983): The totality of features and characteristics of a software product that bear on its ability to satisfy given needs: For example, conformance to specifications. The degree to which software possesses a desired combination of attributes. The degree to which a customer or a user perceives that software meets her composite expectations[1]. 1.1 KEY DIMENSIONS TO SOFTWARE QUALITY Level of satisfaction. The degree to which customers or users perceive that a software product meets their composite needs and expectations. Product value. The degree to which a software product has value for its various Stakeholders relative to the competitive environment. Key attributes. The degree to which a software product possesses a combination of desired properties, e.g., reliability, portability, maintainability[2]. Defectiveness. The degree to which a software product works incorrectly in target user environments due to debilitating operational defects. Process quality. In relation to the development process by which the product is produced, it means good people doing the right things in an effective way. 1.2 MEASUREMENT OF SOFTWARE QUALITY 1. The aim of software quality engineering is to investigate the relationships among in-process metrics, project characteristics, and end-product quality. 2. In general, software quality metrics are more closely associated with process and product metrics[3]. 1.3 QUALITY METRIC Quality metric provides a numerical value that can be scaled to measure a quality factor. Metrics must be complete and detailed sufficiently to be the firm foundation of a quality model. There is a strange relationship between internal and external quality. External quality is quality as measured by the customer. Internal quality is quality as measured by the programmers [4]. 2. SOFTWARE QUALITY MODELS Quality is a composition of many characteristics. Because of that, quality is usually captured in a model that depicts the characteristics and their relationships. The models are useful; they show what people think is important when speaking about quality. There are a number of software quality models described below [5].

A. THE ISO 9126 STANDARD QUALITY MODEL Having a single universal model makes it easier to compare one product with another. The ISO 9126 quality model was proposed as an international standard for software quality measurement in 1992. It is a derivation of the McCall model. ISO 9126 defines 21 attributes that a quality software product must exhibit (Figure 1). The 21 attributes are arranged in six areas: functionality, reliability, usability, efficiency, maintainability and portability. Although we have these attributes, measuring quality still is not easy. Software quality measurement techniques allow us to measure some of the attributes (in bold in Figure 5). But still, many of the attributes seem to be very hard to measure in a straightforward way. ISO 9126 is the most common used quality standard model. There are several others though, such as IEEE 1061[6]. The ISO 9126-1 software quality model identifies 6 main quality Characteristics, namely: Functionality Reliability Usability Efficiency Maintainability Portability B. MC CALL SOFTWARE QUALITY MODEL. One of the more renowned predecessors of today s quality models is the quality model presented by Jim McCall et al. [9-11] (also known as the General Electrics Model of 1977). The McCall Model aimed at system developers. It is used during \development process. It identifies 3 areas of software work: - Product Operation refers to the product s ability to be quickly understood, efficiently operated and capable of providing the results required by the user. Production Revision - is related to error correction and system adaptation. Product Transition distributed processing, rapid change in hardware [7]. C. BOEHM SOFTWARE QUALITY MODEL The second of the basic and founding predecessors of today s quality models is the quality model presented by Barry W. Boehm. Boehm addresses the contemporary shortcomings of models that automatically and quantitatively evaluate the quality of software. The intermediate level characteristic represents Boehm s 7 quality factors that together represent the qualities expected from a software system: Portability (General utility characteristics): Code possesses the characteristic portability to the extent that it can be operated easily and well on computer configurations other than its current one. Reliability (As-is utility characteristics): Code possesses the characteristic reliability to the extent that it can be expected to perform its intended functions satisfactorily. Efficiency (As-is utility characteristics): Code possesses the characteristic efficiency to the extent that it fulfills its purpose without waste of resources. Usability (As-is utility characteristics, Human Engineering): Code possesses the characteristic usability to the extent that it is reliable, efficient and human-engineered. Testability (Maintainability characteristics): Code possesses the characteristic testability to the extent that it facilitates the establishment of verification criteria and supports evaluation of its performance. Understand ability (Maintainability characteristics): Code possesses the characteristic understand ability to the extent that its purpose is clear to the inspector. Flexibility (Maintainability characteristics, Modifiability): Code possesses the characteristic modifiability to the extent that it facilitates the incorporation of changes, once the nature of the desired change has been determined [8]. D. DROMEY'S QUALITY MODEL Dromey has built a quality evaluation framework that analyzes the quality of software components through the measurement of tangible quality properties. Each artefact produced in the software lifecycle can be associated with a quality evaluation model. Dromey gives the following examples of what he means by software components for each of the different models: Variables, functions, statements, etc. can be considered components of the Implementation model; A requirement can be considered a component of the requirements model; A module can be considered a component of the design model; According to Dromey (1995), these components all possess intrinsic properties that can be classified into four categories: Correctness: Evaluates if some basic principles are violated. Internal: Measure how well a component has been deployed according to its intended use. Contextual: Deals with the external influences by and on the use of a component. Descriptive: Measure the descriptiveness of a component (for example, does it have a meaningful name. Dromey proposes a product based quality model that recognizes that quality evaluation differs for each product and that a more dynamic idea for modelling the process is needed to be wide enough to apply for different systems. Dromey is focusing on the relationship between the quality attributes and the sub-attributes, as well as attempting to connect software product properties with software quality attributes.

Implementation, Correctness Internal Contextual Descriptive, Functionality, reliability Maintainability, efficiency, reliability, Maintainability, reusability, portability, reliability, Maintainability, reusability, portability, usability. Dromey's Quality Model is further structured around a 5-step process: 1) Chose a set of high-level quality attributes necessary for the evaluation. 2) List components/modules in your system. 3) Identify quality-carrying properties for the components/modules (qualities of the component that have the most impact on the product properties from the list above). 4) Determine how each property affects the quality attributes. 5) Evaluate the model and identify weaknesses [9]. E. Capability Maturity Model: The Carnegie Mellon Software Engineering Institute (SEI), non-profit group sponsored by the DoD work at getting US software more reliable. Examples of relevant material produces from SEI are the PSP and TSPi. While PSP and TSPi briefly brushes the topic of this technical paper, SEI has also produced a number of more extensive Capability Maturity Models that in a very IEEE and ISO 9000 similar manner addresses the topic of software quality: CMM / SW-CMM P-CMM [32] CMMI [33] - PDD-CMM - SE-CMM - SA-CMM The limitation of current models: Two categories cannot fully reflect the characteristics (human, time, equipment, etc) are limited; some of fault-prone modules should be tested with higher priority. Proceedings of the 3 rd National Conference; INDIACom-2009 An ideal approach is ranking all the modules according to their fault-prone level. F. The FURPS Model A later, and perhaps somewhat less renown, model that is structured in basically the same manner as the previous two quality models (but still worth at least to be mentioned in this context) is the FURPS model originally presented by Robert Grady (and extended by Rational Software - now IBM Rational Software - intofurps+3). FURPS stands for: Functionality which may include feature sets, capabilities and security Usability - which may include human factors, aesthetics, consistency in the user interface, online and context sensitive help, wizards and agents, user documentation, and training materials. Reliability - which may include frequency and severity of failure, recoverability, predictability, accuracy, and mean time between failure (MTBF). Performance - imposes conditions on functional requirements such as speed, efficiency, availability, accuracy, throughput, response time, recovery time, and resource usage Supportability - which may include testability, extensibility, adaptability, maintainability, compatibility, configurability, serviceability, install ability, localizability (internationalization). The FURPS-categories are of two different types: Functional and Non-functional. Functional Requirements (F): Defined by input and expected output. Non-functional Requirements (NF): Usability, Reliability, Performance, and Supportability [10]. 3. ANALYSIS In order to achieve the objective that is the comparison of different quality models, the authors have collected data from various organizations using both primary and secondary research methods. In the Primary method the authors have used the questionnaire.in addition to the questionnaire, the students were interviewed personally. Questionnaire to 25 organizations (Govt / Semi-Govt. and software companies) have been circulated and feedback was received. The questionnaire contains various software quality characteristics like correctness, maintainability, testability, Integrity, Reliability, Usability, Understandability, and Interoperability etc. and their suitability is checked for various software quality models. Secondary methods included journals, Research papers, Articles, Periodicals etc. On the basis of the survey analysis is done using different analysis tools and analysis is done, which is shown below in the form of tables.

Criteria/Goals McCall Model Boehm ISO 9126, 1993 Model Correctness Maintainability Reliability Maintainability Integrity Usability Efficiency Maintainability Testability Interoperability Maintainability Flexibility Reusability Portability Clarity Modifiability Maintainability Documentation Resilience Understandability Validity Maintainability Functionality Generality Economy Table 1: Comparison between criteria/goals of the McCall, Boehm and ISO 9126 quality models. Table 2: Comparison between Different Software Quality Models. 4. CONCLUSION Software quality engineering needs a quality model that is usable throughout the software lifecycle and that it embraces all the perspectives of quality model suitable for such a purpose, through the comparative evaluation of existing quality models and their respective support Quality engineering. From the research it is observed that the: Users play a role in the measurement of Software Quality. Users have a direct and equal impact on the software quality. Identifies the requirements, which needs improvement Requires a good amount of time for the evaluation. Can be used to improve the quality of later versions of the software. 5. FUTURE WORK To measure the effectiveness of our metric by using realistic data. In depth analysis of the various software quality models using more exhaustive questionnaire. To distribute the questionnaire among more multinational companies and study the various aspects of software quality involved. To compare the efficiency of this metric with the existing Software Quality Metrics. REFERENCES [1]. Adnan Rawashdeh et.al, A New Software Quality Model for Evaluating COTS Components, Journal of Computer Science 2 (4): 373-381, 2006, ISSN 1549-3636. [2]. Souheil Khaddaj et.al, A Proposed Adaptable Quality Model for Software Quality Assurance, Journal of Computer Sciences 1 (4): 482-487, 2005, ISSN 1549-3636, Science Publications, 2005. [3]. Eugenio Capra, Chiara Francalanci, Francesco Merlo, "An Empirical Study on the Relationship Between Software Design Quality, Development Effort and Governance in Open Source Projects," IEEE Transactions on Software Engineering, 05 Aug 2008. IEEE computer Society Digital Library. IEEE Computer Society, 11 October 2008. [4]. Mossab Ahmmad Rashid Al Hunaity, "Towards an Efficient Quality Based Web Service Discovery Framework," services, pp.261-264, 2008 IEEE Congress on Services - Part I, 2008. [5]. avier Franch, Juan Pablo Carvallo, "Using Quality Models in Software Package Selection," IEEE Software, vol. 20, no. 1, pp. 34-41, Jan/Feb., 2003. [6]. Robert S. Oshana, Richard C. Linger, "Capability Maturity Model Software Development Using Cleanroom Software Engineering Principles - Results of an Industry Project," hicss, pp.7042, Thirty-second Annual Hawaii International Conference on System Sciences-Volume 7, 1999. [7]. C. V. Ramamoorthy, "Evolution and Evaluation of Software Quality Models," ictai, pp.543, 14th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'02), 2002. [8]. Jeff Tian, "Quality-Evaluation Models and Measurements," IEEE Software, vol. 21, no. 3, pp. 84-91, May/Jun, 2004. [9] McCall, J. A., Richards, P. K., and Walters, G. F., "Factors in Software Quality", Nat'l Tech.Information Service, no. Vol. 1, 2 and 3, 1977.

[10] Kitchenham, B. and Pfleeger, S. L., "Software quality: the elusive target [special issues section]", IEEE Software, no. 1, pp. 12-21, 1996.