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