Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

354 views

Published on

The relevance of end user documentation for improving usability, learnability and operability of software applications is well known. However, software processes often devote little effort to the production of end user documentation due to budget and time constraints, or leave it not up-to-date as new versions of the application are produced. In particular, in the field of Web applications, due to their quick release time and the rapid evolution, end user documentation is often lacking, or it is incomplete and of poor quality. In this paper a semi-automatic approach for user documentation generation of Web 2.0 applications is presented. The approach exploits dynamic analysis techniques for capturing the user visible behaviour of a web application and, hence, producing end user documentation compliant with known standards and guidelines for software user documentation. A suite of tools support the approach by providing facilities for collecting user session traces associated with use case scenarios offered by the Web application, for abstracting a Navigation Graph of the application, and for generating tutorials and procedure descriptions. The obtained documentation is provided in textual and hypertextual formats. In order to show the feasibility and usefulness of the approach, an example of generating the user documentation for an existing Web application is presented in the paper.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
354
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 3385067211
  • Problem to solve: Asynchronous Interactions
  • Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

    1. 1. Using Dynamic Analysis for Generating End UserDocumentation for Web 2.0 Applications Domenico Amalfitano Anna Rita Fasolino Porfirio Tramontana Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy
    2. 2. Motivation Web 2.0 Applications have emerged as a new generation of Web applications offering greater usability and interactivity than traditional ones.  Web pages have been transformed in complex GUIs with synchronous and asynchronous interactions with the user and with the resources End User Documentation needs  The complexity and the variety of interactivity features provided by a modern Web 2.0 Applications may often confuse the user, so end user documentation is needed to improve the usability of the applicationsPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 2
    3. 3. User documentation definitions According to the IEEE 1063 standard:  Instructional mode  “Usage mode that is intended to teach the use of software in performing tasks”  Reference mode  “Usage mode that is intended to provide quick access to specific information for software users who are generally familiar with the software functions”  Procedure:  “Ordered series of steps that a user follows to do one or more tasks”  Step:  “One element of a procedure. A step contains one or more actions”  Action:  Element of a step that a user performs to complete a procedure.  Tutorial:  “Instructional procedure in which the user exercises software functions using sample data supplied with the software or documentation”Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 3
    4. 4. Some documentation examples  Tudu list user documentation (our case study) Other examples  ASSP Web Application  TravWebPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 4
    5. 5. Web 2.0 applications Web 2.0 applications have complex User Interfaces, with both client side and server side interactions  Business criticality is related to their learnability, operability and usability The client side code is usually dynamically generated  Static analysis techniques can extract only a limited set of informationPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 5
    6. 6. Benefits and effort of a good documentation Learnability Operability Usability Effort needed to write documentation Effort needed to maintain the documentation up-to-datedPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 6
    7. 7. User documentation generation Many tools available for the generation of internal documentation, usually based on static analysis of the source code:  Javadoc  Doxygen Some tools can generate tutorials from dynamic analysis:  Smart Tutor  DocWizards  JTutor  EpiDocX Is it possible to support and partially automate the process of generation of end user documentation for a Web 2.0 application?Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 7
    8. 8. Our documentation generation approach Use Case RIA Supports the automatic generationAnalystsome end user of Scenarios documentation items RIA FSMs Overall navigation Graph Dynamic  Analysis  Scenario execution tutorials Collected Traces  End user reference guide Navigational Edited FSMs Model Three steps: Repository Generation  Web Application Dynamic Analyis User Generation of the Navigation Graph Documentation  Generation  End User Documentation Generation Introductory Reference Manual Tutorials GuidePorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 8
    9. 9. Web Application Dynamic Analysis Use Case Act or + Name 1..* 1..* + Name Use case scenarios of the Web application are navigated + Description and described by the documenter 1..* With the support of the CReRIA tool Scenar io  Ex cept ion Scenar io + Name He has to give a name to any Interface Instance and to + Description 1 any Transition Instance 1 Ex ecut ion Tr ace  The tool suggests the reuse of identical names when it judges that the interface/transitions are “similar”Previouspreviously 1..* + to encountered and described ones 0..1 2..*  Different clustering heuristics are availablent er face I nst ance + Next I 0..1 Tr ansit ion I nst ance + Screenshot 1..* 1..* I nt er face Class Tr ansit ion Class + Name + Name + Description + Description + Node 1..* + Edge 1..*Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 Nav igat ion Gr aph 9
    10. 10. Web Application Dynamic AnalysisPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 10
    11. 11. Navigation Graph Generation Overall and scenario specific navigation graphs can be obtained  Automatically with the support of the CReRIA tool for generation and of the GVEdit tool for visualization Graphs and documentation information can be furtherly edited  With the support of CReRIAPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 11
    12. 12. A case study Tudu Lists  10 KLOC in Java/JSP  Rich Client Interfaces  Existing user documentation (http://www.julien- dubois.com/tudu-lists/user-documentation) is limited to a list of the 8 main use cases, with 4 screen shots  Often used as a case study for RIAs reverse engineering and testingPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 12
    13. 13. Process execution metrics 3 actors  Generic User, Logged User, Administrator 23 use cases 120 scenarios  120 collected execution traces 42 Interfaces  By clustering together 425 Interface Instances  Clustering suggestions accepted 420 out of 425 times 138 Transitions  By clustering together 306 Transition Instances  Transition clustering accepted 278 out of 306 times 120 generated graphs 120 generated tutorials Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 13
    14. 14. End User Documentation Generation On the basis of the information extracted and abstracted in the previous phases, have been automatically generated:  Overall navigation Graph  Scenario execution tutorials and graphs  End user reference guidePorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011
    15. 15. Overall Navigation GraphPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 15
    16. 16. An example of scenario navigation graph Classic Graph Graph view with Screenshots View Clickable nodesPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 16
    17. 17. An example of scenario descriptionQuick AddIn this scenario a logged user can insert a tudu in a selected list of todos. Event Sequences Related Regular Scenarios Advanced Add Related Exception Scenarios Insertion of Wrong DataPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011
    18. 18. Scenario Tutorials Automatically generated as HTML hypertexts  They can be included in the Web application itself The tutorial template includes:  Scenario name and description  Involved Actors  Use case name  For each interface/transition composing the scenario  Interface name and description  Transition name and description  Input names and values  Triggering EventPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011
    19. 19. Scenario Tutorial examplePorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 19
    20. 20. Scenario Tutorial examplePorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 20
    21. 21. Scenario Tutorial examplePorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 21
    22. 22. Scenario Tutorial examplePorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 22
    23. 23. Possible extensions Customization of presentation styles  Generation in textual formats  Choose between different styles More detailed documentation Use of collected traces in testing and reverse engineering processes Use of collected traces for on-line replaying of tutorials Assessment of documentation regressionPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 23
    24. 24. Conclusions and Future Works This paper introduced a process and a tool for the semi-automatic generation of end user documentation for Web 2.0 applications via dynamic analysis In future works we plan:  To increase the features of the tool  To carry out experiments aiming at the comparison between documentation manually generated and semi- automatically generated with the support of the tool  Quality of the documentation  Needed effortPorfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 24
    25. 25. Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 25

    ×