某实时处理软件属于小型软件,其开发环境因子估算为E=2200,经参照同类软件的统计资料,该软件的人力增长率定为D_0=8人/年^2,软件程序量测算值S=5500NCSS. (1)利用Putnam模型计算该软件开发时间t_d,项目总周期人力总费用K,开发子周期人力费用K_d,项目难度系数D,开发阶段峰值人力数m_od=m_d(t_od)。 (2)用户对(1)中计算之开发时间t_d不满意,希望在保持原有S,E条件下,在此t_d基础上压缩工期两个月,试问相应的D_0及K将会有何种变化。
时间: 2023-06-11 19:06:55 浏览: 206
根据Putnam模型,我们可以得到以下公式:
$t_d = 2.5*(E/S)^{0.38}$
$K = t_d*D*K_d$
$K_d = m_od*w*(1+r)^{-t_d}$
$D = E/(S*m_od^p)$
$m_od = 3.12*S*D^{0.33}$
其中,$w$ 为人力成本,$r$ 为人力成本增长率,$p$ 为人力增长率指数,取值为0.31。
代入题目数据,可以得到:
$t_d = 2.5*(2200/5500)^{0.38} = 10.09月 ≈ 11月$
$K_d = 8*5500*(1.4)^{-10.09} = 125.27 人月元$
$D = 2200/(5500*(3.12)^{0.31}) = 0.196$
$m_od = 3.12*5500*(0.196)^{0.33} = 48.71 人$
$K = 10.09*8*125.27 = 1007.24 人月元$
现在,我们来计算压缩工期两个月后的情况。压缩工期意味着需要增加峰值人力数或者提高难度系数,或者同时进行。我们假设难度系数不变,只增加峰值人力数,即:
$m_od' = m_od + \Delta m_od$
$t_d' = t_d - \Delta t_d = 9月$
代入原有的公式中,可以得到:
$\Delta m_od = \frac{(t_d-t_d')*m_od}{t_d'}$
$\Delta m_od = \frac{(11-9)*48.71}{9} = 10.82 人$
$m_od' = m_od + 10.82 = 59.53 人$
$D_0' = D*(m_od/m_od')^p = 0.196*(48.71/59.53)^{0.31} = 0.237$
$K' = t_d'*D_0'*K_d = 9*0.237*8*125.27 = 214.4 人月元$
因此,在保持原有S、E条件下,压缩工期两个月后,难度系数增加至0.237,总人力费用减少至214.4人月元。
阅读全文