|
The collaGra software engineering team uses the
following process to make changes to legacy code (its own
and its customer's).
- Trap Current Design of Relevant Code
- Using any information (problem report number, error message,
module name), search design artifact repository for
any relevant collaboration graphs.
- If one exists, open it with the tool and proceed to step
5.
- If none exists, create a new graph with the tool.
- Change settings to point to the directories holding the
code. Select the languages of the code to search (Java, C++,
C, JSP, perl, etc.).
- Using any information that can be represented as a string
(method name from a core dump, error message, previous
knowledge of the name of a module that might be relevant),
search the code with that string.
- Examine the modules listed in the search results, adding them
to the graph
or not based on their relevance to the current task. Do
the same for relevant methods that are found.
- As relevant methods, modules, or data members are found and
added, search for other modules that use them or are
used by them. Add these new items if they are relevant.
- Repeat the previous two steps until the graph represents a
clear picture of the current design and the engineer
using the tool understands the design.
- Design Solution and Review Design
- Once a clear picture of the current design is created,
add, delete, and modify module and method entries to
achieve the design that satisfies the current requirement.
- Publish the design as a set of web pages that can be stored
in a wiki or e-mailed to design review team.
- Based on review, change the design as needed.
- Plan Work and Code the Design
- Generate a design-driven task list (DDTL) which lists the
code changes that are necessary.
- Use the tool to note when tasks are started, paused, or
ended.
- Use favorite tools (vi, JBuilder, gcc) to edit, test, debug,
configuration manage the code.
|