Index of /~billard/se/cs4320/ex8

      Name                    Last modified       Size  Description

[DIR] Parent Directory 20-Apr-2008 08:49 - [   ] print.bat 19-May-2009 09:03 1k [TXT] setpaths 19-May-2009 09:03 1k


CS 4320 Software Testing and QA: Ex8 METRICS
============================================

Platform: UNIX

Given: source code

Goal: Examine various software metrics. Metrics allow the engineer
      to view the software in a variety of dimensions. These metrics
      can help the engineer understand the software in both design
      and implementation.

a. Examine the various metrics in:

   http://www.semdesigns.com/Products/Metrics/JavaMetrics.txt
 
b. Use the CCCC metric tool to examine the b-tree sources:

   % source setpaths
   % cccc ../ex7/btree.c
   

   This does not work on the new sun machines in lab:
   % netfile .cccc/cccc.html
  
   Instead, click on the "globe" at the lower part of the screen.
   Then Open File in netscape and browse to your ex21 directory.
   Then open file: .cccc/cccc.html

   If you are working at home, then ftp this file home and apply your 
   browser to it.
 
   Examine the Cyclometic Complexity, etc.
 
   Exit from netscape.
 
c. Do an investigation of the OO metrics of the Java implementation:

   % ls /apps/jdk1.1.4/src/java/lang/*.java | cccc -
   % netfile .cccc/cccc.html

d. Fill-out report.txt with answers to the following questions:

   QUESTION 1: a) What is the Cyclometric (Cyclomatic) Complexity for the entire package?
              
               b) What is the significance of the Cyclometric Complexity?

   QUESTION 2: a) What is the Cyclometric Complexity for FloatingDecimal.java?

               b) Per Line of Comment?
               
               c) What is the relevance of the Cyclometric Complexity with respect to comments?

   QUESTION 3: a) What is the Depth of the Inheritance Tree for LinkageError.java

               b) What is the Number of Children?

   QUESTION 4: a) What is the Coupling of String.java with other modules.
              
               b) Visible Fan-in?

               c) Visible Fan-out?
               
               d) What is the meaning of coupling in software engineering?

e. project notebook (see print.bat):
  
   README
   report.txt