• Use cases describe the way a system will be used, but they don’t specify the system user interface.
• User experience storyboards, based on use cases, add the process and techniques necessary to design and build a user interface that will meet requirements and allow users to exercise all the system behaviour described in use cases.
• Also facilitate communication among the UI designers, and the UI architects and developers who design and implement the system.
Term used to describe the team and the activities of those specialists responsible for keeping the user interface consistent with current paradigms and appropriate for the context in which the system is to run.
Some of the concerns of the UX team are architecturally significant (navigational flows) whereas others are purely cosmetic (colours, fonts). We concentrate on architecture here.
The main member of the UX team is the information
Architect (IA). The IA is concerned with the information content of the screens, their organisation and their navigation.
The principal artefact the IA is responsible for is the UX
Guidelines Document. This document defines the overall
‘look and feel’ and provides a foundation of rules for defining new screens and flows.
The UX team consume Use Cases and, using prototypes for illustrating storyboards, produce the UX Guideline
Document.
• Artefacts of the UX Model
1. Screens and content descriptions
2. Storyboard scenarios
3. Navigational paths through the screens
• The UX model is a view of the system through its screens.
• The architecturally significant properties of the screens and their navigational relationships are the main elements of the UX model.
• UML Collaborations capture storyboard scenarios of the application in terms of the system’s screens.
• The UX model’s storyboards are themselves mappings to the use case model.
• A screen is something that is presented to the user.
• A screen contains the standard user interface infrastructure, such as menus and controls, as well as business relevant content.
• Content is a combination of:
– Static content – field names, titles, text and images that are constant for each user
– Dynamic content – selected products, personal information, current status and other computed information
• Web pages are mechanisms that build and produce screens, usually by server-side mechanisms such as ASP, JavaServer Pages, servlets and so on. A screen is simply what is presented to the user.
Screen
Static content
Managed content
User input
Business logic content
A screen’s properties and its behaviour with the user define the screen.
These include:
• Name and description
• Structure
• Static content
• Business logic content
• Managed content
• Input fields and controls that accept user input
• Descriptions of user interaction with the screen
• Name and description- indicates purpose and why the screen is important
• Structure- describes how the screen’s information is laid out
• Static content- all the embedded text and images that remain constant over time and with each user
• Input fields and controls – identify what information the users can provide to the system through the interface
Dynamic content (business and managed)
Dynamic content managed by business processes
• Banner ads
• Help and informational messages
• Press releases
• White papers
Dynamic content managed and delivered by the application
• Search results
• Shopping cart line items
• User preferences
• When screens are combined and ordered they can describe use case scenarios.
• The goal of these so called ‘storyboard scenarios’ is to express a typical use of the system through the eyes of the user.
• Each scenario is an expression of a typical use of the system.
• Early in development, the screens might simply be hand-drawn diagrams but later these evolve into HTML files which make their way into the application builds.
• Maps of the navigational paths express the structure of an application’s screens with their potential navigational pathways.
• The maps express all the legal and expected pathways through the system
• A screen is represented in a UML model with a
<<screen>> stereotyped class.
• A screens name is used as the class name and a screens description captured as the class description.
• Static content such as labels and images are not architecturally significant and are not modelled.
• Content layout is not modelled for the same reasons.
(These belong in the UX Guidelines Document).
• The simplest way to model dynamic content is to enumerate it as attributes of the stereotyped class.
• Strict data types are not necessary, it is sufficient to identify the domain content by name (with elaboration in the accompanying documentation)
<<Screen>>
Cart
Total
0..*
Line Items
Id
Name
Short Description
Quantity
Number Available
Thumbnail URL
• If there is really only one allowed instance of the content in a screen, it should be modelled as an attribute of the class
(Total appears as a class attribute since there is only one occurrence of this value to be seen on the screen.
• The content in the line items is variable.
<<Screen>>
Cart
Total
Update quantity()
Delete line item()
0..*
Line Items
Id
Name
Short Description
Quantity
Number Available
Thumbnail URL
The behaviour of interest in the UX model is the behaviour that the screen user can invoke on the screen to alter its state or the state of the system.
(Behind the screen action in creating the screen are not generally of interest in the
UX model although some operations (navigation for example) are sometimes included for clarity).
Home Page <<Screen>>
Featured product ID
Featured product Name
Featured product Price
Featured product description
Featured product thumbnail select featured product select catalog
Next
Featured Product
Previous
<<Screen>>
Catalog
0..*
Categories
Category item
Category <<Screen>>
Category ID
Category name
Category description
Category image
Subcategories
0..*
Id
Name
Description
Image URL scroll forward scroll backward select product
What might appear in the Product Screen?
<<Screen>>
Product
• Model associations between classes (screens).
• The influence of the browser’s back button is of no interest here.
• Navigational paths are limited to the expected paths, not every possible one.
• In the UX model, it is important to capture each named input field and, optionally, the type of control used to collect it.
• Input forms are modelled with a separate
<<inputform>> stereotyped class.
• This becomes a composite aggregate of the screen class.
• Fields are captured as attributes and can be optionally typed with the type of input control they are.
In this example:
•The Input Form Modelled as Contained Class
•The user input to the search form does not determine the next screen to be navigated.
<<Screen>>
Catalog
Categories
0..*
Category Item
Id
Name
Description
Image URL
<<input form>>
Search Form
Keywords: Text
Here, the user input to the search form determines the next screen to be navigated.
<<Screen>>
Payment
Information
<<Screen>>
Missing Data
Incomplete
<<input form>>
Payment Info
Successful <<Screen>>
Order Summary
Error
<<Screen>>
Processing Error
• It is becoming common for I.A.’s to define screens and the look and feel as a whole- in terms of screen compartments, or sub screens.
• Each has a dedicated purpose that is expected to combine with other compartments to make a whole screen.
• The main of screen compartments advantage is reuse.
• They are modelled with a <<screen compartment>> sterotyped class.
• They are modelled as shared aggregates (just like dynamic content).
1
«Screen Compartment»
Menu
«Screen»
Home
-Featured product ID
-Featured product name
-Featured product price
-Featured product short description
-Featured product thumbnail
+Seacrh()
1
1
1
1
«Screen Compartment»
Footer
1
«Screen Compartment»
Header
1
1
«Input Form»
Search Form
• In a web application, the screens are the individual boards that, when strung together, tell a story of the application.
• A UML storyboard is a collaboration and is best captured by collaboration diagrams.
• The UML storyboard maps to a Use Case.
• Steps:
1.
Illustrate navigation map (sometimes called a Participants Diagram) showing all the classes participating in the use case being storyboarded e.g the browse catalog use case. Remember, not all navigation paths may be shown if it complicates the diagram.
2.
Construct a sequence diagram for the browse catalog use case.
3.
Express the storyboard scenario as a collaboration diagram.
Home Page
<<Screen>>
Featured product ID
Featured product Name
Featured product Price
Featured product description
Featured product thumbnail select featured product select catalog
Line Item
ID
Name
Description
Quantity
Number available
Thumbnail URL
Next
Featured Product
Cart
Total
<<Screen>>
Remove
Previous
Category
<<input form>>
Search Form
Keywords: Text
<<Screen>>
Category ID
Category name
Category description
Category image
<<Screen>>
Catalog
Select
0..*
Categories
Category item
Subcategories
0..*
Id
Name
Description
Image URL scroll forward scroll backward select product
<<Screen>>
Product select
LineItemsForm
<<input form>>
RemoveProduct():Checkbox
Quantity():Text
Customer navigates to eRetail site
Customer selects the product catalog
Customer selects a category
Customer scrolls forward
Then backward through the
List of products
Customer selects a product
The system responds with a detailed product description
:Home Page :Catalog :Category :Product :Cart
Navigate
Catalog
Navigate
Select category
Navigate
Scroll forward
Scroll backward
Select product
Navigate
Select product
Navigate
<<Screen>>
Home Page
1.
<<Screen>>
Electronics: Catalog
2.
<<Screen>>
Cameras:Category
3.
<<Screen>>
SonyP210:Product
4.
<<Screen>>
Cart
5.
<<Screen>>
Cameras:Category
<<Screen>>
Cameras:Category
6.
8.
<<Screen>>
CanonR45:Product
7.
<<Screen>>
Kodak K23:Product
9.
<<Screen>>
Cart
10.
Problem Description User needs Many requirements will be resolved through interaction with actors
The experience of the user during
Interactions needs to be modelled
Analysis Models:
To model the user/applications domain
•Class Diagrams
•Object Diagrams
•Sequence Diagrams
•Collaboration Diagrams
•Activity Diagrams
Req
Spec.
*
*
*
*
Use Cases
Templates
•Use Case Diagrams
•Use Case text
•Activity Diagrams
•Sequence diagrams
UX Model
•Class Diagrams
•Activity Diagrams
•Sequence diagrams
•Collaboration diagrams