1、软件生存周期:软件产品或系统的一系列活动的全周期,从形成概念开始,历经开发、交付使用,在使用中不断修订和演化,直到最后被淘汰,这是一个时间段的概念;
软件过程(软件生存周期过程):软件生存周期中的一系列相关过程;为表述软件开发需要做的映射,引入三个概念,过程是活动的集合,活动是任务的集合,任务是把输入转换成输出的操作;
软件过程/开发模型(软件生存周期模型):一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止;
2、软件过程按承担软件开发工作的主体分为三类:基本过程(与软件生产直接相关的活动集)、支持过程(有关各方按其目标所从事的一系列支持活动集)、组织过程(与软件生产组织有关的活动集)
基本过程:获取过程、供应过程、开发过程、运行过程、维护过程;
支持过程:文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审计过程、问题解决过程;
组织过程:管理过程、基础设施过程、改进过程、人力资源过程、资产管理过程、复用程序管理过程、领域软件工程过程;
3、瀑布模型:将软件生存周期的各项活动规定为依固定顺序而连接的若干阶段工作,每一阶段的输入以及本阶段的工作成果作为输出传入下一阶段,存在反向步骤流表示对前一个可提交产品的重复变更(返工);优点,具有设计之前的规约和编码之前的设计,每阶段结束时都进行复审,允许获取方和用户的参与,允许基线和配置早期接受控制;不足,客户必须能完整、正确和清晰地表达他们的需求,开发人员一开始就必须理解需求,缺乏灵活性,过分强调基线和里程碑处的文档,直至项目结束都不能演示系统能力,增加了项目的风险;
螺旋模型:将瀑布模型和快速原型模型结合起来,是一种有弹性的过程模式,由一些小的开发步组成,每一步历经需求定义、风险分析、工程实现和评审,产生软件产品的一个增量,通过这些迭代,完成最终软件产品的开发;特点,针对事先不能完整地定义需求的软件开发,针对用户的核心需求开发核心系统,根据用户的反馈实施活动的迭代,迭代次数越多成本越大,螺旋模型在每一次迭代中可以使用瀑布模型,相比瀑布模型,螺旋模型需要获取方和用户更多的参与;
4、瀑布模型是其他常见模型的母体,其他常见模型均借鉴自瀑布模型,区别在于不同模型间对某一活动的实施方式不同;
5、对于我们的团队项目,我更倾向于使用螺旋模型,在我们对需求的定义和分析不够清晰、资源有限的情况下,它能较快做出一个原型,能节省大量时间和精力同时对产品的正确性、可用性做出评估,之后能在根据实际情况决定是否进行迭代,适合刚开始创建项目的我们
浙公网安备 33010602011771号