35
Assessing Assessing UML and Usability UML and Usability Jason E. Robbins Information and Computer Science University of California, Irvine [email protected]

Assessing UML and Usability

  • Upload
    penda

  • View
    35

  • Download
    1

Embed Size (px)

DESCRIPTION

Assessing UML and Usability. Jason E. Robbins Information and Computer Science University of California, Irvine. [email protected]. Part 1: Assessing the Usability of UML Modeling Tools. What is Usability?. Anything can be used, but at what cost? Types of usability: Ease of learning - PowerPoint PPT Presentation

Citation preview

Page 1: Assessing  UML and Usability

Assessing Assessing UML and UsabilityUML and Usability

Jason E. Robbins

Information and Computer ScienceUniversity of California, Irvine

[email protected]

Page 2: Assessing  UML and Usability

Part 1: Part 1: Assessing the Assessing the Usability ofUsability ofUML Modeling ToolsUML Modeling Tools

Page 3: Assessing  UML and Usability

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

Page 4: Assessing  UML and Usability

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

Page 5: Assessing  UML and Usability

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

Page 6: Assessing  UML and Usability

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

Page 7: Assessing  UML and Usability

Rational RoseRational Rose

Page 8: Assessing  UML and Usability

Rational RoseRational Rose

Page 9: Assessing  UML and Usability

Rational RoseRational Rose

Rose is complex, but follows MS Windows UI guidelines

Too many tabs make finding anything difficult

Page 10: Assessing  UML and Usability

Find utility is OK, but only searches on names.

New-Existing-Recent is a example of successful imitation.

Print dialog is overly complex.

Page 11: Assessing  UML and Usability

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)

Page 12: Assessing  UML and Usability

Together/JTogether/J

Page 13: Assessing  UML and Usability

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.

Page 14: Assessing  UML and Usability

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.

Page 15: Assessing  UML and Usability

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.

Page 16: Assessing  UML and Usability

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.

Page 17: Assessing  UML and Usability

ArgoUMLArgoUML

Page 18: Assessing  UML and Usability

ArgoUMLArgoUML

Table views are dense and aid in systematic scanning

Wizards provide problem-specific procedural guidance and automation

Page 19: Assessing  UML and Usability

ArgoUMLArgoUMLUnstructured graphical annotations can be semantic prompts that help link the design to requirements

Page 20: Assessing  UML and Usability

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

Page 21: Assessing  UML and Usability

ArgoUMLArgoUMLNavigational perspectives clarify key hierarchical relationships in the design

Many useful perspectives are predefined,but you can customize them by selecting child-generation rules

Page 22: Assessing  UML and Usability

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

Page 23: Assessing  UML and Usability

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

Page 24: Assessing  UML and Usability

Part 2: Part 2: Assessing a UML Assessing a UML ExtensionExtensionfor Modeling User for Modeling User InterfacesInterfaces

Page 25: Assessing  UML and Usability

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

Page 26: Assessing  UML and Usability

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

Page 27: Assessing  UML and Usability

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

Page 28: Assessing  UML and Usability

Use Case DiagramUse Case DiagramConstruct

Design

Designer

ReviewDesign

SearchDesign

Page 29: Assessing  UML and Usability

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

Page 30: Assessing  UML and Usability

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

Page 31: Assessing  UML and Usability

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

Page 32: Assessing  UML and Usability

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

Page 33: Assessing  UML and Usability

Concrete Layout of Find WindowConcrete Layout of Find Window

Page 34: Assessing  UML and Usability

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?)

Page 35: Assessing  UML and Usability

Thank youThank you

• Questions?Questions?