Measuring software quality Product based on Fuzzy Inference System techniques in ISO standard

The success of a software product depends on several factors. Given that different organizations and institutions use software products, the need to have a quality and desirable software according to the goals and needs of the organization makes measuring the quality of software products an important issue for most organizations and institutions. To be sure of having the right software. It is necessary to use a standard quality model to examine the features and sub-features for a detailed and principled study in the quality discussion. In this study, the quality of Word software was measured. Considering the importance of software quality and to have a good and usable software in terms of quality and measuring the quality of software during the study, experts and skilled in this field were used and the impact of each factor and quality characteristics. It was applied at different levels according to their opinion to make the result of measuring the quality of Word software more accurate and closer to reality. In this research, the quality of the software product is measured based on the fuzzy inference system in ISO standard. According to the results obtained in this study, it is understood that quality is a continuous and hierarchical concept and the quality of each part of the software at any stage of production can lead to high quality products .


Introduction
The American Heritage Dictionary defines quality as "a feature or attribute of something." Quality as a characteristic of something refers to the measurable properties of something, things that we can compare with known standards such as length, color, electrical properties, malleability, etc. (Modiri et al, 1388). Software quality is one of the most important and significant issues in the software development life cycle. Software quality is a critical indicator for the production of high quality software that, while increasing productivity in software production, leads to the creation of powerful and invincible software. The American Heritage Dictionary defines quality as "a feature or attribute of something." Quality as a characteristic of something refers to the measurable properties of something, things that we can compare with known standards such as length, color, electrical properties, malleability, and so on. In order to evaluate and review the software, the features and specifications of the software must first be evaluated. In other words, it is necessary to identify the quality parameters and quality characteristics and sub-characteristics of the software and examine them. For a detailed and principled study in the discussion of quality, a standard quality model is used to examine the characteristics and sub-characteristics. There are different quality models, each of which has a specific application according to the situation and the issue, but in general, today there are two types of software quality models, quality models that evaluate a series of special features, such as Albercht model and Hallstead model. These models focus only on certain quality parameters and generally cannot assess the overall quality of the software. Integrated hierarchical models such as McCall and Boom, etc., as well as ISO series standard models such as ISO 9126, ISO 25000, etc. These integrated hierarchical models show all the factors and relationships that affect software quality. Gives. We can use these models to express and show the relationships between factors. It is important to note that most definitions of measurement targets and judgments are largely based on the mental factors of end users and customers and QA (Quality Assurance and Control Groups) groups, with significant deviations. Judging and measuring better and superior quality is a relative matter and varies among different human beings. The purpose of the measurement is a kind of ambiguity and uncertainty, which is better to obtain values that are appropriate and closer to reality.

2-ISO 25000 standard
Is a new set of international standards for measuring the quality of software products. This standard details the design and management requirements of product quality requirements. The purpose of this standard is to clarify the requirements that must be introduced by the organization to ensure the successful identification of quality requirements and the implementation of evaluation. The ISO 25000 standard series includes 5 main parts: quality management, quality model, quality measurement, quality requirements and quality evaluation. This standard details the design and management requirements of product quality requirements. The purpose of this standard is to clarify the requirements that must be introduced by the organization to ensure the successful identification of quality requirements and the implementation of evaluation (Zubrow, 2004).

3-Fuzzy logic
It is logical that in the completion of Crisp or Aristotelian logic, which looks at phenomena and the world around them in a relative and real way, many definitions and descriptions of quality have been given, but one of the most important problems and management issues is to be able to use this method and other qualitative methods. Convert to quantitative and measurable. (Seyedi et al, 1388) Fuzzy logic is a new technology that combines conventional methods for designing and modeling a system that requires advanced and relatively complex mathematics using quantities and linguistic conditions, or in other words, expert knowledge, with the aim of simplifying and making system design more efficient. Alternates or completes to a large extent (Radfar et al, 1389). In fact, one of the features of fuzzy logic is the use of the basic rule structure of fuzzy logic, during which control problems become a series of rules that respond to the desired output of the system for the input conditions given to the system. These are simple and obvious rules to describe the optimal response of the system in terms of Linguistic variables are used instead of mathematical formulas. The truth is that after the phrase if, a pre-logic is stated, and on the basis of which we examine the other truth, which comes later and explains the result of the work. In fact, fuzzy logic puts human experience and knowledge in front of him in the form of a combination of numbers and enables him to make decisions based on mathematics and logic (Rauf Fard et al, 1386).

Fuzzy inference process
A fuzzy inference system, as in Figure 1, consists of three main components, the input or inputs, the rule base, and the output or outputs. The Mamdani-type fuzzy inference process theoretically consists of five steps, regardless of the purpose for which it is used, including fuzzy input or inputs, application of logic operators, fuzzy inference rules, aggregation or aggregation, and fuzzy output or outputs.

Procedure and Methodology of Project
In consultation with experts, the two quality parameters that are more important to the user and have a greater impact on the selection of a software product by him based on the selected quality model. 1 -usability and 2 -performance according to the ISO 2501 quality model, the following Table 1

