US Software Capstone Design Project
GNAT - Graphical Network Analysis Tool
Code Inspection Report #2
Design Team:
Matt Ericson
John Kobinski
Matt Petro
Rob Waltz
Client:
Rich Ames, US Software
v1.0
April 29, 1998Last revision: 4/29/98
EXECUTIVE SUMMARY *
CODE INSPECTION SUMMARY REPORTS
SOURCE CODE LISTING
*DESCRIPTION OF REVIEWED CODE
*PREPARATION AND REVIEW TIME
*KEY FINDINGS
*REVIEW OF THE REVIEW
*
This document summarizes the results of the GNAT design team’s second formal code review. The participants in the review were the design team and the code which was reviewed was written by Rob Waltz. The code primarily consisted of the data structures and graphical procedures to draw bar graphs, pie charts and other statistical displays. For more information, consult the GNAT Design Document and Specifications Document.
Contained in this report are Code Inspection Summary Report Forms from all four team members, a listing of all reviewed source code, a description of the code’s functionality and a summary of the review’s findings.
CODE INSPECTION SUMMARY REPORTS
See Appendix A
See Appendix B
Classes Reviewed:
RetransStats.java
DisplayBarChart.java
BarChartPanel.java
BarChart.java
PieChartPanel.java
PieChart.java
DisplayHistChart.java
HistChartPanel.java
HistChart.java
All of these classes compile statistics or display statistics in some form.
RetransStats – this class is one of the four main statistics classes. It contains methods for compiling and displaying statistics concerning the retransmissions of a Snoop file. It consults RetransmissionList.java and PacketList.java for information.
All of the graphical classes are based upon the same framework. They contain a basic class that extends canvas and actually draws the graphic. Each graphic is accompanied by a Panel class that creates a panel of the canvas and makes the graphic easy to add to any JAVA container. Finally, some graphics have a Display method that extends frame to display the graphic panel.
DisplayBarChart – this class displays a BarChartPanel in a frame.
BarChartPanel – this class adds a BarChart to an easy to use Panel.
BarChart – this class builds a bar chart from an array of data.
PieChartPanel – this class adds a PieChart to an easy to use Panel.
PieChart – this class builds a pie chart from an array of data.
DisplayHistChart – this class displays a HistChartPanel in a Frame.
HistChartPanel – this class adds a HistChart to an easy to use Panel.
HistChart – this class contains the methods necessary to build a histogram from two arrays of data, one array representing data for the X-axis and one representing data for the Y-axis.
Team member preparation time:
Matt Ericson 40 min.
John Kobinski 45 min.
Matt Petro 40 min.
Rob Waltz author
Total time for review: 65 min.
1. Burstiness should not use the next pack_ref.
2. Burstiness histogram needs to be rewritten
3. DisplayStats does not need RetransmissionList
4. Substitute total for temp in RetransStats
5. In BarChart, change the way colors are cycled
6. Use bits per second instead of bytes/sec in HistChart
7. Don’t use –1 when assigning range in HistChart
We felt that the review was fairly effective and useful, as was the first. It was helpful for us to review Rob Waltz’s code, as the rest of us could get an update on exactly how his code was implemented. This gave us a good understanding of how his area of GNAT worked. We are confident that this will help as we integrate the final product.
It was unfortunate that Rich Ames was traveling on business at the time we conducted this review, as he was unable to participate. However, this piece of code does not directly involve the Snoop file or TCP/IP related issues, so we feel that his absence will not have a negative impact upon his understanding of the program.
Appendix A
Appendix B