SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY



Similar documents
Comparative Analysis of Different Software Quality Models

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

An Approach for Enhance the Software Quality Based on Quality Model

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

A Comparative Study of Software Quality Models

QUALITY MODEL BASED ON COTS QUALITY ATTRIBUTES

Software Engineering Compiled By: Roshani Ghimire Page 1

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

Software Engineering: Analysis and Design - CSE3308

The Role of Information Technology Studies in Software Product Quality Improvement

ISO/IEC JTC1/SC7 N4098

Key Factors for Developing a Successful E-commerce Website

What do you think? Definitions of Quality

application of software quality models in evaluation of study quality

Non-Functional Requirements

Lecture 8 About Quality and Quality Management Systems

Comparison of Software Quality Models: An Analytical Approach

Impact of user satisfaction on Software quality in use

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

Basic Testing Concepts and Terminology

ISO and Industry Standards for User Centred Design

Darshan Institute of Engineering & Technology Unit : 7

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

A REVIEW FRAMEWORK FOR OPEN SOURCE ORIENTED SOFTWARE

Usability metrics for software components

Quality Management. Lecture 12 Software quality management

Organizational Requirements Engineering

Software quality attributes and trade-offs

Mike Peters Senior Test Consultant/Delivery Manager LogicaCMG All rights reserved

Requirements engineering

ISO/IEC Software Product Quality Model

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

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

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

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level

Software Quality Management

Lecture Softwareengineering-Vertiefung

The Role of the Software Architect

Software Metrics and Measurements

The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code

Quality in Use: Meeting User Needs for Quality

A Selection Model for ERP System by Applying Fuzzy AHP Approach

CSC 408F/CSC2105F Lecture Notes

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

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

Integrated Software Quality Evaluation: A Fuzzy Multi-Criteria Approach

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

An Efficient Objective Quality Model for Agile Application Development

Chap 1. Software Quality Management

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

Levels of Software Testing. Functional Testing

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

Characteristics of Computational Intelligence (Quantitative Approach)

Requirements engineering and quality attributes

The Complete Alphabet of Quality Software Systems: Conflicts and Compromises

Software Test Plan (STP) Template

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

Service Measurement Index Framework Version 2.1

International Software & Systems Engineering. Standards. Jim Moore The MITRE Corporation Chair, US TAG to ISO/IEC JTC1/SC7 James.W.Moore@ieee.

FSW QA Testing Levels Definitions

Testing Metrics. Introduction

Multi-view Architecting

Chapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management

Standard Glossary of Terms Used in Software Testing. Version 3.01

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.

A Review of Models for Evaluating Quality in Open Source Software

MTAT Software Engineering Management

Quality Management. Objectives

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

SEPA Testing Framework. Wat is SEPA? LogicaCMG Rik Marselis. Even voorstellen: Rik Marselis

Software Quality and Assurance in Waterfall model and XP - A Comparative Study

MDEP Generic Common Position No DICWG 02

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

Quality Manual for Interoperability Testing. Morten Bruun-Rasmussen

On Non-Functional Requirements

Introduction to Software Engineering. 8. Software Quality

Lecture 1: Introduction to Software Quality Assurance

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

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

Software Metrics & Software Metrology. Alain Abran. Chapter 4 Quantification and Measurement are Not the Same!

Interface Design Rules

Defining Quality Workbook. <Program/Project/Work Name> Quality Definition

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

A Framework for Software Product Line Engineering

Transcription:

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY Mrs. Manisha L. Waghmode Assistant Professor Bharati Vidyapeeth Deemed University, Institute of Management and Rural Development Administration, Sangli Dr. Pallavi P. Jamsandekar Professor Bharati Vidyapeeth Deemed University, of Management and Rural Development Administration, Sangli ABSTRACT: Software is now used in almost every business application. People depend on reports generated through software. Small error in software may cause serious mistake in decision making. Today software plays a vital role in keeping and updating all records in a systematic manner, and hence software industries have demand of developing the software as per the end users requirements. When demand increases the supply has to be increased in same proportion, so for supplying the required software it is important to keep into consideration quality of the software. This paper describes about software quality, factors affecting quality of software, different software quality models and its comparative study. Keywords: ISO, McCall, Software, IEEE,. INTRODUCTION: Software comprises of quality of product, service, information, processes, people, and system. There are numerous definitions of quality. The ISO 9000 model defines quality as the degree to which a set of inherent characteristics fulfills requirements. (Tricker) ISO 9126, a refinement of the ISO 9000 model, which proposes a quality standard for software product evaluation, defines software quality as the totality of features and characteristics of a software product that bear on its ability to satisfy stated or implied needs. (Hansen) Pressman has defined software quality as Conformance to explicitly defined functional and implicit characteristics that are expected of professionally developed software According to IEEE Software quality is the degree to which a system, component, or process meets specified requirements and/ or customer or user needs or expectations. Software quality focuses four areas viz; product, project quality, process, postproduction quality. The first area, product quality, is concerned with the requirements and specifications of the product as it applies to the attributes or characteristics of the software product. This area could also be referred to as end-product quality. The second area, project quality, is concerned with the metrics and measurements associated with the software production effort. The third area is process or management quality, which is concerned with the processes, planning and controls used to develop and manage the software product. The last area of focus is on post-production quality or deployed application management. High quality software meets the needs of users while being reliable, well supported, maintainable, portable, and easily integrated with other tools. SOFTWARE QUALITY PROBLEM Software defects have created a serious damages and even physical harm. The defects in software like word, finance applications etc., increases cost but nobody is injured or killed. When software with special intensive systems are considered like airplane, automobiles, control air traffic, run factories or operate power plants, defects can be dangerous. People have been killed by defective software. Defects in software adversely affect the security, safety, and reliability of the system. 1

