Other Issues

Software Maintenance

One possible extension in the future program development is the online service application.

In this case, the implementation code modification is clearly required. For instance, add new code to drive the online accesses. In addition, test plan needs also to be modified, e.g. new test cases to test online accesses. New set of required test results are also required for matching purposes. The old test cases are still needed to assure that the new implementation does not affect/harm the old functionalities in the previous implementation. In conjunction with that, requirement changes are definitely needed, and hence the associated model/design also needs to be reviewed.

Software Quality Assurance

Objectives:

One possible software metric that can be used to measure here is the Halstead's Software Science Metrics. Halstead's metrics is used to measure the characteristics of software. It proposed that the more complex of a piece of software, the more difficult it is to develop and maintain. Halstead made two major assumptions: complete and unambiguous statement of algorithm, and that programmers are fluent in implementation language and fully devoted to the task given. 

A simple calculation example for a procedure in our implementation:

    Private Sub cmdfind_Click()

            prompt$ = "Enter the client's full name"              
            SearchStr$ = InputBox(prompt$, "Client Search")

            clientDB.Recordset.Index = "ClientName"            
            clientDB.Recordset.Seek "=", SearchStr$            

            If clientDB.Recordset.NoMatch Then                  
                    clientDB.Recordset.MoveFirst                  
            End If

    End Sub

The operators and operands of the routine code above can be captured in the following table:

Operator Occurrence Operand Occurrence
Private 1 prompt$ 2
Sub 1 "Enter the client's full name" 1
cmdFind_Click() 1 "Client Search" 1
= 4 "ClientName" 1
InputBox() 1 SearchStr$ 2
If ... Then 1 clientDB 4
Recordset 4    
Index 1    
Seek 1    
Move First 1    
NoMatch 1    
. 8    
, 2    
End If 1    
End Sub 1    

From the table above:

         n1 = 15        where n1 = the number of unique (different) operators in the program

         n2 = 6          where n2 = the number of unique (different) operands in the program

         N1 = 29        where N1 = the total number of occurrences of operators

         N2 = 11        where N2 = the total number of occurrences of operands

Hence we can calculate as follows:

        Size of vocabulary:    n = n1 + n2 = 21

        Program length:        N = N1 + N2 = 40

        Program volume:       V = N log2 n = 176

Assume the most compact representation is cmdfind_Click();

        n1 = N1 = 2;       n2 = N2 = 0

        n = N = 2;         V* = N log2 n = 2 log2 2 = 2

        Program level:            L = V* / V = 0.01136

        Programming effort:    E = V / L = 15488

        Programming time:    T = E / 18 = 860.4 seconds

       

Hosted by www.Geocities.ws

1