Title: Software Architecture Assessment of Usability Eelke Folmer, Jan Bosch IPA lentedagen, Made.
1Software Architecture Assessment of Usability
Eelke Folmer, Jan BoschIPA lentedagen, Made.
2STATUS project
- European Research Project STATUS (Software
Architecture that supports Usability) - Duration 12/01-12/04
- Partners
- Technical University of Madrid (Spain)
- University of Groningen (Netherlands)
- Imperial College (England)
- IHG (Spain)
- LogicDIS (Greece)
3Overview of my presentation
- Introduction
- Relationship between usability SA
- SALUTA steps
- Case studies
- Research questions Future work
4Introduction
- Usability ? Software Quality
- Tradeoffs (Cost, Quality, Time)
- Practice ? Ensuring Usability is expensive
- Result ? systems with less than optimal usability
- need cost effectively engineer usable software
5What Causes these high costs?
- Majority of usability costs are spent during
maintenance. - Some requirements are detected late
- Requirements are often weakly specified.
- Requirements engineering techniques have only
limited ability to capture all req. - requirements change during development.
6Role of the SA
- Hard and expensive to change a running system to
Improve its usability - Causes
- The impact of software architecture on usability.
- The impact of usability on software architecture
design.
7Usability ? SA
Architectural assessment
Get rid of the hard to change
8SA ? Usability
- Usability depends on
- Information architecture
- Interaction architecture
- System quality attributes
SA design
9Investigating the relationship between Usability
and SA
- Need to know the solutions that are hard to
retrofit. - Investigate rel. SA usability
- Result SAU SA-Usability-Framework
- Elements
- Usability attributes
- Usability properties
- Architecture sensitive usability patterns
10Usability attributes
- Learnability
- Efficiency of use
- Reliability in use
- Satisfaction
- Attributes tell you how to
- measure usability!
11Usability Properties
- Based on heuristics/ design principles
- Likely have architectural implications
- Architecture sensitive usability Patterns can be
used to fulfill these properties - Some examples
- Error management
- Error prevention
- Error correction
- Consistency
- Visual consistency
- Functional consistency
- Properties tell you how to design for usability!
12Architecture sensitive usability patterns
- Consider patterns
- that should be addressed during architectural
design (architecture sensitive) - Patterns obtained from
- Existing (usability) pattern collections
- Inductive process from different practical cases
( systems developed by industrial partners in
STATUS project)
13Undo (1/2)
- Problem Users do actions they later want reverse
- Solution Maintain a list of user actions and
allow users to reverse selected actions. - Properties affected
- Error management providing the ability to
undo an action helps the user to correct errors
if the user makes a mistake. Explicit user
control allowing the user to undo actions helps
the user feel that they are in control of the
interaction.
14Undo (2/2)
- Architectural Implications record the sequence
of actions carried out by the user and the
system. - capture the entire state of the system after each
user action. - capture only relative changes.
- Implementation Most implementations of
multi-level undo are based on the COMMAND
pattern.
15Relationships in the SAU framework
16SALUTA steps
- SALUTA Scenario based Architecture Level
UsabiliTy Assessment - Describe required usability create usage
profile. - Describe provided usability analyze the software
architecture. - Evaluate scenarios determine the support for the
usage scenarios. - Interpret the results draw conclusions from the
analysis results.
171. Create usage profile 1/3
- Req. Rather weakly specified
- Traditional specification techniques Rather
metric/abstract - Solution Use scenario profiles!
- Scenarios express meaning of requirement
- More specific fine grained.
181.Create usage profile 2/3
- ISO 9241 usability depends on users, tasks,
contexts of use.
Req.
Efficiency reliability satisfaction
learnability
- learnability
- satisfaction
- reliability,
- efficiency,
191. Create usage profile 3/3
- Identify the users
- Identify the tasks
- Identify contexts of use
- Determine attribute values
- Scenario Selection weighing
202. Analyze architecture
framework
Software architecture
Design decisions
213. Evaluate scenarios
Usability patterns
Usability patterns
-
User Modes
-
User Modes
-
Undo
-
Undo
-
Multiple views
-
Multiple views
Usability properties
Usability properties
-
Consistency
-
Consistency
-
Provide feedback
-
Provide feedback
-
Guidance
-
Guidance
Software architecture
-
Error prevention
-
Error prevention
framework
framework
224.Interpret results
- Interpretation
- Goal of the analysis
- Selection
- Design/ use results of the assessment.
- Requirements
23Case studies
24Case study
Web-platform analysis
- CMS for managing WebPages within the university
of Groningen. - Allows creating, editing managing and publish a
variety of content (text, graphics, video etc). - Consists of 200000 different web pages 15.000
users - Usability an explicit design goal
25Inputs to the analysis
- Usage profile creation ? functional requirements
specification - Architecture analysis ? software architecture
description - Interviews with usability engineer software
architect
Web-platform analysis
26Selected users tasks
27Create APT table 1/2
Web-platform analysis
Navigating should be intuitive and self
explanatory
Always let the user know where he is
Students are not familiar with the system
28Create APT table 2/2
Web-platform analysis
29Architecture description
Web-platform analysis
History logging
Multi channeling
User profiles
30Architecture description 1/2
Web-platform analysis
31Architecture description 2/2
Web-platform analysis
32Scenario evaluation
Web-platform analysis
Visual consistency
System feedback
Multipleviews
Contextsensitive help
Visual consistency
33Interpretation
SA provides sufficient support
34Validation / research questions
- Usage profile representative?
- Webplatform Usability tests
- No SA related usability issues were discovered
(yet) - usability tests show learnability for content
admins is not supported very well (cannot be
traced back to insufficient support of the SA)
35SALUTA experiences
- 1. Usage profile creation
- Difficult to transform requirements to scenarios
- Specification of certain quality attributes is
difficult during initial design - Cost benefit tradeoffs
- Representativeness of the usage profile
- 2. Architecture analysis
- Non-explicit nature of architecture design
- Validation of the SAU framework
- Qualitative nature of SAU framework
36SALUTA experiences
- 3. Scenario evaluation
- Evaluation is guided by tacit knowledge
- 4. Interpretation
- Initially Lacked a frame of reference
37General experiences
- Lack of integration of SE and HCI processes
- Technology driven design
- Impact of software architecture design on
usability - Accuracy of the analysis is unclear
- Design rather than evaluate
38Future work
- Tool support for Usage profile creation
scenario evaluation - Reworking the set of patterns provide specific
implementation details - Specialization of framework to particular domains
extension to other qualities (usability,
security safety) - Future case studies
- Expand our frame of reference
- Measure decrease in usability related maintenance
costs
39Concluding
- Main benefits of using SALUTA
- Be able to predict the SA support of usability
(which could not be done before) - Allow for more usability tuning
- Save on maintenance costs.
- Systems with higher usability.
40The last slide!
- Questions???
- More on www.designforquality.com