Comparison of Software Quality Models: An Analytical Approach



Similar documents
A Comparative Study of Software Quality Models

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

An Approach for Enhance the Software Quality Based on Quality Model

An Efficient Objective Quality Model for Agile Application Development

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

Comparative Analysis of Different Software Quality Models

Key Factors for Developing a Successful E-commerce Website

WEB SURVEY SYSTEM TO DISCOVER THE ACTUAL ROLE OF EXPERIENCE IN LEARNING IN HIGHER EDUCATION: A CASE STUDY

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

Software Engineering Compiled By: Roshani Ghimire Page 1

The Role of Information Technology Studies in Software Product Quality Improvement

What do you think? Definitions of Quality

II. TYPES OF LEVEL A.

OBJECT ORIENTED SOFTWARE SYSTEM BASED ON AHP

A Comprehensive Assessment of Object-Oriented Software Systems Using Metrics Approach

Software Engineering: Analysis and Design - CSE3308

On Non-Functional Requirements

A Selection Model for ERP System by Applying Fuzzy AHP Approach

ISO/IEC JTC1/SC7 N4098

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

Requirements engineering

application of software quality models in evaluation of study quality

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

Usability metrics for software components

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

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

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

1. INTRODUCTION. 23'd Int. Conf. Information Technology Interfaces /TI 2007, June 19-22, 2001, Pula, Croatia

QUALITY MODEL BASED ON COTS QUALITY ATTRIBUTES

SELECTION OF AN ORGANIZATION SPECIFIC ERP

An Approach of Web Service Quality Attributes Specification

Scenario-based Evaluation of Software Architecture Styles from the Security Viewpoint

Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics

Software & Security Assurance Metrics and methods for software certification

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

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process

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

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

Relational Analysis of Software Developer s Quality Assures

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

Impact of user satisfaction on Software quality in use

Engineering Process Software Qualities Software Architectural Design

Requirements engineering and quality attributes

Characteristics of Computational Intelligence (Quantitative Approach)

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

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

The Software Quality Star: A conceptual model for the software quality curriculum

Software Quality Assurance: VI Standards

Weighted Total Mark. Weighted Exam Mark

How To Validate An Isos 9126 Quality Model

Performance Evaluation of Reusable Software Components

Quality Management. Lecture 12 Software quality management

Index. inherent and testability, 93 measure of, 96, 97 operational, 95 operational and testability, 91 Axiomatic Design Methodology, 15, 16, 36 38

Karunya University Dept. of Information Technology

A REVIEW FRAMEWORK FOR OPEN SOURCE ORIENTED SOFTWARE

The Complete Alphabet of Quality Software Systems: Conflicts and Compromises

Selecting the Optimal ERP Software by Combining the ISO 9126 Standard and Fuzzy AHP Approach

Quality prediction model for object oriented software using UML metrics

Using Dependency Model to Support Software Architecture Evolution

Software Test Plan (STP) Template

A hybrid approach for the prediction of fault proneness in object oriented design using fuzzy logic

Effective Test Management can help you to launch mobile payments faster, smarter and cheaper

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

International Journal of Advance Research in Computer Science and Management Studies

2/25/2012. [5]

Keywords Class level metrics, Complexity, SDLC, Hybrid Model, Testability

Component Based Software Engineering: A Broad Based Model is Needed

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

SOFTWARE PERFORMANCE EVALUATION ALGORITHM EXPERIMENT FOR IN-HOUSE SOFTWARE USING INTER-FAILURE DATA

CSC 408F/CSC2105F Lecture Notes

An integrated life cycle quality model for general public market software products

Lecture 8 About Quality and Quality Management Systems

A Fuzzy Decision Model for ERP Software Assessment

Chap 1. Software Quality Management

Quality Management. What is quality? Managing the quality of the software process and products ISO 9000

A WBS-Based Plan Changeability Measurement Model for Reducing Software Project Change Risk

International Journal of Advanced Research in Computer Science and Software Engineering

