Table of Contents
While the design of Hackystat is agnostic with respect to the choice of language and development tools, it is helpful to see how Hackystat is used in specific development contexts. In this chapter, we illustrate the way Hackystat can be applied to the measurement of Java software development using the Ant build system. The chapter introduces a very simple Java system called "StackyHack" that can be downloaded and used to replicate all of the Hackystat measuresments shown in this chapter. Doing so provides you with a more concrete sense of how Hackystat works, as well as providing you with a considerable amount of template Ant code that will expedite the introduction of Hackystat measurement into your own Java and Ant-based projects.
StackyHack is an Ant and Java-based system that implements a Stack abstract data type. Implementing a stack takes only a few lines of code and is completely uninteresting. In fact, we will not bother to look at the actual Java code in this chapter. What we will focus on is the set of Ant build files for this system, which collect and send a variety of sensor data to a Hackystat server. By playing with StackyHack, you can gain insight into the steps required to obtain multiple product and process measurements on your own projects.
This chapter is organized into the following sequence of sections:
"Setup" sections, which illustrate the installation of appropriate versions of Java and Ant, registration with a Hackystat server, and the downloading of the StackyHack application.
"Measurement" sections, which illustrate the variety of tools for Java system analysis and the Hackystat sensors developed for them.
"Analysis" sections, which illustrate how the measurements made previously can be displayed and manipulated once collected.
This chapter is not intended to provide an exhaustive description of either the full range of product and process measurements for Java and Ant-based systems, or the full range of possible analyses on those measurements. Any given Hackystat system configuration might support measurements and analyses not included here. Conversely, this section might present measurements or analyses not available in certain Hackystat configurations. Nevertheless, we hope this section will provide a good overview of the kinds of data collection and analysis possible for Java and Ant-based software development.