Assessing UML and Usability Jason E Robbins jrobbinsics
Assessing UML and Usability Jason E. Robbins jrobbins@ics. uci. edu Information and Computer Science University of California, Irvine
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 – Ease of remembering – Efficiency in use – Reliability in use – User satisfaction
Why 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
How to Assess Usability • Adherence to UI guidelines and heuristics • Consider the match between the task and the tool’s 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
CASE Tools Examined • Rational Rose 98 i: 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 • Argo. UML v 0. 7: www. argouml. com – Research project on usability and cognitive support in CASE tools, free, open-source
Rational Rose
Rational Rose
Rational Rose Too many tabs make finding anything difficult Rose is complex, but follows MS Windows UI guidelines
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 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 98 i fixes some of the most offensive usability problems of earlier versions (e. g. , not being able to resize the property dialog)
Together/J
Together/J 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. 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. Some screenshots were taken from a presentation describing Together/J from Object International. It can be downloaded from www. togetherj. com.
Together/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.
Comments on Together/J • Simpler than Rose. Avoids Rose’s 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.
Argo. UML
Argo. UML Wizards provide problem-specific procedural guidance and automation Table views are dense and aid in systematic scanning
Argo. UML Unstructured graphical annotations can be semantic prompts that help link the design to requirements
Argo. UML The broom alignment tool uses directmanipulation 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
Argo. UML Navigational 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 Argo. UML • Argo. UML 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
Final 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
Part 2: Assessing a UML Extension for Modeling User Interfaces
How Do You Design UI’s Now? • Good: – Gain real insight into the user’s tasks and background – Build and review UI models and prototypes • OK: – Implement prototype with a GUI builder, focus on layout – Imitate successful or familiar UI’s and follow guidelines • Bad: – Focus on system implementation and leave the UI for last – Assume that you are the user
What is Usage-Centered Design? • “Software for Use” by Larry Constantine and Lucy Lockwood • Focuses on improving the match between the user’s task and the tool’s 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
Example: Modeling Argo. UML’s Search Utility • Use case diagram • One use case in detail • Interaction contexts for use case • IC navigation map • Abstract window layout for one IC
Use Case Diagram Construct Design Review Designer Search Design
One Use Case in detail: Search Design User Intention Request search Enter search criteria Start search Review results System Responsibility Show search criteria fields Perform search, display results [continue until done] Examine specific result Display details of selected result and related results, show result in context of diagram
Interaction Contexts for Search Design • Find Window – Search criteria fields: allows designer to enter regex’s 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
Interaction Context Navigation Map Main Window Code Gen Window Generate | All Classes Generate | Selected Class Editor. Pane View | Find Window As Diagram Config Nav. Pane Window As Table To. Do. Pane Nav. Pane Config button Perspectives Panes
Abstract Layout of 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)
Concrete Layout of Find Window
Final Comments on Usage-Centered Design • Considering the user’s task from the start is a good way to build more useful UI’s • 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 (Argo. UCD? )
Thank you • Questions?
- Slides: 35