软件开发模型,项目需求,团队能力,风险管理,时间预算,用户参与度