Title: Assessing UML and Usability
1Assessing UML and Usability
Jason E. Robbins Information and Computer
ScienceUniversity of California, Irvine
jrobbins_at_ics.uci.edu
2Part 1 Assessing the Usability ofUML Modeling
Tools
3What is Usability?
- Anything can be used, but at what cost?
- Types of usability
- Ease of learning
- Ease of remembering
- Efficiency in use
- Reliability in use
- User satisfaction
4Why Improve Usability
- Benefits to the organization
- Safer tools can lower costs by helping catch
design errors early - More learnable tools require less training and
increase the pool of qualified workers - Efficient tools distract the designer from his or
her task less - Benefits to individuals
- Increased job satisfaction, reduced stress
- More productivity
- Difficult tools will not be used obvious
usability difficulties prevent the realization of
non-obvious productivity benefits
5How to Assess Usability
- Adherence to UI guidelines and heuristics
- Consider the match between the task and the
tools support for that task - What are the steps of the task?
- What are the challenges of the task?
- Measure UI complexity and effort needed
- You know it when you see it subjective
impressions count
6CASE Tools Examined
- Rational Rose 98i www.rational.com/rose
- The leading CASE tool, full-featured, complex,
mature, expensive (often sold w/ training) - Together/J 3.0 beta www.togetherj.com
- An example of a new breed of simpler and cheaper
mass-market CASE tools - ArgoUML v0.7 www.argouml.com
- Research project on usability and cognitive
support in CASE tools, free, open-source
7Rational Rose
8Rational Rose
9Rational Rose
Too many tabs make finding anything difficult
Rose is complex, but follows MS Windows UI
guidelines
10Find utility is OK, but only searches on
names. New-Existing-Recent is a example of
successful imitation.
Print dialog is overly complex.
11Comments on Rose
- Highly modal property sheets make it hard to find
and repeatedly access property widgets - Constant switching between mouse and keyboard
- No good way to cut-and-paste multiple properties.
- Batch code generation makes code v. model
comparisons difficult - Diagram editing OK but somewhat clumsy
- Text often cut-off or drawn outside of box
- No alignment tools or back-to-front ordering
- Table-of-contents widget aids users in finding
individual elements, but that is all - Rose 98i fixes some of the most offensive
usability problems of earlier versions (e.g., not
being able to resize the property dialog)
12Together/J
13Together/J
Some screenshots were taken from a presentation
describing Together/J from Object International.
It can be downloaded from www.togetherj.com.
Code is central. The user sees model and code and
both are kept in sync. You can compile from
within TJ. The find command only searches code,
not the model.
14Together/J
Some screenshots were taken from a presentation
describing Together/J from Object International.
It can be downloaded from www.togetherj.com.
Together/J contains some knowledge about common
design patterns and helps the designer construct
model fragments based on those patterns.
15Together/J
Some screenshots were taken from a presentation
describing Together/J from Object International.
It can be downloaded from www.togetherj.com.
Metrics and Audit rules aid the designer in
reviewing the design. Analyses must be explicitly
invoked.
Not a very effective presentation of results.
16Comments on Together/J
- Simpler than Rose. Avoids Roses property sheet
problems. - Several UI elements support a design-and-code
task - Tree widget serves many purposes, but there is
still only one table-of-contents view - Diagram editing good, but some usability problems
- It is much to hard to drag a class
- Arc editing is very good
- No alignment or back-to-front ordering
- No way to lock a given toolbar mode
- Audit and Metrics tools provide some knowledge
support, but they must be explicitly invoked, and
their feedback is unmanageable.
17ArgoUML
18ArgoUML
Wizards provide problem-specific procedural
guidance and automation
Table views are dense and aid in systematic
scanning
19ArgoUML
Unstructured graphical annotations can be
semantic prompts that help link the design to
requirements
20ArgoUML
The broom alignment tool uses direct-manipulation
to establish visual groupings
Selection-action buttons make common construction
operations into single clicks
Checklists prompt designers to think like expert
designers, improve on paper-based checklists
21ArgoUML
Navigational perspectives clarify key
hierarchical relationships in the design
Many useful perspectives are predefined, but you
can customize them by selecting child-generation
rules
22Comments on ArgoUML
- ArgoUML includes many user interface features
that specifically address challenges faced by
designers. - Knowledge support via critics and checklists
- Process support via to do list
- Visualization support via navigational
perspectives - Refined diagram editing with strong support for
secondary notation - Critics and wizards offer functionality as needed
without cluttering the menus
23Final Comments on UML Tools
- The best current commercial tools are
unsatisfying to use because they are not well
matched to the design activity - Clumsy, uninspired support for common design
tasks - Weak support for the challenges of design
- There is a usability difference among tools
- I predict improved usability will be a key part
of the next round of CASE tools
24Part 2 Assessing a UML Extensionfor Modeling
User Interfaces
25How Do You Design UIs Now?
- Good
- Gain real insight into the users tasks and
background - Build and review UI models and prototypes
- OK
- Implement prototype with a GUI builder, focus on
layout - Imitate successful or familiar UIs and follow
guidelines - Bad
- Focus on system implementation and leave the UI
for last - Assume that you are the user
26What is Usage-Centered Design?
- Software for Use by Larry Constantine and Lucy
Lockwood - Focuses on improving the match between the users
task and the tools user interface - Somewhat of a popular, practical version of
task-modeling - Construct models leading to implementation
- use cases lead to
- abstract interaction sequences lead to
- interaction contexts with abstract widgets leads
to - actual GUI layouts and implementation
- Elements of UCD
- Pragmatic design guidelines
- Model-driven design process
- Organized development activities
- Iterative improvement
- Measures of quality
27Example Modeling ArgoUMLs Search Utility
- Use case diagram
- One use case in detail
- Interaction contexts for use case
- IC navigation map
- Abstract window layout for one IC
28Use Case Diagram
ConstructDesign
ReviewDesign
Designer
SearchDesign
29One Use Case in detailSearch Design
- User Intention
- Request search
- Enter search criteria
- Start search
- Review results
- continue until doneExamine specific result
- System Responsibility
- Show search criteria fields
- Perform search, display results
- Display details of selected result and related
results, show result in context of diagram
30Interaction Contexts for Search Design
- Find Window
- Search criteria fields allows designer to enter
regexs for name and package name - Start search button to start the search
- Results viewer displays search results, must
allow one to be selected - Related objects viewer lists objects related to
selected result - As Diagram Pane
- Displays details of selected result in the
context of a design diagram
31Interaction Context Navigation Map
Generate All ClassesGenerate Selected Class
Main Window
EditorPane
View Find
Config button
NavPane
ToDoPane
32Abstract Layout of Find Window
Find Window
Search criteria fields
Enables
Start search
Fills
Results viewer (note select one of many)
Fills
Related objects viewer (note select one of many)
33Concrete Layout of Find Window
34Final Comments onUsage-Centered Design
- Considering the users task from the start is a
good way to build more useful UIs - UCD seems simple, practical, and well aligned
with UML style and depth - I hope to work on a meta-model and tool support
for UCD in the next year (ArgoUCD?)
35Thank you