Over the few decades the software engineering practices have been changing to produce good quality software products. According to International Standard Organization (ISO)  there have been different quality factors like efficiency, effectiveness, reliability, usability etc. The general quality factors are Functionality, Reliability, Usability, Efficiency, Maintainability and Portability.
Among these quality factors, usability is a significant software quality factor that needs to be considered during software development. The term usability is derived from user friendly. Many software engineering experts define usability in their own term.
In simplest term, software usability is the ease of use, remembrance and learnability of a human-made object. The object can be a website, software application, tool, book, machine, process, or anything a human interacts with. A usability study must be conducted as a primary job by usability analyst or as a secondary job by designers, marketing personnel, technical writers, and others. Basically, usability eases the human computer interaction so that the user can communicate better with the software system. Usability can also be defined as an extent to which a product can be used by a specific group of users to achieve the specified usability goals like effectiveness, efficiency and satisfaction.
There are various standards, characterizing the quality of software and defines the term usability as follows:
The ISO/IEC 9126 defines the usability in terms of the effort needed for use .
The ISO/IEC 9126 again redefines the definition of usability as capability of the software to be understood by user under certain conditions.
The ISO 9241-11 defines usability in terms of efficiency, effectiveness, and effectiveness in a specified context of use .
The IEEE Std.610.12-1990 defines usability in terms of learnability, input and output efficiency of system .
2 Literature review
Different usability models have been proposed for quantifying and assessing the software usability. In this section, some of these models are described, highlighting the attributes on which usability depends. Some research practitioners have proposed the following usability models:
The usability attributes classified by Nielsen (1993) and Nielsen et al. (2006) refer to learnability, efficiency, memorability, errors, and satisfaction . Holzinger (2005), considers these usability attributes to be widely accepted attributes.
Preece and colleagues have developed an initial classification considering safety, effectiveness, efficiency, and enjoyableness (Preece et al., 1993) . Subsequently, they have proposed a new classification composed of learnability, throughput, flexibility, and attitude (Preece et al., 1994) .
Quesenbery (2001, 2003, and 2004) has listed the attributes of a usable product as effectiveness, efficiency, engagement, error tolerance, and ease of learning.
Abran et al. (2003) has extended the ISO 9241-11 definition by adding two further attributes, namely, learnability (already adopted by IEEE, 1990; ISO/IEC 9126-1, 2001; Nielsen, 1993) and security .
The classification by Seffah et al. (2006) also departs from ISO 9241-11. Seffah et al. (2006) has provided more elaborative classification of usability, as it defines 10 usability factors (efficiency, effectiveness, productivity, satisfaction, learnability, safety, trustfulness, accessibility, universality, and usefulness) with 26 measurable usability criteria. Each of these criteria is associated with other (interrelated factors)—for example, privacy with trustfulness, universality, and usefulness .
3 The proposed hierarchical usability model
In [1–13, 15–17], we have seen and studied a large number of international standards and usability models, which describe usability covering different attributes in nonhomogeneous manner. Therefore, it creates confusion among research practitioners or experts for its usage and applications. This inconsistent approach among usability model is creating major challenge for evaluation of usability of application. Researchers can’t attain consensus for usability’s definition and have poor information for deciding a set of usability factor. This research theme requires a hierarchical based usability model which should be consolidated to incorporate consistency in usability. Hence, usability model should be generic so that developers can measure usability without any confusion.
3.1 Proposed Hierarchical Usability Model
This section proposes a consolidated, hierarchical usability model with its detailed taxonomy. This model can easily measure the usability of the software product. Specifically, the new model combines’ usability factors, attributes, characteristics for software product quality and explain them in a consistent way. The proposed model defines the usability using seven factors that are mentioned below:
Efficiency, it is a measure of software product that enables user to produce desired results with respect to investment of resources.
Effectiveness, it is a measure of software product with which user can accomplish specified tasks and desired results with completeness and certainty.
Satisfaction, it is a measure of responses, feelings of user when users are using the software i.e. freedom from discomfort, likeability.
Memorability, it is defined as the property of software product that enables the user to remember the elements and the functionality of the system product.
Security, it is defined as the degree to which risks and damages to people or other resources i.e. hardware and software can be avoided.
Universality, it reflects the accommodation of different cultural backgrounds of diverse users with software product and practical utility of software product.
Productivity: it is defined as the amount of useful output with the software product.
3.2 Taxonomy of proposed hierarchical usability model
The proposed model consists of the 7 factors, each representing a specific facet of usability. These factors are decomposed into a total of 23 attributes, where each attributes is defined using any of the 42 characteristics. The factors and their attributes are related to each other in a hierarchical manner and are shown in Figure 1.
4 Implementation of proposed hierarchical usability model
In this paper, a series of steps have been carried out for the implementation of the proposed hierarchical usability model. Figure 2 represents series of these. An attempt has been made to rank the software development life cycle(SDLC) models. The ranking of these models can be done through Fuzzy Logic Controller. A dataset has been employed which includes six SDLC models having same functionalities. Hence these SDLC models are being evaluated using the proposed model. Seven factors and their 23 attributes of proposed model have been used for analyzing the SDLC models. Each step is discussed in detail in the trailing section.
4.1 Evaluation Criteria
Based on detailed literature review, 6 SDLC model are analyzed using the 23 attributes of the proposed model. These SDLC models are as summarized in Table 2 along with usability factors and attributes.
The values in Table 2 are computed on the basis of the literature review of all the 6 SDLC models. The SDLC model that includes the attribute in it, assigns a value 1 and if a model excludes the attribute from it, then it assigns the value 0. For example ‘Build & Fix’ model includes only ‘operability’, ‘approachability’, ‘learnability’ and ‘comprehensibility’, these 4 attributes are assigned values 1 while other attributes are assigned value 0. Using the detailed analysis of SDLC models, the values of the seven factors of the proposed model can be mapped on the scale of 0-9 using probability. The intuition of chance and probability develops at very early ages .
However, a formal, precise definition of the probability is elusive. The probability of an event tells that how likely the event will happen. The Factorvalue can be computed by finding the probability using the equation (1) and (2): (1) (2) where: P(factor) is the probability of a factor of a SDLC model; Factorvalue is the value generated for each factor of a SDLC model; Maxvalue is the maximum value of the scale i.e. 9 as we are mapping it in scale of 0–9.
Equation (1) computes the probability of a factor of a SDLC model i.e. number of available attributes out of all the attributes of a factor in an SDLC model and then equation (2), maps the value in a scale of 0–9. All these generated values have been stored in Table 3.
For example in Table 2, effectiveness has total of 5 attributes, and evolutionary model have only three attributes whose value is 1, thus the final mapped Factorvalue of effectiveness is (3/5)⋆9 = 5.4.
4.2 Fuzzy Logic
The concept of Fuzzy Logic is introduced as a way of processing data by allowing partial set membership by Lotfi Zadeh. Fuzzy theory can play a significant role in dealing with this kind of evaluation situation. To design fuzzy model for predicting usability, the Mamdani  fuzzy systems is utilized. Fuzzy set is characterized by membership function that uses a value between 0 and 1 indicating complete non-membership and complete membership respectively. This can be represented as: “X is the universe of discourse whose each element are assigned the value between 0 and 1 for a fuzzy set A” . Membership functions allow fuzzy sets to be represented graphically using triangular fuzzy number (TFN) approach to represent the uncertainty or vagueness of linguistic terms [25, 26].
4.3 Implementation of the proposed model using Fuzzy Simulink
The Proposed hierarchical usability model can be implemented using fuzzy logic controller by defining the membership function of each input (7 factors of proposed model) and output (usability). For each member function, linguistic values are defined ranging 0–9 and certain fuzzy rules are defined and on the basis of these values and rules the fuzzy logic controller generates the desired output. To reduce the total number of fuzzy rules, the fuzzy logic controller can be multistage by grouping the 7 factors as shown in Table 4.
Once the inputs have been fuzzified, all possible combinations of inputs are considered to design the rule base. Each rule corresponds to one of the outputs based on the expert opinions. The input to the fuzzy operator is two or more membership values from fuzzified input variables. Fuzzy rules are always written in the following form:
if (input 1 is membership function 1) and/or (input 2 is membership function 2) and/or… then (outputn is output membership function n).
Matlab Simulink has been employed, in order to develop model for stage-wise fuzzy reasoning. This model connects all the intermediate FIS i.e. sub-us-1, sub-us-2, sub-us-3, soft-us, and end-user to generate the final usability value (US). Figure 4 shows a fully functional the fuzzy hierarchical usability model.
Usability model considers all the inputs (the usability factors) together, so that generates too many rules and additionally it is difficult for the experts to consider all formulates rules with proper emphasis, since each input parameter has three linguistic values (Low, Medium and High). Hence, the proposed model with seven usability factors has a maximum number of 37 = 2187 rules. This means, the Matlab-Fuzzy Tool Box isn’t applicable, since the number of inputs is limited to two in the Matlab . Therefore, we have decomposed the factors into sub-categories just to minimize a huge number of rules as discussed in Table 4. Total six Fuzzy Interface System (FIS) namely sub-us- 1, sub-us-2, soft-us, sub-us-3, end-user, and US have been created in Matlab using a Fuzzy Logic toolbox . Consequently, input/output variables, their membership functions, and fuzzy control rules have also been created for each FIS. Table 5 shows an example of fuzzy interface system.
Each of the seven usability factors have been given a universe of discourse (UOD) of range [0-9] and have been fuzzified with three linguistic values (fuzzy sub set: Low, Medium, and High) using linear triangular membership functions . On the other hand, in order to achieve more accurate output, all the fuzzified output parameters have been fuzzified with four linguistic values (fuzzy sub set: Low, Medium, High, and Very High).
5 Results and discussion
The dataset generated in Table 3 is applied to the fuzzy hierarchical usability model shown in Figure 4 to compute the usability of 6 SDLC models. On the basis of the usability computed, we have ranked all of them such that the model with maximum usability is ranked first and the model with lowest usability is ranked last. The usability and ranking of each SDLC model using fuzzy hierarchical usability model is given in Table 6. As seen in the Table 6, Spiral SDLC model is having the highest usability value; as it has higher values of effectiveness, universality, satisfaction and efficiency; therefore it is the best model and rank 1is assigned to it whereas Build & Fix SDLC model is having the lowest usability value; as it has lowest values of all the major factors; therefore it is the worst SDLC model and rank 6 is assigned to it. As seen in the results, the models with higher values of effectiveness, universality, satisfaction and efficiency are having higher usability value. After detailed analysis of results, we have identified a hierarchy of the factors to increase the usability of the SDLC models. Hence, all the 7 factors of the proposed model are arranged in hierarchical order as given below:
Now, the existing usability models [4, 6, 8, 13] in literature review are evaluated using the proposed fuzzy hierarchical usability model. The SDLC models are evaluated to generate the values in the scale of 0–9 of all the proposed 7 factors. Comparison of the seven factors of existing models with the proposed model is also shown in Figures 5. As seen in the Figure 5, the proposed hierarchical usability models have highest values of effectiveness, universality, productivity, and security. The Donyaee usability model  has highest satisfaction and efficiency while the Neilson usability model  has highest memorability.
As per the detailed analysis, authors can conclude the following key points:
Proposed model is effective i.e. it accomplishes tasks and generates desired results with completeness and certainty.
Proposed model is universal i.e. it can accommodate different cultural background of diverse users.
Proposed model is more productive.
Proposed model is more secure.
Proposed model also have some degree of satisfaction and efficiency respectively but its satisfaction and efficiency is lower than the Donyaee.
Proposed model have some degree of memorability.
In this paper, a software usability model is proposed based upon hierarchical approach. The proposed model defines the term ‘usability’ using seven factors and their 23 attributes in a hierarchical manner. This hierarchical usability model is consolidated and presented with detailed taxonomy for specifying and identifying the quality components. The main goal of developing such fuzzy hierarchical based usability model is to predict usability value for an application and to keep this research work as simple and understandable as possible. To achieve this significant goal, the proposed model is implemented using fuzzy logic controller. After its implementation, the model is being simulated using Matlab Simulink (Figure 4); the usability of an application or software product can be predicted. The inputs of this proposed model consists of seven usability factors and it generated the total usability of the application under test (Figure 2). A dataset is employed and the SDLC models are analyzed in detail (Table 2 & Table 3). The result in Table 6 shows the usability and ranks the SDLC models. The result shows that the SDLC model having higher effectiveness, universality, satisfaction and efficiency, contain higher usability value. In order to validate this work, detailed comparison of the proposed model with the existing models is also presented as shown in Figure 5. At last, authors conclude that the proposed hierarchical based usability model is very effective and better model as compared to the existing usability model for usability prediction (as per the SDLC dataset for an application or a software product).
ISO, W. 9241-11. Ergonomic requirements for oflce work with visual display terminals (VDTs), The international organization for standardization 1998, 45 Google Scholar
International Standard Organization. ISO/IEC 9126: Information Technology-Software Product Evaluation-Quality Characteristics and Guidelines for Their Use. 1991 Google Scholar
Radatz J., Geraci A., Katki F., IEEE standard glossary of software engineering terminology, IEEE Std 610121990.121990,1990,3 Google Scholar
Nielsen J., Usability engineering. Elsevier, 1994 Google Scholar
Preece J., Benyon D., A guide to usability: Human factors in computing, Addison-Wesley Longman Publishing Co., Inc., 1993 Google Scholar
Bevan N., Kirakowski J., Maissel, J., What is usability?, Proceedings of the 4th International Conference on HCI, 1991, 651–655 Google Scholar
Boehm B. W., Characteristics of software quality. Vol. 1. North-Holland, 1978 Google Scholar
Dix F. J., Abowd G., Beale R., Human-Computer Interaction, 2nd ed. Prentice-Hall, 1998 Google Scholar
Donyaee M., Seffah A., QUIM: An integrated model for specifying and measuring quality in use, Eighth IFIP Conference on Human Computer Interaction, Tokyo, Japan. 2001 Google Scholar
Dubey S. K., Gulati A., Rana A., Integrated model for software usability, International Journal on Computer Science and Engineering 2012, 4(3), 429-437. Google Scholar
McCall J. A., Richards P. K., Walters, G.F., Factors in software quality, Vols II, Rome Aid Defence Centre, Italy, 1977 Google Scholar
Shackel B., Usability-context, framework, definition, design and evaluation, Human factors for informatics usability, 1991, 21-37. Google Scholar
Piaget J., Inhelder B., The Origin of the Idea of Chance in Children, W. W. Norton & Comp., N.Y, 1976 Google Scholar
Aggarwal K. K., Singh Y., A book on software engineering, New Age International (P) Ltd, 2001 Google Scholar
Munassar N. M. A., Govardhan A., A comparison between five models of software engineering, IJCSI 2010, 7(5), 95-101 Google Scholar
Pressman R. S., Software engineering: a practitioner’s approach, Palgrave Macmillan, 2005 Google Scholar
Ruparelia N. B., Software development lifecycle models, ACM SIGSOFT Software Engineering Notes 2010, 5(3), 8-13. Google Scholar
Lin C.C., Chen S. C., Chu Y. M., Automatic price negotiation on the web: An agent-based web application using fuzzy expert system, Expert Systems with Applications 2011, 38(5), 5090-5100 Web of ScienceCrossrefGoogle Scholar
Satty T.L., Decisionmaking with dependence and feedback: The analytic network process, RWS Publication 1996 Google Scholar
Kumar D. N., Multi criterion analysis in engineering and management, PHI Learning Pvt. Ltd., 2010 Google Scholar
Nagpal R. et al., Rank university websites using fuzzy AHP and fuzzy TOPSIS approach on usability, International Journal of Information Engineering and Electronic Business 2015, 7(1), 29. CrossrefGoogle Scholar
MathWorks, Inc, & Wang, W. C., Fuzzy Logic Toolbox: for Use with MATLAB: User’s Guide. MathWorks, Incorporated 1998 Google Scholar
Yen J., Langari R., Fuzz Logic: Intelligence, Control and Information, Prentice Hall, 1999 Google Scholar
Gupta D., Ahlawat A., Sagar K., A critical analysis of a hierarchy based Usability Model, Contemporary Computing and Informatics (IC3I), 2014 International Conference on. IEEE, 2014Google Scholar
Juang Y. S., Lin S. S, Kao H. P., Design and implementation of a fuzzy inference system for supporting customer requirements, Expert Systems with Applications 2007, 32(3), 868-878Web of ScienceCrossrefGoogle Scholar
About the article
Published Online: 2017-06-24
Citation Information: Open Engineering, Volume 7, Issue 1, Pages 161–168, ISSN (Online) 2391-5439, DOI: https://doi.org/10.1515/eng-2017-0021.
© 2017 Deepak Gupta et al.. This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License. BY-NC-ND 3.0