Requirements gathering Storyboarding Prototyping

Slides:



Advertisements
Similar presentations
Chapter 11 Design, prototyping and construction 1.
Advertisements

Design, prototyping and construction
Chapter 11 Designing the User Interface
Information technology solutions development Fundamentals of Information Technology Session 3.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Ch.6: Requirements Gathering, Storyboarding and Prototyping
CS487 Software Engineering Omar Aldawud
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Alternate Software Development Methodologies
Human Computer Interaction
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
CS 501: Software Engineering
Principles and Methods
HCI revision lecture. Main points Understanding Applying knowledge Knowing key points Knowing relationship between things If you’ve done the group project.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Software Life Cycle Model
Design, prototyping and construction Readings: ID-book, Chap. 11 (through 11.3) Also, Prototyping for Tiny Fingers
Web Design Process CMPT 281. Outline How do we know good sites from bad sites? Web design process Class design exercise.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Human Computer Interaction & Usability Prototyping Design & Prototyping HCI Prototyping.
Principles of User Centred Design Howell Istance.
Computer –the machine the program runs on –often split between clients & servers Human-Computer Interaction (HCI) Human –the end-user of a program –the.
UNDERSTANDING USERS: MODELING TASKS AND LOW- LEVEL INTERACTION Human-Computer Interaction
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Overview Prototyping and construction Conceptual design
HCI Prototyping Chapter 6 Prototyping. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “prototyping” –Explain the.
Design, prototyping and construction CSSE371 Steve Chenoweth and Chandan Rupakheti (Chapter 11- Interaction Design Text)
UML & Prototyping. What is a prototype? A prototype is a small-scale model. It can be (among other things): a series of screen sketches a storyboard,
Human-computer interaction: users, tasks & designs
CENG 394 Introduction to Human-Computer Interaction
Merja & Pauli Rapid prototyping & other stuff.
HCI – Prototyping. Why Prototype?  Prototyping is a well understood and used technique in design engineering where products are tested via a model prototype.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Ch.4 The UCSD Process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Prototyping. What is a prototype? In other design fields a prototype is a small- scale model: a miniature car a miniature building or town.
User Interface Theory & Design Lecture 6a 1.  User interface is everything the end user comes into contact with while using the system  To the user,
Chapter 9 Prototyping. Objectives  Describe the basic terminology of prototyping  Describe the role and techniques of prototyping  Enable you to produce.
Software Engineering User Interface Design Slide 1 User Interface Design.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
User Interfaces 4 BTECH: IT WIKI PAGE:
Task analysis Chapter 5. By the end of this chapter you should be able to... Describe HTA and its features Explain the purpose of task analysis and modelling.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Software Prototyping Rapid software development to validate requirements.
Prototyping. REVIEW : Why a prototype? Helps with: –Screen layouts and information display –Work flow, task design –Technical issues –Difficult, controversial,
Begin Class with More Studio. Introduction to Prototyping.
Design, Prototyping and Construction In “ pure ” waterfall, design begins after requirements development has finished However, in the real world there.
Prototyping. Objectives By the end of class, you will be able to… Explain why prototyping is an important phase of design. Create and test paper prototypes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Overview Prototyping Construction Conceptual design Physical design Generating prototypes Tool support.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Design, prototyping and construction(Chapter 11).
Lecture 2 Supplement - Prototyping
Sampath Jayarathna Cal Poly Pomona
User-centred system design process
Introduction to Prototyping
Requirements gathering Storyboarding Prototyping
Object oriented system development life cycle
Design, prototyping and construction
Chapter 11 Design, prototyping and construction 1.
Chapter 6 Thinking about requirements and describing them
CS310 Software Engineering Lecturer Dr.Doaa Sami
DESIGN, PROTOTYPING and CONSTRUCTION
Rapid software development
Design, prototyping and construction
COMP444 Human Computer Interaction Prototyping
Presentation transcript:

Requirements gathering Storyboarding Prototyping Chapter 6 Requirements gathering Storyboarding Prototyping

By the end of this lecture you should be able to... Practically apply three phases of the UCD process: Requirements gathering Design and storyboarding Prototype implementation

6.2 Waterfall model of lifecycle (revised) Requirements specification Architectural design Detailed design Coding Integration & deployment Maintenance

6.2 Stages of the Waterfall model (revised) Requirements specification Functional requirements Data requirements (Inputs and outputs) Environmental requirements (context) User requirements Usability requirements Architectural design Focus on how requirements can be achieved E.g. OO, UML, ERD Detailed design, coding and unit testing E.g. specification of classes, objects, methods and properties Produce software Integration and testing Integrate individual components Put into operation Maintenance Usage may identify further errors

UCSD revised

6.2 Waterfall vs UCSD Advantages of Waterfall prior to release Sequential process reduces cost and makes time management easier If problems are discovered after implementation numerous parts of the system might be redesigned Costs can spiral after implementation – after release Advantages of UCSD after release User and user needs are central during design Recognise that systems evolve through a process of iterative refinement, rather than through linear process Two key concepts of UCSD that is unfamiliar in W/F Formative evaluation: Each stage in UCSD is evaluated Design iteration: UCSD allows for revisiting and refinement of design

