Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

A web-centred approach to end-user software engineering

Published: 22 October 2013 Publication History

Abstract

This article addresses one of the major end-user software engineering (EUSE) challenges, namely, how to motivate end users to apply unfamiliar software engineering techniques and activities to achieve their goal: translate requirements into software that meets their needs. EUSE activities are secondary to the goal that the program is helping to achieve and end-user programming is opportunistic. The challenge is then to find ways to incorporate EUSE activities into the existing workflow without users having to make substantial changes to the type of work they do or their priorities. In this article, we set out an approach to EUSE for web-based applications. We also propose a software lifecycle that is consistent with the conditions and priorities of end users without programming skills and is well-aligned with EUSE's characteristic informality, ambiguity and opportunisticness. Users applying this lifecycle manage to find solutions that they would otherwise be unable to identify. They also develop quality products. Users of this approach will not have to be acquainted with software engineering, as a framework will take them through the web-centred EUSE lifecycle step-by-step. We also report a statistical experiment in which users develop web software with and without a framework to guide them through the lifecycle. Its aim is to validate the applicability of our framework-driven lifecycle.

References

[1]
4Caast Project. 2012. Official web site. http://4caast.morfeo-project.org.
[2]
Amico. 2012. AMICO web platform. http://amico.sourceforge.net.
[3]
Andalusia's Regional Government. 2011. Official web site. http://www.juntadeandalucia.es/index.html.
[4]
Beck, K. 2000. Extreme Programming Explained: Embrace Change. Addison-Wesley Longman Publishing Co., Inc. Boston, MA.
[5]
Blackwell, A. F. 2002. First steps in programming: A rationale for attention investment models. In Proceedings of the IEEE Symposia on Human-Centric Computing Languages and Environments.
[6]
Bolin, M., Webber, M., Rha, P., Wilson, T., and Miller, R. 2005. Automation and customization of rendered web pages. In Proceedings of the ACM Symposium on User Interface Software and Technology. 163--172.
[7]
Brandt, J., Guo, P., Lewenstein, J., and Klemmer, S. R. 2008. Opportunistic programming: How rapid ideation and prototyping occur in practice. In Proceedings of the Workshop on End-User Software Engineering (WEUSE).
[8]
Burnett, M., Cook, C., and Rothermel, G. 2004. End-user software engineering. Comm. ACM, 47, 9, 53--58.
[9]
Burnett, M., Cook, C., Pendse, O., Rothermel, G., Summet, J., and Wallace, C. 2003. End-user software engineering with assertions in the spreadsheet paradigm. In Proceedings of the 25th International Conference on Software Engineering. IEEE Computer Society, pp. 93--103.
[10]
Burnett, M., Sheretov, A., Ren, B., and Rothermel, G. 2002. Testing homogeneous spreadsheet grids with the “What You See Is What You Test” methodology. IEEE Trans. Softw. Eng. 28, 6, 576--594.
[11]
Chambers, C. and Erwig, M. 2009. Automatic detection of dimension errors in spreadsheets. J. Vis. Lang. Comput. 20, 4, 2009.
[12]
Clermont, M. 2003. Analyzing large spreadsheetprograms.In Proceedings of the 10th Working Conference on Reverse Engineering. 306--315.
[13]
Costabile, M. F., Fogli, D., Mussio, P., and Piccinno, A. 2006. End-user development: The software shaping workshop approach. In End User Development, H. Lieberman, F. Paternò, and V. Wulf, Eds., Springer, 183--205.
[14]
Davis, J. S. 1996. Tools for spreadsheet auditing. Int. J. Hum.-Comput. Stud. 45, 429--442.
[15]
Diethelm, I., Geiger, L., Zündorf, A. 2005. Applying story driven modeling to the Paderborn shuttle system case study. In Scenarios: Models, Transformations and Tools, S. Leue and T. J. Systä, Eds., Lecture Notes in Computer Science, vol. 3466, Springer, Berlin, 109--133.
[16]
Dittrich, Y., Lindeberg, O., and Lundberg, L. 2006. End-user development as adaptive maintenance. In End User Development, H. Lieberman, F. Paternò, and V. Wulf, Eds., Springer, 295--313.
[17]
Ezweb. 2012. EzWeb web platform. http://ezweb.morfeo-project.org/.
[18]
Ezweb Project. 2011. Official demo web site. http://demo.ezweb.morfeo-project.org.
[19]
Fast Project. 2011. Official demo web site. http://demo.fast.morfeo-project.org.
[20]
Fischer, G. and Giaccardi, E. 2006. Meta-design: A framework for the future of end user development. In End User Development Empowering People to Flexibly Employ Advanced Information and Communication Technology, H. Lieberman, F. Paternò, and V. Wulf, Eds., Kluwer Academic Publishers, 427--457.
[21]
Fi-Ware Project. 2012. Official web site. http://www.fi-ware.eu.
[22]
Fi-Ware Ppp Office. 2012. Official web site. http://www.future-internet.eu/home/future-internet-ppp.html.
[23]
Gaedke, M. 2008. Web engineering: Creating solutions in the age of emotion, SOA, and Web 2.0. In Proceedings of the 17th International World Wide Web Conference, (Tutorial).
[24]
Galletta, D. F., Hartzel, K. S., Johnson, S. E., Joseph, J. L., and Rustagi, S. 1996. Spreadsheet presentation and error detection: An experimental study. J. Manage. Inf. Syst. (Special issue: Information technology and its organizational impact) 13, 3, 45--63.
[25]
Ghezzi, C., Jazayeri, M., and Mandrioli, D. 2002. Fundamentals of Software Engineering. Prentice-Hall.
[26]
Google. 2012. iGoogle web platform. http://www.google.com/ig.
[27]
Green, T. R. G., Blandford, A., Church, L., Roast, C., and Clarke, S. 2006. Cognitive Dimensions: Achievements, new directions, and open questions. J. Vis. Lang. Comput. 17, 4, 328--365.
[28]
Gulley, N. 2006. Improving the quality of contributed software on the MATLAB file exchange. In Proceedings of the 2nd Workshop on End-User Software Engineering, in Conjunction with the ACM Conference on Human Factors in Computing.
[29]
Heineman, G. T. and Councill W. T. 2001. Component-based software engineering: Putting the pieces together. ACM Press.
[30]
Henderson, A. and Kyng, M. 1991. There's no place like home: Continuing design in use. In Design At Work, J. Greenbaum and M. Kyng, Eds., Hillsdale, N. J. Lawrence Erlbaum Associates, Publishers, 219--240.
[31]
Holzinger, A. 2005. Usability engineering methods for software developers. Comm. ACM 48, 1, 71--74.
[32]
Hoyer, V., Fuchsloch, A., Kramer, S., Moller, K., and López, J. 2010. Evaluation of the FAST implementation. Tech. rep. D6.4.1, FAST Consortium. https://files.morfeo-project.org/fast/public/M24/D6.4.1_ScenarioEvaluation_M24_Final.pdf.
[33]
Igarashi, T., Mackinlay, J. D., Chang, B.-W., and Zellweger, P. T. 1998. Fluid visualization of spreadsheet structures. In Proceedings of the IEEE Symposium on Visual Languages, pp. 118--125.
[34]
Jackbe. 2012. JackBe Presto Cloud web platform. http://prestocloud.jackbe.com/.
[35]
Jacobson, I., Booch, G., and Rumbaugh, J. 1999. The Unified Modeling Language User Guide. Addison Wesley Longman Publishing Co., Inc., Redwood City, CA,
[36]
Janner, T., Siebeck, R., Schroth, C., and Hoyer, V. 2009. Patterns for enterprise mashups in B2B collaborations to foster lightweight composition and end user development. In Proceedings of the IEEE 7th International Conference on Web Services, pp. 976--983.
[37]
Kapow Software. 2012. OpenKapow and Kapow Katalyst web platform. www.kapowsoftware.com.
[38]
Kay, A. C. 1977. Microelectronics and the personal computer. Scientific Amer. 231--244.
[39]
Kelleher, C. and Pausch, R. 2005. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. J. ACM Comput. Surv. 37, 2, 83--137.
[40]
Ko, A. J. and Myers, B. A. 2004. Designing the Whyline: A debugging interface for asking questions about program failures. In Proceedings of the ACM Conference on Human Factors in Computing Systems, pp. 151--158
[41]
Ko, A. J., Abraham, R., Beckwith, L., Blackwell, A., Burnett, M., Erwig, M., Scaffidi, C., Lawrance, J., Lieberman, H., Myers, B., Rosson, M. B., Rothermel, G., Shaw, M., and Wiedenbeck, S. 2011. The state of the art in end-user software engineering. J. ACM Comput. Surv. 43, 3, Article 21.
[42]
Ko, A. J., Abraham, R., Burnett, M., and Myers, B. A. 2009. Guest Editors' Introduction: End-User Software Engineering. IEEE Softw. 26, 5, 16--17.
[43]
Lieberman, H., Paterno, F., and Wulf, V. 2006. End-User Development. Kluwer/Springer Academic Publishers, Dordrecht, The Netherlands.
[44]
Lin, J. and Landay, J. A. 2008. Employing patterns and layers for early-stage design and prototyping of cross device user interfaces. In Proceedings of the ACM Conference on Human Factors in Computing Systems, 1313--1322.
[45]
Little, G., Lau, T. A., Cypher, A., Lin, J., Haber, E. M., and Kandogan, E. 2007. Koala: Capture, share, automate, personalize business processes on the web. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'07). 943--946.
[46]
Lizcano, D. 2012. Description of the development process enacted by surveyed users. Tech. rep. http://apolo.ls.fi.upm.es/eud/solution_development_method.pdf.
[47]
Lizcano, D., Alonso, F., Soriano, J., and Lopez, G. 2011a. A new end-user composition model to empower knowledge workers to develop rich internet applications. J. Web Eng. 3, 10, 197--233.
[48]
Lizcano, D., Alonso, F., Soriano, J., and Lopez, G. 2011b. End-user development success factors and their application to composite web development environments. In Proceedings of the 6th International Conference on Systems, (ICONS'11), 99--108.
[49]
Macías, J. A. and Paternò, F. 2008. Customization of web applications through an intelligent environment exploiting logical interface descriptions. Interact. Comput. 20, 1, 29--47.
[50]
Mackay, W. E. 1990. Patterns of sharing customizable software. In Proceedings of the ACM Conference on Computer-Supported Cooperative Work. 209--221.
[51]
Marmite. 2012. Marmite web platform. http://www.cs.cmu.edu/∼jasonh/projects/marmite/.
[52]
Mcdaniel, R. and Myers, B. 1999. Getting more out of programming-by-demonstration. In Proceedings of the ACM Conference on Human Factors in Computing Systems. 442--449.
[53]
Mcilroy, M. D. 1968. Mass produced software components. Software Engineering—NATO Science Committee Report. P. Naur and B. Randell, Eds., 138--155.
[54]
Microsoft. 2012. Microsoft Popfly web platform. http://www.popfly.com.
[55]
Mørch, A. and Mehandjiev, N. D. 2000. Tailoring as collaboration: The mediating role of multiple representations and application units. Comput. Support. Cooperative Work 9, 1, 75--100.
[56]
Mørch, A. I., Stevens, G., Won, M., Klann, M., Dittrich, Y., and Wulf, V. 2004. Component-based technologies for end-user development. Commu. ACM 47, 9. 59--62.
[57]
Murugesan, S., Deshpande, Y., Hansen, S., Ginige, A., and Murugesan, S. 2001. Web engineering: A new discipline for development of web-based systems web engineering. Lecture Notes in Computer Science, Eds., Springer Berlin.
[58]
Myers, B. A., Burnett, M., Rosson, M. B., Ko, A. J., and Blackwell, A. 2008. End user software engineering. In Proceedings of CHI Special Interest Group Meeting and in Extended Abstracts on Human Factors in Computing Systems, ACM, New York, 2371--2374.
[59]
Nardi, B. A. 1993. A Small Matter of Programming - Perspectives on End User Programming. The MIT Press, Cambridge, MA.
[60]
Netvibes. 2012. Netvibes web platform, 2012. http://www.netvibes.com.
[61]
Newman, M. W., Lin, J., Hong, J. I., and Landay, J. A. 2003. DENIM: An informal web site design tool inspired by observations of practice. Human-Comput. Interact. 18, 3, 259--324
[62]
Nichols, J. and Lau, T. 2008. Mobilization by demonstration: Using traces to re-author existing web sites. In Proceedings of the 13th Symposium on Intelligent User Interfaces, 149--158.
[63]
Ning, J. Q. 1997. Component-based software engineering (CBSE). In Proceedings of the 5th International Symposium on Assessment of Software Tools and Technologies, 34--42.
[64]
Obrenovic, Z. and Gasevic, D. 2009. Mashing up oil and water: Combining heterogeneous services for diverse users. IEEE Internet Comput. 13, 6, 56--64.
[65]
Ostrowski, K. and Birman, K. 2010. Storing and accessing live mashup content in the cloud. In Proceedings of the 3rd ACM International Workshop on Large Scale Distributed Systems and Middleware, 7--11.
[66]
Panko, R. 1995. Finding spreadsheet errors: Most spreadsheet models have design flaws that may lead to long-term miscalculation. Information Week, (5/95), 100.
[67]
Programmable Web. 2012. Programmable Web social portal. http://www.programmableweb.com.
[68]
Rode, J., Bhardwaj, Y., Perez-Quinones, M. A., Rosson, M. B., and Howarth, J. 2005. As easy as “Click”: End-user web engineering. In Proceedings of the International Conference on Web Engineering. 478--488.
[69]
Rosson, M. B., Ballin, J., and Rode, J. 2005. Who, what, and how: A survey of informal and professional web developers. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, 199--206.
[70]
Rothermel, G., Burnett, M., Li, L., Dupuis, C., and Sheretov, A. 2001. A methodology for testing spreadsheets. J. ACM Trans. Softw. Eng. Methodol. 10, 1, 110--147.
[71]
Scaffidi, C., Shaw, M., and Myers, B. 2005. The “55M End User Programmers” estimate revisited. Tech. rep. CMU-ISRI-05-100, Carnegie Mellon University.
[72]
Segal, J. 2007. Some problems of professional end user developers. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, 111--118.
[73]
Stiemerling, O. 2000. Component-based tailorability. Ph.D. thesis (unpublished). University of Bonn, Germany.
[74]
Stiemerling, O. and Cremers, A. B. 2000. The evolve project: Component-based tailorability for CSCW applications. Artif. Intell. Soci. J. 14, 120--141.
[75]
Sutcliffe, A. and Mehandjiev, N. 2004. End-user development: tools that empower users to create their own software solutions. Comm. ACM 47, 9, 31--32.
[76]
Szyperski, C. 1998. Component Software -- Beyond object-oriented programming. Addison-Wesley, Reading, MA.
[77]
Tejo-Alonso, C., Fernandez, S., Berrueta, D., Polo, L., Fernandez, M. J., and Morlan, V. 2010. EZaragoza, a tourist promotional mashup. Tech. rep. http://idi.fundacionctic.org/eZaragoza/ezaragoza.pdf.
[78]
Toomim, M., Drucker, S. M., Dontcheva, M., Rahimi, A., Thomson, B., and Landay, J. A. 2009. Attaching UI enhancements to websites with end users. In Proceedings of the 27th ACM Conference on Human Factors in Computing Systems, 1859--1868.
[79]
Wiedenbeck, S. 2005. Facilitators and inhibitors of end-user development by teachers in a school environment. In Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing, 215--222.
[80]
Won, M., Stiemerling, O., and Wulf, V. 2006. Component-based approaches to tailorable systems. In End-User Development. H. Lieberman, F. Paternò, and V. Wulf, Eds., Netherlands. Kluwer Academic.
[81]
Wulf, V., Pipek, V., and Won, M. 2008. Component-based tailorability: Enabling highly flexible software applications. Inter. J. Hum.-Comput. Stud. 66, 1, 1--22.
[82]
Yahoo! 2012a. Yahoo! Dapper web platform. http://open.dapper.net.
[83]
Yahoo! 2012b. Yahoo! Pipes web platform. http://pipes.yahoo.com/.
[84]
Zhou, L. and Zhang, D. 2003. NLPIR: A theoretical framework for applying natural language processing to information retrieval. J. Amer. Soci. Inf. Sci. Tech. 54, 2 115--123.

Cited By

View all
  • (2020)MobiMVL: A Model-Driven Mobile Application Development Approach for End-UsersArtificial Intelligence and Security10.1007/978-3-030-57884-8_60(682-694)Online publication date: 1-Sep-2020
  • (2019)Approach of Agile Methodologies in the Development of Web-Based SoftwareInformation10.3390/info1010031410:10(314)Online publication date: 13-Oct-2019
  • (2017)Automatic verification and validation wizard in web-centred end-user software engineeringJournal of Systems and Software10.1016/j.jss.2016.11.025125:C(47-67)Online publication date: 1-Mar-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Software Engineering and Methodology
ACM Transactions on Software Engineering and Methodology  Volume 22, Issue 4
Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
October 2013
387 pages
ISSN:1049-331X
EISSN:1557-7392
DOI:10.1145/2522920
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 October 2013
Accepted: 01 December 2012
Revised: 01 September 2012
Received: 01 May 2012
Published in TOSEM Volume 22, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. End-user programming
  2. end-user development
  3. human-computer interaction
  4. visual programming

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)MobiMVL: A Model-Driven Mobile Application Development Approach for End-UsersArtificial Intelligence and Security10.1007/978-3-030-57884-8_60(682-694)Online publication date: 1-Sep-2020
  • (2019)Approach of Agile Methodologies in the Development of Web-Based SoftwareInformation10.3390/info1010031410:10(314)Online publication date: 13-Oct-2019
  • (2017)Automatic verification and validation wizard in web-centred end-user software engineeringJournal of Systems and Software10.1016/j.jss.2016.11.025125:C(47-67)Online publication date: 1-Mar-2017
  • (2016)Web-centred end-user component modellingFuture Generation Computer Systems10.1016/j.future.2015.07.00254:C(16-40)Online publication date: 1-Jan-2016
  • (2015)A UI-Centric Approach for the End-User Development of Multidevice MashupsACM Transactions on the Web10.1145/27356329:3(1-40)Online publication date: 16-Jun-2015
  • (2015)Automated end user-centred adaptation of web components through automated description logic-based reasoningInformation and Software Technology10.1016/j.infsof.2014.05.02157(446-462)Online publication date: Jan-2015
  • (2015)A Wizard Based EUDWeb Development ProcessEmpowering Organizations10.1007/978-3-319-23784-8_14(173-185)Online publication date: 4-Oct-2015

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media