:Quality Characteristic and Parameters
To start working with fuzzy logic, rules must first be generated if, then, and for this, the factors affecting each of the sub-characteristics must be identified using the opinions of experts. For this purpose, during various meetings with experts, their opinions about each of the qualitative characteristics and their sub-characteristics as well as important and influential factors on the sub-characteristics and also the extent of the impact of each of these factors on each of the quality sub-characteristics are discussed. it placed . Finally, according to the consultation with them, for each of the selected sub-characteristics, two important factors that can have the most impact were identified, which can be seen in Table 2: Then, the fuzzy index of the index of physical properties and conditions was performed according to linguistic variables. In fuzzy construction, first the language variables are defined and the fuzzy domain is determined. The input data are categorized using words such as low, medium and high, and then the membership function of each set is determined according to the domains. After entering the values of the fuzzy domains into the MATLAB software, the membership functions, which is a Gaussian function, were plotted. In the next step, fuzzy rules and propositions are formed. These statements are defined by conditional if-then statements that express the impact of the following qualitative characteristics of Word software on software quality. Finally, the output was displayed using MATLAB software. This process was performed separately for all input variables. Also, according to the number of verbal variables and the use of the membership function and segmentation, The same process was performed for the outputs of this fuzzy system. For the determined factors that are considered as the input of the first stage, considering the opinion of experts, the verbal variables were considered low, medium and high. In fact, their fuzzy set space (general range) was divided into three categories and the following characteristics The output of this level is divided into five categories: very low, low, medium, high and very high. And then the rules if, then were determined for each of these factors. Figure 2 shows the fuzzy model related to the first part in the first level by Mamdani method with MATLAB software. In the following figure, two inputs and one output are defined. In this figure, there are two user guidance variables and the number of messages meaning the input variables of the fuzzy system (independent variable) and the variability of understanding the output variable (dependent variable) of the fuzzy system.

Figure 2:Fuzzy Model for First Layer
Then, the definitions of membership functions of the two input functions mentioned in MATLAB software were discussed. As shown in Figure 3, the membership function of the input variable is defined. The selected membership function is a Gaussian function that is divided into three qualities: low-medium and high.

Figure 3:Membership Function
Then, as can be seen in Figure 4, from the rules setting section, we enter the rules if then related to the relevant feature according to the opinions of several experts related to word software. After these steps, the defined fuzzy system will respond by receiving two values as inputs, a numeric output between 0 and 100 that specifies the value of comprehensibility quality.

Evaluate research results
At this stage, after determining the fuzzy rules and consulting with experts in determining the effective factors, the effective factors and sub-quality characteristics on the final quality of word software were examined. Using the fuzzy technique, a small amount of word quality in three levels was determined by MATLAB software.

6-1-First level results
In the first level, the factors affecting the quality subcharacteristics described in Table 2 were the input of the fuzzy system, which resulted in a numerical value being considered as the quality value for each of the quality sub-characteristics. As shown in the figure, the effect of the two variables of user guidance and the number of meaningful messages as input on the quality characteristic of Understandability is shown in Figure 5 with 62.7 Percentage. Figure 6 shows the output of the first step for the Word software learning capability. The quality of this sub-characteristic in the range of zero to one hundred is 48.6. This sub-property is considered as the input variable for the next level.

6-2-Second level results
The output of the first levelis the input of the second level. The result of this step is the quality value of the main features of the software product. That is, values Obtained for comprehensibility, learning ability and startup or operationability as the input value is given to the fuzzy system and the output will be a numerical value of quality for usability. The values obtained for time behavior and the use of resources as input are also entered, and the result will be the quality value for the performance attribute. The output values for the second level, which are the main quality characteristics, include usability and efficiency, and the quality values for these two characteristics were calculated as 54.9 and 55.2%, respectively.

6-3-Third level results
The output of the final level is the total value of the quality of the software product, which has a value between 0-100 and can be used as a basis for comparing the research. Which are two values of 54 and 55.2 percent and the output value is 54.8 percent which shows in Figure 8, which shows the overall quality of this software product.

Results and discussion
As mentioned before, the factors affecting the subcharacteristics mentioned in Table 2 are the input of the first level and the amount of quality of the subcharacteristics as the output of this level. For example, in the first level, the effect of these factors on the temporal behavior of Word software according to Figure 17. As can be seen when the quality value of the input power parameter is increased and the quality input parameter of the response time decreases the quality of the output variable of the temporal behavior increases.

Figure 9: Surface viewer of Time Behavior Characteristic
Also in the second level, the two outputs of the first level, as the input of the second level, will result in performance characteristics. As can be seen in Figure 18, the better the performance of the software over time and the better the Utilization of the software, the higher the performance of the software and vice versa.

9-Conclusion
Considering the important and significant role of software products in today's world and the increasing use of them in human life, both in the organizational dimension and individually and personally, and considering the fact that the quality of software products as an advantage It is a competition for the teams and organizations that produce these products. , It is necessary to use a standard quality model to examine the characteristics and sub-characteristics for a detailed and principled study in the discussion of quality. To get information about the quality of a software product, you must first consult with the customers or users of that software product, the developers and stakeholders, and the people who deal with it in some way. Therefore, in the discussion of quality, there is a kind of ambiguity and uncertainty. For this reason, in order to obtain clear and citationable results that can be used to review, analyze and compare the quality of software products, the use of fuzzy logic to turn quality issues into quantitative seems necessary. Also, considering the importance of software quality and to have a good and usable software in terms of quality, it is necessary to use experts and skilled people in this field during the research and measure the quality of the product and the impact of each factor and Apply quality characteristics at different levels according to their opinion to more accurately measure the quality of software product and closer to reality. As a practical result of this research, it should be noted that an organization or software development team that has produced a software product in a field of work with which there are similar products in the market in competition can use the model. Evaluate the appropriate quality and fuzzy logic techniques of the product and measure its quality. After that, the software development organization can decide to correct the weaknesses of its production software as much as possible and achieve a higher quality software, or it can decide to avoid releasing the product in the market and spending a lot of money.