1.迭代模型

迭代模型消除了传统的需求分析、设计、编码和测试过程,将整个生命周期转变为几个冲刺阶段,每个阶段由上述几个或所有传统过程组成,每个阶段包括以下四个阶段: 初期阶段、细分阶段、构筑阶段、交货阶段。 初期阶段,确认这次冲刺的范围、边界、系统选择的框架、计划、以及必要的资源等信息。 在细分阶段,进行问题的领域构筑、开发事例的制作、模板的制作、工具的准备等。 构建阶段的主要任务是完成构建开发、测试、将完成的构建集成到产品中并测试所有功能(CI )。 在交货阶段,主要是完成这个冲刺,将软件产品交付给相关人员。

2.螺旋模型

螺旋模型特别重视风险分析阶段,特别适用于巨大、复杂且风险极高的项目。 螺旋模型通常由四个阶段组成:计划制定、风险分析、工程实施和客户评估。 在螺旋模型中,发布的第一个模型可能没有任何成果,可能只是纸上谈兵的目标。 但是一旦交付,每个版本都会朝着固定的目标前进,最终会得到更完整的版本。

3.原型化模型

原型化模型的第一步是创建一个快速原型,项目相关人员和未来用户可以与原型进行交互,进而与相关人员进行充分的讨论和分析,最终在阐明和充分理解当前系统需求的基础上在实际项目过程中,利用组织过程资产和快速模型软件,一般在需求分析时可以制作简单的原型。 例如,在初创YH公司,由于是“行业软件提供商”,所以拥有各地区的行业解决方案,经常将其他地区的项目带到本次项目的实施地,作为原型化模式。 原型化模式是一项非常有意义的项目实践。

4.V模型

从整体上看,v型是由左右两侧构成的v字型的结构。 左边的下划线分别表示需求分析、概要设计、详细设计和编码。 右边的上线显示了设备测试、集成测试、系统测试和验收测试。 虽然v模型看起来是对称的结构,但其重要意义在于它非常清楚地展示了测试中存在的不同级别,并非常清楚地描述了这些测试阶段与开发阶段之间的对应关系。

5.瀑布模型

瀑布模型是特别经典的,也是有点旧的循环模型,一般分为规划、需求分析、概要设计、详细设计、编码及单元测试、测试、运行维护等几个阶段。 瀑布模型的周期是一个圈。 每个周期中的相互作用点是一个里程碑,在前一个周期结束时,必须输出这次活动的工作结果,这次活动的工作结果将作为下一个周期的输入。 这样,在某个阶段发生无法控制的问题时,可能会导致返工,返回上一个阶段或延迟到下一个阶段。

6.敏捷软件开发又称敏捷开发

是20世纪90年代开始逐渐引起关注的一种新的软件开发方法,是适应快速变化需求的软件开发能力。 所有这些具体名称、理念、流程和术语都不同,对于“非敏捷”,程序员团队与业务专家的密切合作、面对面交流(被认为比书面文档更有效)和新的软件栏强调了能够很好地应对需求变化的代码编写和团队组织方法,也重视人在软件开发中的作用。

与人的交互比过程和工具重。 能工作的软件比完整和完整的文档更重要。 与客户的合作比合同谈判更重要。 随时应对变化比遵守规则更重要。 其中右边的内容也有价值,但左边的内容是最重要的。

虽然相互信任的人很少,但是可以进行精密的交流

项目敏捷开发:

敏捷开发团队的主要工作方式是检查和协调业务的优先顺序,这些优先顺序反复提供在短迭代周期内工作的几个交付项,这些交付项可以总结为整体工作。 最重要的因素大概是项目的规模。 随着规模的增加,面对面的交流变得越来越困难,因此敏捷适合于更小的团队,40、30、20、10人以下。 大规模敏捷软件开发还处于积极研究的领域。

Tip: 1.传统的瀑布式开发,即从需求到设计、从设计到编码、从编码到测试、从测试到提交的大致过程,在每个开发阶段都要求做到最好。

特别是在前期阶段,设计越完美,提交后的成本损失就越少。

2 .迭代开发不是要求每个阶段的任务都最完美,而是明知还有很多不足之处,却不去完善,而是以先构建主要功能为目的,以最短时间、最小的损失先完成“不完整的交付成果” 然后,通过客户和用户的反馈,逐步改善这一“不完整的交付项”。

3 .螺旋开发,很大程度上是风险导向的方法体系。 因为在每个阶段之前和频繁发生的周期之前,必须首先进行风险评估。

4 .与迭代式开发相比,敏捷开发都强调以更短的开发周期提交软件,但敏捷开发周期更短,可能更强调团队内的高级合作。

敏捷方法有时被误认为是没有计划性和纪律性的方法,但实际上,敏捷方法是强调适应性而不是预见性。

自适应的方法集中在快速适应现实的变化上。 当项目需求发生变化时,团队必须迅速做出反应。 这个团队可能很难准确说明未来会发生什么变化。