Agile Processes and Methodologies: A Conceptual Study

Service Measurement Index Framework Version 2.1

Integrated Software Quality Evaluation: A Fuzzy Multi-Criteria Approach

SMICloud: A Framework for Comparing and Ranking Cloud Services

Introduction to Software Engineering. 8. Software Quality

Measurement Information Model

YOKING OBJECT ORIENTED METRICS THROUGH MUTATION TESTING FOR MINIMIZING TIME PERIOD RAMIFICATION

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

Core Issues Affecting Software Architecture in Enterprise Projects

The W-MODEL Strengthening the Bond Between Development and Test

Umbrella: A New Component-Based Software Development Model

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

How To Calculate Class Cohesion

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

ISO and Industry Standards for User Centred Design

Causal Relationships between Improvements in Software Development Processes and Final Software Product Quality

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object

Making Architectural Design Phase Obsolete TDD as a Design Method

Basic Testing Concepts and Terminology

ARMMS - Architecture Reference Model for Multilingual Software

ISSN: (Online) Volume 4, Issue 2, February 2016 International Journal of Advance Research in Computer Science and Management Studies

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

Transcription:

Comparison of Software Quality Models: An Analytical Approach Sanjay Kumar Dubey 1, Soumi Ghosh 2, Prof. (Dr.) Ajay Rana 3 1 Amity University, Sec-125, NOIDA, India 2 Amity University, Sec-125, NOIDA, India 3 Amity University, Sec-125, NOIDA, India 1 skdubey1@amity.edu 2 soumi1069@rediffmail.com 3 ajay_rana@amity.edu Abstract With the objective of presenting qualitative software system most of the software producers have endeavoured and infact this is their main purpose. Software quality is having multi-dimensional content which may be distinguished and measured easily. To be specific, with the idea of determining the multidimensional content in a more exact pattern various qualitative models have been presented by virtue of which different aspects of this matter have been attempted to be investigated properly. Practically as because there are existences of different models which have used different expressions the comprehension of this basic content have become to some extent hard or difficult. Attempts have been made in this particular paper to introduce some models that have been mentioned and more clearly analysis the qualitative characteristics and side-by-side determine the software quality along with the analytical comparison of these models. This paper may serve the purpose of a reference for investigating software quality and its related models. Keywords Quality, Models, Analysis, System I. INTRODUCTION Software quality plays an important role in success of the overall software system. So it is considered as a very important aspect for the developers, users and project managers. Software quality is the extent to which an industry-defined set of desirable features are incorporated into a product so as to enhance its lifetime performance [11]. For any software system there must be following three specifications such as functional specification (what system is to do), quality specification (how well the functions are to operate), resource specification (how much is to be spent on the system). Quality comprises all characteristics and significant features of a product or an activity which relate to the satisfying of given requirements (German Industry Standard DIN 55350 Part 11). Quality is the total of features and characteristics of a product or a service that bears on its ability to satisfy the given needs (ANSI/ASQC A3/1978). Software quality has been categorized into two parts by Deutsch et al. [8] as software procedure quality and software product quality. Software engineering related elements like technology, tools, people, organisation and equipment were used in software procedure quality. However, software product quality consists of certain aspects like document clarity and integrity, design trace-ability, program reliability and test integrity as its basic characteristics. A quality model is usually defined as a set of characteristics and relationships between them which actually provide the basis for specifying the requirements of quality and evaluating quality [20]. It is also defined as a structured set of properties that are needed for an object of a class to meet defined purposes [12]. The benefit of quality model is given by decomposition of valuable object like process, product or organisation in the list of its characteristic/subcharacteristics measures. It is applicable for predicting, assuring and verifying the achievement of a defined goal. Quality, apart from describing and measuring the functional aspects of software also describes the extra functional properties such as how system is built and how it performs. This paper describes various quality models and their analytical comparison, determines software qualification and its qualitative characteristics more clearly. Different software quality models were proposed for software applications by various researchers. The ISO/IEC 9126-1[18] model which actually incorporates the findings of various other models i.e. Mc Call[31], Boehm[4], Dromey[9] etc. has been considered as the most prominent model and this has been widely accepted and recognised as a basic model in field of industry and research. 111