is referred to as the satisfaction of requirements. But what are requirements? Requirements can be categorized as functional and non-functional. Functional requirements refer to specific functions that software should be able to do. But we all know that just because a user can complete a task using the software, does not mean it has good quality. That s because of the non-functional requirements not being met. For maintaining quality software some standards which are made, called as software quality models. SOFTWARE QUALITY FACTORS The quality of software is assessed by a number of variables. Some quality criteria are objective, and can be measured accordingly. Some quality criteria are subjective, and are therefore captured with more arbitrary measurements. These variables can be divided into external and internal quality criteria. External quality (features, speed, space, network usage, stability, robustness, ease of use, determinism, back-compatibility, security, power consumption) is what a user experiences when running the software in its operational mode. Internal quality (test coverage, testability, portability, thread-safeness, conciseness, maintainability, documentation, legibility, scalability) refers to aspects that are code-dependent, and that are not visible to the end-user. External quality is critical to the user, while internal quality is meaningful to the developer only. Software quality factors are characteristics which are measured for testing the quality of software. These attributes are correctness, reliability, efficiency, integrity, usability, maintainability, flexibility, testability, portability, reusability, interoperability, availability, Table1. Software Attributes Criteria/goals Correctness Efficiency Flexibility Functionality Integrity Interoperability Maintainability Modifiability Performance Portability Reliability Reusability Supportability Testability Description Extent to which a program satisfies its requirements The amount of computing resources and code required by a program to perform a function. Effort required modifying an operational program. Which may include feature sets, capabilities and security Extent to which access to software or data by unauthorized persons can be controlled. Effort required to couple one system with another Effort required locating and fixing an error in an operational program. The degree to which a system or component facilitates the incorporation of changes, once the nature of the desired change has been determined. Imposes conditions on functional requirements such as speed, efficiency, availability, accuracy, throughput, response time, recovery time, and resource usage. Effort required to transfer software from one configuration to another. Extent to which a program can be expected to perform its intended function with required precision. Extent to which a program can be used in other applications related to the packaging and scope of the functions that programs perform. Which may include testability, extensibility, adaptability, maintainability, compatibility, configurability, serviceability, installability, localizability (internationalization) Effort required testing a program to ensure that it performs its intended function 2

Understandability The degree to which the purpose of the system or component is clear to the evaluator. Usability Effort required learning, operating, preparing input, and interpreting output of a program. SOFTWARE QUALITY MODELS From the 1960 s the development of software products was perceived as an engineering discipline. One can also find first attempts to define goals and measures for software in that time. One of the most difficult measures to define was the software quality measure. The first attempts to define quality measure were made in the 1970 s by McCall s and Boehm s. Azuma has defined a as the set of characteristics and the relationships between them which provide the basis for specifying quality requirements and evaluating quality. Software quality models are a well-accepted means to support quality management of software systems. BOHEM MODEL This model attempts to qualitatively define the quality of software by a predefined set of attributes and metrics. He classified (B.W. Bohem ) General utility into utility, maintainability, portability which in turn were classified into characteristics like device independence, selfcontentedness, Accuracy, Completeness, Integrity, Consistency, Device efficiency, Accessibility, communication, Self Descriptiveness, Structuredness, Conciseness, Legibility, Augment ability. The intermediate level characteristic represents Boehm s 7 quality factors that together represent the qualities expected from a software system: BOWEN 1985 The Bowen 1985 software quality model identifies quality characteristics, namely: correctness, Reliability, Efficiency, Usability, Integrity, Maintainability, verifiability, Portability, flexibility, reusability, interoperability, survivability, expandability. DROMEYMODEL Dromey s (R.G. Dromey) proposes a framework to evaluate requirement determination, design and implementation phases. The framework consists of three models, i.e. Requirement quality model, Design quality model and Implementation quality model. The high-level product properties for the implementation quality model include, correctness measures, Internal measures, Contextual measures, Descriptive measures. Dromey includes high level quality attributes: functionality, reliability, efficiency, usability, maintainability, portability, correctness, reusability and process maturity. Dromey focuses on relationship between the quality attributes and sub attributes. FURPS MODEL Robert Grady and Hewlett-Packard are the first one to propose model with the industrial approach. This quality model is known as FURPS. The model aimed at improving the management of software development processes by software industry. FURPS includes top five level attributes i.e. Functionality, Usability, Reliability, Performance and Supportability. Further, the model was extended by IBM Rational Software into FURPS+, widely used in the software industry now. ISO 9126 MODEL 3

