END USER SOFTWARE ENGINEERING Presented By Dinesh Amarneni Vipin Deshmukh.

Slides:



Advertisements
Similar presentations
Debugging in End- User Software Engineering summarized by Andrew Ko Toward Sharing Reasoning to Improve Fault Localization in Spreadsheets Joey Lawrance,
Advertisements

Chapter 5 Development and Evolution of User Interface
Foundations and Strategies Attention Investment CS352.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Patterns in Game Design Chapter 9: Game Design Patterns for Narrative Structures, Predictability, and Immersion Patterns CT60A7000 Critical Thinking and.
Stepan Potiyenko ISS Sr.SW Developer.
Carving up the Space of End User Programming EUSES, Lincoln, NE, Oct ‘05.
Software Quality Engineering Roadmap
SECURITY CONSIDERATIONS FOR COMPUTER PERSONNEL Tom Richards, Steve Guynes and Wayne Spence April 12, 2010.
Empirically Assessing End User Software Engineering Techniques Gregg Rothermel Department of Computer Science and Engineering University of Nebraska --
© 2003 Turoff 1 The Nature of Information Systems and Employment in IS Murray Turoff Information Systems Department.
Writing Good Software Engineering Research Papers A Paper by Mary Shaw In Proceedings of the 25th International Conference on Software Engineering (ICSE),
Toped: Enabling End-User Programmers to Validate Data Chris Scaffidi, Brad Myers, Mary Shaw, Carnegie Mellon University, School of Computer Science,
Beyond EUP to EUSE Mary Shaw Carnegie Mellon University.
WEUSE I: Paradigms and Techniques Margaret Burnett Oregon State University Project Director, EUSES Consortium.
Computational Thinking Related Efforts. CS Principles – Big Ideas  Computing is a creative human activity that engenders innovation and promotes exploration.
Y. Rong June 2008 Modified in Feb  Industrial leaders  Initiation of a project (any project)  Innovative way to do: NABC ◦ Need analysis ◦ Approach.
Introduction to Systems Analysis and Design Trisha Cummings.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Motivational Processes Affecting Learning
Study of Human factors in Software Engineering CSC 532 Sree Harsha Pothireddy.
ITEC224 Database Programming
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Risk Management for Technology Projects Geography 463 : GIS Workshop May
Feasibility Study.
Software Engineering Lecture # 17
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Requirements Engineering: What, Why, Who, When, and How
Review Empirical evaluations – Usability testing – Think-aloud studies – Statistical studies.
Elements of Effective Behavior Based Safety Programs
© Mujtaba, 2007 Workforce Diversity Management Dr. Bahaudin G. Mujtaba.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Systems Development Lifecycle Analysis. Learning Objectives List the nine stages of the system life cycle Explain the system life cycle as an iterative.
Lecture 1 The University of Lahore Software Engineering Saeed Akhtar
Software Engineering, COMP201 Slide 1 Introduction to software engineering Lecture 1.
Fueloil Information Systems Standards and and Evaluation methods Prof. Dr. Mohamed Elazab
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
CSE 331 Software Design & Implementation Hal Perkins Autumn 2012 Wrapup 1.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Introduction The design, development and maintenance of concurrent software are difficult tasks. Truly effective support methodologies have yet to be developed.
SOFTWARE PROCESS IMPROVEMENT SHARATH CHANDAR REDDY ALETI CSC 532 TERM PAPER.
Writing to Teach - Tutorials Chapter 2. Writing to Teach - Tutorials The purpose of a tutorial is to accommodate information to the needs of the user.
Motivation LET II. Purpose Leaders spend a great deal of time and effort studying the technical aspects of their jobs. However, in order to lead effectively,
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
HO CHI MINH CITY NATIONAL UNIVERSITY HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY SYSTEM ANALYSIS AND DESIGN LECTURER: Nguyen Thanh Tung.
MANAGEMENT INFORMATION SYSTEM
2014 Empowering the People (ACM SigCHI) Margaret Burnett Oregon State University October 2014 #GHC
A Method for Improving Code Reuse System Prasanthi.S.
HRM-755 PERFORMANCE MANAGEMENT OSMAN BIN SAIF LECTURE: TWENTY THREE 1.
Analyze Wrap Up and Action Items
End User Development for the Non-Programmer
Natalija Budinski Primary and secondary school “Petro Kuzmjak” Serbia
Cowlitz County, WA Accounting Function Review
The impact of human-centric design on the adoption of information systems: A case study of the spreadsheet Christopher Scaffidi Center for Applied Systems.
SEVERITY & PRIORITY RELATIONSHIP
Risk Management for Technology Projects
The Systems Engineering Context
Complexity Time: 2 Hours.
Where is Your Organization on the Accessibility Maturity Scale
Results of the Organizational Performance
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Requirements Engineering Introduction
Sabine Wollscheid, Senior Researcher, Dr. phil.
CS385T Software Engineering Dr.Doaa Sami
SOFTWARE ENGINEERING CS-5337: Introduction
Presentation transcript:

END USER SOFTWARE ENGINEERING Presented By Dinesh Amarneni Vipin Deshmukh

Agenda Introduction End User Software Engineering(EUSE) and its goals EUSE in contrast with Software Engineering Motivating end users to use EUSE Gender concerns for end users Conclusion References

The story begins with end user programming “End-user programming enables end users to create their own programs. Researchers and developers have been working on empowering end users to do this for a number of years - and they have succeeded. Today, millions of end users create numerous programs…”

