CODE EVOLUTION ANIMATOR EEL 6883 Software Engineering II Spring 2010 Joan Baldriche OUTLINE Motivation Problem Statement Proposed Solution Major Components Design Tools Milestones Progress Difficulties Questions and Suggestions MOTIVATION Software visualization is concerned with the static or animated visual representation of information about software systems based on their structure, history, or behavior. The purpose of software visualization is to support the understanding of software systems architecture and algorithms. Software projects could be hard to visualize due to their complexity and size. Visualization will show the direct relationship of a class and its methods with other classes in the software system and mark potential quality defects to warn the developer during development. A further benefit is the support for visual navigation through the software system. PROBLEM STATEMENT Need to create an application that will allow the user to visualize the evolution of the software during and after the development phase. The application must be able to look through a source control repository and reverse engineer the changes from revisions into graphical form. The application will use animation to make the visualization of the source code easier and more pleasant to the user. PROPOSED SOLUTION User friendly application. Cross-platform application written in Java. Modular implementation allowing the future reuse of any of the pieces. MAJOR COMPONENTS User Interface SVN Interface Doxygen Interface Doxygen(Documentation System) Xml Parser Graphical Interface Java Universal Network/Graph Framework(Graphical Library) Container Classes DESIGN USER HOST PC JUNG GUI GRAPHICAL INTERFACE SVN INTERFACE SERVER PC SVN REPOSITORY XML PARSER DOXYGEN INTERFACE DOXYGEN TOOLS IDE Version Control Eclipse SVN Open-Source Libraries and Packages Doxygen Jung MILESTONES Create SVN server to store source code repository. Finalize the detailed design. Investigate and familiarize with the open source software. Explore the configuration and xml output schema used by Doxygen. Examine the functionality provided by Jung. Implementation of the code. SVN interface. Doxygen interface. Xml parser. Container classes. Graphical interface User interface Write test plans. Complete tests and obtain test results. Write final report and presentation. PROGRESS 2/25 3/2 3/7 3/12 3/17 3/22 3/27 4/1 4/6 4/11 Create SVN Server Investigate Open-Source Software Detailed Design SVN Interface Implementation Doxygen Interface Implementation — — Xml Parser Implementation Start Date — Container Classes Implementation Completed Graphical interface Implementation — Remaining User interface Implementation Integration Test Plans Testing Fixing Bugs Report and Presentation QUESTIONS AND SUGGESTIONS