II. LITERATURE SURVEY The requirement to establish a quality model has been felt by users for the purpose of evaluating the software quality quantitatively and qualitatively. The quality models which are present nowadays are most hierarchical models based on quality criteria and associated metrics. All such models are categorized into three kinds according to the means by which these models have been generated. First one is the theoretical model based on the hypothesis relations among variables. Second one is the data-driven which are based on statistical analysis. Third is the combined model in which intuitions are used to determine the basic type of the model and data analysis is used to determine the constants of the model. Practically in most of the cases the combined model is adapted. A. Mc Call Model: The first quality model was proposed by Mc Call J. A. [31]. The proposal of the model was basically meant to design a complete layout the products quality through its various characteristics. The quality of software has been categorized in three different parts in this model namely Product Revision (maintainability, flexibility and testability, which contribute to product revision), Product Operation (correctness, reliability, efficiency, integrity and usability contribute to product operation) and Product Transition (portability, reusability and interoperability which contribute to product transition). B. Boehm Model: Boehm s [4] quality model presents the characteristics of software on a larger scale as compare to Mc Call s model. In this model As-Is-Utility describes how easily, reliably and efficiently software product can be used, maintainability describes how easily modified and retest the software product, and portability describes how the software product can be used even when environment has been changed. Software Quality Integrity Correctness Flexibility Reusability Interoperability Traceability Completeness Consistency Error Tolerance Execution Access control Access Audit Operability Training Communicativeness Simplicity Conciseness Instrumentation Self descriptiveness Expandability Generality Modularity Software System Independence Machine independence Communications Commonality Data Commonality Figure i. Mc Call s Software Quality Model C. FURPS Model: FURPS model [15] proposed by Grady B. R. and Hewlett Packard Co. categorized characteristics into two different requirements such as Functional Requirements (F) which is defined by expected input & output and Non Functional Requirements in which U stands for (includes human factors, aesthetic, documentation of user and material of training), R stands for (includes frequency and severity of failure, recovery to failure, time among failure), P stands for Performance (includes functional requirements) and S stands for Supportability (includes backup, requisite of design, implementation, interface and physiosts). 112 D. Ghezzi Model: Ghezzi C. et al. [14] state that internal qualities deal with the structure of software which helps the software developers to achieve those external qualities for which software users care a lot and also provided both the internal and external qualities of software which are, Flexibility, Integrity,,,, Reusability and.

Device Independence Self containedness Functionality Joint of characteristics Capacities Integrity Security Software Quality As Is- Utility Human Engineering Accountability Accessibility Communicativeness Structured-ness Human Factors Aesthetic Documentation of the user Material of training Frequency and severity of failures Self descriptiveness Accountability Recovery to failures Time among failures Velocity Accessibility Communicativene ss Performance Availability Time of answers Legibility Time of Recovery Understandabili ty Conciseness Structuredness Utilization of resources Self descriptiveness Extensibility Adaptability Modifiability Structurednes Augmentability Supportability Compatibility Configurability E. IEEE Model: Figure ii. Boehm s Quality Model IEEE [17] is basically standard for software maintenance to provide a qualitative model. In this standard an iterative process for management and execution of software maintenance activities has been described. Other standards like software quality assurance, verification and validation, software configuration management in which associated processes (external processes) are defined. This model shows various measurement ways of qualitative factors and represents factors such as, Functionality,,, and. F. Dromey s Quality Model: Dromey G. R. [9] quality model is based on evaluation criteria. In other words, it aims at evaluating the quality of the product when each software product has different quality then the other. Serviceability Installability Localizability Figure iii. FURPS Model This model helps in predicting defects and indicates the properties that were violated in order to create defects. This model is designed on the relationship between quality attributes and sub-attributes between software properties and software quality attributes. G. SATC s Quality Model: Software Assurance Technology Center (SATC) Hyatt L. E. et al. [16] which is engaged for NASA with the objective of improving the software quality is actually helping the software managers in establishing metrics programs which may meet their basic needs with minimum 113

