module Minireq::Dsl::Fpa
Constants
- AVG
- COMPLEXITY
- FACTOR
- HIGH
- LOW
- POINT_TYPE
- UFP_VALUES
Public Instance Methods
ufp(type:, det:, ret: 0, ftr: 0)
click to toggle source
Calculate unadjusted funtion points TODO check input values and their cobinations
# File lib/minireq/dsl/fpa.rb, line 8 def ufp(type:, det:, ret: 0, ftr: 0) complexity = case type when :ILF, :EIF case ret when 1; det > 50 ? AVG : LOW when 2..5; det < 20 ? LOW : det > 50 ? HIGH : AVG else det < 20 ? AVG : HIGH end when :EI case ftr when 0..1; det > 15 ? AVG : LOW when 2; det > 15 ? HIGH : det > 4 ? AVG : LOW else det > 4 ? HIGH : AVG end when :EO, :EQ case ftr when 0..1; det > 19 ? AVG : LOW when 2..3; det > 19 ? HIGH : det > 5 ? AVG : LOW else det > 5 ? HIGH : AVG end end UFP_VALUES[type][complexity] end
vaf(system_characteristics)
click to toggle source
@return [Number] Value Adjustment Factor @param system_characteristic [Hash] vaule must be in range 0..5. Hash keys don't bring anything in calculation
- :data_communications, :distributed_data_processing, :performance, :heavily_used_configuration, :transaction_rate, :online_data_entry, :enduser_efficiency, :online_update, :complex_processing, :reusability, :installation_ease, :operational_ease, :multiple_sites, :facilitate_change
-
TODO check value in range?
# File lib/minireq/dsl/fpa.rb, line 37 def vaf(system_characteristics) sum = system_characteristics.values.inject(0, :+) sum * 0.01 + 0.65 end