6.4 Requirements gathering Describing what the proposed system should do Not how it should do it, or what it should look like In UCSD: requirements cannot be used as contractual basis Not possible to accurately specify requirements at the start of a project May be iteratively refined as design/development progresses Clients might not ask for a feature because they did not know initially that it is possible Output: The requirements statement Functional requirements: What the system needs to do to be useful Usability requirements: What the system needs to do to be usable For each requirement What it is? Where it comes from? (Justification) Metric to measure system performance with respect to it (if possible)

Metrics A ‘metric’ is a way of measuring things Metrics can be direct or indirect If you weigh something, then you are directly measuring its weight Measuring the volume and density and then calculating the mass is an indirect metric Most HCI metrics are indirect Quantitative Time & response time Key presses Number of errors Qualitative User satisfaction User enjoyment None measure usability directly

Example: Usability Requirement The system should be learnable Justification The system will be used by people with little, if any, previous experience of IT Metric A novice user should be able to successfully complete task X in 20 seconds

Sources (input) for requirements The HTA The HTA should tell you all the tasks that the system should support Usability guidelines & heuristics (principles) Not the design rules But you need to explain why the principles are applicable Other constraints Technical, legal, etc E.g. Laws on data protection for privacy

Exports (output) for requirements (continued) Functional requirements Will closely correspond to the sub-tasks of the HTA Some sub-tasks will be identical and will simply be automated Usability requirements Typically things like learnability, recoverability, flexibility, responsiveness, etc.

Types of requirements Functional requirements Usability requirements Data requirements Environmental requirements User requirements

Functional and Usability requirements Difference between useful and usable: Useful: can do the task Usable: easy to do the task Functional requirements: What makes the system useful Typically quantitative They are there or not there e.g. ‘The system should allow the user to enter credit cards details and debit the user’s account accordingly’ It is clear whether or not the system does or does not do this Usability requirements: What makes the system usable More qualitative Might not be clear how to measure whether a system fulfils a usability requirement or not

User, Data and Environment requirements User requirements Who the users are? What capabilities do they have? Environment requirements Where will the system be used? Under what circumstances? Data requirements What data the system needs to input and output? (Closely linked to functional requirements)

Catalogue Example: HTA 0. Using catalogues 1. Browse items 1.1. Browse by what’s new 1.2. Browse by sales 1.3. Browse by items that interest 1.4. Browse by catalogues 1.4.1. Browse in kitchen 1.4.2. Browse while watching TV 1.4.3. Browse in bed 2. Mark items

Catalogue example Functional requirements The user must be able to browse items in the catalogues Browse by what’s new Browse by sales Browse by items that interest Browse by catalogues Justification: Sub-task 1 from HTA Metric: Can the system do it or not?

The catalogue example: Functional requirements (2) The user must be able to mark items for recall Justification: Sub-task 2 from HTA. But recall that the HTA showed that the ways of marking things in the catalogue was problematic Therefore stronger justifications needed here...

The catalogue example: Usability requirements The system should be flexible Justification: The HTA shows that the user fits the task of browsing around other tasks. Therefore the system should be flexible to accommodate this. Metric: ???

Storyboards Important that design must relate to requirements – storyboards helpful here Storyboards: Rough sketches of what the system will look like Good for predominantly graphical interfaces and web sites Cheap to produce, easy to change Maybe also need a ‘map’ showing how the ‘narrative’ of the storyboard runs Storyboard = example of paper prototyping Several articles on network H:\courses\ris224\2008\extra material\...

Storyboard example

Storyboard example (2)

Storyboard example (3)

Storyboard example (4)

Prototypes Consist of user interfaces that seem to look and behave like a complete system Can be tested on real users Purpose To turn an abstract idea into physical form To communicate your ideas To iterate and improve Elicit information on the functionality operation sequences user support look and feel Characteristics Should be ‘cheap’ Quick & Easy to change Designers don’t get adhered to them Usually cut down functionality Types of prototypes Throw-away Evolutionary Incremental Several articles on network H:\courses\ris224\extra material\...

Prototypes: Techniques Rapid prototyping Done in MS Word, PowerPoint, LaTeX, DreamWeaver, etc. Sophistication Hi-fi Have a lot of functionality of intended system Expensive and time-consuming Piece of software with limited functionality written in the target language (e.g. Java, Perl) or another language (e.g. director) Lo-fi Partially functional, cheaper Series of screen sketches Storyboard, i.e. a cartoon like series of sketches Cardboard mock-up Physical model e.g. lump of wood for Palm Pilot Horizontal and vertical Horizontal: Pictures of the interface, no functionality Vertical: Full functionality for a limited bit of the system Full prototype: Complete functionality, low performance Wizard of Oz The system is controlled by a designer

Prototypes Lo-fi example 1: Palm Pilot Founder (Jeff Hawkins) carved a block of wood and carried it around with him...

Prototypes: Lo-fi example 2 Using paper, post-its, index cards to mock up interface menus