Integrity Temporal Resource Non deficiency Qualities Error tolerance Availability Completeness Flexibility Reusability Functionality Security Compatibility Figure iv. Ghezzi Model Interoperability costs and it is also interpreting the resulting metrics in the context of the supported projects. The SATC helps in defining and testing a quality model for software by using the results of these metric programs and discussions with the projects as its basis. The SATC s quality model defines a set of goals related to the software product and process attributes following the structure of the ISO 9126-1 software quality model. H. ISO 9126-1 Quality Model: ISO 9126-1 [18] quality model has two main parts consisting of Internal and External Quality Attributes and Quality in Use Attributes. The Internal quality attributes refers to the properties of the system that can be evaluated without executing it while External quality attributes refers to the system properties that may be evaluated by observing the system during its execution. The quality in use attributes refers to the properties of the system that are experienced by the users of the system when the system is in operable condition and also during its maintenance. The characteristics of this model are, Functionality,,, and. I. QMOOD: Bansiya et al. [3] proposed a hierarchical Quality Model for Object-Oriented Design (QMOOD) which extends Dromey s quality model methodology and involves four levels as follows: Supportability Extensibility Correctability Hardware Independency Software Independency Installability Reusability Comprehensibility Ease of Learning Communicativeness Figure v. IEEE Model i. Identifying design quality characteristics:-the set of design quality attributes that were used in QMOOD to describe the characteristics of object-oriented systems are functionality, effectiveness, understand-ability, extendibility, reusability and flexibility. ii. Identifying object-oriented design properties:-design properties can be determined by examining the internal and external structure, functionality of design components, attributes, methods and classes. 114

Correctness Internal Functionality,,, Suitability Implementation Contextual Descriptive, Reusability,, Functionality Interoperability Security, Reusability,, Maturity Figure vi. Dromey s Quality Model The structural and object-oriented set of design properties that were used in QMOOD are design size, hierarchies, abstraction, encapsulation, coupling, cohesion, composition, inheritance, polymorphism messaging, complexity. iii. Identifying object-oriented design metrics:-the various object-oriented design metrics are design size in classes (DSC), Number of Hierarchies (NOH), Average Number of Ancestors (ANA), Data Access Metric (DAM), Direct Class Coupling (DCC), Cohesion among Methods of class (CAM), Measure of Aggregation (MOA), Measure of functional Abstraction (MFA), Number of Polymorphic methods (NOP), Class Interface Size (CIS), Number of Methods (NOM). iv. Identifying object-oriented design properties:-the design components were identified to determine the architecture of object-oriented designs such as objects, classes, generalization-specialization structures, class hierarchies. This model identified the paradigm (e.g. polymorphism, inheritance, data abstraction etc.) and also introduces a set of new object-oriented metrics. Fault Tolerance Recoverability Understand ability Learnability Operability Time behavior Resource Behavior Analyzability Changeability Stability Compliance Adaptability Install ability Conformance Replace ability J. Other Quality Models: Kazman et al. [25] model presented two different thoughts regarding the quality characteristics during the software existence cycle. These qualitative characteristics can be summarized as follows: i) efficiency, security, availability and function; ii) modifiability, portability, reusability, inheritability and testability. Figure vii. ISO 9126-1 Quality Model A quality model Khosravi K. et al. [28] process consists of two tasks i.e. i) choose a super-characteristic and ii) choose and organize characteristics related to super characteristic. This quality model is constructed based on software reusability as super-characteristics and focus on reusability, understandability, flexibility, modularity, robustness, scalability, usability. 115

