Course Code: CS2003
Course Title: Usability Engineering
Instructor: Dr. Faris Alwzinani
Contact Email: Faris.Alwzinani@brunel.ac.uk
Office Location: WLFB-111, Brunel University, London
Requirements: Development of requirements and understanding their types.
System Requirements: Needs of the system.
Usability Requirements: Clarifies that these are not just UI features.
User-Centered Design (UCD): Importance of aligning requirements with UCD principles.
The Requirements Process: Steps involved in gathering user requirements.
Personas: How to use personas effectively.
Gathering Techniques: What to look for and methods to use.
Questions and Extensions: Evaluating the usefulness and adaptability of written requirements.
Quote from F. Brooks emphasizes the challenges of software requirements gathering.
Key Point: The hardest part of software development is clearly defining what to build.
UE/HCI Role: User Experience and Human-Computer Interaction is central to effective requirements engineering.
UCD Methods: Selecting appropriate UCD design methods is crucial.
Standard Framework: Guidelines for applying human-centered design techniques.
Lifecycle Supplementation: Integrates with existing lifecycle frameworks and suggests activities during the development process.
Prototyping: Early designs are often low fidelity mockups, improving to higher fidelity over time.
Activity Order: Non-linear, evaluation-centered approach which encourages iteration.
Phases include: implementation, task/functional analysis, prototyping, requirement specification, conceptual/formal design, and evaluation.
Challenges: Users often do not recognize their actual needs or the possibilities.
Goal: Address their actual goals and interests effectively.
Why Gather Requirements?: They are often misunderstood, can appear conflicting, and evolve during design.
Specification Goals:
Identify relevant users and stakeholders.
State clear human-centered design goals.
Set priorities and measurable criteria for testable designs.
Ensure proper documentation.
Approaches:
Asking Users: Start with queries and then seek empirical observations.
Data Collection: Utilize a user-centered approach.
Specification: Numerous formal methods are available, but fluid adaptability is often beneficial.
Key Areas: Understand context of use, user interactions, processes, constraints, and challenges faced by users.
Environmental & User Requirements: Consider physical and cognitive aspects to fulfill user goals effectively.
Definition: What the system should do.
Questions to Consider: Is it necessary? Is it useful?
Definition: Characteristics/qualities a system should uphold.
Assessment Standards: Usability parameters determining the operational effectiveness of the system.
User Requirements: Core functionalities necessary for the product to meet user needs, e.g., categories and syncing in a note-taking app.
Usability Requirements: Focus on user experience aspects, such as ease of use and learning efficiency.
Attributes:
Timely and sufficient detail.
Realistic expectations.
Clarity and relevance to design processes.
Defining Personas: Hypothetical archetypes representing user groups.
Use of Personas: Orienting design teams by generating empathy and focus during user requirement gathering.
Scenarios: Describe contexts in which users interact with products, guiding designs.
User Stories: Concise user-focused descriptions of features expressed in a favorable format, prioritizing user needs.
Examples: Translate user stories into specific features and qualities.
Functional Requirements: Search features, meal planning tools.
Non-Functional Requirements: Usability, accessibility, system performance, and compatibility criteria.
Drawbacks: Abstraction and lack of empathy often hamper effective usage.
Utilize for enhanced user insight and maintain design focus.
Basic elements like picture, name, age, and background narrative crucial for persona realism.
Factors such as education, salary, social behavior, and motivations can add depth to personas.
Emphasized critical aspects of gathering and defining requirements, distinguishing types of requirements, and the role of personas in usability engineering.