Unit 04: From Requirements to the UX Model

31
1 dsbw 2011/2012 q1 Requirements Engineering Requirements Model Analysis Analysis Model (Specification) External Design of the Web Presentation Layer Interaction Model (UX Model) Unit 4: From Requirements to the UX Model

Transcript of Unit 04: From Requirements to the UX Model

Page 1: Unit 04: From Requirements to the UX Model

1dsbw 2011/2012 q1

Requirements Engineering → Requirements Model

Analysis → Analysis Model (Specification)‏

External Design of the Web Presentation Layer

→ Interaction Model (UX Model)‏

Unit 4: From Requirements to the UX Model

Page 2: Unit 04: From Requirements to the UX Model

2dsbw 2011/2012 q1

In principle, all that you have learned in Software Engineering courses on these topics are also applicable to Web Application engineering.

We are going to recall some general concepts,

with special attention to those aspects more concerned with WebApp Engineering.

Requirements Engineering and Analysis

Page 3: Unit 04: From Requirements to the UX Model

3dsbw 2011/2012 q1

Vision Document (Revised)‏

Requirements Document

Functional Requirements

Non-functional Requirements

User eXperience (UX) document

Requirements Model: Artifacts

Page 4: Unit 04: From Requirements to the UX Model

4dsbw 2011/2012 q1

The Vision Document is an overview of the entire project and is the source for the rationale that drives all the decisions made throughout the development process.

The vision document contains several key elements:

Description of the problem

List of the stakeholders involved in the project and their views of the system

Outline of the project scope

Outline of the software solution: high-level features and key design constraints

Vision Document

Page 5: Unit 04: From Requirements to the UX Model

5dsbw 2011/2012 q1

A requirement is a statement that defines a goal or a constraint that the system must satisfy and

needs to be understood by the development team and validated by the stakeholder and user community.

has clearly determined pass/fail criteria that can be verified by the testing team.

must have its priority set in relation to other requirements.

Functional requirements

“The system should be able to compute international shipping charges for all products available for sale (high priority)”

Requirements

Page 6: Unit 04: From Requirements to the UX Model

6dsbw 2011/2012 q1

Usability/Accessibility

“The user should not fill more than three forms in any use case (medium)”

“The system interface shall not use HTML frames (low)”

Performance

“Web pages should not take longer than 5 seconds to load in the browser with a broadband connection (high)”

Robustness/reliability

“The system should enable access to data on weekly backup tapes within a 2-hour window (high)”

Security

“Personal data should be transferred through secure protocols (high)”

Non-functional requirements

Page 7: Unit 04: From Requirements to the UX Model

7dsbw 2011/2012 q1

What is the user’s overall objective when using the WebApp?

What is the user’s background and sophistication relative to the content and functionality of the WebApp?

How will the user arrive at the WebApp?

What generic WebApp characteristics does the user like/dislike?

Requirements: Defining User Categories

Page 8: Unit 04: From Requirements to the UX Model

8dsbw 2011/2012 q1

Traditional focus groups

Trained moderators meet with small groups of representative users

Electronic focus groups

Moderated electronic discussions conducted with groups of representative end-users and stakeholders.

Iterative surveys

Series of brief surveys, addressed to representative users and requesting answers to specific questions about the WebApp

Exploratory surveys

Web-based surveys tied to one or more WebApps that have users who are similar to the ones that will use the WebApp to be build.

Scenario-building

Selected users are asked to create informal use cases that describe specific interactions with the WebApp.

Gathering Requirements from Stakeholders

Page 9: Unit 04: From Requirements to the UX Model

9dsbw 2011/2012 q1

Its purpose is to guide the team developing the user interface: Definition of the general user interface metaphors: menus,

tabs, carts

Naming conventions for menus and titles

Detailed specifications for fonts, sizes, colors, and artwork requirements

UX Document [Conallen]

Page 10: Unit 04: From Requirements to the UX Model

10dsbw 2011/2012 q1