This model organized quality characteristics and subcharacteristics using the definitions from IEEE, ISO/IEC and several other software quality models. In order to evaluate software quality by means of integrating the fuzzy theory and AHP (Analytic Hierarchy Process) the guidelines were provided by Chang et al. [7] and this quality assessment approach was applied on ISO 9126-1 quality model. The software quality evaluations were based on the characteristics and sub-characteristics of ISO 9126-1 model. A component based software development quality model was proposed by Sharma A. et al. [34] which include the entire characteristics and sub-characteristics of ISO 9126-1 quality model. It also comprises of new proposed subcharacteristics i.e. re-usability, flexibility, complexity, track ability, scalability. Analytic Hierarchy Process (AHP) was used in order to evaluate overall quality component. Khomh F. et al. [27] proposed a method DEQUALITE (Design Enhanced Quality Evaluation) to build a quality model to measure the quality of object-oriented systems with the help of their internal attributes and their designs and measure system by analyzing the impact of design patterns, antipatterns, and code smells on different software quality characteristics. An Aspect-Oriented Software Quality Model (AOSQUAMO) was proposed by Kumar et al. [30] which was an extension of ISO 9126-1 software quality model. This model has also included four new sub-characteristics i.e. modularity, code-reusability, complexity and reusability in addition to original characteristics and subcharacteristics of ISO 9126-1 quality model. A UML conceptual model REASQ (Requirements, Aspects and Software Quality) was developed by Castillo I. et al. [6] to clarify the AOSD (Aspect-Oriented Software Development) terminology i.e. aspect, composition, (functional, non-functional, cross-cutting) concern, (functional, non-functional) quality or (inherent, assigned) property requirements for the software product. Comparing REASQ model, ISO 9126-1 (2007) is used to relate the requirement engineering terminology with the aspectorientation and software quality. Sehra S. K. et al. [33] developed a model based on PSO (Particle Swarm Optimization), a computational method aimed at optimizing a problem through improvement of a solution in regard to a given measure of quality. This method is actually a refinement of the fuzzy estimates meant for the development of software projects and it gives nearly the same results like different basic models. III. LAYERED APPROACH OF QUALITY MODELS The quality models constitute layered approach (Table I). The number of layers may be. 2 (Mc Call and Boehm) or 3 layers (include metric). In Table I, 1:n relationships show that every characteristics has its own subcharacteristics (as in ISO 9126-1 model) and n:m relationships show that every characteristic is linked to one or more characteristics (as in Mc Call Factor-Criteria Model (FCM)). In summary, various characteristics affect the quality models that are represented in Table II. The comparative analysis of characteristics of various software quality models is also given in Table III. IV. CONCLUSION This is a comprehensive study to enumerate different characteristics of various software qualitative models and estimate their comparative viability. It is considered that successful completion of this study will definitely help the users to understand the quality factors properly. It will also help estimation of software quality, identification and definitions of the quality criteria in desired manner. Users will also be able to realize the importance and role of the quality models in estimating software quality. Simultaneously, the different models which have been used to evaluate the quality will be analyzed properly. 116

