软件开发工程化
现代软件开发是一个劳动密集型任务。大型的软件系统需要投入大量的人力和时间,面向的生产对象是数以万计的代码文本,涉及严密的逻辑计算和编排,这是纯人力所不擅长的任务。因此,软件工程需要一些基础设施来辅助开发,以提升人力开发效率;恰好这些基础设施有很多是软件设施。
同时,软件开发也需要传统行业的需求对接和商业运作,并且,软件业务有一个特殊的需求就是持续运维,这使得软件业务不是一个干一票的买卖,而是一个长期的商业合作和服务支持。如何让软件业务适应商业,是工程化的重要问题。
软件工程生命周期
软件从需求提出、开发实现、到最终退役的全过程包括以下几个主要阶段:
需求分析 -> 系统设计 -> 编码实现 -> 测试验证 -> 部署上线 -> 运维迭代
各个周期阶段中,需要使用大量的软件设施来辅助完成开发任务。