Skip to main content
Log in

WebSpec: a visual language for specifying interaction and navigation requirements in web applications

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27

Similar content being viewed by others

Notes

  1. http://code.google.com/p/webspec-language/.

  2. A continuous build is a program that compiles the application and runs the tests separately without interfering in the developer’s activity.

References

  1. McDonald A, Welland R (2001) Web engineering in practice. In: Proceedings of the fourth WWW10 workshop on web engineering, pp 21–30

  2. 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

    Google Scholar 

  3. Jacobson I (1992) Object-oriented software engineering: a use case driven approach. ACM Press/Addison-Wesley, Boston

  4. 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

  5. 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

    Article  Google Scholar 

  6. Koch N, Zhang G, Escalona MJ (2006) Model transformations from requirements to web system design. ICWE’06, Palo Alto, California, USA

  7. Ceri S, Fraternali P, Bongio A, Brambilla M, Comai S, Materna M (2003) Designing data-intensive web applications. Morgan Kaufman, Waltham

  8. 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

    Google Scholar 

  9. Escalona MJ, Koch N (2004) Requirements engineering for web applications–a comparative study. J Web Eng 2(3):193–212

    Google Scholar 

  10. 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

  11. 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

  12. 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

  13. Martin RC (2003) Agile software development: principles, patterns, and practices. Prentice Hall PTR, Upper Saddle River

    Google Scholar 

  14. Beck K (2002) Test driven development: by example. Addison-Wesley Signature Series

  15. 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

  16. 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

  17. Rossi G, Pastor O, Schwabe D, Olsina L (2008) Web engineering: modelling and implementing web applications. Human-computer interaction series. Springer, London

    Book  Google Scholar 

  18. GWT. Available at: http://code.google.com/webtoolkit/. Accessed 2011

  19. Seaside. Available at: http://www.seaside.st/. Accessed 2011

  20. Fowler M (2010) Domain specific languages, 1st edn. Addison-Wesley Professional, Boston

  21. 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

  22. Bondy JA (1976) Graph theory with applications. Elsevier Science Ltd, Amsterdam

  23. Balsamiq. Available at: http://www.balsamiq.com/products/mockups. Accessed 2011

  24. Axure—wireframes, prototypes, specifications. Available at: http://www.axure.com/. Accessed 2011

  25. Chomsky N (2003) Three models for the description of language. Inform Theory IRE Trans 2(3):113–124

    Article  Google Scholar 

  26. Duhl J (2003) Rich internet applications. A white paper sponsored by Macromedia and Intel, IDC report

  27. Yahoo patterns, http://developer.yahoo.com/ypatterns/

  28. 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

    Google Scholar 

  29. 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

  30. 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

  31. Eclipse EMF. Available at: http://www.eclipse.org/modeling/emf/. Accessed 2011

  32. Eclipse GMF. Available at: http://www.eclipse.org/modeling/gmp/. Accessed 2011

  33. Selenium web application testing system. Available at: http://seleniumhq.org/. Accessed 2011

  34. jQuery: the write less, do more, JavaScript library. Available at: http://jquery.com/. Accessed 2011

  35. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley Longman Publishing Co, Boston

    Google Scholar 

  36. WebDriver. Available at: http://webdriver.googlecode.com. Accessed 2011

  37. The WebRatio tool suite. Available at: http://www.webratio.com. Accessed 2011

  38. 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

  39. Conallen J (2000) Building web applications with UML. Addison-Wesley, Boston, p 300

  40. 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

  41. Flannagan S The paper version of the web. In: Deeplinking, available at: http://deeplinking.net/paper-web/

  42. 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

  43. Escalona MJ, Aragon G (2008) NDT. A model-driven approach for web requirements. IEEE Trans Softw Eng 34(3):370–390

    Google Scholar 

  44. 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

  45. QVT. http://www.omg.org/spec/QVT/. Accessed 2011

  46. 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

  47. Watir. Available at: http://watir.com/. Accessed 2011

  48. 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

    Google Scholar 

  49. 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

  50. 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

  51. 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

    Google Scholar 

  52. 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

  53. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Esteban Robles Luna.

Appendix: WebSpec’s grammar

Appendix: WebSpec’s grammar

figure h
figure i

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-011-0124-1

Keywords

Navigation