[dsl.fpa] FPA DSL

{{ parent: dsl }}

The System shall provide FPA DSL to estimate software development effort by Function Point Analysis (FPA) methodology. An example of FAP DSL file is as follows.

ILF 'Product',  det: 20, ret: 3
ILF 'Customer', det: 20, ret: 2
ILF 'Order',    det: 10, ret: 1

EO 'CustomerView', det: 20, ftr: 1
EI 'CustomerEdit', det: 20, ftr: 2
EQ 'CustomerEdit', det: 20, ftr: 2

characteristics ({
  data_communications:         0,
  distributed_data_processing: 0,
  performance:                 0})

# calculate

[dsl.fpa.skip] Skip

The System shall provide FPA DSL function skip. This function shall have the same meaning, parameters and behavior as Tracing DSL function skip [[dsl.trace.skip]]

[dsl.fpa.ilf] ILF (Internal Logical File)

The System shall provide FPA DSL function ILF to add new ILF estimation for object.

The ILF function must accept the following parameters.

Parameter | Type | M | Description :——– | —— | - | :——————— object | Object | Y | Estimated object det: | Number | Y | Number of Data element type ret: | Number | Y | Number of Record element type

[dsl.fpa.eif] EIF (External Interface File)

The System shall provide FPA DSL function EIF to add new EIF estimation for object.

The EIF function must accept the following parameters.

Parameter | Type | M | Description :——– | —— | - | :——————— object | Object | Y | Estimated object det: | Number | Y | Number of Data element type ret: | Number | Y | Number of Record element type

[dsl.fpa.ei] EI (External Input)

The System shall provide FPA DSL function EI to add new EI estimation for object.

The EI function must accept the following parameters.

Parameter | Type | M | Description :——– | —— | - | :——————— object | Object | Y | Estimated object det: | Number | Y | Number of Data element type ftr: | Number | Y | Number of File type record

[dsl.fpa.eo] EO (External Output)

The System shall provide FPA DSL function EO to add new EO estimation for object.

The EO function must accept the following parameters.

Parameter | Type | M | Description :——– | —— | - | :——————— object | Object | Y | Estimated object det: | Number | Y | Number of Data element type ftr: | Number | Y | Number of File type record

[dsl.fpa.eq] EQ (External Inquiry)

The System shall provide FPA DSL function EQ to add new EI estimation for object.

The EQ function must accept the following parameters.

Parameter | Type | M | Description :——– | —— | - | :——————— object | Object | Y | Estimated object det: | Number | Y | Number of Data element type ftr: | Number | Y | Number of File type record

[dsl.fpa.sysch] Characteristics

The System shall provide FPA DSL function characteristics to provide adjustment information about system characteristics for full estimation.

The EQ function must accept the following parameters.

Parameter | Type | M | Description :————– | —- | - | :—————————– characteristics | Hash | Y | Hash of system characteristics

[dsl.fpa.calc] Calculate

The System shall provide function calculate for FPA DSL. This function shall calculate number of unadjusted function points, adjustment factor and number of function points and return hash of the calculation result {{ufp: 57, vaf: 0.65, fp: 45}}.

Calculation result of FPA DSL function calculate

Key | Type | Description :– | :—– | :———————————- ufp | Number | Total of unadjusted function points vaf | Number | Adjustment factor value fp | Number | Total of fnction points

[dsl.fpa.dup] Duplicates

When an estimations is being added through skip or ILF, EIF, EO, EI, EQ functions, if requirement with the same id is already estimated, the System shall abort the execution with the following error message Requirement <id> is already estimated. Operation aborted.