Download User-Centered Software Engineering: Focusing on Users and Their Tasks using UML and Java and more Slides Banking and Finance in PDF only on Docsity!
Object-Oriented Software Engineering
Practical Software Development using UML and Java
Chapter 7: Focusing on Users and Their Tasks
7.1 User Centred Design
Software development should focus on the needs of users
- Understand your users
- Design software based on an understanding of the users’ tasks
- Ensure users are involved in decision making processes
- Design the user interface following guidelines for good usability
- Have users work with and give their feedback about prototypes, on-line help and draft user manuals
7.2 Characteristics of Users
Software engineers must develop an understanding of the users
- Goals for using the system
- Potential patterns of use
- Demographics
- Knowledge of the domain and of computers
- Physical ability
- Psychological traits and emotional feelings
7.3 Basics of User Interface Design
- User interface design should be done in conjunction with other software engineering activities.
- Do use case analysis to help define the tasks that the UI must help the user perform.
- Do iterative UI prototyping to address the use cases.
- Results of prototyping will enable you to finalize the requirements.
Aspects of usability
Usability can be divided into separate aspects:
- Learnability —The speed with which a new user can become proficient with the system.
- Efficiency of use —How fast an expert user can do their work.
- Error handling —The extent to which it prevents the user from making errors, detects errors, and helps to correct errors.
- Acceptability. —The extent to which users like the system.
Different learning curves
7.4 Usability Principles
1. Do not rely only on usability guidelines – always test with users****. - Usability guidelines have exceptions; you can only be confident that a UI is good if you test it successfully with users. 2: Base UI designs on users’ tasks****. - Perform use case analysis to structure the UI. 3: Ensure that the sequences of actions to achieve a task are as simple as possible. - Reduce the amount of reading and manipulation the user has to do. - Ensure the user does not have to navigate anywhere to do subsequent steps of a task.
Usability Principles
4: Ensure that the user always knows what he or she can and should do next.
- Ensure that the user can see what commands are available and are not available.
- Make the most important commands stand out. 5: Provide good feedback including effective error messages.
- Inform users of the progress of operations and of their location as they navigate.
- When something goes wrong explain the situation in adequate detail and help the user to resolve the problem.
Usability Principles
8: Use understandable encoding techniques****.
- Choose encoding techniques with care.
- Use labels to ensure all encoding techniques are fully understood by users. 9: Ensure that the UI’s appearance is uncluttered****.
- Avoid displaying too much information.
- Organize the information effectively.
Usability Principles
10: Consider the needs of different groups of users.
- Accommodate people from different locales and people with disabilities.
- Ensure that the system is usable by both beginners and experts. 11: Provide all necessary help****.
- Organize help well.
- Integrate help with the application.
- Ensure that the help is accurate.
Some encoding techniques
- Text and fonts
- Icons
- Photographs
- Diagrams and abstract graphics
- Colours
- Grouping and bordering
- Spoken words
- Music
- Other sounds
- Animations and video
- Flashing
Example
(bad UI)
7.5 Evaluating User Interfaces
Heuristic evaluation
- Pick some use cases to evaluate.
- For each window, page or dialog that appears during the execution of the use case —Study it in detail to look for possible usability defects.
- When you discover a usability defect write down the following information: —A short description of the defect. —Your ideas for how the defect might be fixed.
Evaluating User Interfaces
Evaluation by observation of users
- Select users corresponding to each of the most important actors
- Select the most important use cases
- Write sufficient instructions about each of the scenarios
- Arrange evaluation sessions with users
- Explain the purpose of the evaluation
- Preferably videotape each session
- Converse with the users as they are performing the tasks
- When the users finish all the tasks, de-brief them
- Take note of any difficulties experienced by the users
- Formulate recommended changes