浅谈软件开发的投资回报率

浅谈软件开发的投资回报率

ID:34116932

大小:439.35 KB

页数:3页

时间:2019-03-03

浅谈软件开发的投资回报率_第1页
浅谈软件开发的投资回报率_第2页
浅谈软件开发的投资回报率_第3页
资源描述:

《浅谈软件开发的投资回报率》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、浅谈软件开发的投资回报率由于涉及到的参数众多并且参数属性不同,投资回报率的计算通常比较复杂。这些影响因素有的相对来说容易识别,有的则是比较难以获取和计量。在这本白皮书里,我们识别和讨论了9个影响与静态分析相关的投资回报率最佳化的关键因素。同时我们也设计了基于来自实际开源项目分析代码的案例来帮助我们论证和量化对投资回报率的潜在影响。准确计算投资回报率是一项非常复杂的工作,他要求我们考虑多方面的影响因素,比如预估收益来源、确定回报周期、量化资本成本、评估预测精度、分析潜在风险等等。在这诸多影响因素当中,成本和收益无疑是投资回报率的核心问

2、题。接下来的几天里,我们将逐一分析软件开发生命周期(SDLC)的9个关键行为与投资回报率的关系。这9个关键行为对软件开发的成本及收益起着决定性的作用。3、代码重用对于大多数商业软件而言,其新编代码的比例通常是非常低的,大多数代码是已经存在又被重用的,代码重用最大的好处在于提高投资回报率。我们注意到,对于“已经存在的代码”有着很多不同的定义,业界认为“已经存在的代码”大致可以分为以下四类。随着公司越来越依赖于这些“已经存在的代码”,对其优缺点和成本影响进行深入探究就变得非常重要了。遗产代码:很多时候,遗产代码独立于公司当前的项目进程

3、和最佳实践方式:关键开发工具的版本已不再支持遗产代码、遗产代码的开发人员已经离开,等等。因此,遗产代码的应用面临重重挑战,在安全相关领域更是尤为突出。在验证遗产代码的结构完整性方面,静态分析工具和代码标准扮演着重要的角色,同样的作用也体现在代码的更新机制方面,使得遗产代码符合现今的代码标准和最佳实践。这将显著地影响投资回报率,并降低风险。开源代码:开源代码存在一个不可回避的问题,开源代码的来源以及后续支持是不确定的。通过静态分析工具和代码标准,我们可以对开源代码的源代码进行验证,以保证开源代码的可靠性。自动生成代码:通过静态分析工具

4、和代码标准,对自动生成的代码进行验证,我们可以获悉代码自动生成工具可靠性。在这里,投资回报率依赖于工具选择性验证手写代码的能力。一些代码库比较小的团队采用MDD进行设计、可视化及建模,但是并不通过MDD进行代码自动生成。一个被广泛接受的结论是:对于代码规模较小的团队,人工生成和验证更具成本效益。外包:软件外包的趋势持续增长,其主要原因为解决人员短缺、降低劳动成本、专业技能的可用性、全天工作流程。外包有时限于软件,有时是软硬件捆绑。如汽车行业,OEMs的供应链深且广泛。在这种情况下,OEMs通常要求供应商开发的代码符合MISRA规范,

5、并且提供符合规范的证据。大多OEMs要求供应商递交QAC的检查报告,这为OMEs的软件结构完整性提供了保障。在这里,一个非常重要因素是:如何判断外包人员是否已经完成了自己的开发任务,谁来负责后续的维修和支持工作,这个因素一定会体现在供应协议当中。比如,供应协议规定维修工作外包等等。如果代码质量高且易于维护,供应商的利润率会得到显著的提升。同样的,如果供应商的代码结构差,维护成本将会非常高,风险亦是如此。4、生命周期模型正如前文提到的,在SDLC进程中尽早识别并修复缺陷至关重要,对投资回报率有着很大的影响。敏捷开发提倡在较短的开发短

6、期(通常4—8周)内快速交付,因此代码需要保持在一个持续良好的状态,缺陷一旦引入必须尽快消除。类似地,持续交付也要求代码保持在一个持续良好的状态。因此,静态分析能够很好地与敏捷开发和持续集成理念集成也就不足为奇了。事实上,早期经常对代码进行静态分析有助于提高静态分析投资回报率。传统的开发模型,比如瀑布模型和V-模型,很有可能会延迟缺陷的发现。在这些传统的连续开发模型中,编码和测试之间有着相当长的时间间隔。在这种机制下,正如前面所讨论的,最大化静态分析的投资回报率意味着把缺陷消除从测试阶段提前到开发阶段。5、自动化代码静态分析的自动

7、化与以下两个因素强相关:与SDLC的进程进行集成以及工具分析源码的效率。自动化将带来很多好处,尤与投资回报率相关,如:可伸缩性---能够轻松地增大分析量速度---显著改善分析的持续时间一致性和可预测性---自动化工具每次都会提交相同的结果,不会因人而异。独立---工具的输出是客观的,而不同的人有不同的观点精确度---提供高质量的输出可追溯性---自动化过程可留下相关文档(审计),可用作执行验证的依据解放关键专家资源——从重复性任务当中解放出来,从事更有价值的活动。6、静态分析工具的有效性毫无疑问,采用自动化进程会为开

8、发团队带来很多好处。但前提是团队采用高效的静态分析工具。如果团队采用无效的静态分析工具,将会带来很多严重的问题。误报:在分析结果时,高误报率带来的明显影响是额外增加的时间和成本。如果开发团队选用的编码规则数量有限,且代码规模有限,误报

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。