In 1991, the International Organization for Standardization introduced a standard named ISO/IEC 9126 Software product evaluation - characteristics and guidelines for their use. This standard aimed to define a quality model for software and a set of guidelines for measuring the characteristics associated with it. ISO 9126 (ISO / IEC) ISO 9126 is an international standard for the evaluation of software. The standard is divided into four parts which addresses: quality model; external metrics; internal metrics; and quality in use metrics. The ISO 9126-1 software quality model identifies main quality characteristics, namely: Functionality (Suitability, Accurateness. Interoperability, Compliance, Security), Reliability (Maturity, Fault tolerance, Recoverability, Understand ability), Usability (Learnability, Operability), Efficiency (Time behaviour, Resource behaviour, Analysability), Maintainability (Changeability, Stability, Testability, Adaptability) Portability (Installability, Conformance, Replaceability). McCall MODEL McCall s model relates external quality factors, i.e. attributes, to product quality criteria. McCall s model classifies all software requirements grouped into three categories, product operations, product revision and product transition. (McCall) MURINE 1983 The Marine 1983 software quality model identifies quality characteristics, namely: correctness, Reliability, Efficiency, Usability, Integrity, Maintainability, Portability, flexibility, testability, reusability, interoperability, Intraoperability COMPARATIVE STUDY OF MODELS Characteristics Table2: Comparison between quality models w.r.t. Characteristics McCall s Boehm s. Dromey's. FURPS ISO 9126 Bowen 1985 Murine 1983 Correctness Efficiency Expandability Flexibility Functionality Human Engineering Integrity Interoperability Intraoperability Maintainability Modifiability Performance Portability Process Maturity Reliability 4

Reusability Supportability Survivability Testability Understandabil ity Usability Verifiability CONCLUSION Software quality is essential for every stakeholder of software. Through comparative study of software quality models it has found that, software should have different characteristics (achieving high quality software is not single person responsibility) developing quality software is need today. While developing any software there must be quality as one of the objectives. It is everybody s responsibility to see to it that defined quality should be achieved for the final product. Starting from requirement specification till maintenance phase who have role in software developing, operation and transaction, all should have as prime objective. From the comparative table it is observed that reliability and usability characteristics are considered in every model and most of the sub characters are used in most models. So we have to give focus on improving software quality. REFERENCE 1. B.W. Bohem et al. J. R. Brown, H. Kaspar, M. Lipow, G. McLeod, and M. Merritt, Characteristics of Software, North Holland, (1978) 2. Hansen, W., A Generic Process and Terminology for Evaluating COTS Software, i. [http://www.sei.cmu.edu/cbs/tools99/generic/generic.pdf], 07 Sep. 1999. ii. Accessed Jul.2004. 3. ISO / IEC, IS 9126-1, Software Engineering Product Part 1:, Geneva Switzerland: International Organization for Standization, 2001. 4. McCall, J. Richards, P., Walters, G. Factors in software quality. Griffiths Air Force Base, NY, Rome Air Development Center Air Force System Command, 1977. 5. R.G. Dromey, Software product quality: Theory, model and practices. Software quality Institute, Griffith University, Brisbane, Technical Report, 1999. 6. Software Engineering Institute: Glossary - Software Technology Roadmap, i. http://www.sei.cmu.edu/str/indexes/glossary, last checked Nov. 30, 2004. 7. Software Engineering Institute, The Capability Maturity : Guidelines for Improving the Software Process, MA: Addision Wesley, 1994. 8. Tricker, R., and Sherring-Lucas, B., ISO 9001:2000 In Brief, Butterworth Heinemann, Oxford, 2001. 5