Abstract
Web application development is a complex and time-consuming process that involves different stakeholders (ranging from customers to developers); these applications have some unique characteristics like navigational access to information, sophisticated interaction features, etc. However, there have been few proposals to represent those requirements that are specific to Web applications. Consequently, validation of requirements (e.g., in acceptance tests) is usually informal and as a result troublesome. To overcome these problems, we present WebSpec, a domain-specific language for specifying the most relevant and characteristic requirements of Web applications: those involving interaction and navigation. We describe WebSpec diagrams, discussing their abstraction and expressive power. With a simple though realistic example, we show how we have used WebSpec in the context of an agile Web development approach discussing several issues such as automatic test generation, management of changes in requirements, and improving the understanding of the diagrams through application simulation.
Similar content being viewed by others
Notes
A continuous build is a program that compiles the application and runs the tests separately without interfering in the developer’s activity.
References
McDonald A, Welland R (2001) Web engineering in practice. In: Proceedings of the fourth WWW10 workshop on web engineering, pp 21–30
Lowe D (2003) Web system requirements: an overview. J Requir Eng 8(2):102–113. http://dx.doi.org/10.1007/s00766-002-0153-x
Jacobson I (1992) Object-oriented software engineering: a use case driven approach. ACM Press/Addison-Wesley, Boston
Rossi G, Schwabe D (2008) Modeling and implementing web applications using OOHDM. In: Rossi G, Pastor O, Schwabe D, Olsina L (Eds) Web engineering, modelling and implementing web applications, Springer, Heidelberg, pp 109–155
Valderas P, Pelechano V, Pastor O (2007) A transformational approach to produce Web applications prototypes from a Web requirements model. Int J Web Eng Technol IJWET 3(1):4–42
Koch N, Zhang G, Escalona MJ (2006) Model transformations from requirements to web system design. ICWE’06, Palo Alto, California, USA
Ceri S, Fraternali P, Bongio A, Brambilla M, Comai S, Materna M (2003) Designing data-intensive web applications. Morgan Kaufman, Waltham
Gómez J, Cachero C (2003) OO-H method: extending UML to model web interfaces. In: van Bommel P (ed) Information modeling for internet applications. IGI Publishing, Hershey, pp 144–173
Escalona MJ, Koch N (2004) Requirements engineering for web applications–a comparative study. J Web Eng 2(3):193–212
De Troyer O, Casteleyn S (2003) Modeling complex processes for web applications using WSDM. In: Proceedings of the 3rd international workshop on web-oriented software technologies. Oviedo, Spain. At: http://www.dsic.upv.es/~west/iwwost03/articles.htm
Escalona MJ, Koch N (2006) Metamodeling requirements of web systems. In: Proceedings of the international conference on web information system and technologies (WEBIST 2006), INSTICC, 310–317, Setúbal, Portugal
Garrigós I, Mazón JN, Trujillo J (2009) A requirement analysis approach for using i* in web engineering. In: ICWE, LNCS, 5648, pp 151–165
Martin RC (2003) Agile software development: principles, patterns, and practices. Prentice Hall PTR, Upper Saddle River
Beck K (2002) Test driven development: by example. Addison-Wesley Signature Series
Zheng J (2005) In regression testing selection when source code is not available. In: Proceedings of the 20th IEEE/ACM international conference on automated software engineering (Long Beach, CA, USA, November 07–11, 2005). ASE’05. ACM, New York, NY, pp 752–755. doi:http://doi.acm.org/10.1145/1101908.1101997
de Paula MG, da Silva BS, Barbosa SD (2005) Using an interaction model as a resource for communication in design. In CHI’05 extended abstracts on human factors in computing systems (Portland, USA, April 02–07, 2005), pp 1713–1716
Rossi G, Pastor O, Schwabe D, Olsina L (2008) Web engineering: modelling and implementing web applications. Human-computer interaction series. Springer, London
GWT. Available at: http://code.google.com/webtoolkit/. Accessed 2011
Seaside. Available at: http://www.seaside.st/. Accessed 2011
Fowler M (2010) Domain specific languages, 1st edn. Addison-Wesley Professional, Boston
Claessen K, Hughes J (2000) QuickCheck: a lightweight tool for random testing of Haskell programs. In: Proceedings of the fifth ACM SIGPLAN international conference on functional programming, vol 35, pp 268–279
Bondy JA (1976) Graph theory with applications. Elsevier Science Ltd, Amsterdam
Balsamiq. Available at: http://www.balsamiq.com/products/mockups. Accessed 2011
Axure—wireframes, prototypes, specifications. Available at: http://www.axure.com/. Accessed 2011
Chomsky N (2003) Three models for the description of language. Inform Theory IRE Trans 2(3):113–124
Duhl J (2003) Rich internet applications. A white paper sponsored by Macromedia and Intel, IDC report
Yahoo patterns, http://developer.yahoo.com/ypatterns/
Moody D (2009) The physics of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE Trans Softw Eng 35(6):756–779. doi:10.1109/TSE.2009.67
Maximilien EM, Williams L (2003) Assessing test-driven development at IBM. In: Proceedings of the 25th international conference on software engineering (Portland, Oregon, May 03–10, 2003). International conference on software engineering. IEEE Computer Society, Washington, DC, pp 564–569
Robles Luna E, Grigera J, Rossi G (2009) Bridging test and model-driven approaches in web engineering. In: Proceedings of the 9th international conference on web engineering. Lecture notes in computer science, vol 5648. Springer, Berlin, Heidelberg, pp 136–150
Eclipse EMF. Available at: http://www.eclipse.org/modeling/emf/. Accessed 2011
Eclipse GMF. Available at: http://www.eclipse.org/modeling/gmp/. Accessed 2011
Selenium web application testing system. Available at: http://seleniumhq.org/. Accessed 2011
jQuery: the write less, do more, JavaScript library. Available at: http://jquery.com/. Accessed 2011
Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co, Boston
WebDriver. Available at: http://webdriver.googlecode.com. Accessed 2011
The WebRatio tool suite. Available at: http://www.webratio.com. Accessed 2011
Uden L, Valderas P, Pastor O (2008) An activity-theory-based model to analyse Web application requirements. Inform Res 13(2). http://informationr.net/ir/13-2/paper340.html
Conallen J (2000) Building web applications with UML. Addison-Wesley, Boston, p 300
Winckler M, Vanderdonct J (2005) Towards a user-centered design of web applications based on a task model. In: Proceedings of IWWOST’2005. Porto, Portugal, 12–13 June 2005
Flannagan S The paper version of the web. In: Deeplinking, available at: http://deeplinking.net/paper-web/
Lin J, Newman MW, Hong JI, Landay JA (2000) DENIM: finding a tighter fit between tools and practice for Web site design. In: Proceedings of the SIGCHI conference on human factors in computing systems (The Hague, The Netherlands, 01–06 April 2000). CHI’2000. ACM, New York, NY, pp 510–517
Escalona MJ, Aragon G (2008) NDT. A model-driven approach for web requirements. IEEE Trans Softw Eng 34(3):370–390
Yu ESK (1997) Towards modeling and reasoning support for early-phase requirements engineering. In: Proceedings of the 3rd IEEE international symposium on requirements engineering (RE’97). IEEE Computer Society, Washington, DC, USA, p 226
QVT. http://www.omg.org/spec/QVT/. Accessed 2011
Escalona MJ, Koch N (2006) Metamodeling requirements of web systems. In: Proceedings of the internacional conference on web information system and technologies (WEBIST 2006), INSTICC, pp 310–317, Setúbal, Portugal
Watir. Available at: http://watir.com/. Accessed 2011
Robles Luna E, Panach JI, Grigera J, Rossi G, Pastor O (2010) Incorporating usability requirements in a test/model-driven web engineering approach. J Web Eng (JWE) 9(2):132–156
Robles Luna E, Rossi G, Burella J, Grigera J (2010) Incremental usability improvement in an Agile approach for web applications. In: Proceedings of the 1st workshop dealing with usabiliy in an Agile domain, XP’2010 workshop, 2010, Trondheim, Norway
Robles Luna E, Garrigos I, Rossi G (2010) Capturing and validating personalization requirements in web applications. In: Proceedings of the 1st workshop on the web and requirements engineering (WeRE 2010), Sydney, Australia
Robles Luna E, Garrigos I, Mazon J-N, Trujillo J, Rossi G (2010) An i*-based approach for modeling and tesing web requirements. J Web Eng (JWE) 9(4):302–326
Alencar FMR, Castro JFB (1999) Integrating early and late-phase requirements: a factory case study. In: Proceedings of XIII Brazilian symposium on software engineering—SBES99, Florianopólis, SC, Brasil, Outubro 1999, pp 47–61
Rivero JM, Rossi G, Grigera J, Burella J, Robles Luna E, Gordillo S (2010) From mockups to user interface models: an extensible model driven approach. In: Proceedings of the 6th model-driven web engineering workshop (MDWE 2010), Vienna, Austria
Author information
Authors and Affiliations
Corresponding author
Appendix: WebSpec’s grammar
Appendix: WebSpec’s grammar
Rights and permissions
About this article
Cite this article
Robles Luna, E., Rossi, G. & Garrigós, I. WebSpec: a visual language for specifying interaction and navigation requirements in web applications. Requirements Eng 16, 297–321 (2011). https://doi.org/10.1007/s00766-011-0124-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-011-0124-1