Definition of page layouts and content positioning

UX Document (cont.)‏

Page 11: Unit 04: From Requirements to the UX Model

11dsbw 2011/2012 q1

Use Case Model

User Categories

Use Case Diagrams

Content Model

Content “objects”: text, graphics, pictures, video, audio, etc.

Conceptual Model

Class Diagram

Textual Integrity Constraints

System Behavior Model

System’s sequence diagrams

System’s operation contracts

State Model

State diagrams

Analysis Model: Artifacts

Page 12: Unit 04: From Requirements to the UX Model

12dsbw 2011/2012 q1

E-Tailer Example: User Categories

customer

guest registered

customer

customer

service staff

new existing

Page 13: Unit 04: From Requirements to the UX Model

13dsbw 2011/2012 q1

E-Tailer Example: Use Case Diagram

E-Tailer

Checkout

Customer

BrowseCatalog

Check order status

Shiporder

Processpayment

<<extend>>

<<include>><<include>>

MerchantAccount System

ShippingDepartment

Page 14: Unit 04: From Requirements to the UX Model

14dsbw 2011/2012 q1

E-Tailer: Conceptual Model

ID : String

name: : String

...

CategoryID : String

name: : String

price : float

...

Product

date : Date

/total : float

Sale

quantity : Integer

Sale Item

**

1 *

custName : String

address : String

...

Finished{incomplete}

ID : String

name: String

...

Catalog

1 *

Page 15: Unit 04: From Requirements to the UX Model

15dsbw 2011/2012 q1

E-Tailer: System Sequence Diagram for

the Browse Catalog Use Case

: Customer : System

Navigate to home page

Select catalog

Select category

Select product

Display company page

Display top-level categories

Display products

Display product detail

The customer begins by navigating to the e-retail company application

The system responds with the company's home page.

The customer selects the product catalog.The system responds with a list of the top-level categories of the catalog.The customer selects a category.

The system displays a list of products in this category.

The customer selects a product.

The system responds with a detailed product description.

Page 16: Unit 04: From Requirements to the UX Model

16dsbw 2011/2012 q1

WebApp Engineering Design Pyramid

Component design

Architecture design

Navigation design

Content design

Aesthetic design

Interface

design

user

technology

Page 17: Unit 04: From Requirements to the UX Model

17dsbw 2011/2012 q1

Interface design:

Describes the structure and organization of the WebApp pages

Layout, menus, tabs, links, content, context information, search, etc.

Aesthetic design:

Look and feel of the WebApp (Refinement and/or redefinition of the UX Document)‏

Content design:

Content structure and organization in pages

Navigation design:

Definition of the navigational flows among pages that implement the different use cases.

WebApp Engineering Workflows

Page 18: Unit 04: From Requirements to the UX Model

18dsbw 2011/2012 q1

Architecture design:

Definition of the overall hypermedia structure for the WebApp

Component design:

In simple WebApps (static)

Which html files are needed and how they are organized

Web server configuration

In complex WebApps:

System’s Physical Architecture

Internal design of the Web presentation layer

Business logic layer design

Persistence model design

WebApp Engineering Workflows

Page 19: Unit 04: From Requirements to the UX Model

19dsbw 2011/2012 q1

Corresponds to the Content design (partially), Navigation design and Architecture design layers of the “pyramid”

L’UX Model describes how the (dynamic) content will be structured and organized in different screens and how the user will navigate among those screens to execute the WebApp use cases.

Artifacts of the UX Model:

Screens

Storyboard sequences

Navigational paths and maps

A screen is something that is presented to the user, which contains the standard user interface infrastructure, such as menus and controls, as well as business-relevant content.

User eXperience Model (UX Model) [Conallen]

Page 20: Unit 04: From Requirements to the UX Model

20dsbw 2011/2012 q1

A screen's properties and its behavior with the user define the screen. These include :

Name and description

Structure

Content:

Static content

Dynamic content

Business logic content

