软件开发模型和架构:敏捷开发模型
添加时间:2019-03-14 09:28:51
来源:
在早期,Iterative Waterfall模型非常受欢迎,可以完成一个项目。但是现在开发人员在使用它开发软件时遇到了各种各样的问题。主要困难包括在项目开发期间处理客户的变更请求以及合并这些变更所需的高成本和时间。为克服瀑布模型的这些缺点,在20世纪90年代中期提出了敏捷软件开发模型。
敏捷模型主要用于帮助项目快速适应变更请求。因此,敏捷模型的主要目的是促进项目的快速完成。要完成此任务,需要灵活性。通过将流程拟合到项目中来消除敏捷性,从而消除对特定项目可能不重要的活动。此外,避免任何浪费时间和精力的事情。
实际上,敏捷模型是指一组开发过程。这些过程具有一些基本特征,但它们之间确实存在某些细微差别。下面给出了一些Agile SDLC模型:
水晶
Atern
功能驱动的开发
争球
极限编程(XP)
精益开发
统一过程
在敏捷模型中,需求被分解为许多可以逐步开发的小部件。敏捷模型采用迭代开发。每个增量部分都是通过迭代开发的。每次迭代都很小,易于管理,只能在几周内完成。在一次迭代计划,开发和部署给客户。没有制定长期计划。
敏捷模型是迭代和增量过程模型的组合。涉及敏捷SDLC模型的步骤是:
需求收集
需求分析
设计
编码
单元测试
验收测试
完成迭代的时间称为时间盒。时间框是指向客户提供迭代所需的最长时间。因此,迭代的结束日期不会改变。虽然开发团队可以决定在时间框内减少交付的功能,但必要时可以按时交付。敏捷模型的核心原则是在每个时间框之后向客户提供增量。
敏捷模型原理:
为了在开发过程中与客户建立密切联系并清楚地了解各种要求,每个敏捷项目通常都包括团队中的客户代表。在每次迭代结束时,利益相关者和客户代表进行审核,取得进展并重新评估需求。
敏捷模型依赖于工作软件部署而不是全面的文档。
经常在几周的时间内将软件的增量版本频繁交付给客户代表。
鼓励并有效地整合来自客户的需求变更请求。
它强调拥有高效的团队成员并加强他们之间的沟通更加重要。人们认识到,可以通过面对面交流而不是通过交换正式文件来加强开发团队成员之间的沟通。
建议开发团队规模应保持较小(5至9人),以帮助团队成员有意义地进行面对面交流并建立协作的工作环境。
敏捷开发过程通常部署Pair Programming。在Pair编程中,两个程序员在一个工作站一起工作。一个人进行编码,而另一个人在输入时检查代码。两个程序员每小时左右切换一次角色。
好处:
通过Pair编程生成编写良好的紧凑程序,与单独工作的程序员相比,错误更少。
它减少了整个项目的总开发时间。
每次提交后,客户代表都会了解更新的软件产品。因此,如果需要,他很容易改变任何要求。
缺点:
由于缺乏正式文件,它会造成混乱,不同阶段的重要决策可能会被不同的团队成员随时误解。
由于缺少适当的文档,当项目完成并且开发人员被分配到另一个项目时,开发项目的维护可能会成为一个问题。
2019-03
在早期,Iterative Waterfall模型非常受欢迎,可以完成一个项目。但是现在开发人员在使用它开发软件时遇到了各种各样的问题。主要困难包括在项目开发期间处理客户的变更请求以及合并这些变更所需的高成本和时间。为克服瀑布模型的这些缺点,在20世纪90年代中期提出了敏捷软件开… [了解更多]