Using EUREQA for End-User UML Model Development through Design Patterns
Abstract
This work presents the EUREQA approach for end-user development. The purpose of the tool is to narrow the cognitive gap between the end-user developer's mental model and the software model. The tool uses design patterns as building blocks allowing end-users to create UML class diagram models that capture their domain knowledge. The EUREQA tool hides from view the complexity of code thereby reducing the cognitive load on end-user developers. EUREQA makes non-functional quality issues a first-class concern allowing end-user developers to consider both functional and non-functional aspects of design alternatives. The tool uses visualization techniques to aid in non-functional quality assesment. The purpose of this paper is to evaluate and assess the opportunities and challenges of EUREQA. A qualitative, pilot evaluation of EUREQA shows that the visualization techniques work well, whereas there are issues with the abstraction gap between the visualization and class diagram.
Keywords
References
[1] C. Scaffidi, M. Shaw, B. Myers. Estimating the Numbers of End Users and End User Programmers IEEE Symp. on Visual Languages and Human-Centric Computing. Dallas, TX, USA. September 2005.
[2] D. Buck, D.J. Stucki. JKarelRobot: a case study in supporting levels of cognitive development in the computer science curriculum. Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education. Charlotte, NC, USA. February 2001.
[3] M.F. Costabile, P. Mussio, L.P. Provenza, A. Piccinno. End users as unwitting software developers. Proceedings of the 4th international workshop on End-user software engineering. Vancouver, Canada. May 2008.
[4] M. Ancona, G. Dodero, F. Minuto, M. Guida, V. Gianuzzi. Mobile computing in a hospital: the WARD-IN-HAND project. Proceedings of the 2000 ACM symposium on Applied computing - Volume 2.
[5] I. Rugge, C. Ruthenbeck, J. Piotrowski, C. Meinecke, F. Bose. Supporting mobile work processes in logistics with wearable computing. Proceedings of the 11th International Conference on Human-Computer Interaction with Mobile Devices and Services. Bonn, Germany. September 2009.
doi:10.1145/1613858.1613949
[6] T. Nicolai, T, T. Sindt, H. Kenn, H. Witt. Case Study of wearable Computing for Aircraft Maintenance. Proceedings of International Forum on Applied Wearable Computing IFAWC'05, Zurich, Switzerland. March 2005.
[7] J. Krogstie, K. Lyytinen, A.L. Opdahl, B. Pernici, K. Siau, K. Smolander. Research areas and challenges for mobile information systems. International Journal of Mobile Communications, 2(3), (2004) 220-234.
[8] H. Lieberman, F. Paterno, M. Klann, M. Wulf. End- User Development: An Emerging Paradigm. In H. Lieberman, F. Paterno & V. Wulf (Eds.), End User Development. AA Dordrecht, The Netherlands: Springer. (2006)
doi:10.1007/1-4020-5386-X_1
[9] E.L. Wagner, G. Piccoli. Moving beyond user participation to achieve successful IS design. Communications of the ACM, 50(12), (2007) 6.
[10]T. Klaus, S. Wingreen, J.E. Blanton. Examining user resistance and management strategies in enterprise system implementations. Proceedings of the 2007 ACM SIGMIS CPR conference on Computer personnel research: The global information technology workforce. St. Louis, MO, USA. April 2007.
[11]R. Hirschheim, M. Newman. Information Systemand User Resistance: Theory and Practice. The Computer Journal, 31(5), (1988) 398-408.
doi:10.1093/comjnl/31.5.398
[12] G. Fischer, E. Giaccardi, Y. Ye, A.G. Sutcliffe, N. Mehandjiev. Meta-Design; A Manifesto for End- User Development. Communications of the ACM, 47(9), (2004) 5.
[13] J. Segal. (2007). Some Problems of Professional End User Developers. IEEE Symposium on Visual Languages and Human-Centric Computing. VL/HCC 2007. Coeur d'Alène, Idaho, USA. September 2007.
[14]L. Chung, J. d. P. Leite. On Non-Functional Requirements in Software Engineering. In A. T. Borgida, V. Chaudhri, P. Giorgini & E. Yu (Eds.), Conceptual Modeling: Foundations and Applications (pp. 363-379). Berlin / Heidelberg: Springer. (2009)
doi:10.1007/978-3-642-02463-4_19
[15] M. Kassab. Non-Functional Requirements: Modeling and Assesment. Saarbrucken, Germany: VDM Verlag, Dr. Müller. (2009)
[16] N. Mehandjiev, A. Sutcliffe, D. Lee. Organizational view of End-User Development. In H. Lieberman, F. Pateró & V. Wulf (Eds.), End-user Development (pp. 492): Springer. (2006)
doi:10.1007/1-4020-5386-X_17
[17]A. Mørch, G. Stevens, M. Won, M. Klann, Y. Dittrich, V. Wulf. Component-based technologies for end-user development. Commun. ACM, 47(9) (2004) 59-62.
[18]M. Won, O. Stiemerling, V. Wulf. Component-based Approaches to Tailorable Systems. In H. Lieberman, Paternò, F., Wulf, V. (Eds.), End-User Development (pp. 115-141). Dordrecht, NL: Springer. (2006)
[19]J.F. Pane, B. Myers. More Natural Programming Languages. In H. Lieberman, Paternò, F., Wulf, V. (Eds.), End-User Development (pp. 31-50). Dordrecht, The Netherlands: Springer Verlag. (2006)
doi:10.1007/1-4020-5386-X_3
[20]T. R. G. Green, M. Petre. Usability Analysis of Visual Programming Environments: A Cognitive Dimensions' Framework. Journal of Visual Languages & Computing, 7(2) (1996) 131-174.
doi:10.1006/jvlc.1996.0009
[21] PERS, (2006, 28th of April, 2006). PERS End-User Development (EUD) Standards. Retrieved 5/9, 2010, from http://www.oregon.gov/DAS/EISPD/ESO/SecPlan/PERS/End_User_devstandards.pdf?ga=t
[22]E. Gamma, R. Helm, R. Johnson, J.M. Vlissides. Design Patterns: Elements of Reusable Object- Oriented Software: Addison-Wesley Professional. (1994)
[23]ISO/IEC Standard 9126-1 Software Engineering – Product Quality – Part 1: Quality Model, 2001.
[24]M. Glinz On Non-Functional Requirements. Proceedings of the 15th International Requirements Engineering Conference, RE'07. New Delhi, India. October 2007.
[25]D. Gross, E. Yu. From Non-Functional Requirements to Design through Patterns. Requirements Engineering, 6(1), (2001) 18.
doi:10.1007/s007660170013
[26] L. Chung, B.A. Nixon, E. Yu, J. Mylopolous. Non- Functional Requirements in Software Engineering (1st edition ed.): Springer. (1999)
[27]J. Cleland-Huang. Toward improved traceability of non-functional requirements. Proceedings of the 3rd international workshop on Traceability in emerging forms of software engineering. Long Beach, CA, USA. November 2005.
[28]N.-L. Hsueh, W.-H. Shen. Handling Nonfunctional and Conflicting Requirements with Design Patterns. Proceedings of the 11th Asia-Pacific Software Engineering Conference. Busan, Korea. November 2004.
doi:10.1109/APSEC.2004.57
[29]J.Cleland-Huang, D. Schmelzer. Dynamically Tracing Non-Functional Requirements through Design Pattern Invariants. Workshop on Traceability in Emerging Forms of Software Engineering, in conjunction with IEEE International Conference on Automated Software Engineering. Montreal, Canada. October 2003.
[30]J. Fletcher, J. Cleland-Huang. Automated Generation of UML Class Diagrams from Softgoal Patterns. DePaul CTI Research Symposium / Midwest Software Engineering Conference (CTIRS/MSEC 2006). Chicago, IL, USA. April 2006.
[31]A.R. Hevner, S.T. March, J. Park, S. Ram. Design Science in Information Systems Research. Management Information Systems Quarterly MISQ, 28(1), (2004) 30.
[32]S. March, V. Storey. Design Science in the Information Systems Discipline: An Introduction to the Special Issue on Design Science Research. MIS Quarterly, 32(4), (2008) 725-730.
[33]S.T. March, G. F. Smith. Design and natural science research on information technology. Decis. Support Syst., 15(4), (1995) 251-266.
doi:10.1016/0167-9236(94)00041-2
[34]V. Vaishnavi, B. Kuechler. (2007, 4th of August 2007). Design Research in Information Systems. Retrieved 2/2, 2007, from http://www.isworld.org/Researchdesign/drisISworld.htm
[35]K.M. Eisenhardt. Building Theories from Case Study Research. The Academy of Management Review, 14(4), (1989) 532-550.
doi:10.2307/258557
[36]U. Flick. An Introduction to Qualitative Research. Thousand Oaks, CA: SAGE Publications. (2009)
[37]ITU-T. ITU-T, Recommendation Z.151 (11/08), User Requirements Notation (URN) – Language definition. Retrieved 11/1-2011 http://www.itu.int/rec/T-REC-Z.151/en
November 2008.
[38]R.C. Martin. . Visitor. Retrieved 2/11, 2008, from http://staff.cs.utu.fi/~jounsmed/doos_06/material/Visitor.pdf (2002).
[39]M.W. van Someren, Y.F. Barnard, J.A.C. Sandberg. THE THINK ALOUD METHOD: A practical guide to modelling cognitive processes. London, UK: Academic Press. (1994).
[40]K.A. Ericsson, H. Simon. Protocol Analysis. Protocol Analysis Retrieved 19/9-2010, 2010, from http://octopus.library.cmu.edu/cgi-bin/tiff2pdf/simon/box00082/fld06587/bdl0003/doc0001/simon.pdf (1981, 28th of December 1981)
[41]K.A. Ericsson, H. Simon. Protocol Analysis: Verbal Reports as Data (revised edition). Cambridge, Mass: MIT Press. (1993).
[42]C.F. Auerbach, & L.B. Silverstein. Qualitative Data Analysis: an introduction to coding and analysis Available from http://site.ebrary.com/lib/bergen/docDetail.action?docID=10078435 (2003).
[43]N.C. Shu. Visual Programming: John Wiley & Sons, Inc. (1992).
[44]B. Nardi. A Small Matter of Programming: Perspectives on End User Computing. Cambridge, Mass: MIT Press. (1993).
[45] J. Beringer. Reducing Expertise Tension. Commun. ACM, 47(9), (2004) 3.
[46]G. Mussbacher, M. Weiss, D. Amyot. Formalizing Architectural Patterns with the User Requirements Notation. In Taibi, T. (Ed.) Design Pattern Formalization Techniques. (pp. 302-323) Hershey, New York IGI Publishing Group. (2006).
[47]M.A. Jalil, S.A.M. Noah. The Difficulties of Using Design Patterns among Novices: An Exploratory Study. The Fifth International Conference on Computational Science and Applications. Kuala Lumpur, Malaysia. August 2007.
[48]M.M. Burnett, M.J. Baker, C. Bohus, P. Carlson, S. Yang, P. Zee. Scaling Up Visual Programming Languages. Computer, 28(3), (1995) 45-54.
doi:10.1109/2.366157
[49]S. Yusuf, H. Kagdi, J.I. Maletic. Assessing the Comprehension of UML Class Diagrams via Eye Tracking. Proceedings of the 15th IEEE International Conference on Program Comprehension (ICPC '07), Alberta, Canada. June 2007.
[50]A.G. Sutcliffe, D. Lee, N. Mehandijev. Contributions, costs and prospects for end-user development. Proceedings of the third International Human Computer Interaction Conference. Crete, Greece. June 2003.
[51]Y. Wang, J. Shao. Measurement of the cognitive functional complexity of software. Proceedings of the Second IEEE International Conference on Cognitive Informatics. London, England. August 2003.
doi:10.1109/COGINF.2003.1225955
Full Text: PDF


