软件项目规模_软件项目中的非线性

在软件开发中,有许多量,比如开发人数、模块数、错误的数量等,这些量之间有的有一定的关系。这些关系中,有的是线性,有的是非线性的。有的在数值较小时近似为线性,当数值较大时,则表现为非线性。

这里举几个常见的非线性的例子。

1ab4015993ae18d260fbb7966328b620.png

复杂度-模块数量曲线

软件设计,其实就是管理复杂度。常用的方法是模块化。把复杂的软件划分为多个模块,每个模块完成独立的特定的功能,每个模块都比较简单,容易实现。将多个简单的模块连结在一起,形成复杂的软件。当模块较少时,模块的数量与软件的复杂度成线性关系。模块越多,软件复杂度越低。然而,随着模块的增加,模块和模块之间的连结的复杂度也增加。因此,模块太多时,软件复杂度反而会增加,不再是线性关系。

当软件规模较大时,需要多人才能完成。当人数增加时,每个人的工作量会便少,预计软件可以在更短的时间内完成。但是,当人数太多时,人员之间的交流变多了,人员各自的模块之间的交互也变多了,从而增加了工作量,完成软件需要的时间也会增加。人员和时间呈现出非线性的关系。



deeb87c2bb01857a0f3f4dd73424fa8f.png

剩余错误数-时间曲线

当软件基本完成,开始进行检测错误和纠正错误。假设开始是错误列表上有十个错误需要修正。进行了三天后,修正了五个错误,于是,估计再有三天就全部修正完了。可是最终,可能再需要六天才完成。这是因为,在修正错误时,总是会先挑比较容易修正的错误,而把难的留在最后,于是,越到后面,错误越难修正,同样的错误数,花的时间也会更多。错误数和相应的修正时间呈现出一种非线性关系。如果一开始时就随机挑选列表中的错误,那么后面的时间估计就可能会更准确一点。



7138b60c9db6e75a01959d9d417bcb07.png

绩效-压力曲线

在软件项目管理中,适当给项目成员适当增加压力,的确可以提高其工作绩效,使项目进展更快。但是,压力和工作绩效并不是线性关系,当加大压力,工作绩效不会无限提高。相反,压力增大到一定程度,工作绩效反而下降,即,出现崩溃的现象。

在软件项目中,当软件规模较小时,各量之间呈现出近似的线性关系,而当规模较大时,就会出现非线性关系。如果还是运用线性的思维,其效果就会出现偏差,有可能导致项目的失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值