Software Usability Evaluation Method: Piyush Jain, Sanjay Kumar Dubey, Prof. (DR.) Ajay Rana
Software Usability Evaluation Method: Piyush Jain, Sanjay Kumar Dubey, Prof. (DR.) Ajay Rana
Abstract - Software usability is a important factor in evaluating the quality of any software. All the software quality model has consider the usability as one of the most important criteria of judging the performance of any software. Different methods have been employed to calculate usability, but in this paper we are providing a very simple technique in this paper. This paper also provides a method by which we can compare the performance of different software also. Software usability engineering is an area which deals with the usability evaluation of any software. The usability workers try to shape up the user requirement within software. This paper deals with the evaluation of different usability external metrics which helps the performance of software and then fuzzifying those metrics Fuzzy logic is probabilistic reasoning system that deals with approximation rather that fixed or exact calculation [4]. As the user requirement changes from time to time it is required to design which adapt itself with the changes. It can be possible with the help of fuzzy logic which represent the facts with a truth value which varies from 0-1. Fuzzy logic has the capability to represent the complex system in a simple rule based system. Index Term - Fuzzy logic, Linguistic Variable, Fuzzification , Software Usability, Estimation.
We have also tried to include the usability engineering phase in the SDLC (Software Development Life Cycle) to improve the performance of software. Although we always consider it in our SRS document but it is needed to be represented as a distinguished phase because of the user specification. The software are designed for the user , so it is required to always keep a track in every phase of SDLC. In this paper we have discussed about a very simple way to estimate the usability of any software [2]. The evaluation method is been implemented by using fuzzy logic [2] which deals with uncertainty. Sometimes we have some complex problem where the final result is uncertain or unpredictable. In that case we use soft techniques for dealing with this problem. Soft techniques deals with human intelligent system like study of human brain for faster computation , human genetic system for carrying the characters of parents generation by generation and taking decision in a state of uncertainty. A soft technique also has the capability to adapt itself with any change in the system by employing different learning technique. In this paper we will introduce and work with one of soft technique ie is dealing with uncertainty known as fuzzy logic. To explain how fuzzy logic works just take a example to measure the room temperature without using thermometer. In that case we will estimate it by using the inference rule system like If we Sweat , then temperature in room is High. In this example we have to design two fuzzy set Sweat and High known as linguistic variable. Now we will associate a truth value with the entire element in this fuzzy set which will vary from 0-1. Based on that we will evaluate the temperature of the room .
I.
INTRODUCTION
This paper has tried to evaluate the usability and quality of software by using fuzzy logic system. Software usability is an factor of software quality model which deals with the user requirement. The user requirement is specified by using a USD (user specification document) used by the software engineers to specify the requirement of user from the expected designed software.
. Piyush Jain Computer Science Amity University Noida,India,+91-9873818831 Sanjay Kumar Dubey Computer Science Amity University Noida, India, Prof Ajay Rana Computer Science Amity University Noida, India
The paper is organized in the following way. Section I gives an introduction to the paper and section II introduces the concept of Fuzzy logic. Section III deals with the evaluation methods used till now and
28
All Rights Reserved 2012 IJARCET
ISSN: 2277 9043 International Journal of Advanced Research in Computer Engineering & Technology Volume 1, Issue 2, April 2012
the last section ie section IV introduces the different metrics which are under consideration based on which the evaluation will be performed . II. FUZZY LOGIC Fuzzy logic was first coined by Zadeh A. Lofti in 1960 in his seminal paper [6][7]. This employs a natural way to deal with the problem where the source of information is uncertain. In fuzzy logic all the problem are solved by designing the fuzzy set which are defined for the linguistic terms. The fuzzy system uses fuzzifier to convert the real time problem
in fuzzy set , fuzzy inference rule for output formulation and then defuzzifier for output calculation. A simple fuzzy system can be designed as described in the figure 1. Step1. Consider the problem and design the fuzzy set based on the linguistic terms. Step2. Define some fuzzy rules . Step3. Calculate the fuzzy weighted metrics based on the concept. Step4. Convert the fuzzy system into a single scalar crisp value. This is known as defuzzification.
III.
iv.
The usability engineering is an area which deals with the user requirement specification. Generally for evaluating software usability we uses the three following techniques: Usability Inspection: This is method where some developer, user discuss about the different user interface [10]. The commonly used methods are: i. Cognitive Walkthrough :It is a usability inspection method which specifies the sequence of steps or actions required by the user accomplish a task and the system responses to those action. ii. Heuristic Evaluation : Based on the current requirement of the user inspection is done. It specifies the involvement of evaluators to judge that is software is capable of recognizing usability principles. iii. Feature Inspection : It is a lists sequences of features used to accomplish typical tasks, checks for long sequences, cumbersome steps, steps that would not be natural for users to try, and steps that require extensive knowledge/experience in order to assess a proposed feature set.
designers who represent multiple other projects inspect an interface to see whether it does things in the same way as their own designs. Usability Testing: In this method the designed first work on the prototype model of the original system and test it to check whether the system is working [1] as per the ser specification or not. The commonly used technique are: i. Coaching method : An expert tester is considered who will judge whether the software is as per requirement or not. ii. Co-discovery method : During a usability test, two test users attempt to perform tasks together while being observed. They are to help each other in the same manner as they would if they were working together to accomplish a common goal using the product. They are encouraged to explain what they are thinking about while working on the tasks. This technique can be used in the following development stages: design, code, test, and deployment. iii. Performance method: This technique is to used to obtain quantitative data about test participants' performance when they perform the tasks during usability test. This will generally prohibit an interaction between the participant and
29
All Rights Reserved 2012 IJARCET
ISSN: 2277 9043 International Journal of Advanced Research in Computer Engineering & Technology Volume 1, Issue 2, April 2012
the tester during the test that will affect the quantitative performance data. It should be conducted in a formal usability laboratory so that the data can be collected accurately and possible unexpected interference is minimized. Quantitative data is most useful in doing comparative testing, or testing against predefined be marks. iv. Question asking protocol : During a usability test, besides letting the test users to verbalize their thoughts as in the thinking aloud protocol, the testers prompt them by asking direct questions about the product, in order to understand their mental model of the system and the tasks, and where they have trouble in understanding and using the system. This is a more natural way than the thinking-aloud method in letting the test user to verbalize their thoughts. v. Remote testing :. Remote usability testing is used when tester(s) are separated in space and/or time from the participants. This means that the tester(s) cannot observe the testing process directly and that the participants are usually not in a formal usability laboratory. There are different types of remote testing. One is same-time but different-place, where the tester can observe the test user's screen through computer network, and may be able to hear what the test user says during the test through speaker telephone. vi. Shadow method : If a videotape has been made of a usability test session, the tester(s) can collect more information by reviewing the videotape together with the user participants and asking them questions regarding their behavior during the test. So this technique should be used along with other techniques, especially those where the interaction between the testers and the participants is restricted. But using this technique means that each test takes at least twice as long. Another obvious requirement for using this technique is that the user's interaction with the computer needs to be recorded and replayed. vii. Teaching method : During a usability test, let the test users interact with the system first, so that they get familiar with it and acquire some expertise in accomplishing tasks using the system. Then introduce a naive user to each test user. The Novice users are briefed by the tester to limit their active participation and not to become an active problem-solver. Each test user is asked to explain to the novice how the system works and demonstrate to him/her a set of pre-determined tasks. This technique can be used for the following
development stages: design, code, test, and deployment. viii. Think aloud method : Human factors engineers go to representative users's workplace and observe them work, to understand how the users are using the system to accomplish their tasks and what kind of mental model the users have about the system. This method can be used in the test and deployment stages of the development of the product. Usability Inquiry: usability evaluators obtain information about users' likes, dislikes, needs, and understanding of the system by [1] talking to them, observing them using the system in real work (not for the purpose of usability testing), or letting them answer questions verbally or in written form. Inquiry methods include: i. Field observation : In this technique, human factors engineers formulate questions about the product based on the kind of issues of interest. Then they interview representative users to ask them these questions in order to gather information desired. It is good at obtaining detailed information as well as information that can only be obtained from the interactive process between the interviewer and the user. ii. Focus group : This is a data collecting technique where about 6 to 9 users are brought together to discuss issues relating to the system. A human factors engineer plays the role of a moderator, who needs to prepare the list of issues to be discussed beforehand and seek to gather the needed information from the discussion. This can capture spontaneous user reactions and ideas that evolve in the dynamic group process. iii. Interview : In this technique, human factors engineers formulate questions about the product based on the kind of issues of interest. Then they interview representative users to ask them these questions in order to gather information desired. It is good at obtaining detailed information as well as information that can only be obtained from the interactive process between the interviewer and the user. iv. Logging actual use : Logging involves having the computer automatically collect statistics about the detailed use of the system. It is useful because it shows how users perform their actual work and because it is easy to automatically collect data from a large number of users working under different circumstances. Typically, an interface
30
All Rights Reserved 2012 IJARCET
ISSN: 2277 9043 International Journal of Advanced Research in Computer Engineering & Technology Volume 1, Issue 2, April 2012
log will contain statistics about the frequency with which each user has used each feature in the program and the frequency with which various events of interest (such as error messages) have occurred. v. Questionnaire : Questionnaires have advantages over some other types of surveys in that they are cheap, do not require as much effort from the questioner as verbal or telephone surveys, and often have standardized answers that make it simple to compile data. However, such standardized answers may frustrate users. Questionnaires are also sharply limited by the fact that respondents must be able to read the questions and respond to them. Thus, for some demographic groups conducting a survey by questionnaire may not be practical. Out of all this methods we are working with the usability inquiry method where we will design a questionnaire system to evaluate usability . IV. METRICS UNDER CONSIDERATION
software attributes that describe the relative ease for the users to learn the application. a). Percentage of Observable Properties: This parameter tells whether the software is capable of identifying the observable properties or not. The percentage of observable properties= no of observable properties/ total no of properties. b). Type of Interfaces: This tells whether a proper graphical interface is provided for the better learnability of the user. iii. Operability: This deals with the software attributes that are associated to the relative ease of learning the operation of the software. a)Complexity of functionality: This tells whether the complexity of the different functionality can affect the software operation or not. b). Ease of use and navigability: This tells us that the navigation to different functionality within the software is easy or not. iv. Attractiveness: This describes the degree to which the software has been made attractive. a). Use of Graphics: This parameter tells that the software is graphically attractive or not and whether the graphics are capable of solving the purpose for which they are designed. v. Usability compliance: This determines whether the software adheres to the compliance standards of usability or not. a). Adherence to Compliance Standards: This tells us whether the software is capable of achieving the standard been designed. We have designed a questionnaire based on the above metrics. Data will be collect on basis of this questionnaire from experts in the specific domain been considered. V. INTREGATING USABILITY IN SDLC LIFE CYCLE
The different type of the real time metrics that we will consider during the usability evaluation methods are as given below i. Understandability: This deals with the attribute of software that describe the relative ease of recognizing the logical concept and its applicability. a). Documentation: This evaluate that whether the documentation are properly written or not. b). Help system: It tells us that whether a help support system is available for the particular software or not. c). Training provided: It deals with whether a proper training is provided for the better understandability of the software. d). Errors and pop-up: This tells us whether error notification and pop up are provided for the software or not. This help the user to better understand the software. e). International language support: If a software support all language then it become very convenient for the user to understand it. This metric measure whether this facility is provided or not. f). Online Help Support: This metrics tells us whether an online support system is provided for the user convenience or not. ii. Learn- ability: This deals with the
Usability is one of the important phase in any software development process. It is required to include it in the SDLC life cycle. Although usability is included in SRS documentation where the user specification is considered . If we study the SDLC life in detail then we will see that usability is been done before implementation and after implementation. Before implementation it is done in
31
All Rights Reserved 2012 IJARCET
ISSN: 2277 9043 International Journal of Advanced Research in Computer Engineering & Technology Volume 1, Issue 2, April 2012
the feasibility study and after implementation it is done at maintenance. In pre-implementation phase we deals with the user requirement where the user specification is studied and is tried to be implemented in the prototypic model of software. And in post
implementation phase we evaluate whether the software is working and been designed as per user requirement or not. So based on this concept we have tried to add the usability in SDLC life cycle.
Usability
Fig.2 Prototype model including the Usability phase VI. CONCLUSION 7. REFERNCES [1] J. Nielsen "Usability Engineering" p.198, Academic Press, 1993. [2] P. R. Srivastava, A. P. Singh, K.V. Vageesh, Assssment of Software Quality: A Fuzzy Multi Criteria Approach, Evolution of Computationand Optimization Algorithms in Software EngineeringApplications and Techniques, IGI Global USA, 2010, chapter - 11, pp.200-219. [3] Integrated Software Quality Evaluation: A Fuzzy Multi-Criteria Approach Jagat Sesh Challa, Arindam Paul, Yogesh Dada, Venkatesh Nerella, Praveen Ranjan Srivastava and Ajit Pratap Singh Journal of Information Processing Systems, Vol.7, No.3, September 2011. [4] [Link] [5] Stephen H. Kan - Metrics & Models in Software Quality Engineering. [6] Lotfi A Zadeh, Fuzzy sets, Information and control, vol 8, pp 338-353, 1965.
This paper has reflected the different type of usability technique that can be used to calculate the usability of any software. The paper has given an introduction to all the methods that can be employed to calculate the usability. The technique that we used is very effective since it considered the user specification. Usability can also evaluate the performance too , so can employ this method to evaluate the performance of any software. As usability is one of the most important factor considered in all the Software Quality Model so it is needed to do a lot of research to provide a method for better estimation of this parameter.
32
All Rights Reserved 2012 IJARCET
ISSN: 2277 9043 International Journal of Advanced Research in Computer Engineering & Technology Volume 1, Issue 2, April 2012
[7] Lotfi A Zadeh, The concept of a linguistic variable and its application to approximate reasoningI, Information Sciences, Volume 8, Issue 3, pp 199-249, 1975 [8] George K Klier and Tina A Folger, Fuzzy sets, Uncertainity and Information, Prentice Hall, 1988. [9] Fuzzy Logic Based Revised Defect Rating for Software Lifecycle Performance Prediction Using GMR A K Verma, Anil R, Dr. Om Prakash Jai BVICAMS International Journal Of Information Technology Bharati Vidyapeeths Institute of Computer Applications and Management, New Delhi. [10] C. Wharton et al. "The cognitive walkthrough method: a practitioner's guide" in J. Nielsen & R. Mack "Usability Inspection Methods" pp. 105-140.
Piyush Jain is assistant professor in the department of computer science and engineering in IIMT engineering and technology and pursuing [Link] from Amity University, Uttar Pradesh. His research area of work is evaluation of software quality.
Sanjay Kumar Dubey is Assistant Professor in the Department of Computer Science and Engineering in Amity University Uttar Pradesh, India. His research area includes Software Engineering and Usability Engineering. Prof. (Dr.) Ajay Rana is Professor and Director, ATPC, Amity University Uttar Pradesh, India. He is Ph. D. (2005) in Computer Science and Engineering from Uttar Pradesh Technical University, India. His research area includes Software Engineering and Software Testing. He has published more than 40 research papers in reputed National & International Journals. He is the author of several books in the area of computer science. He has received numbers ofbest papers/case studies medals and prizes for his work.
33
All Rights Reserved 2012 IJARCET
Fuzzy logic is used in software usability evaluation to handle uncertainty and provide a more adaptable and flexible approach to changes in user requirements. It allows the representation of complex decision systems through simple rule-based structures, and the truth values range between 0 and 1, providing a gradient approach rather than a binary evaluation . This capability means that as user requirements evolve, the system can adapt by updating the fuzzy inference rules, thereby maintaining its relevance and effectiveness in usability evaluation. Fuzzy logic transforms qualitative assessments into quantitative data, facilitating comparison and performance tracking of different software systems .
Usability testing in software systems is implemented through various methods, such as the coaching method, co-discovery method, performance method, question asking protocol, remote testing, shadow method, teaching method, and the think-aloud method . The co-discovery method involves two users attempting to perform tasks together while being observed. This method encourages users to help each other, mimicking natural interactions, which can yield insights into the system's usability issues from a collaborative user perspective. It is particularly useful in developing a shared understanding of how users may collaborate in real-world scenarios using the software product, ultimately revealing both user expectations and misunderstandings that could hinder usability .
Remote usability testing presents challenges such as the inability to observe the participants directly and the potential for environmental distractions that can affect user performance. Unlike traditional laboratory testing, which offers a controlled environment and direct observation opportunities, remote testing typically requires using software to simulate these conditions, which may limit the depth of data collection and the ability to capture nuanced user interactions . In remote testing, the tester usually observes the participant's screen through a network connection and may communicate via speakerphone, but cannot physically ensure the test environment is free of unexpected interference . Nevertheless, remote testing enables reaching a broader participant pool in various locations and is more cost-effective .
Field observation in usability inquiry involves observing users interacting with the software in their natural work environment, providing contextual insights into how the system fits into real-world applications and scenarios . This method captures authentic user interactions, uncovering issues not evident in controlled testing environments. It allows evaluators to identify gaps between user expectations and system performance, observe workflow integration, and notice patterns of use that might highlight usability deficits or successful features . It is particularly effective in revealing user behaviors, environmental factors affecting usability, and the practical challenges users face, which are essential for refining software design and improving user experience .
Integrating usability phases in the Software Development Life Cycle (SDLC) significantly improves software performance and user satisfaction by systematically incorporating user feedback and usability testing throughout the development process . In pre-implementation phases, user requirements and feedback are incorporated into design prototypes, ensuring that the software aligns with user needs and expectations from the onset . During post-implementation, usability testing evaluates whether the software meets the intended user requirements, facilitating adjustments and refinements based on real-world user interactions . This integration ensures that usability considerations are not an afterthought but a driving factor throughout development, leading to a more user-centered product that enhances satisfaction and minimizes usability-related issues post-deployment .
Cognitive walkthrough is a significant usability inspection method used to evaluate the system's ease of learning and predict how new users will interact with the interface. It is based on simulating a user’s problem-solving process and involves the identification and analysis of the steps required to complete tasks in the software interface. During a cognitive walkthrough, evaluators assess whether each step in a task sequence is evident and how well it aligns with user expectations . The strengths of this method include its focus on the concept of learnability and its utility in the early stages of design to identify potential usability issues before significant development resources are invested . It helps stakeholders pinpoint specific areas in the user interface that may cause confusion or difficulty, thereby improving overall design and user experience .
The 'understandability' metric is crucial in software usability evaluation as it determines how easily a user can grasp the logical concepts and functionality of the software . It is assessed by examining elements such as documentation quality and the effectiveness of the help system, which provide users with the necessary guidance and information to comprehend system operations without unnecessary complexity . Good documentation ensures that logical structures and functionalities are clearly described, aiding users in navigating the interface intuitively, while a robust help system provides support for troubleshooting and learning . This metric ensures that software is accessible and user-friendly, reducing the learning curve and enhancing overall user satisfaction .
A questionnaire system enhances usability inquiry by allowing systematic collection of user perceptions, needs, and experiences in a consistent and scalable manner. It gathers quantitative and qualitative data across a broad user base, facilitating structured analysis to identify trends and common usability issues . Questionnaires are efficient for collecting feedback quickly, providing insight into user satisfaction, ease of use, and potential areas for improvement. However, their effectiveness largely depends on well-crafted questions that accurately reflect usability goals and contexts . Standardized answers simplify data compilation but may limit the depth of insight compared to open-ended interviews or observational methods, thus requiring careful design to balance breadth and depth .
Heuristic evaluation is an effective method for identifying usability problems because it relies on the expertise of evaluators to systematically judge compliance with recognized usability principles. By focusing on a predefined set of heuristics or guidelines, evaluators can quickly identify inconsistencies and potential issues in the software interface that might hinder user experience . This method is cost-effective and can be conducted relatively quickly compared to other testing methods, making it suitable for early design phases where multiple iterations are possible . Despite its advantages, the effectiveness of heuristic evaluation depends heavily on the evaluators' skills and their understanding of the software context, potentially limiting its applicability to complex or highly specialized systems where emergent, context-specific issues might not be caught .
In fuzzy systems used for software usability estimation, key components like the fuzzifier, inference rule, and defuzzifier play crucial roles in transforming qualitative assessments into quantitative metrics. The fuzzifier translates precise input values into fuzzy sets, using linguistic variables to handle vagueness and uncertainty in user experience data . The inference rule system processes these fuzzy sets to apply specific decision-making rules, simulating human reasoning to interpret complex user interactions and behaviors into actionable insights . Finally, the defuzzifier converts the fuzzy output into a crisp, single scalar value, representing the estimated usability metric quantitatively . This structured approach ensures a comprehensive evaluation that integrates various user inputs and feedback into a coherent usability score or assessment .