Managed content: Banner ads, help and informational messages, press releases, company and application FAQs, white papers

Input fields and controls that accept user input

Description of user interactions with the screen

Screen Description

Page 21: Unit 04: From Requirements to the UX Model

21dsbw 2011/2012 q1

UX Model Stereotypes

Page 22: Unit 04: From Requirements to the UX Model

22dsbw 2011/2012 q1

E-Tailer: Home Page Screen

«business logic» Featured product ID«business logic» Featured product name «business logic» Featured product price«business logic» Featured product short description«business logic» Featured product thumbnail«managed» Copyright statement«managed» Customer quote

Home Page

Page 23: Unit 04: From Requirements to the UX Model

23dsbw 2011/2012 q1

E-Tailer: Storyboard sequence for the

Browse Catalog Use Case

The customer navigates to the e-retail

company application on the Internet.

The system responds with the

company's home page.

The customer selects the product

catalog.

The system responds with a list of the

top-level categories of the catalog.

The customer selects a category.

The system displays a list of all

products in this category.

The customer selects a product.

The system responds with a detailed

product description.

<<screen>>: Home Page

: Customer

: Category

<<screen>> <<screen>>

: Product

<<screen>>

: Catalog

navigate()

navigate()‏

catalog()‏

select category()‏

select product()‏navigate()

navigate()‏

Page 24: Unit 04: From Requirements to the UX Model

24dsbw 2011/2012 q1

E-Tailer: Screens and Navigational paths for the

Browse Catalog Use Case

Page 25: Unit 04: From Requirements to the UX Model

25dsbw 2011/2012 q1

E-Tailer: Storyboard Sequence for the

Checkout Use Case

Error in the payment data

Page 26: Unit 04: From Requirements to the UX Model

26dsbw 2011/2012 q1

E-Tailer: Screens and Navigational Paths for the

Checkout Use Case

Page 27: Unit 04: From Requirements to the UX Model

27dsbw 2011/2012 q1

E-Tailer: Cart Updating

Page 28: Unit 04: From Requirements to the UX Model

28dsbw 2011/2012 q1

E-Tailer: Navigational Map

Page 29: Unit 04: From Requirements to the UX Model

29dsbw 2011/2012 q1

Anticipation: The WebApp should anticipate the user’s next move.

Communication: The interface should communicate the status of any activity initiated by the user

Consistency in the use of navigation controls, menus, icons, and aesthetics

Controlled autonomy: The interface should facilitate user movement throughout the WebApp, but it should do so in a manner that enforces navigation conventions that have been established for the application.

Efficiency: The design of the WebApp and its interface should optimize the user’s work efficiency, not the efficiency of the Web engineer who designs and builds it or the client-server environment that executes it.

Focus: The WebApp interface (and the content it presents) should stay focused on the user task(s) at hand.

Interface Design: Principles (1/2)‏

Page 30: Unit 04: From Requirements to the UX Model

30dsbw 2011/2012 q1

Fitt’s Law: “The time to acquire a target is a function of the distance to and size of the target.”

Learnability: A WebApp interface should be designed to minimize learning time, and once learned, to minimize relearning required when the WebApp is revisited.

Maintain work product integrity: A work product (e.g., a form completed by the user, a user specified list) must be automatically saved so that it will not be lost if an error occurs.

Readability: All information presented through the interface should be readable.

Track state: When appropriate, the state of the user interaction should be tracked and stored so that a user can logoff and return later to pick up where she left off.

Web Design Patterns: www.welie.com/patterns/

Interface Design: Principles (2/2)‏

Page 31: Unit 04: From Requirements to the UX Model

31dsbw 2011/2012 q1

R. G. Pressman, D. Lowe: Web Engineering. A Practitioner’s Approach. McGraw Hill, 2008. Chapters 4, 7-9

CONALLEN, Jim Building Web Applications with UML, 2on Edition, Addison-Wesley, 2002. Chapters 8-10

References