Definitions Programming: Transforming a mental plan of desired actions for a computer into representation. Professional Programmer: Primary job, to write or maintain software. End-User Programmer: – Write programs in support of achieving their main goal. – Teachers, Business Analysts, Accountants, etc.

Who are these End User programmers? A large number of computer users that use spreadsheets like programs for day to day tasks. Designers: They build 3D models using drawing tools like Google Sketchup. Data Analysts: Analyze large volumes of data. Business Analysts: They model workflows for solving business problems. Financial Analysts: They build models and write coding tools like MATLAB.

Figure 1. They model workflows for solving business problems.

Why do End Users have problems? End User programming deals with ‘create’ phase of software development and lack the quality controls of other phases defined by Software Engineering. Why should we solve them? Because end users population is huge and offers opportunities to make a big impact.

90 million computer users at work in US 55 million will use spreadsheets or databases at work (and therefore may potentially program) 13 million will describe themselves as programmers 3 million professional programmers Figure 2. Estimates the number of people who uses computer at work [6].

End-User Software Engineering Focuses on how to support the entire software lifecycle as opposed to the ‘create’ phase of EUP End-user programming that involves systematic and disciplined activities that address software quality issues. But these activities are secondary to the goal the program is helping to achieve. Software Engineering HCI and Psychology Education

Goals of End-User Software Engineering Reduce errors in end-user programs by providing supporting activities, such as: – Design and composition of systems from elements – Support for Evolution, development, maintenance – Deliberate process for creating software – Expressiveness and understandability – Sufficient dependability for current need – Concern for system properties – usability, dependability, security, privacy

EUSE in contrast with Software Engineering End users don’t follow the standard, well established processes defined by Software Engineering principals. Their approach to development can be best characterized as unplanned, implicit, and opportunistic, primarily due to the priorities and intents of the programmer. Software Engineering Activity Professional SEEnd-User SE RequirementsExplicitImplicit SpecificationsExplicitImplicit ReusePlannedUnplanned Testing and VerificationCautiousOverconfident DebuggingSystematicOpportunistic

Requirements : – No requirement gathering phase. – Requirements often become clear in the process of implementation. – Also often derived from informal channels. EUSE vs SE

Design : – No training in design. – Most of the end user design studies are directed towards improving the quality of XL sheets. – Other design related work. EUSE vs SE

Testing and Verification : – Some end user programmers tend to notoriously overconfident, and despite high error rates such uses are highly confident about the correctness of their spreadsheets. – Without feedback about correctness leads to higher over confidence. EUSE vs SE

WYSIWYT: What You See Is What You Test Figure 3. The WYSIWYT testing approach [2]. EUSE vs SE Checkmarks represent decisions about correct values Empty boxes indicate that a value has not been validated Question mark indicates that validation the cell would increase the cells ‘testedness’

TOPES: Providing a usable mechanism for spreadsheet validation. EUSE vs SE Figure 4. Topes Implementation in Spreadsheets.

Figure 5. The Toped++ pattern editor [5].

Motivating End Users to use EUSE “Attention Investment model” – Models how users make decisions about what kinds of features users should have in their software. Costs: learning time & actual programming time – Time away from the “real work” Benefits: future savings if task done again. But users need to incur costs to gain the benefits. Risks: won’t work & be a waste of time “Surprise-Explain-Reward” – Surprise: Make users curious by showing the presence of an information gap. – Explain: Let the users seek explanation – Rewards: Make benefits of taking those actions clear early.

Gender Concerns for End Users There are significant gender differences in strategies for approaching testing and debugging Some of the strategies preferred by females are not well supported in end-user environments Modeling of problem solving behavior may improve females’ confidence, and therefore their performance on tasks Gender matters

Conclusions End User Software Engineering is an emerging field and seems to have a great potential to positively affect the lives of millions of end users. Some great work has been done by researchers for users using spreadsheets and similar software. However, there are other open areas that need further exploration. There continues to be a process tension between: – “opportunism” as shown by end users, and – “systematic process” as defined by Software Engineering

References [1] Burnett, M., Bogart, C., Cao, J., Grigoreanu, V., Kulesza, T., Lawrance, J., End-User Software Engineering and Distributed Cognition. Proceedings of SEEUP’09(May2009, Vancouver, Canada), 1-7. [2] Burnett, M., Cook, C., Rothermel, G., End-User Software Engineering, 47, 9(September 2004), [3] Burnett, M., Myers, B., Rosson, M., Wiedenbeck, S., The Next Step: From End-User Programming to End-User Software Engineering. Proceedings of CHI’06(April 2006, Montreal Quebec, Canada), [4] Burnett, M., Wiedenbeck, S., Grigoreanu, V., Subrahmaniyam, N., Beckwith, L., Kissinger, C., Gender in End- User Software Engineering. Proceedings of WEUSE’08(May 2008, Leipzig, Germany),

[5] Ko, A., Abraham, R., Beckwith, L., Blackwell, A., Burnett, M., Erwig, M., Scaffidi, C., Lawrance, J., Lieberman, H., Myers, B., Rosson, M., Rothermel, G., Shaw, M., Wiedenbeck, Susan., The State of the Art in End-User Software Engineering, 43,3(April 2011, New York, USA). [6] Myers, B., Burnett, M., Ko, A., Rosson, Mary., Scaffidi, C., Wiedenbeck, S., End-User Software Engineering. Proceedings of CHI’10(April 2010, Atlanta, Georgia, USA),

THANK YOU