小组模型选择
Posted bubblecode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小组模型选择相关的知识,希望对你有一定的参考价值。
我们知道常见的软件生存周期模型有瀑布模型、增量模型、增量构造模型、演化模型、螺旋模型、喷泉模型等。
不同的项目采用不同的模型,模型的定义阐述了模型中过程活动的组织方式,决定了模型的特点,从而决定了其适用场景及局限性,选用正确的软件生存周期模型对开发出一个实用的软件有着极大的帮助。确立软件生存周期模型有利于适应应用系统的复杂性,优化活动管理、确立开发过程所遵守的规定和限制。
下面我各模型的特点出发,详细对比几种软件开发模型,以及确定我们小组最终所采用的软件开发模型。
- 瀑布模型
瀑布模型将软件生命周期划分为六个基本活动:
制定计划 ? 需求分析 ? 软件设计 ? 程序编写 ? 软件测试 ? 运行维护
六个基本活动自上而下、相互衔接、次序固定。
此外,瀑布模型还允许从后一阶段返回到前一阶段并对前一阶段进行适当的修改。
如果每一阶段所做的工作都能保证其有效性,那么最终产品就能保证其有效性。瀑布模型反应了这样一个归纳逻辑。- 优点:鼓励对系统要“做什么”进行规约,对后续开发奠定坚实的基础;鼓励规划系统结构;每阶段结束进行复审,保证系统的质量;前一步产品可作为下一步被认可的,文档化的基线。
- 不足:需求必须完整、正确、清晰地表达;缺乏灵活性;花费过多时间建立一些用处不大的文档;直到项目结束前都无法显示系统的能力。
增量模型
特点:如果需求无法一下子完全确定,可以先以某个核心需求作为初始,按照瀑布模型的活动组织方式,去完成这个需求。如果还有新的需求,可以通过增量的方式,再按照瀑布模型的方式完成增量的开发。最终所有阶段开发的结果结合在一起就是最终的系统需求的产品。
优点:拥有瀑布模型所有的优点,控制需求的可变性;第一个可交付版本成本和时间花费少;增量系统承担风险不大;减少用户需求的变更,允许增量投资。
- 不足:产生初始增量可能造成后来增量的不稳定;一些思考不完整的增量可能需要重新开发、发布;管理发生的成本、进度和配置的复杂性可能会超出一些组织能力。
局限性:由于增量是基于需求开发的,因此最初必须有一部分的需求是可确定的,对于完全不可确定的需求不能使用增量模型进行开发。
演化模型/原型模型
允许需求探求,即不断的迭代,在开发过程中逐步确定需求。针对需求不明确,不知道最后要做成什么样子才是用户真正想要的东西。针对事先不能完整地定义需求的软件开发,针对用户核心需求,开发核心系统,根据用户反馈,实施活动迭代。
特点:主要用于需求不明确的情况,尽快的开发出一个功能最小的版本,看看这种方案是否可行,在不确定的需求,甚至采用实现的手段、技术不确定的时候,都可以使用该模型,尽快的开发出一个可运行的版本。
喷泉模型
特点:迭代、无缝(这其实也是软件开发本身固有的特点)
优点:该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程
缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况
(这里没有提螺旋模型,因为螺旋模型是风险驱动模型,一般用于大型商业软件开发)
【总结】综合考虑,经比对预期决定采用演化模型,一方面小组对目前对所做工程的具体需求尚不明确,调研获取的知识也甚少,另一方面采用这种方式对于快速成型、迭代以及后续开发都有很大的帮助。
以上是关于小组模型选择的主要内容,如果未能解决你的问题,请参考以下文章