Measurements in the physical world can be categorized in two ways: direct measures and indirect measures.
- Direct process measures include lines of code (LOC), execution speed, memory size, defects reported over some time period.
- Indirect product measures examine the quality of the software product itself (e.g. functionality, complexity, efficiency, reliability, maintainability).
- These are derived by normalizing (dividing) any direct measure (e.g. defects or human effort) associated with the product or project by LOC.
- Size oriented metrics are widely used but their validity and applicability is widely debated.
- Software organization can maintains simple records as shown in fig.
- The table lists each software development project that has been completed over the past few years and corresponding measures for that project.
- In order to develop metrics that can be understood with similar metrics from other projects, we choose lines of code as our normalization value.
- Errors per KLOC (thousand lines of code)
- Defects per KLOC
- $ per LOC
- Pages of documentation per KLOC
- Size-oriented metrics are widely used, but debate about their validity and applicability continues.
- LOC measures are programming language dependent.
- Their use in estimation requires a level of detail that may be difficult to achieve
- Artifacts of software development which is easily counted
- Many existing methods use LOC as a key input
- A large body of literature and data based on LOC already exists.
- This measure is dependent upon the programming language.
- This method is well designed but shorter program many get suffered.
- It does not accommodate non procedural languages.
- In early stage of development it is difficult to estimate LOC.
B) Function-Oriented Metrics:
- Function points are computed from direct measures of the information domain of a business software application and assessment of its complexity.
- Once computed function points are used like LOC to normalize measures for software productivity, quality, and other attributes.
- The relationship of LOC and function points depends on the language used to implement the software.
- It uses a measure of functionality delivered by the application as a normalization value.
- Since ‘functionality cannot be measured directly, it must be derived indirectly using other direct measures
- Function Point (FP) is widely used as function oriented metrics.
- FP is based on characteristic of Software information domain.
- FP is programming language independent.
FP- Five information domain characteristics
Measurement parameter
|
Weighting factor
|
|||||
Simple
|
Average
|
Complex
|
||||
Number of user inputs
|
3 x _
|
4 x _
|
6 x _
|
|||
Number of user outputs
|
4 x _
|
5 x _
|
7 x _
|
|||
Number of user inquiries
|
3 x _
|
4 x _
|
6 x _
|
|||
Number of files
|
7 x _
|
10 x _
|
15 x _
|
|||
Number of external interfaces
|
5 x _
|
7 x _
|
10 x _
|
|||
Simple Total
|
Average Total
|
Complex total
|
||||
Count Total
|
- Number of user inputs - Each user input that provides distinct data to the software is counted
- Number of user outputs - Each user output that provides information to the user is counted. Output refers to reports, screens, error messages, etc
- 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. large database or separate file) is counted.
- Numbers 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.
Advantages
- This method is independent of programming languages.
- It is based on the data which can be obtained in early stage of project.
Disadvantages
- This method is more suitable for business systems and can be developed for that domain.
- Many aspects point of this method are not validated.
- This functional point has no significant meaning. It is just numerical value.
0 comments :
Post a Comment
Note: only a member of this blog may post a comment.