1.0.0 • Published 8 years ago

ucp-estimator v1.0.0

Weekly downloads
2
License
ISC
Repository
github
Last release
8 years ago

ucp-estimator

A package for software cost estimation using use case points given the number of use cases and actors. This can be useful when including estimation to your organization's landing page.

This estimator is patterned after the estimation sheet available here. If you want to know more about the estimation method and logic, you may refer to the same link.

Usage and Functions

All functions are accessible using the object UcpEstimator.

Estimate

UcpEstimator.estimate(usecases, actors)

Returns an object with the estimated man-hours and cost given that your organization uses a flat rate (e.g. { ManHours: 234, Cost: 117420 }).

usecases - Array of number of use cases grouped an arranged by complexity. For instance, given 3, 2, 0, the application has 3 simple use cases, 2 average use cases,and 0 complex use case. For additional information on how to assess use cases, please refer to primary reference linked above.

actors - Array of number of actors grouped and arranged by type. For instance, given 1, 2, 1, the application has 1 simple actor, 2 average actors, and 1 complex actors. For additional information on how to assess actors, please refer to primary reference linked above.

Estimate Man-hours

UcpEstimator.estimateManHours(usecases, actors)

Returns the estimated man-hours.

Parameters are the same with UcpEstimator.estimate().

Estimate Cost

UcpEstimator.estimateCost(usecases, actors)

Returns the estimated cost given that your organization uses a flat rate.

Parameters are the same with UcpEstimator.estimate().

Configuration

The configuration used by the estimator is accessible through UcpEstimator.config. Default values were set with reference to the downloadable estimation sheet and consideration to the ideal scenario of a ground up project.

This can be altered depending on you or your organizations view of a typical project.

KeyLong NameFormat/DescriptionDefault Value
envFactorsEnvironmental FactorsArray of values corresponding to the following in order:Familiarity with the Project Application Experience OO Programming Experience Lead Analyst Capability Motivation Stable Requirements Part Time Staff Difficult Programming Language5, 0, 5, 5, 5, 0, 0, 0
techFactorsTechnical FactorsArray of values corresponding to the following in order:Distributed System Required Response Time Is Important End User Efficiency Complex Internal Processing Required Reusable Code Must Be A Focus Installation Ease Usability Cross-Platform Support Easy To Change Highly Concurrent Custom Security Dependence On Third-Party Code User Training1, 1, 1, 1, 1, 0, 2.5, 2.5, 1, 1, 1, 1, 1
envMultipliersEnvironment Factor MultipliersDefault multipliers for environment factors in the estimation sheet.1.5, 0.5, 1, 0.5, 1, 2, -1, -1
techMultipliersTechnial Factor MultipliersDefault multipliers for technical factors in the estimation sheet.2, 1, 1, 1, 1, 0.5, 0.5, 2, 1, 1, 1, 1, 1
ucMultipliersUse Case MultipliersDefault multipliers for use cases arranged from Simple to Complex.5, 10, 15
actMultipliersActor MultipliersDefault multipliers for actors arranged from Simple to Complex.1, 2, 3
hoeHours of Effort per Use CaseIn favor of the best case, this is set to 20.20
OptionalflatRtFlat RateOnly useful if you or your organization uses a flat rate for costing. The value is just a sample.500