TABLE I. LAYERED APPROACH OF QUALITY MODELS Layer Mc- Call [31] Boehm [4] 1 Factor High Level characteristic FURPS [15] Ghezzi et al. [14] IEEE [17] Dromey [9] ISO-9126-1 [18] Kazman [25] Khosravi K. et al. [28] Characteristics Characteristics Factor Attribute Characteristic Characteristics Super- Characteristics 2 Criteria Primitive characteristic Sub - characteristic Subcharacteristics Subcharacteristics Subfactor Subattribute Subcharacteristics Subcharacteristics 3 n:m n:m 1:n 1:n 1:n n:m 1:n 1:n n:m TABLE II. CHARACTERISTICS DEFINITION Characteristics Definitions Ref. The capability of the software product to provide the right or agreed results or effects with the needed degree of precision. [18] Availability The degree to which a work is operational and available for use as a product or to users [10] Changeability The characterization of the amount of effort to change a system. [23] Correctness The ease with which minor defects can be corrected between major releases while the application or component is in use by [10] its users. The capability of the software product to provide appropriate performance, relative to the amount of resources used [18] understated conditions. Flexibility The effort required modifying an operational program. [13] Functionality The capability of the software product to provide functions meet stated and implied needs when the software is under [18] specified conditions. Interface facility The degree to which two software products can be connected successfully. [10] Integrity The extent to which access to software or data by unauthorized persons can be controlled. [13] Interoperability The capability of the software product to interact with one or more specified systems. [18] The capability of the software product to be modified. [18] Modifiability Corrections, improvements or adaptations of the software to changes in environment and in requirements and functional [18] specifications. Performance The degree to which timing characteristics are adequate. [10] The capability of the software product to be transferred from one environment to another. [18] The capability of the software product to maintain a specified level of performance when used under specified conditions. [18] Reusability The ease with which an existing application or component can be reused. [10] Robustness The degree to which an executable work product continues to function properly under abnormal conditions or [10] circumstances. Scalability The ease with which an application or component can be modified to expand its existing capabilities. [10] Supportability The ability to extend the program, adaptability and serviceability, in addition to testability, computability, configurability, the ease with which a system can be installed and the ease with which problems can be localized. [32] The capability of the software product to enable modified software to be validated. [18] Transferability The cost of transferring a product from its hardware or operational environment to another. [10] Understandability The capability of the software product to enable the user to understand whether the software is suitable and how it can be [18] used for particular tasks and conditions of use. The capability of the software product to be understood learned, used and attractive to the user, when used under specified conditions. [18] 117

TABLE III COMPARISON OF QUALITY MODELS Quality Characteristics Availability/Relia bility Correctness Mc Call [31] Boeh m [4] FUR PS [15] Ghezzi et al. [14] IEE E [17] Drome y [9] ISO9126-1 [18] Kazma n [25] Khosravi K. et al. [28] Sharma A. et al. [34] Flexibility Functionality Human Engineering Integrity Interoperability Modifiability Performance Process Maturity Reusability Robustness Scalability Security Supportability Understandability Kumar et al. [30] References [1] ANSI/IEEE Standard 610.12. 1990. IEEE Standard Glossary of Software Engineering Terminology. [2] AOSD, Aspect-Oriented Software Development Home Page. 2008. http://www.aosd.net/wiki/index.php?title=glossary. [3] Bansiya, J. and Davis, C. 2002. A Hierarchical Model for Object- Oriented Quality Assessment, IEEE Transactions on Software Engineering, vol. 28, Issue 1, pp. 4-17 [4] Boehm, B.W. et al. 1978. Characteristics of software Quality, TRW Series of software Technology, Amsterdam, North Holland. [5] Boehm, B. W., Brown, J. R., and Lipow, M. 1976. Quantitative evaluation of software quality, International Conference on Software Engineering, Proceedings of the 2nd international conference on Software engineering (2nd):592-605. [6] Castillo, I., Losavio, F., Matteo, A. and Boegh, J. 2010. Requirements, Aspects and Software Quality: the REASQ model, [7] Journal of Object Technology, vol. 9, no. 4, pp.69-91. http://www.jot.fm/contents/issue_2010_07/article4.html [8] Chang, C Wu C., Lin, H. 2008. Integrating Fuzzy Theory and Hierarchy Concepts to Evaluate Software Quality, Software Quality Control, 16(2), pp. 263-267. [9] Deutsch, M.S. and Wills, R. R. 1988. Software Quality Engineering, A Total Technical and Management Approach, Prentice-Hall Inc. [10] Dromey, G. R. 1995. A model for software product quality, IEEE Trans. on software Eng., vol.21, no. 2, pp.146-162 [11] Firesmith, D. G. 2003. Common concepts underlying safety, security, and survivability engineering, Carnegie Mellon Software Engineering Institute Technical Note CMU/SEI-2003-TN-033. [12] Fitzpatrick, R.1996. Software Quality: definitions and strategic issues, School of Computing Reports, Standfordshire University. [13] Fusani, M.1995. Quality Models for Software Evolution Instruments International Seminar on Software Measuring & Testing, IEI CNR /Qualital /SSSUP S.ANNA Pisa, Italia. [14] Gaffney, J. E.1981. Metrics in software quality assurance, no. 81, pp.126-130, ACM press. [15] Ghezzi, Jazayeri, C. M. and Mandrioli, D.1991. Fundamental of software Engineering, Prentice Hall, NJ, USA. 118

