Assessing Assessing UML and UsabilityUML and Usability
Jason E. Robbins
Information and Computer ScienceUniversity of California, Irvine
Part 1: Part 1: Assessing the Assessing the Usability ofUsability ofUML Modeling ToolsUML Modeling Tools
What is Usability?What is Usability?• Anything can be used, but at what cost?Anything can be used, but at what cost?
• Types of usability: Types of usability: – Ease of learningEase of learning
– Ease of rememberingEase of remembering
– Efficiency in useEfficiency in use
– Reliability in useReliability in use
– User satisfactionUser satisfaction
Why Improve UsabilityWhy Improve Usability• Benefits to the organizationBenefits to the organization
– Safer tools can lower costs by helping catch Safer tools can lower costs by helping catch design errors earlydesign errors early
– More learnable tools require less training and More learnable tools require less training and increase the pool of qualified workersincrease the pool of qualified workers
– Efficient tools distract the designer from his or Efficient tools distract the designer from his or her task lessher task less
• Benefits to individualsBenefits to individuals– Increased job satisfaction, reduced stressIncreased job satisfaction, reduced stress– More productivityMore productivity
• Difficult tools will not be used: obvious Difficult tools will not be used: obvious usability difficulties prevent the realization of usability difficulties prevent the realization of non-obvious productivity benefitsnon-obvious productivity benefits
How to Assess UsabilityHow to Assess Usability• Adherence to UI guidelines and heuristicsAdherence to UI guidelines and heuristics
• Consider the match between the task and Consider the match between the task and
the tool’s support for that taskthe tool’s support for that task– What are the steps of the task?What are the steps of the task?
– What are the challenges of the task?What are the challenges of the task?
• Measure UI complexity and effort neededMeasure UI complexity and effort needed
• You know it when you see it: subjective You know it when you see it: subjective impressions countimpressions count
CASE Tools ExaminedCASE Tools Examined• Rational Rose 98i: www.rational.com/roseRational Rose 98i: www.rational.com/rose
– The leading CASE tool, full-featured, complex, The leading CASE tool, full-featured, complex, mature, expensive (often sold w/ training)mature, expensive (often sold w/ training)
• Together/J 3.0 beta: www.togetherj.comTogether/J 3.0 beta: www.togetherj.com– An example of a new breed of simpler and An example of a new breed of simpler and
cheaper mass-market CASE toolscheaper mass-market CASE tools
• ArgoUML v0.7: www.argouml.comArgoUML v0.7: www.argouml.com– Research project on usability and cognitive Research project on usability and cognitive
support in CASE tools, free, open-sourcesupport in CASE tools, free, open-source
Rational RoseRational Rose
Rational RoseRational Rose
Rational RoseRational Rose
Rose is complex, but follows MS Windows UI guidelines
Too many tabs make finding anything difficult
Find utility is OK, but only searches on names.
New-Existing-Recent is a example of successful imitation.
Print dialog is overly complex.
Comments on RoseComments on Rose• Highly modal property sheets make it hard to find and Highly modal property sheets make it hard to find and
repeatedly access property widgetsrepeatedly access property widgets– Constant switching between mouse and keyboardConstant switching between mouse and keyboard– No good way to cut-and-paste multiple properties.No good way to cut-and-paste multiple properties.
• Batch code generation makes Batch code generation makes code v. model comparisons difficultcode v. model comparisons difficult
• Diagram editing OK but somewhat clumsyDiagram editing OK but somewhat clumsy– Text often cut-off or drawn outside of boxText often cut-off or drawn outside of box– No alignment tools or back-to-front orderingNo alignment tools or back-to-front ordering
• Table-of-contents widget aids users in finding individual Table-of-contents widget aids users in finding individual elements, but that is allelements, but that is all
• Rose 98i fixes some of the most offensive usability Rose 98i fixes some of the most offensive usability problems of earlier versions (e.g., not being able to problems of earlier versions (e.g., not being able to resize the property dialog)resize the property dialog)
Together/JTogether/J
Together/JTogether/JCode 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.
Some screenshots were taken from a presentation describing Together/J from Object International. It can be downloaded from www.togetherj.com.
Together/JTogether/JTogether/J contains some knowledge about common design patterns and helps the designer construct model fragments based on those patterns.
Some screenshots were taken from a presentation describing Together/J from Object International. It can be downloaded from www.togetherj.com.
Together/JTogether/JMetrics and Audit rules aid the designer in reviewing the design.Analyses must be explicitly invoked. Not a very effective
presentation of results.
Some screenshots were taken from a presentation describing Together/J from Object International. It can be downloaded from www.togetherj.com.
Comments on Together/JComments on Together/J• Simpler than Rose. Avoids Rose’s property sheet problems.Simpler than Rose. Avoids Rose’s property sheet problems.
• Several UI elements support a design-and-code taskSeveral UI elements support a design-and-code task
• Tree widget serves many purposes, but there is still only Tree widget serves many purposes, but there is still only one table-of-contents viewone table-of-contents view
• Diagram editing good, but some usability problemsDiagram editing good, but some usability problems– It is much to hard to drag a classIt is much to hard to drag a class
– Arc editing is very goodArc editing is very good
– No alignment or back-to-front orderingNo alignment or back-to-front ordering
– No way to lock a given toolbar modeNo way to lock a given toolbar mode
• Audit and Metrics tools provide some knowledge support, Audit and Metrics tools provide some knowledge support, but they must be explicitly invoked, and their feedback is but they must be explicitly invoked, and their feedback is unmanageable.unmanageable.
ArgoUMLArgoUML
ArgoUMLArgoUML
Table views are dense and aid in systematic scanning
Wizards provide problem-specific procedural guidance and automation
ArgoUMLArgoUMLUnstructured graphical annotations can be semantic prompts that help link the design to requirements
ArgoUMLArgoUMLThe broom alignment tooluses 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
ArgoUMLArgoUMLNavigational perspectives clarify key hierarchical relationships in the design
Many useful perspectives are predefined,but you can customize them by selecting child-generation rules
Comments on ArgoUMLComments on ArgoUML• ArgoUML includes many user interface ArgoUML includes many user interface
features that specifically address challenges features that specifically address challenges faced by designers.faced by designers.– Knowledge support via critics and checklistsKnowledge support via critics and checklists
– Process support via “to do” listProcess support via “to do” list
– Visualization support via navigational perspectivesVisualization support via navigational perspectives
• Refined diagram editing with strong support Refined diagram editing with strong support for secondary notationfor secondary notation
• Critics and wizards offer functionality as Critics and wizards offer functionality as needed without cluttering the menusneeded without cluttering the menus
Final Comments on UML Final Comments on UML ToolsTools• The best current commercial tools are The best current commercial tools are
unsatisfying to use because they are not unsatisfying to use because they are not well matched to the design activitywell matched to the design activity– Clumsy, uninspired support for common design Clumsy, uninspired support for common design
taskstasks
– Weak support for the challenges of designWeak support for the challenges of design
• There is a usability difference among toolsThere is a usability difference among tools
• I predict improved usability will be a key I predict improved usability will be a key part of the next round of CASE toolspart of the next round of CASE tools
Part 2: Part 2: Assessing a UML Assessing a UML ExtensionExtensionfor Modeling User for Modeling User InterfacesInterfaces
How Do You Design UI’s How Do You Design UI’s Now?Now?
• Good: Good: – Gain real insight into the user’s tasks and backgroundGain real insight into the user’s tasks and background
– Build and review UI models and prototypesBuild and review UI models and prototypes
• OK:OK:– Implement prototype with a GUI builder, focus on layoutImplement prototype with a GUI builder, focus on layout
– Imitate successful or familiar UI’s and follow guidelinesImitate successful or familiar UI’s and follow guidelines
• Bad:Bad:– Focus on system implementation and leave the UI for lastFocus on system implementation and leave the UI for last
– Assume that you are the userAssume that you are the user
What is Usage-Centered Design?What is Usage-Centered Design?• ““Software for Use” by Larry Constantine and Lucy LockwoodSoftware for Use” by Larry Constantine and Lucy Lockwood
• Focuses on improving the match between the user’s task and Focuses on improving the match between the user’s task and the tool’s user interfacethe tool’s user interface
• Somewhat of a popular, practical version of task-modelingSomewhat of a popular, practical version of task-modeling
• Construct models leading to implementation: Construct models leading to implementation: – use cases lead to use cases lead to – abstract interaction sequences lead to abstract interaction sequences lead to – interaction contexts with abstract widgets leads tointeraction contexts with abstract widgets leads to– actual GUI layouts and implementationactual GUI layouts and implementation
• Elements of UCD:Elements of UCD:– Pragmatic design guidelinesPragmatic design guidelines– Model-driven design processModel-driven design process– Organized development activitiesOrganized development activities– Iterative improvementIterative improvement– Measures of qualityMeasures of quality
Example: Example: Modeling ArgoUML’s Search UtilityModeling ArgoUML’s Search Utility
• Use case diagramUse case diagram
• One use case in detailOne use case in detail
• Interaction contexts for use caseInteraction contexts for use case
• IC navigation mapIC navigation map
• Abstract window layout for one ICAbstract window layout for one IC
Use Case DiagramUse Case DiagramConstruct
Design
Designer
ReviewDesign
SearchDesign
One Use Case in detail:One Use Case in detail:Search DesignSearch Design
User IntentionUser Intention
Request searchRequest search
Enter search criteriaEnter search criteria
Start searchStart search
Review resultsReview results
[continue until done][continue until done]Examine specific resultExamine specific result
System ResponsibilitySystem Responsibility
Show search criteria fieldsShow search criteria fields
Perform search, display Perform search, display resultsresults
Display details of selected Display details of selected result and related results, result and related results, show result in context of show result in context of diagramdiagram
Interaction Contexts for Search Interaction Contexts for Search DesignDesign• Find WindowFind Window
– Search criteria fields: allows designer to enter regex’s for Search criteria fields: allows designer to enter regex’s for name and package namename and package name
– Start search: button to start the searchStart search: button to start the search
– Results viewer: displays search results, must allow one Results viewer: displays search results, must allow one to be selectedto be selected
– Related objects viewer: lists objects related to selected Related objects viewer: lists objects related to selected resultresult
• ““As Diagram” PaneAs Diagram” Pane– Displays details of selected result in the context of a Displays details of selected result in the context of a
design diagramdesign diagram
Interaction Context Interaction Context Navigation MapNavigation Map
Find Window
Main Window
View | Find
Config button
Code Gen Window
Generate | All ClassesGenerate | Selected Class
Perspectives
Panes
Config NavPane Window
As Diagram
As Table
NavPaneToDoPane
EditorPane
Abstract Layout of Find WindowAbstract Layout of Find Window
Search criteria fields
Start search
Results viewer(note: select one of many)
Related objects viewer(note: select one of many)
Find Window
Enables
Fills
Fills
Concrete Layout of Find WindowConcrete Layout of Find Window
Final Comments onFinal Comments onUsage-Centered DesignUsage-Centered Design
• Considering the user’s task from the start Considering the user’s task from the start is a good way to build more useful UI’sis a good way to build more useful UI’s
• UCD seems simple, practical, and well UCD seems simple, practical, and well aligned with UML style and depthaligned with UML style and depth
• I hope to work on a meta-model and tool I hope to work on a meta-model and tool support for UCD in the next year support for UCD in the next year (ArgoUCD?)(ArgoUCD?)
Thank youThank you
• Questions?Questions?