A Visual Architectural Approach to Maintaining Web Applications

Consider a fictitious startup company, WebFlight, which has developed a complex and dynamic software system whose functionality is delivered through the web. Users can surf to WebFlight’s web application where they can browse, buy, and hold airline tickets. All these activities are done using a web browser to follow links and complete order forms. Whenever the user clicks a link on a WebFlight web page, a request is generated and sent to WebFlight’s web server through the HTTP protocol. The web server receives the request and in turn invokes the appropriate actions to generate a response. For example, a new order object may be created to track the user’s request. A database may be queried to retrieve relevant information to fulfill the request. The results are then transcribed to HTML and sent back to the browser, which displays them to the user. To meet a tight development schedule, the developers at WebFlight neglected many recommended software engineering practices such as documenting the architecture of their application.

[1]  Jim Conallen,et al.  Building Web applications with UML , 1999 .

[2]  R. S. Pressman,et al.  What a tangled Web we weave [Web engineering] , 2000 .

[3]  Cornelia Boldyreff,et al.  Web Site Evolution , 2004, J. Softw. Maintenance Res. Pract..

[4]  Mitsuhiko Toda,et al.  Methods for Visual Understanding of Hierarchical System Structures , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[5]  Charles L. A. Clarke,et al.  Browsing and searching software architectures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[6]  David A. Penny,et al.  The software landscape: a visual formalism for programming-in-the-large , 1993 .

[7]  Richard C. Holt,et al.  Software botryology. Automatic clustering of software systems , 1998, Proceedings Ninth International Workshop on Database and Expert Systems Applications (Cat. No.98EX130).

[8]  Geoff W. Hamilton,et al.  Hypertext: The Next Maintenance Mountain , 1998, Computer.

[9]  Susan Elliott Sim,et al.  Supporting Multiple Program Comprehension Strategies During Software Maintenance , 1998 .

[10]  Richard C. Holt,et al.  A hybrid process for recovering software architecture , 1996, CASCON.

[11]  Kozo Sugiyama,et al.  Visualization of structural information: automatic drawing of compound digraphs , 1991, IEEE Trans. Syst. Man Cybern..

[12]  Dimitris Christodoulakis,et al.  Measuring the readability and maintainability of hyperdocuments , 1995, J. Softw. Maintenance Res. Pract..

[13]  Charles L. A. Clarke,et al.  Archetypal source code searches: a survey of software developers and maintainers , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[14]  M. Bouzeghoub,et al.  Object Technology , 1997 .

[15]  Stefano Ceri,et al.  Web Modeling Language (WebML): a modeling language for designing Web sites , 2000, Comput. Networks.

[16]  Richard C. Holt,et al.  Architecture recovery of web applications , 2002, ICSE '02.

[17]  Shihong Huang,et al.  Evaluating the reverse engineering capabilities of Web tools for understanding site content and structure: a case study , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[18]  Hausi A. Müller,et al.  The Software Bookshelf , 1997, IBM Syst. J..

[19]  Timothy C. Lethbridge,et al.  Architecture of a Source Code Exploration Tool: A Software Engineering Case Study1 , 1997 .