Skip to main contentCal State San Bernardino
>> [CNS] >> [Comp Sci Dept] >> [R J Botting] >> [Samples] >> 20060519PaulConrad
[Index] [Contents] [Source Text] [Search ]
Sat May 27 09:34:09 PDT 2006


    PSP Integration Tools Technical Report


      Paul Jefferson Conrad <>


      Dr. Richard Botting

      Dr. Ernesto Gomez

      Dr. Keith Schubert

      Executive Summary

        The utilization of integration tools with the Personal Software Process (PSP) can provide the Department of Computer Science with the necessary tools to improve the education of Computer Science students. The improved education of the students can help them become high quality software engineers in the software development industry. One Master's Project or independent study implementing the integration and one Master's Thesis analyzing the student impact will be needed in order to achieve the better educating of the Computer Science students.

      Thesis Summary

        The Personal Software Process (PSP) is introduced to Computer Science graduate students in Software Engineering (CS655) course. The purpose of introducing PSP to Computer Science students is to allow students to enhance their coding skills and documentation. PSP is the leading approach for software developers to improve their own software development skills. PSP data collection process is a time consuming task and error prone. The purpose of the thesis is to provide the California State University, San Bernardino Department of Computer Science with an analysis and recommended solution to improving the software development process of graduating Computer Science students.


        The integration tools should consist of Eclipse plugins that assist the students and professors with gathering the necessary PSP metrics. The requirements for the plugins are straight-forward and can be met by the Computer Science Department with minimal impact.


        The plugins will need to gather the standard metrics used in the PSP. These standard metrics will the number of lines of code, the number of defects found when compiling the code, and the time tracking parameters that are used in the PSP. The plugins should work in parallel with the PSP forms found in Appendix C of A Discipline for Software Engineering [hum]. All of the necessary fields used in the PSP calculations need to be automatically gathered by the plugins. A second plugin, acting as a stop watch, should be implemented to assist in the PSP metrics involving time measurements. These plugins should also have the functionality to integrate with the PSP Scriber [psp] done in the Master's Project by Heng-Hui Tsao.


        This section describes the process steps required to achieve the goal of the thesis. The order of appearance for the process steps is the recommended order to achieve the goal of the thesis.

        Lab Upgrade

        The first step is to have the laboratory machines upgraded to work with Eclipse. Ken Han will be in the process of upgrading the necessary laboratory machines during the upcoming summer to meet the Eclipse requirements. Once the upgrade in the laboratories is complete, then the installation of the Eclipse IDE should follow.

        Create Plugin

          The second step in this process will be to write the plugin to gather the PSP metrics. On the Eclipse website there is a excellent article [ecl] on creating plugins. Other good quality articles can be found from using Google with the search string creating eclipse plugins. The articles from Hewlett Packard (HP) and International Business Machines (IBM) are also worthwhile readings for learning how to create Eclipse plugins.

          Building the Plugins

          The plugins should be built as part of a Master's Project or an independent study. The plugin build should utilize the tutorial articles found on the Eclipse article website and other web resources on the subject.

        Faculty Training

        Training the Computer Science faculty should be done when the plugins have been created. The training would cover the basic usage of the PSP plugins for Eclipse, and what the plugins can and cannot do. With the proper training of the plugins, the faculty then has an added valuable resource to help with teaching the Computer Science students software engineering practices.

        More Data Gathering

        In the future there should be more information gathering on the learning effects of the plugins. Since in Paul Conrad's Master's Thesis [pjc] did an interview with the Computer Science faculty to investigate solutions for improving the student software process, a survey on the student responses to the integrated tools should be conducted to investigate the impact the plugins have in their education.


    (ecl): Jim Amsden, [ YourFirstPlugin.html ]
    (pjc): Paul J. Conrad, Analysis of PSP-Like Tools for Software Engineering, CSUSB 2006
    (hum): Watts S. Humphrey, A Discipline for Software Engineering, Addison-Wesley 1995
    (psp): Heng-Hui Tsao, Personal Software Process (PSP) Scriber, CSUSB 2002