Universitatea "Politehnica" Timisoara: Facultatea de Automatica Si Calculatoare
Universitatea "Politehnica" Timisoara: Facultatea de Automatica Si Calculatoare
Universitatea "Politehnica" Timisoara: Facultatea de Automatica Si Calculatoare
FUNCTION-ORIENTED METRICS
2) Outputs:
– Outputs are screens or reports that the application produces for human use
or for other programs.
– Note that outputs requiring separate processing are the units to count;
– For example, in a payroll application, an output function that created, say,
100 checks would still count as one output.
3) Inquiries:
– Inquiries are screens that allow users to interrogate an application and ask
for assistance or information, such as Help screens.
4) Data files:
– Data files are logical collections of records that the application modifies or
updates. A file can be, for example:
– A flat file such as a tape file,
– One leg of a hierarchical database such as IMS,
– One table within a relational database,
– One path through a CODASYL network database.
5) Interfaces:
– Interfaces are files shared with other applications and include:
– Incoming or outgoing tape files,
– Shared databases,
– Parameter lists.
Complexity multiplier=0.65+0.01*(Sum_of_the_influence_factors)
From the above formula, it can be seen that the total Complexity multiplier varies
from 0.65 (when Sum=0) to 1.35 (when Sum=70), or from minus to plus 35 percent.
To finalize the size estimation in this new conditions:
– Estimate the impact of each influence factor by values from 0 to 5.
– Add the assigned values for this factors and obtain the
Sum_of_influence_factors.
– Calculate the Complexity Multiplier based on the formula:
Complexity Multiplier=0.65+0.01*(Sum_of_influence_factors)
– Multiply the Unadjusted Total of functional points with the Complexity
Multiplier in order to obtain the Function points number for the estimated
SW.
Table 2
Table 4
While function point to SLOC conversion ratios are useful, and often sometimes
necessary, they should be used with caution. Table 4 illustrates that:
– While the two researchers agree on the ratios for some languages such as Ada,
they differ on the ratios for other programming languages such as Pascal and
PL/1.
– For the COBOL language, research by Henderson showed that the conversion
ratios are inconsistent both within and between databases. For example:
– For two databases maintained at the Air Force Standard Systems Center,
Henderson found that for a military data base of 26 COBOL programs,
the average SLOC to function point ratio was 14:1,
– While for a database of 31 commercial COBOL programs, the average
SLOC to function point ratio was 165:1.
– Furthermore, there was considerable variance for these ratios within the
databases.
Therefore, for some languages it appears that backfiring should not be used, and
for cost estimation, it is probably best to use a model for which the algorithms are based
on the user’s size measure (i.e., calibrated parametric sizing models).
The metrics based on characteristic points was proposed by C.A. Jones [C.A.
Jones, “A short History of Function Point Method and Feature Points Software
Productivity” Research, Inc., Burlington, MA, June, 1986].
The method is not very much different from function-point method. In fact there
are three differences:
– Function-points are substituted with characteristic points
– The associated weights has different values
– A new parameter is added: algorithms with weight 3
Table 5
Given any computer program, we can draw its control flow graph, G, wherein
each node corresponds to a block of sequential code and each arc corresponds to a
branch or decision point in the program. The cyclomatic complexity of such a graph can
be computed by a simple formula from graph theory, as v(G) = e − n + 2, where e is the
number of edges, and n is the number of nodes in the graph. McCabe proposed that v(G)
can be used as a measure of program complexity and, hence, as a guide to program
development and testing. For structured programs, v(G) can be computed without
reference to the program flow graph by using only the number of decision points
in the program text [McCabe76]. McCabe’s cyclomatic complexity metric has been
related to programming effort, debugging performance, and maintenance effort. The
studies by Curtis and Woodfield referenced earlier also report results for this metric
[Curtis79b, Woodfield81, Harrison-82].
Current trends in the software metrics area are encouraging. Metrics are being
applied more widely, with good results in many cases. The limitations of existing models
have been recognized, and people are becoming more realistic in their expectations of
what these models can provide. There is a growing awareness that metrics programs pay
off, but not without some investment of both time and resources. As the benefits of
software metrics programs become more evident, the establishment of such a program
will become essential for software development organizations to remain competitive in
this area.
Finally, although there are still a large number of metrics in use or under active
investigation, a smaller set of metrics is emerging as having more practical utility in the
measurement of the software development process. An economical set of metrics
capturing the essential characteristics of software may yet emerge from this smaller,
more useful set. Software engineering is still a very young discipline. There are
encouraging signs that we are beginning to understand some of the basic parameters that
are most influential in the processes of software production.
Bibliography:
1. http://www.sei.cmu.edu/publications/documents/cms/cm.012.ht
ml
2. http://www.google.ro/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2
Fwww.csie.mcu.edu.tw%2F~hsong%2Fse%2Fse_04metrics.ppt&ei=bIn9Sc6FG4
OS_Qa3n5yiBA&usg=AFQjCNHGGZAMn_0DMkBqhdFz391AbKARnw&sig2
=qGmpLYW1J8vbqTbyUM_9_w
3. http://www.google.com/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F
%2Fwww.engineerszone.org%2Fstdymat%2Fcs%2F5%2520sem%2520cs%2520s
e%2Funit-
2_b.pdf&ei=BYr9SZrsDdqOsAbKifG4BA&usg=AFQjCNFB04GjtEI8nASeTXK
pg0vbDwTydg&sig2=YuK-klAEJx5mgDrVGuqoKg (www.engineerszone.org)
4. Vladimir Cretu, curs MPS pentru anul IV Calculatoare, capitolul 4, “Function
oriented metrics”.