The pupose of this project is to develop a tool that provides hypertext
documentation of a Demeter/Java adaptive program.
Roy Oberhauser
README-project
Installation instructions
User Manual
RISKS | Description |
Requirements | Unclear about how users wish to have the adaptive program presented |
Technological | I'm not sure how much analysis and hypertext linking is feasible from a time-to-generate standpoint |
Skills | I'm not experienced in using Demeter/Java or Class Dictionaries |
Political | Work assignments may interfere |
Schedule | I have a hard deadline as to when the project will end, but am unsure how much can be accomplished given my limited resources (time, people) and inexperience with Demeter/Java. |
USE CASES | Description |
Browse Program Files | The user will be able to browse all related program files |
Click on class in Class Dictionary updates related frames | The user will be able to click on a class in a Class Dictionary and related frames will be automatically updated |
Click on class in Behavior file updates related frames | The user will be able to click on a class in a Behavior file and related frames will be automatically updated |
Optional Extension: Click on keyword in sentence updates related frames |
The user will be able to click on a keyword in an input file and related frames will be automatically updated |
Optional Extension: Click on class in Java file updates related frames |
The user will be able to click on a class in a Java file and related frames will be automatically updated |
Optional Extension: User can specify the program be run |
The user will be able to run the adaptive program and have the output displayed |
A prototype was developed to try to get a better understanding of the requirements and use cases.
GROWTH PLAN | Description |
Phase 1 | A hyperlinked list of files related to the adaptive program will be created, allowing the user to click on any filename and see the related file |
Phase 2 | The class dictionary and a behavior file will be hyperlinked via classes, allowing the user to click on any class and see the corresponding class in the other file |
Phase 3 | Classes within Java files will hyperlinked to the corresponding classes within the Class Dictionary and Behavior files. A class index with references to all occurences in a class will be generated |
Optional Phase 4 | A keyword in a sentence will be hyperlinked to the corresponding class |
Optional Phase 5 | User can run a demonstration of the program and see the output |
Due to my lack of prior experience with Demeter/Java, I cannot say ahead of time how much of each phase will be ready each week.
STATUS | Description |
Phase 1 | Completed |
Phase 2 | Completed |
Phase 3 | Completed |
Changes between each growth phase reflected the functionality added due to the Growth Plan. One significant change during development was the realization that it would be better to intergrate it with Demeter/Java then to make a standalone tool since so much code was being duplicated.
Optimized, fixed bugs, more extensive testing.
Testing: For an extreme test, ran a self-document test on the program itself (demjava is fairly large). On the other extreme, I ran a single class with no beh file test and no visitors. Then I ran a medium test using the visitor-by-hand program.