CS 235: User Interface Design August 27 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak www.cs.sjsu.edu/~mak.

Slides:



Advertisements
Similar presentations
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Advertisements

What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Iterate (Requirements, Design) IMD07101: Introduction to Human Computer Interaction Brian Davison and Tom McEwan 2011/12.
CS 160: Software Engineering September 8 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
From requirements to design
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
UI Standards & Tools Khushroo Shaikh.
Design Process …and the project.
Course Wrap-Up IS 485, Professor Matt Thatcher. 2 C.J. Minard ( )
Overview of Software Requirements
18 January Writing a Functional Spec. Administrivia How many teams will want departmental web space vs links to your own space? Please send me your CS.
4. Interaction Design Overview 4.1. Ergonomics 4.2. Designing complex interactive systems Situated design Collaborative design: a multidisciplinary.
Principles and Methods
Ch 5 Specification page 1CS 368 Context Specification one of the most commonly cited reasons for an IT project failure is unclear objectives and requirements.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
INTRODUCTION. Concepts HCI, CHI Usability User-centered Design (UCD) An approach to design (software, Web, other) that involves the user Interaction Design.
CS 235: User Interface Design January 22 Class Meeting
CS 160: Software Engineering August 27 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 235: User Interface Design February 3 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
CS 235: User Interface Design August 27 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 235: User Interface Design February 17 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
5-1 © Prentice Hall, 2007 Chapter 5: Determining Object-Oriented Systems Requirements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
5-1 © Prentice Hall, 2007 Chapter 5: Determining Object-Oriented Systems Requirements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University User Interface Design.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
CS 151: Object-Oriented Design September 3 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron Mak
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
CS 235: User Interface Design August 25 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Introduction to Interactive Media The Interactive Media Development Process.
Feasibility Study.
CS 235: User Interface Design October 15 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
More on “The Huddersfield Method” A lightweight, pattern-driven method based on SSM, Domain Driven Design and Naked Objects.
Interaction Design CMU. Today’s objectives Continue Design approaches (UCD, ACD)  User-Centered Design  Activity-Centered Design.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
CS 235: User Interface Design September 22 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Lecture 7: Requirements Engineering
Audience Analysis & Usability. The Writing Process Focusing and Planning Drafting Assessing & Evaluating Assessing & Editing Publishing and Evaluating.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Requirements Validation CSCI 5801: Software Engineering.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
CS 235: User Interface Design September 3 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
CS 160: Software Engineering September 3 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Chapter 4 Software Requirements
CS 5150 Software Engineering Lecture 7 Requirements 1.
Project Deliverables CEN Engineering of Software 2.
CS 151: Object-Oriented Design August 29 Class Meeting Department of Computer Science San Jose State University Spring 2012 Instructor: Ron Mak
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It describes what is a user doing or will.
Task Analysis Lecture # 8 Gabriel Spitz 1. Key Points  Task Analysis is a critical element of UI Design  It specifies what functions the user will need.
Requirements Analysis
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
CS 235: User Interface Design March 17 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
Interface Types and Models Dr. Dania Bilal IS 588 Spring 2008.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Requirements in the product life cycle Chapter 7.
CS 160 and CMPE/SE 131 Software Engineering February 18 Class Meeting Department of Computer Science Department of Computer Engineering San José State.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
CMPE 135: Object-Oriented Analysis and Design August 31 Class Meeting
CMPE 280 Web UI Design and Development August 29 Class Meeting
Requirements Elicitation and Elaboration
UNIT II.
CS305, HW1, Spring 2008 Evaluation Assignment
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
CMPE/SE 131 Software Engineering February 16 Class Meeting
Presentation transcript:

CS 235: User Interface Design August 27 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Reminders: As Soon as Possible  Form teams.  me your team information. team name team members and addresses  Include a description of your team’s imagined web application. 1-sentence description 4 features _ 2

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak User-Centered Design (UCD) 3 Involve the users throughout the UI design and development process.

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak User-Centered Design Principles  The active involvement of users.  An appropriate allocation of function between user and application.  The iteration of design solutions.  Multidisciplinary design teams. _ 4

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak User-Centered Design Activities  Understand and specify the context of use.  Specify the user and organizational requirements.  Produce design solutions (prototypes).  Evaluate designs with users against the requirements. _ 5

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak 6 Take roll!

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Agile Development  In our context, “coding” means making incremental UI changes to the application prototype. 7

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Iterative Design 8 User Interface Design & Evaluation Debbie Stone, et al. Morgan Kaufman, 2005

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak What is the Purpose of Your Application?  The user accomplishes a task or a set of related tasks. Text editor, drawing tool, PowerPoint, compiler  Provide information to the user. Wikipedia, Google News, ebook reader, video player  The user interacts with data and information. tool, games _ 9

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak What is the Purpose of Your Application?  Acquire information from the user Online IRS income tax tool  Social Facebook  Commerce Amazon _ 10

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Who are the Users of Your Application?  Your UI design must accommodate the characteristics of the users of the application. age gender culture physical abilities and disabilities educational background computer experience motivation attitude 11

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Understand Your Users  Domain analysis Understand the area of expertise or specialist knowledge for which the application is developed. 12 User Interface Design & Evaluation Debbie Stone, et al. Morgan Kaufman, 2005

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Understand Your Users, cont’d  Task analysis Understand the goals, tasks, and actions of the users. 13 User Interface Design & Evaluation Debbie Stone, et al. Morgan Kaufman, 2005

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Understand Your Users, cont’d  Workflow analysis Understand how work can move from one user to another. 14 User Interface Design & Evaluation Debbie Stone, et al. Morgan Kaufman, 2005

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Mental Models  A mental model enables a person to Negotiate unfamiliar situations. Reason about a situation based on experience and previously acquired knowledge. _ 15

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Mental Models, cont’d  You (as the designer) have a mental model of how the application is supposed to work. How well does it match the user’s mental model?  The user will feel that an application is easy to use and intuitive if the differences between the two mental models are small.  This is a UX concern, beyond just the UI. Reminder: The iPhone “silent” alarms. 16

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Sources of Requirements  Client  End users  Application developers  Development managers  Technology providers  All can have conflicting ideas of what the application is supposed to do.  All of them change their minds about the requirements. 17 Stakeholders

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Functional Requirements  What the application shall be able to do or allow users to do. “The phone shall use GPS to determine the wearer’s location.” “Users shall be able to choose either Option A or Option B.”  Describe the interactions between the user and the application, independent of the implementation. 18 Effects on UI? Effects on UX? What the application must do in order to work correctly.

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Nonfunctional Requirements  Usability, reliability, performance, supportability, etc. “The application must respond to the user within 15 seconds.” “The application must run on Windows and Linux servers.” “The new GUI shall resemble the existing GUI.” 19 Effects on UI? Effects on UX? Constraints the application must meet in order to work correctly.

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Requirements Must Have …  Completeness Are all system features described by requirements?  Consistency No two requirements can contradict each other.  Clarity Each requirement must be unambiguous.  Correctness No errors in the requirements. Can each application function be traced to a requirement? 20

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Requirements Must Have, cont’d  Realism Can the system be implemented?  Verifiability Can the system be tested?  Traceability Can each requirement be traced to an application function? _ 21

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Requirements are Strong Statements  Use strong declarative statements with “shall” and “must”.  “The phone shall use GPS to determine the wearer’s location.”  “The system must respond to the user within 15 seconds.” _ 22

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak How to Get Requirements  Interview future users of your application.  Observe how the users currently work.  Stated requirements The user tells you want he or she wants.  Implied requirements What do you think the user wants? _ 23

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak How to Get Requirements, cont’d  Users don’t always know what they want.  They will know more when you show them a prototype.  They will change their minds.  It’s an iterative process! 24 User Interface Design & Evaluation Debbie Stone, et al. Morgan Kaufman, 2005

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Use Cases  A use case is a complete sequence of steps that allows the user to complete a task.  Describe a task that your application must allow the user to accomplish. _ 25

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Parts of a Use Case  Name The name should be in the form verb object.  Goal What does this task accomplish?  Sequence of steps For each step:  What is the user action?  What is the application’s response? Include any alternate sequences in case something goes wrong. 26

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Example Use Case  Name: Obtain foreign currency.  Goal: The user obtains foreign currency from an ATM. 27 User Interface Design & Evaluation Debbie Stone, et al. Morgan Kaufman, 2005

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Good Use Cases  Write your use cases in a way that makes sense to all stakeholders (client, developers, managers,...).  Good use cases show that you’ve done your requirements analysis well and that your application will work in a real-world context. _ 28

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak Functional Specification  Name of the application  A short description What is the purpose of your application?  1 paragraph How will it accomplish this purpose?  1 to 3 paragraphs  List of functional requirements  List of nonfunctional requirements  Use cases 29

Computer Science Dept. Spring 2015: January 27 CS 235: User Interface Design © R. Mak On Thursday  We’ll use the teams’ proposed applications to: Create mental models. Elicit functional and nonfunctional requirements. Generate use cases. Write functional specifications.  Details on Thursday! 30