Académique Documents
Professionnel Documents
Culture Documents
Figure 5.3
Computing
function points
Five information domain characteristics are determined and counts are provided in the
appropriate table location. Information domain values are defined in the following
manner:
Number of user inputs. Each user input that provides distinct application-oriented
data to the software is counted. Inputs should be distinguished from inquiries, which
are counted separately.
Number of user outputs. Each user output that provides application-oriented
information to the user is counted. In this context output refers to reports, screens,
error messages, etc. Individual data items within a report are not counted separately.
Number of user inquiries. An inquiry is defined as an on-line input that results in the
generation of some immediate software response in the form of an on-line output.
Each distinct inquiry is counted.
Number of files. Each logical master file (i.e., a logical grouping of data that may be
one part of a large database or a separate file) is counted.
Number of external interfaces. All machine readable interfaces (e.g., data files on
storage media) that are used to transmit information to another system are counted.
1
Once these data have been collected, a complexity value is associated with each count.
Organizations that use function point methods develop criteria for determining
whether a particular entry is simple, average, or complex. Nonetheless, the
determination of complexity is somewhat subjective.
To compute function points (FP), the following relationship is used:
where count total is the sum of all FP entries obtained from Figure 5.3.
2
5.3.3 Object-Oriented Project Metrics
Conventional Software Project Metrics such as LOC and FP Metrics can be used to
estimate OO Projects. However, Conventional metrics do not provide enough aid for
the Project Schedule and Effort Adjustments that are required as we iterate through
evolutionary incremental process method.
Applications with a GUI have between two and three times the
number of support classes as key classes.
Applications with non-GUI have between one and two times the
number of support classes as key classes.
3
5. Number of Subsystems
A Sub-system is an aggregation of classes that support a function which is visible to
the end-user of a system.
Once subsystems are identified, it is easier to lay out a reasonable schedule in which
work on subsystems is partitioned among project staff.
Among the Measurers that can be collected for WEB Engineering Projects are:
No. of Static Web Pages
No. of Dynamic Web Pages
No. of Internal Page Links
No. of External System interfaces
No. of Persistent Data Objects
No. of Static Content Objects
No. of Dynamic Content Objects
No. of Executable Functions
4
5. NO. of Persistent Data Objects
One or more database files may be accessed by a WebApp. As the number of required
files grows, the complexity of WebApp also grows and effort to implement it
increases proportionally.
5
A review of these data indicates that one LOC of C++ provides approximately 1.6
times the "functionality" (on average) as one LOC of FORTRAN. Furthermore, one
LOC of a Visual Basic provides more than three times the functionality of a LOC for a
conventional programming language.
The primary source of quality measurers at the project-level is ‘Errors and Defects’.
Metrics derived from Errors and Defects provide an indication of the effectiveness of
software quality assurance and control activities.
6
5.6 Measuring Quality
There are many measures of software quality; but the following four metrics provide
useful indicators for the project team.
- Software correctness
- Software maintainability
- Software integrity
- Software usability
1. SOFTWARE CORRECTNESS
Correctness is the degree to which the software performs its required function.
Most common measures for correctness are DEFECTS / KLOC.
Defects are these problems that are reported by Users after the Software has been
released for general use.
For quality assessment, defects are counted over a standard period of time, typically
for one year.
2. SOFTWARE MAINTAINABILITY
Maintainability is the ease with which a program can be corrected when
an error is encountered, adapted if its environmental changes, or
enhanced if the customer desires a change in requirements.
There is no way to measure maintainability directly so we must use
indirect measurements.
Mean Time To Change Time-(MTTC), which is a simple time- oriented
metrics that can be used to analyze the changes required, design the
appropriate modification, test, implement and distribute the changes to all
users.
Programs that are maintainable have a lower MTTC than the programs
that are not maintainable.
3. SOFTWARE INTEGRITY
This attribute measures a system ability to withstand both accidental and intentional
attacks to its security.
Attacks can be made on all three components of software (i.e. programs, data and
documents).
Integrity has become extremely important in the age of ‘’Hackers and Firewalls’’
Threat probability - that an attack of a specific type will occur within a given
time.
Security probability - that the attack of a specific type will be repelled.
7
4. SOFTWARE USABILITY
Usability is an attempt to quantify user-friendliness and can be measured in terms of
the following four characteristics.
USABILITY CHARACTERISTICS
1. The physical and / or intellectual skill required to learn the system.