The Value of USAP in Software Architecture Design
description
Transcript of The Value of USAP in Software Architecture Design
![Page 1: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/1.jpg)
The Value of USAP in Software Architecture Design
Presentation by:
David Grizzanti
![Page 2: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/2.jpg)
Introduction
• Usability is an important quality attribute of interactive systems.
• Since the 1980’s, usability has been treated as a subset of user interface functionality.
• Since usability is not considered early in the design process, problems found in user testing are very costly.
![Page 3: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/3.jpg)
Introduction
• The authors research between usability and software architecture has lead to the development of Usability-Supporting Architectural Patterns (USAPs).
• Each of these address a usability concern not addressed by separation alone.
![Page 4: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/4.jpg)
Introduction
• Each USAP consists of:• An architecturally sensitive usability
scenario.• A list of general responsibilities derived
from forces inherent in the task and environment, human capabilities and desires, and software state.
• A sample solution implemented in a larger separation-based design pattern.
![Page 5: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/5.jpg)
Introduction
• In their paper, the authors described a controlled experiment design to assess the value of using USAP components in modifying a software architecture design.
• Participants were asked to redesign an existing architecture to allow for users to cancel a long-running command.
• This experiment measured whether the architectural solutions produced using all the USAP components was more beneficial than using only certain subsets.
![Page 6: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/6.jpg)
Experiment - Participants
• 18 computer science graduate students at Carnegie Mellon participated in the experiment.
• The 15 male and 3 female participants ranged in age from 23 to 30, and all had completed work for a master’s degree.
• Participants also reported spending an average of 22.9 hours per work programming.
![Page 7: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/7.jpg)
Experiment Design & Materials
• Participants were randomly assigned to one of 3 teams.
• Participants in each group received a different version of a “Training Document.”
• All received the same architecture redesign task.
![Page 8: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/8.jpg)
Groups
• Group 1 received:• A usability scenario describing user
circumstances.
• Group 2 received:• The usability scenario• A list of responsibilities to consider with a cancel
command.
• Group 3 received:• The usability scenario• List of responsibilities• Sample solution for adding cancellation function.
![Page 9: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/9.jpg)
Experiment
• The task given to participants was to redesign an existing architecture that did not support cancellation, to support cancellation.
• Chose the Plug-in Architecture for Mobile Devices (PAMD), developed by students at Carnegie Mellon.
• Developed for the Palm OS4.
![Page 10: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/10.jpg)
Experiment
• Task Instructions included 7 elements:• General description of PAMD architecture• Example PAMD scenario• List of responsibilities for PAMD operations• List of Component Interaction Steps detailing PAMD run-
time operation• A Component Interaction Diagram (Fig. 1)• A Sequence Diagram of PAMD of run-time component
interaction (Fig. 2)• Final page instructed participant to add the ability to cancel a
plug-in to the PAMD architecture design.
![Page 11: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/11.jpg)
Fig. 1
![Page 12: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/12.jpg)
Fig. 2
![Page 13: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/13.jpg)
Experiment
• Answer Paper was designed so participants could easily and efficiently record the information relevant to their design.
• Component diagrams were identical to those provided to the Task Instructions, except that run-time steps and assignments were removed.
• Participants were instructed to use the diagrams as a bases for their designs.
![Page 14: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/14.jpg)
Procedure
• Participants were randomly assigned to 3 groups and given unlimited time to complete their task.
• They were told that they were participating in a study about fixing one kind of usability problem in a specific software architecture design.
• Participants were then given the Training Document and after reading it, received the task instructions.
![Page 15: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/15.jpg)
Results
• The time to complete the redesign task ranged from 39 to 138 minutes.
• Participants given only the USAP scenario considered 2-4 cancellation responsibilities.
• Those who received both the USAP and list of 19 responsibilities considered 4-15.
• Participants who were given all 3, considered 5-15 cancellation responsibilities.
![Page 16: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/16.jpg)
Results - Overview
• Average for 3 groups:• 1st group considered an average of 3.17• 2nd group considered an average of 7.7• 3rd group considered an average of 9.5
• An analysis of variance between groups showed that the time on task had no significant effect on the number of cancellation responsibilities considered.
![Page 17: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/17.jpg)
Discussion
• Experiment showed a strong main effect of providing the full USAP on the number of responsibilities considered.
• Participants who received only the cancellation scenario considered, on average, a third of the responsibilities of the participants who received the full USAP.
• This indicates that the full USAP helped the participants in remembering which responsibilities to consider.
![Page 18: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/18.jpg)
Discussion
• The absence of a correlation between the time on task and performance showed no speed/accuracy tradeoff.
• However, administering the full USAP allowed participants to create a more complete solution in nearly the same amount of time.
• Though the group was small, factors such as self-reported experience or familiarity with technology did not interact with experiment conditions.
![Page 19: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/19.jpg)
Discussion
• For 15 of the 19 Cancellation Responsibilities (CRs), Chi-squared tests revealed no significant difference in training conditions, however the following was observed:• CR1, CR5, and CR10 were considered by the majority of
participants.• CR16 was not considered by a single participant.• CR4, CR13, CR17, and CR18 were considered very
differently between those who received the cancellation scenario only and those who received the full USAP.
![Page 20: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/20.jpg)
Conclusions
• Using a full USAP increased the number of responsibilities considered.
• Participants who used all 3 parts of the USAP were able to identify 3 times as many cancellation responsibilities, in the same amount of time and without having more work experience or formal training prior to the task.
![Page 21: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/21.jpg)
Conclusions
• Assumption in SE world that programmers know how to implement whatever requirements are given to them.
• Mostly true, however, not the case for usability.• Usability issues have seen to comprise more than
60% of requirements-related defects in some professional software projects.
• Usability heuristics for software design are not obvious and should be made more explicit to software designers as well as SE students.
![Page 22: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/22.jpg)
![Page 23: The Value of USAP in Software Architecture Design](https://reader036.fdocuments.in/reader036/viewer/2022062301/568145ae550346895db2ad21/html5/thumbnails/23.jpg)