[dsl.pert] PERT DSL

{{ parent: dsl }}

The System shall provide PERT DSL to estimate software development effort by PERT method (See PERT method overview (rus)). An example of PERT DSL file is as follows.

skip 'ident', 'top level header'
pert 'ident.1', o: 10, m: 14, p: 22
pert 'ident.2', o: 10, m: 14, p: 22
pert 'ident.3', o: 10, m: 14, p: 22
# puts calculate

[dsl.pert.skip] Skip

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

[dsl.trace.pert] Pert

The System shall provide PERT DSL function pert to evaluate PERT estimations of effort and error for the object development.

The pert function must accept the following parameters.

Parameter | Type | M | Description :——– | —— | - | :——————— object | Object | Y | Estimated object o: | Number | Y | Optimistic estimation m: | Number | Y | Most usual estimation p: | Number | Y | Pessimistic estimation

The pert function must return hash of effort and error values {effort: 37, error: 3}

[dsl.pert.calc] Calculate

The System shall provide function calculate for PERT DSL. This function shall calculate summary effort, error and effort95% and return hash of the calculations result {effort: 47, error: 12, e95: 51}.

Calculation result of PERT DSL function calculate

Key | Type | Description :—– | :—– | :————————————————- effort | Number | Summary effort error | Number | Average error e95 | Number | Summary effort with 95% TBD: what this right name?

[dsl.pert.dup] Duplicates

When an estimation is being added through skip and pert 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.