软件开发模型详细梳理流程图、优缺点、适用场景(含Scrum和看板)
目录1 软件开发模型1.1 瀑布模型1.2 快速原型模型1.3 增量模型1.4 螺旋模型1.5 敏捷模型1.5.1 Scrum开发管理框架1.5.2 Kanban看板1 软件开发模型软件开发模型规定了软件开发应遵循的步骤是软件开发的“导航图” 。它能够清晰、直观地表达软件开发的全过程以及每个阶段要进行的活动和要完成的任务。开发人员在选择开发模型时要根据软件的特点、开发人员的参与方式选择稳定、可靠的开发模型。1.1 瀑布模型瀑布模型和软件生命周期一致是其他模型的基础框架。各阶段按固定顺序执行前一阶段完成后才能进入下一阶段每个阶段需完成完整文档作为下一阶段的依据。线性结构每个阶段只执行一次。优点:方便管理流程清晰、结构固定各阶段文档完整便于后期维护与交接阶段明确便于质量把控与进度检查缺点:灵活性差无法适应需求变更用户仅在最终阶段看到产品问题发现晚前面各阶段遗留的风险到测试阶段才被发现导致项目大面积返工付出代价大周期长需完成所有阶段才能交付上线速度慢可能导致需求/功能过时【适用场景】需求固定规模小的项目1.2 快速原型模型快速开发出可运行、可交互的原型不追求完整功能用户直接试用原型提出修改意见根据反馈反复修改原型逐步完善。优点:能快速构建软件原型降低需求风险提前暴露需求问题减少后期返工缺点:质量难保证可能忽略设计、测试后期难维护不适用于大型项目【适用场景】需求不明确、易变化的项目1.3 增量模型将完整的软件拆分成不同的组件然后对每个组件进行开发测试分批开发、分批交付不同增量模块可并行设计与开发。优点:很好地适应用户需求变更交付灵活降低成本与风险这一个组件不符合需求只需要更改这一个组件缺点:架构要求高需良好整体架构集成复杂【适用场景】需求不明确的大型项目1.4 螺旋模型结合了瀑布模型和快速原型模型引入了风险分析。优点:增加风险分析强调严格的全过程风险管理用户参与每个阶段的开发保证产品贴合需求强调各开发阶段的质量缺点:项目中可能存在的风险与风险管理人员的技能水平有直接关系成本较高人员、资金、时间投入大【适用场景】规模庞大、复杂度高、风险大的项目1.5 敏捷模型需求被拆分为许多个可以增量开发的子项目采用迭代开发每个增量部分都在迭代中开发。旨在帮助项目快速适应变更要求主要目的是促进项目的快速完成。敏捷模型有一个非常重要的《敏捷宣言》个体和交互重于过程和工具可用软件重于完备文档用户协作重于合同谈判响应变化重于遵循计划由此可看出敏捷模型更注重人与人之间的交流和沟通也可以总结出敏捷模型的四个特点:轻文档、轻流程、重目标、重产出。优点:灵活性强能快速响应需求变更不断适应新的趋势用户参与度高可及时获取反馈产品更贴合需求缺点:若文档缺失会导致后期维护、交接困难对团队成员能力、协作要求高不适用于大型复杂项目【适用场景】小型项目1.5.1 Scrum开发管理框架敏捷模型主要有两种开发方式:Scrum开发管理框架和Kanban看板在Scrum中主要有三个角色和五个重要会议三个角色:产品经理product owner:负责整理用户故事定义其商业价值对其排序定需求的优先级制定发布计划对产品负责。项目经理scrum master:负责召开各种会议协调项目为研发团队服务。研发团队team:由开发、测试、设计等成员组成通过紧密协同完成每一次迭代的目标交付产品。五个重要会议:需求梳理会议迭代计划会议每日站会评审会议回顾会议Scrum 将产品的开发分解为若干个小sprint迭代周期一般为1∽4周参与的团队成员一般是5∽9人每次迭代都要交付成果。1.5.2 Kanban看板将工作细分成任务将工作流程显示在“看板卡”上每个人都能及时了解自己的工作任务和工作进度。以上就是软件开发中最常用的测试模型作为软件测试人员理解开发模型不仅能更好地配合开发团队、制定测试计划也是面试中的高频考点。后续我会继续分享测试流程、用例设计、工具使用等干货欢迎关注、点赞、收藏、转发一起学习进步
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2410524.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!