一个软件的生命周期包含:需求分析、功能模块设计、开发、测试、上线、维护、升级、废弃。通过示例说明如下:
- 产品人员进行需求分析
- 设计人员进行软件架构设计和模块设计。
- 每个模块的开发人员并行开发,设计接口、进行编码,并进行单元测试
- 开发完毕,将代码集成部署到测试服务器,测试人员进行测试。
- 测试人员发现bug,提交bug、开发人员修改bug
- bug修改完毕再次集成、测试。
- 测试完毕,项目上线。
- 运维人员进行安装部署、培训。
- 用户提出问题,返回给运维人员。
- 运维人员反馈给开发人员,开发人员进行问题处理。
- 再次提交测试。
- 测试完毕再次部署升级。
....
最后软件下线。
所以,在整体生命周期中比较核心的两个阶段是:开发阶段、维护阶段,开发阶段的成果是软件开发完成并成功上线,运维阶段则负责对软件进行维护和升级,而运维阶段通常在一个软件的生命周期中占比最多。提高开发阶段、运维阶段的工作效率是企业在进行软件项目管理的重点。
因此,专家提出了DevOps,DevOps是什么呢?下边是摘自百度百科的定义:
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运维工作必须紧密合作。
DevOps是一种思想理念,它涵盖开发、测试、运维的整个过程。DevOps追求的目标是提高软件开发、测试、运维、运营等各部门的沟通与协作质量,DevOps强调软件开发人员与软件测试、软件运维、质量保障(QA)部门之间有效的沟通与协作,强调通过自动化的方法去管理软件变更、软件集成,使软件从构建到测试、发布更加快捷、可靠,最终按时交付软件。