Object Oriented Software Metrics Tool
The Team
Our project team was made up of:
Marcus Hasslinger
Paul Bok
Bliss Deva
Heather McCarthy
Daryl Moulder
The Task
For our Industrial Experience project we were given the task of designing
and developing an Object Oriented Software Metrics Tool. This tool is intended
to be used to monitor and evaluate team based Object Oriented (OO) software
projects at an individual and team level.
To acquire the necessary data for such evaluations, OO software development
teams complete log sheets of the bugs encountered and the potential enhancements
they have identified in the code. These bugs and enhancements are found
during code walkthroughs and during testing stages. The walkthroughs are
undertaken by team members other than those responsible for writing the
object code.
The data from the log sheets is currently entered manually by our client
into a Microsoft Excel spreadsheet in order to produce a variety of graphs.
This, however, is a laborious and time consuming process. The metrics tool
will provide a method of automating the acquisition of data for the software
metrics, rather than filling in the log sheets, students would enter the data directly into the tool, which can then be used to produce the required graphs. These will
include graphs to show the frequency of various types of defect recorded
by the teams, the quantity of defects found compared to the time taken
looking for them, and defect density. Such information will make teams
aware of the types of errors that they are making and thus enable them
to improve in these areas.
What We Did
After gathering an understanding of what was required, we set about designing
the tool. We established that there were two types of users of this tool,
a supervisor, who creates and oversees projects in the system; and a developer
who is part of a team which logs the bugs and enhancements. We created
screens, which helped us to work out what information should be entered,
altered or viewed by each type of user. We then coded the screen functionality and the access to various files. Here are some of the screens:
Control Screen

These buttons are used to get from one screen to another. The report generator and help
screens have not been written.
Developer Contract Screen

This screen can be viewed by the developer or any member of the team. It is used to
assign and remove tasks to members of the team. The developer can look through the
details of each member of the team by using the previous person and next person buttons,
and save any changes using the save button. A team member can also choose to change
their own password.
Developer Log Entry Screen

Developers enter in the bugs and potential enhancements that they have enountered in the code.
Developer Task Product Screen

A developer may add more tasks or products to the list available to them, or delete a task
that they have previously added. Tasks and products entered by the supervisor may not be
altered or deleted by a developer.
Supervisor Bug/Enhancement Screen

This screen is used by the supervisor to add to or remove from a list of bugs and
enhancements that could possibly be encountered by the developers when reviewing source code.
Supervisor Contract Screen

This screen is used by the the supervisor to create teams in a project and add team members
to these teams. It also allows them to view which tasks have been assigned to each person.
Supervisor Task Product Screen

This screen is used by the supervisor to add and remove tasks and products to the lists used
by the developers.
Written by Heather McCarthy 1996/1997