[16] Grady, R., Caswell, Deborah 1987. Software metrics: Establishing a companywide program, Prentice-Hall, ISBN 0138218447. [17] Hyatt, L. E. and Rosenberg, L. H.1996. Product Assurance Symposium and Software Product Assurance Workshop, Proceedings of meetings, European Space Agency, pp. 209 [18] IEEE 1993. Standard for Software Maintenance, Software Engineering Standards Subcommittee of the IEEE Computer Society. [19] International Standard, ISO 9126-1. 2001. Institute of Electrical and Electronics Engineers, Part 1, 2, 3: Quality model. [20] ISO 9126. 2000E. Standard ISO/IEC, Information technology- Software product quality Part1: Quality Model, ISO/IEC FDIS 9126-1: 2000(E) [21] ISO /IEC. 1986. International Standard 8402: Quality Vocabulary [22] ISO/ IEC 25030. 2006. Software Engineering: Software Product Quality Requirements and Evaluation (SQuaRE), Quality Requirements. [23] ISO/ IEC CD 25010. 2007. Software Engineering: Software Product Quality Requirements and Evaluation (SQuaRE) Quality Model and guide. [24] ISO/IEC TR 9126-3. 2002. Software Engineering Product Quality. [25] ISO 9126. 1991. Software Product Evaluation: Quality characteristics and guidelines for their use, ISO/IEC Standardization ISO 9126. [26] Kazman, R., Bass, L. and Clements, P. 2003. Software Architecture in Practice 2Ed.Addison Wesley. [27] Khayami, R., Towhidi, A. and Ziarati, K. 2009. The Analytical Comparison of Qualitative Models of Software Systems, World Applied Sciences Journal 6, IDOSI Publications. [28] Khomh, F., Haderer, N. and Antoniol, G. 2009. SQUAD: Software Quality Understanding through the Analysis of Design, Reverse Engineering, WCRE 09, 16 th working conference. [29] Khosravi, K., Gueheneuc, Y. 2005. On Issues with Software Quality Models, 9 th ECOOP workshop on Quantitative Approaches in Object-Oriented Software Engineering. [30] Klein, M., Clements, P. and Kazman, R.2002. Evaluating Software Architectures: Methods and Case Studies, Addison Wesley. [31] Kumar, A., Kumar, R. and Grover, P. S. 2006. A change Impact Assessment in Aspect-Oriented Software Systems, In the proceedings of International Software Engineering Conference Russia, (SECR-2006), Dec, pp. 83-87. [32] Mc Call J. A., Richards, P. K. and Walters, G. F. 1977. Factors in Software Quality, vol. 1, 2 and 3, AD/A 049-014/015/055, National Tech. Information service, Springfield. [33] Pressman, R. S.1992. Software Engineering a practitioner's Approach. McGraw-Hill, Inc. [34] Sehra, S. K., Brar, Y. S. and Kaur N. 2011. Soft Computing Techniques for Software Project Effort Estimation, International Journal of Advanced Computer and Mathematical Sciences, ISSN 2230-9624, vol. 2, Issue 3, pp. 160-167. [35] Sharma, A., Kumar, R. and Grover, P. S. 2008. Estimation of Quality for software components: an empirical approach, ACM SIGSOFT Software Engineering Notes, 33(6), pp. 1-10 119 [36] Word, W. A. and Venkataraman, B. 1999. Some observations on software quality, ACM proceedings of 37 th Annual Southeast regional conference, Article no. 2.