软件工程 Day7 敏捷vs瀑布

159 阅读2分钟

敏捷开发 vs 瀑布模型

1)需求分析
    瀑布模型的一个重要阶段就是需求分析,要有严谨的需求分析,产生详尽的需求分析文档。而敏捷开发的需
    求,主要是来源于一个个小的用户故事,用户故事通常是写在卡片上的一句话,在 Sprint 的开发中,再
    去确认需求的细节。
2)架构设计
    瀑布模型在需求分析完了以后,就需要根据需求做架构设计。而在敏捷开发中,并不是基于完整的用户需求
    开发,每个 Sprint 只做一部分需求,所以是一种渐进式的架构设计,当前 Sprint 只做适合当前需求的
    架构设计。这种渐进式的架构设计,迭代次数一多,就会出现架构满足不了需求的现象,产生不少冗余代
    码,通常我们叫它技术债务,需要定期对系统架构进行重构。
3)项目质量保证
    瀑布模型在编码完成后,会有专门的阶段进行测试,以保证质量。在敏捷开发的 Sprint 中,并没有专门
    的测试阶段,这就依赖于开发功能的同时,要编写单元测试和集成测试代码,用自动化的方式辅助完成测
    试。
4)部署
    瀑布模型通常在编码结束后,开始部署测试环境,然后在测试阶段定期部署测试环境。测试验收通过后,发
    布部署到生产环境。在敏捷开发中,这种持续构建、持续发布的概念叫持续集成,因为整个过程都是全自动
    化的,每次完成一个任务,提交代码后都可以触发一次构建部署操作,脚本会拿最新的代码做一次全新的构
    建,然后运行所有的单元测试和集成测试代码,测试通过后部署到测试环境。

此文章为9月Day7学习笔记,内容来源于极客时间《软件工程之美》