请详细列出五个常见的软件开发模型，并且每个模型用一段话描述，每个描述不超过100字。
“
user
常见的软件开发模型有：
1. 瀑布模型：线性顺序开发，各阶段严格按序进行。特点是简单但缺乏灵活性，适用于需求明确的项目。
2. 敏捷模型：强调迭代和协作，通过短期迭代快速交付可工作的软件。适用于需求多变的项目。
3. 迭代模型：通过多次迭代逐步开发和完善软件，适用于需求不完全明确的项目。
4. 螺旋模型：结合了瀑布和原型的特点，强调风险分析，适用于复杂和风险较高的项目。
5. V模型：强调测试和开发的对应关系，每个开发阶段都有相应的测试阶段，适用于需求相对固定的项目。
assistant