SYSTEMATIC IMPROVEMENT OF WEB APPLICATIONS DESIGN
Keywords:
Web applications, Web patterns, agile methods, navigation model, presentation model, usabilityAbstract
Web applications are usually characterized by a rapid development process and continuous evolution. This evolution implies growth of the graph of pages and navigation paths, as well as new functionality and new data made available to the user. Measurement of the system usability, periodic or after a time of growth, is crucial to the system’s evolution in the line of design maturity and to prevent the system from decay. This kind of evolution is one of the main practices of agile methods, in which design improvement occurs daily during development and often during maintenance. In this paper we propose a list of changes for the design models of a Web application and when they may be applied, in order to improve the application’s usability while preserving its functionality. The purpose of the proposed changes is to improve the maturity of the design instead of adding new features; we call them Web design improvements. This paper starts a catalogue of Web design improvements for the navigation and presentation models of a Web application. Since changing these models has direct impact on the user experience with the application, our Web design improvements aim at improving the external quality and user experience.
Downloads
References
Beck, K. and Andres, C. (2005) Extreme Programming Explained. Embrace Change. Addison-
Wesley.
Lehman, N. M. (1996) Laws of software evolution revisited. Proceedings of EWSPT’96 , Nancy.
Koch, N. and Kraus, A. (2002) The expressive power of UML-based web engineering. Proc. 2nd
Int. Workshop on Web Oriented Software Technology (IWWOST02), M´alaga, Spain.
UWA Consortium (2002) Ubiquitous web applications. Proceedings of the eBusiness and eWork
Conference e2002 , Prague, Czech Republic.
Schwabe, D. and Rossi, G. (1998) An object oriented approach to web-based application design.
Theory and Practice of Object Systems, 4, wiley and Sons.
Duyne, D. V., Landay, J., and Hong, J. (2003) The Design of Sites. Addison-Wesley.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995) Design Patterns. Elements of reusable
object-oriented software. Addison Wesley.
Rossi, G., Schwabe, D., and Garrido, A. (1997) Design reuse in hypermedia applications development.
Proceedings of Hypertext’97 , Southampton, UK.
Nanard, M., Nanard, J., and Kahn, P. (1998) Pushing reuse in hypermedia design: Golden rules,
design patterns and constructive templates. Proc. of Hypertext’98 , Pittsburgh, USA.
Web Design Patterns. http://www.welie.com/ patterns/.
Web Patterns. http://webpatterns.org.
Johnson, R. and Opdyke, W. (1993) Refactoring and aggregation. Object Technologies for Advanced
Software, First JSSST International Symposium, vol. 742, pp. 264–278, Springer-Verlag.
Opdyke, W. (1992) Refactoring Object-Oriented Frameworks. Ph.D. thesis, University of Illinois
at Urbana-Champaign.
Fowler, M. (1999) Refactoring. Improving the Design of Existing Code. Addison-Wesley.
Overbey, J., Xanthos, S., Johnson, R., and Foote, B. (2005) Refactorings for Fortran and High-
Performance Computing. 2nd. Int. Workshop on Software Engineering for High Performance Computing
System Applications, St. Louis, MO.
Garrido, A. (2005) Program Refactoring in the Presence of Preprocessor Directives. Ph.D. thesis,
University of Illinois at Urbana-Champaign. Tech.Rep.No. UIUCDCS-R-2005-2617.
Leit˜ao, A. M. (2002) A formal pattern language for refactoring of Lisp programs. CSMR’02: Proceedings
of the Sixth European Conference on Software Maintenance and Reengineering, Washington,
DC, USA, p. 186, IEEE Computer Society.
Ricca, F. and Tonella, P. (2005) Program transformations for web application restructuring. Web
Engineering: Principles and Techniques. Woojong Suh (eds.), chap. XI, pp. 242–260, Idea Group
Publishing.
Ricca, F., Tonella, P., and Baxter, I. D. (2001) Restructuring web applications via transformation
rules. SCAM 2001 , pp. 150–160.
Harold, E. R. (2008) Refactoring HTML: Improving the Design of Existing Web Applications.
Addison Wesley.
Boger, M., Sturm, T., and Fragemann, P. (2003) Refactoring browser for UML. Objects, Components,
Architectures, Services, and Applications for a NetworkedWorld: International Conference
NetObjectDays, NODe 2002, Erfurt, Germany, vol. LNCS 2591/2003, pp. 366–377, Springer
Berlin.
Zhang, J., Lin, Y., and Gray, J. (2005) Generic and domain-specific model refactoring using a
model transformation engine. Model-driven Software Development , chap. 9, Springer.
Gorp, P. V., Stenten, H., Mens, T., and Demeyer, S. (2003) Towards automating source-consistent
UML refactorings. Proceedings of the 6th Int. Conference on UML.
Straeten, R. V. D., Simmonds, J., and Mens, T. (2003) Detecting Inconsistencies between UML
Models Using Description Logic. Description Logics.
Mens, T. and Tourw´e, T. (2004) A Survey of Software Refactoring. IEEE Transactions on Software
Engineering, 30.
Cabot, J. and Gomez, C. (2008) A catalogue of refactorings for navigation models. Proc. of the
th. Int. Conference on Web Engineering: ICWE’08 , Yorktown Heights, New York.
Ceri, S., Fraternali, P., and Bongio, A. (2000) Web modeling language (WebML): a modeling
language for designing web sites. Proceedings of the 9th World Wide Web Conference WWW9 ,
Amsterdam, NL.
Garrido, A., Rossi, G., and Distante, D. (2007) Model refactoring in web applications. Proceedings
of the 9th IEEE Int. Symposium on Web Site Evolution (WSE2007), Paris, France, October.
Olsina, L., Garrido, A., Rossi, G., Distante, D., and Canfora, G. (2008) Web application evaluation
and refactoring: A quality-oriented improvement approach. Journal on Web Engineering, 7.
Scharl, A. (2000) Evolutionary Web development . Springer.
Kerievsky, J. (2005) Refactoring to Patterns. Addison-Wesley.
De Troyer, O. and Leune, C. (1998) WSDM: A user-centered design method for web sites. Computer
Networks and ISDN systems, Proc. of the 7th Int. WWW Conf., Elsevier.
Pastor, O., Abraho, S. M., and Fons, J. (2001) An object-oriented approach to automate web
applications development. Proceedings of EC-Web, Munich, Germany.
Rossi, G. and Schwabe, D. (2006) Model-based web application development. Web Engineering,
chap. 10, Springer.
Kim, W. (1994) Advanced Database systems. ACM Press.
UWA Consortium, Deliverable d7: Hypermedia and operation design: model and tool architecture.
www.uwaproject.org.
Cowan, D. D. and Lucena, C. J. P. (1995) Abstract data views: An interface specification concept
to enhance design for reuse. IEEE Trans. Softw. Eng., 21, 229–243.
Olsina, L. and Rossi, G. (2002) Measuring web application quality with WebQEM. IEEE Multimedia,
, 20–29.
Scanniello, G., Distante, D., and Risi, M. (2008) Using semantic clustering to enhance the navigation
structure of web sites. Proc. of the 10th. Int. Symposium on Web Site Evolution: WSE2008 ,
Beijing, China.
Rossi, G., Urbieta, M. M., Ginzburg, J., Distante, D., and Garrido, A. (2008) Refactoring to
rich internet applications. a model-driven approach. Proc. of the 8th. Int. Conference on Web
Engineering: ICWE’08 , Yorktown Heights, New York.