The Value of USAP in Software Architecture Design Presentation by: David Grizzanti.

Slides:



Advertisements
Similar presentations
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Advertisements

Analysis of Variance The contents in this chapter are from Chapter 15 and Chapter 16 of the textbook. One-Way Analysis of Variance Multiple Comparisons.
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Web E’s goal is for you to understand how to create an initial interaction design and how to evaluate that design by studying a sample. Web F’s goal is.
 The Rise of Computer Science ◦ Machine Language (1 st Gen) ◦ Assembly Language (2 nd Gen) ◦ Third Generation Languages (FORTRAN, BASIC, Java, C++, etc.)
Instructor: Tasneem Darwish
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
The Architecture Design Process
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
SE 555 Software Requirements & Specification Requirements Validation.
Term Project User Interface Specifications in a Usability Engineering Course: Challenges and Suggestions Laura Leventhal Julie Barnes Joe Chao Bowling.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Christopher Dougherty EC220 - Introduction to econometrics (chapter 3) Slideshow: prediction Original citation: Dougherty, C. (2012) EC220 - Introduction.
Software Architecture for DSD The “Uses” Relation.
Active Design Reviews Doug Paida Roy Mammen Sharan Mudgal Jerry Cheng.
Software Architecture in Practice (3rd Ed) Introduction
Presenter: Shant Mandossian EFFECTIVE TESTING OF HEALTHCARE SIMULATION SOFTWARE.
Evaluation IMD07101: Introduction to Human Computer Interaction Brian Davison 2010/11.
Exam examples Tor Stålhane. The A scenario – 1 We are working in a small software development company – 10 developers plus two persons in administrative.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
Evaluation of Safety Critical Software -- David L. Parnas, -- A. John van Schouwen, -- Shu Po Kwan -- June 1990 Presented By Zhuojing Li.
N By: Md Rezaul Huda Reza n
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
COMP 354 Software Engineering I Section BB Summer 2009 Dr Greg Butler
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
By: TARUN MEHROTRA 12MCMB11.  More time is spent maintaining existing software than in developing new code.  Resources in M=3*(Resources in D)  Metrics.
Software Architecture in Practice Architectural description (The reduced version)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Product Design Finalization; Inspections.
Selecting and Recruiting Subjects One Independent Variable: Two Group Designs Two Independent Groups Two Matched Groups Multiple Groups.
New Advanced Higher Subject Implementation Events Computing Science Advanced Higher Course Assessment.
Lecture 7: Requirements Engineering
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
 Three-Schema Architecture Three-Schema Architecture  Internal Level Internal Level  Conceptual Level Conceptual Level  External Level External Level.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
Module 3 Configuring File Access and Printers on Windows 7 Clients.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Towards Common Standards for Studies of Software Engineering Tools and Tool Features Timothy C. Lethbridge University of Ottawa.
Project quality management. Introduction Project quality management includes the process required to ensure that the project satisfies the needs for which.
I can be You: Questioning the use of Keystroke Dynamics as Biometrics —Paper by Tey Chee Meng, Payas Gupta, Debin Gao Presented by: Kai Li Department of.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Chapter 3 Collections. Objectives  Define the concepts and terminology related to collections  Explore the basic structures of the Java Collections.
Usability Evaluation of the Course Management Features of Sakai Jonathan Howarth Rex Hartson Aaron Zeckoski
CSE 303 – Software Design and Architecture
Copyright © 2006 – Brad A. Myers Answering Why and Why Not Questions in User Interfaces Brad Myers, David A. Weitzman, Andrew J. Ko, and Duen Horng (“Polo”)
CIS 4910 Information Systems Development Project Project Documentation.
Software Requirements Specification Document (SRS)
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Today’s Lesson….. 1.Formative Assessment Given Back – Go through Answers. 2.Webpage Design.
Usability Engineering Dr. Dania Bilal IS 587 Fall 2007.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
PS Research Methods I with Kimberly Maring Unit 9 – Experimental Research Chapter 6 of our text: Zechmeister, J. S., Zechmeister, E. B., & Shaughnessy,
GCE Software Systems Development A2 Agreement Trial Implementing Solutions October 2015.
Architectural Design Copyright © 2016 – Curt Hill
Software Quality Control and Quality Assurance: Introduction
CS4311 Spring 2011 Process Improvement Dr
COTS testing Tor Stålhane.
COTS testing Tor Stålhane.
Unit# 9: Computer Program Development
Objective of This Course
CS 615 – Final Presentation The Personal Advisor Team
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Interaction Modeling Extracted from textbook:
U3L1 The Need For Programming
Project Closure And Termination
Presentation transcript:

The Value of USAP in Software Architecture Design Presentation by: David Grizzanti

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.

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.

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.

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.

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.

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.

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.

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.

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.

Fig. 1

Fig. 2

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.

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.

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 Participants who were given all 3, considered 5-15 cancellation responsibilities.

Results - Overview Average for 3 groups: 1st group considered an average of nd 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.

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.

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.

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.

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.

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.