在20世纪60年代和70年代,软件开发方法最合适的描述是手工技能,即每个项目都使用定制的过程和工具。到20世纪80年代和90年代,软件行业已经成熟,并变得更加工程标准化。然而,这一时期的软件项目仍然主要是由人类的创造力和非经济规模主导的密集型研究。所谓的软件规模不经济是指工作量和规模之间的关系。与大多数制造过程相反,软件构建得越多,软件单位成本就越高。为了使软件行业快速发展到以自动化和规模经济为主流的更多产品密集型方向,必须建立一个高效的软件开发环境。
一、定义软件开发环境
目前,许多软件企业专注于提高软件能力的成熟度,以促进软件管理的可视性和可测量性,并在产品质量、上市时间、投资回报和生产率方面提高软件业务的性能。为了使现代软件开发项目运行良好,工艺定义和工艺自动化工具的使用是必不可少的。软件开发环境不仅包括软件开发工具,还包括软件开发过程。软件开发过程是人们开发和维护软件及其相关产品(如项目计划、设计文档、代码、测试用例、用户手册等)的一组程序和方法,如硬件生产线。软件开发工具是软件开发过程中使用的直接开发工具和支持管理工具,包括规划工具、需求管理工具、可视化建筑触摸工具、编译器、编辑器、调试器和质量保证分析工具、测试工具和用户界面生产工具。如果软件开发工具是软件开发过程中使用的直接开发工具和支持管理工具,它包括规划工具、需求管理工具、可视化建筑触摸工具、编译器、调试器和质量保证分析工具、测试工具、用户界面生产品的质量保证分析工具、测试工具的生产品的时间,则可以实现其他制造开发过
二、软件开发环境的重要性
软件开发环境的主要贡献是自动完成低效、易出错的手工任务。自动化和高效的软件开发环境对软件开发的生产力具有成比线性的影响。开发效率通常可以提高20%到40%.项目经验表明,一个高度集成的环境需要促进和加强过程的管理和控制。一个过程自动化的环境不仅可以提高生产力,还可以提高软件质量,加快现代技术的吸收过程。一个支持增量编译、自动化结构和集成回归测试的环境,可以为迭代开发提供快速循环的支持,使开发团队更自由地迭代。强大的集成开发环境必须支持开发过程的自动化。该环境应具有需求管理、文档自动化、宿主/目标机编程工具、自动回归测试、连续集成变更管理、特性/缺陷跟踪功能。成功的软件项目雇佣优秀的员工,并为他们提供优秀的工具来完成任务。软件开发环境的自动化可以在质量、估计成本和进度以及使用较小的组中获得整体投资回报。软件开发人员应该快速开发产品,并保持其最新状态。软件开发环境在开发中发挥着越来越重要的作用。现代软件工程的发展强调以开发和维护环境为基础设施。就像硬件环境的技术一样,这是非常重要的,但在一些小型或不成熟的组织中,它往往不能得到保证。在这些组织中,具体的过程开发和开发工具的采购被计算为直接的项目成本。这将影响资本投资。不利于组织开发环境成熟度的提高,任何项目都不愿意投资于开发过程的建设和开发,因此很难脱离手工车间的开发模式。对于大多数成熟的软件组织来说,开发环境的建设就像在其他工程学科中一样。因此,其价值构成和摊销模式应根据固定资产的会计模式进行计算。
三、软件开发环境的价值构成
固定资产的价值构成是指固定资产价值所包含的范围。它包括企业在购买和建造固定资产达到预定可用状态之前发生的一切合理和必要的费用。同样,软件开发环境的价值构成是软件组织在购买和建设开发过程和开发工具达到预定可用状态之前发生的一切合理和必要的费用;