某编译程序属中型软件,开发工作始于1988年3月,1991年9月交付使用,截止1991年9月共耗费人力费用Cd(td)=14.8人年,开发程序工作量S=4700NCSS (1)利用 Putnam模型计算规模参数a、项目总周期人力总费用Kp、开发环境因子E、项目难度系数D和人力增长率D0以及开发峰值时间tod和人数mod=md(tod)、项目峰值时间top和人数moP=m怕(top)。 (2)根据(1)中计算的 D0值,你认为在保持原有的人力费用投人水平下,此软件能否在更短的时间内开发出来?理由何在?
时间: 2023-06-14 13:03:29 浏览: 205
(1) 根据Putnam模型:
a = 2.4 * S^1.05 * E^-0.38 = 2.4 * 4700^1.05 * 1^-0.38 ≈ 175.3
Kp = Cd * (a / D)^3 = 14.8 * (175.3 / 1)^3 ≈ 909,118 人元
D0 = 0.4 * (Kp / Cd)^0.17 = 0.4 * (909,118 / 14.8)^0.17 ≈ 4.6
因为D0=4.6比较高,表示此项目的难度较大,需要更多的人力和时间来完成。
根据模型中的公式:
tod = 0.28 * (Kp / Cd)^0.33 = 0.28 * (909,118 / 14.8)^0.33 ≈ 22.4 月
mod = a / tod = 175.3 / 22.4 ≈ 7.8 人
top = 0.67 * tod = 0.67 * 22.4 ≈ 15 月
moP = a / top = 175.3 / 15 ≈ 11.7 人
因此,项目的开发峰值时间为22.4个月,需要7.8人的开发团队,在15个月的时间内需要11.7人的团队才能完成。
(2) 在保持原有的人力费用投人水平下,如果想要在更短的时间内开发出软件,需要增加开发团队的人数。但是,增加团队人数可能会导致沟通和协调方面的问题,可能会降低开发效率。另外,增加人力投入可能会导致成本增加,这也需要考虑。因此,在不影响软件质量和成本的前提下,增加团队人数可能是一种解决方案。
相关问题
某编译程序属中型软件,开发工作始于1988年3月,1991年9月交付使用,截止1991年9月共耗费人力费用C_d(t_d)=14.8人年,开发程序工作量S=47000NCSS。 (1)利用Putnam模型计算规模参数a,项目总周期人力总费用K,开发子周期的人力总费用K_P,开发环境因子E,项目难度系数D和人力增长率D_0以及开发峰值时间t_od和人数m_od=m_d(t_od),项目峰值时间t_oP和人数m_oP=m_P(t_oP)。 (2)根据(1)中计算的D_0值,你认为在保持原有的人力费用投入水平下,此软件能否在更短的时间内开发出来?理由何在?
(1) 根据Putnam模型,规模参数a可通过历史数据计算得到:
a = S / (C_d(t_d))^b
其中,b的取值通常为1/3,根据给定的数据可得:
a = 47000 / (14.8)^0.33 ≈ 161.6
项目总周期人力总费用K为:
K = a * (C_d(t_d))^b
K = 161.6 * (14.8)^0.33 ≈ 104.4 人年
开发子周期的人力总费用K_P为:
K_P = (1 - E) * K
假设开发子周期为1年,则项目难度系数D可通过以下公式计算:
D = K_P / (m_d * t_d)
其中,人力增长率D_0可通过以下公式计算:
D_0 = (m_oP / m_od)^(1 / (t_oP - t_od)) - 1
假设开发峰值时间t_od为项目起始时间1988年3月,项目峰值时间t_oP为1990年3月,则可计算出D_0为:
D_0 = (10 / 1)^(1 / (24)) - 1 ≈ 0.304
因此,项目难度系数D为:
D = K_P / (m_d * t_d) ≈ 5.1
(2) 如果要在原有的人力费用投入水平下缩短开发时间,则需要增加人力投入。根据Putnam模型,当人力投入增加时,难度系数D会下降,但总费用K会增加。因此,需要权衡时间和成本的关系,根据实际情况决定是否增加人力投入。如果增加人力投入,需要保证团队的协同效率,避免因为过多的人员而带来的沟通和管理成本增加。
阅读全文