• No results found

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

N/A
N/A
Protected

Academic year: 2021

Share "SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY"

Copied!
5
0
0

Loading.... (view fulltext now)

Full text

(1)

1 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 Quality, IEEE, Quality Model. INTRODUCTION:

Software Quality 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, post-production 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.

(2)

2 Quality 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 Quality Attributes

Criteria/goals Description

Correctness Extent to which a program satisfies its requirements

Efficiency The amount of computing resources and code required by a program to perform a function.

Flexibility Effort required modifying an operational program. Functionality Which may include feature sets, capabilities and security

Integrity Extent to which access to software or data by unauthorized persons can be controlled.

Interoperability Effort required to couple one system with another

Maintainability Effort required locating and fixing an error in an operational program.

Modifiability The degree to which a system or component facilitates the incorporation of changes, once the nature of the desired change has been determined.

Performance Imposes conditions on functional requirements such as speed, efficiency,

availability, accuracy, throughput, response time, recovery time, and resource usage.

Portability Effort required to transfer software from one configuration to another.

Reliability Extent to which a program can be expected to perform its intended function with required precision.

Reusability Extent to which a program can be used in other applications – related to the packaging and scope of the functions that programs perform.

Supportability Which may include testability, extensibility, adaptability, maintainability,

compatibility, configurability, serviceability, installability, localizability (internationalization)

Testability Effort required testing a program to ensure that it performs its intended function

(3)

3 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 Quality Model 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, self-contentedness, 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 Quality Model (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 Quality Model. The model aimed at improving the management of software development processes by software industry. FURPS Quality Model 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.

(4)

4 In 1991, the International Organization for Standardization introduced a standard named ISO/IEC 9126 Software product evaluation - Quality 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

Table2: Comparison between quality models w.r.t. Characteristics Characteristics McCall’s Quality Model Boehm’s Quality Model. Dromey's Quality Model. FURPS Quality Model ISO 9126 Quality Model Bowen 1985 Murine 1983 Correctness     Efficiency       Expandability  Flexibility     Functionality    Human Engineering  Integrity    Interoperability    Intraoperability  Maintainability      Modifiability  Performance  Portability       Process Maturity  Reliability       

(5)

5 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 Quality”, 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 Quality – Part 1: Quality Model”, 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 Model: 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.

References

Related documents

 Path : collected personal data from users’ mobile device address books, contrary to statements in privacy policy..  Nomi : retail location-tracking service misled consumers

Effects of In-Feed Chlortetracycline Prophylaxis in Beef Cattle on Animal Health and Antimicrobial- Resistant Escherichia coli..

(Doctoral dissertation). Available from ProQuest Dissertations and Theses database. Social media platforms benefit, frustrate small businesses. Main Street 2.0: A guide to online

"Foreign institutional ownership and stock market liquidity: Evidence from Indonesia", Journal of Banking and Finance,

Based on this proposition, this paper proposes a weighted preference graph method for personalized preference evaluation, and a rough set based fuzzy axiomatic design approach

It was hypothesized that (1) mouth-oriented otters would possess long, narrow skulls indicative of high velocity jaws and hand-oriented otters would possess short, blunt skulls with

This study

However, recent mobility protocols, (such as, SIGMA [16], Mobile IPv6 [2]) have incorporated route optimization between the mobile host and the correspondent node, by informing