Page 148 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 148

Principles of Software Engineering



                   Notes         module may not be having function cohesion. The heuristics are not written as hard and fast
                                 rules; they are meant to serve as warning mechanisms which allow the flexibility of ignoring
                                 the heuristic as necessary.
                                 The main goal of heuristic evaluations is to identify any problems associated with the design of
                                 user interfaces. Heuristic evaluations are one of the most informal methods. of usability inspection
                                 in the field of human-computer interaction. There are many sets of usability design heuristics;
                                 they are not mutually exclusive and cover many of the same aspects of user interface design.
                                 Quite often, usability problems that are discovered are categorized—often on a numeric scale
                                 to their estimated impact on user performance or acceptance. Often the heuristic evaluation is
                                 conducted in the context of use cases (typical user tasks), to provide feedback to the developers
                                 on the extent to which the interface is likely to be compatible with the intended users’ needs
                                 and preferences.
                                 The simplicity of heuristic evaluation is beneficial at the early stages of design. This usability
                                 inspection method does not require user testing which can be burdensome due to the need for
                                 users, a place to test them and a payment for their time. Heuristic evaluation requires only one
                                 expert, reducing the complexity and expended time for evaluation. Most heuristic evaluations
                                 can be accomplished in a matter of days. The time required varies with the size of the artifact,
                                 its complexity, the purpose of the review, the nature of the usability issues that arise in the
                                 review, and the competence of the reviewers. Using heuristic evaluation prior to user testing
                                 will reduce the number and severity of design errors discovered by users. Although heuristic
                                 evaluation can uncover many major usability issues in a short period of time, a criticism that is
                                 often levelled is that results are highly influenced by the knowledge of the expert reviewer(s).
                                 This “one-sided” review repeatedly has different results than software performance testing,
                                 each type of testing uncovering a different set of problems.
                                 6.11.1 Most-used usability heuristics for user interface design

                                 Visibility of system status: The system should always keep users informed about what is going
                                 on, through appropriate feedback within reasonable time.
                                 Match between system and the real world: The system should speak the user’s language, with
                                 words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow
                                 real-world conventions, making information appear in a natural and logical order.
                                 User  control and freedom:  Users  often  choose  system  functions  by  mistake  and  will  need  a
                                 clearly marked “emergency exit” to leave the unwanted state without having to go through an
                                 extended dialogue. Support undo and redo.
                                 Consistency and standards: Users should not have to wonder whether different words, situations,
                                 or actions mean the same thing. Follow platform conventions.
                                 Error prevention: Even better than good error messages is a careful design which prevents a
                                 problem from occurring in the first place. Either eliminate error-prone conditions or check for
                                 them and present users with a confirmation option before they commit to the action.

                                 Recognition rather than recall: Minimize the user’s memory load by making objects, actions,
                                 and options visible. The user should not have to remember information from one part of the
                                 dialogue to another. Instructions for use of the system should be visible or easily retrievable
                                 whenever appropriate.
                                 Flexibility and efficiency of use: Accelerators—unseen by the novice user—may often speed
                                 up the interaction for the expert user such that the system can cater to both inexperienced and
                                 experienced users. Allow users to tailor frequent actions.
                                 Help users recognize, diagnose, and recover from errors: Error messages should be expressed in
                                 plain language (no codes), precisely indicate the problem, and constructively suggest a solution.

        142                               LOVELY PROFESSIONAL UNIVERSITY
   143   144   145   146   147   148   149   150   151   152   153