软件开发模式

[align=center][size=xx-large][b]软件开发模式[/b][/size][/align]
[size=large]1、瀑布模型和原型模型的区别?[/size]
[b]瀑布模型:[/b]
瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布一样,一个阶级向另一个阶级落下。

在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
 瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。这种模型的线性过程很理想化,单已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:
   (1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
   (2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;
   (3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
相反,它的优点,方便安排开发者具体要做的事情,方便对于不懂软件的客户陈述,也方便评估进度容易保证质量等。
[b]优点:[/b]有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
[b] 缺点: [/b] (1)开发过程一般不能逆转,否则代价太大;
(2)实际的项目开发很难严格按该模型进行;
(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。
(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
[b] 使用范围:[/b]
(1)用户的需求非常清楚全面,且在开发过程中没有或很少变化;
(2)开发人员对软件的应用领域很熟悉;
(3)用户的使用环境非常稳定;
(4)开发工作对用户参与的要求很低。


[b]原型模型法:[/b]
原型法的模式与开发过程对系统进行分析、设计、编程和运行以及结构化的内容相类似,不同点就是不需要对系统进行长时间和非常细致的分析、设计,只是对系统有个大致的了解,对它的主要功能进行初步分析、初步设计和编程以后就马上运行,以后在与用户进行交流中再进一步改进。
[b]优点:[/b] 1、方便开发者更改,
2、在设计和编码过程中发生错误的几率比较小 ,
3、开发中的风险比较小,
4、见效比较快,方便与客户进行洽谈。
[b]缺点:[/b] 1、开发过程中要发反复的修改,具体目标不是很明确。
2、工程完成没有预期。
3、 不能确定工程的完成质量


[size=large]2、For each of the process models described in this chapter,what are the benefits and drawbacks of using the model? ( 在这章中所描述的每个程序模型,在使用它们的时间的过程中有哪些优缺点?)[/size]
[b]瀑布模型(Waterfall Model)的优点:[/b]有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
[b]瀑布模型的缺点:[/b]
(1)开发过程一般不能逆转,否则代价太大;
(2)实际的项目开发很难严格按该模型进行;
(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。
(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。
[b]V模型的优点:[/b]
在软件开发的生存期,开发活动和测试活动几乎同时的开始,这两个并行的动态的过程就会极大的较少bug和error出现的几率。缩短开发周期。
[b] V模型的缺点:[/b]
仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。

[b] 快速原型模型(Prototyping Model)的优点:[/b]
(1)可以得到比较良好的需求定义,容易适应需求的变化;
(2)有利于开发与培训的同步;
(3)开发费用低、开发周期短且对用户更友好。
[b] 快速原型模型的缺点:[/b]
(1)客户与开发者对原型理解不同;
(2) 准确的原型设计比较困难;
(3) 不利于开发人员的创新。

[b] 变换模型(Transformational Model)的优点:[/b]解决了代码结构经多次修改而变坏的问题,减少了许多中间步骤(如设计、编码和测试 等)。
[b]变换模型的缺点:[/b]以形式化开发方法为基础的变换模型需要严格的数学理论和一整套开发环境的支持

[b]螺旋模型(Spiral Model)的优点:[/b]
(1)设计上的灵活性,可以在项目的各个阶段进行变更;
(2)以小的分段来构建大型系统,使成本计算变得简单容易;
(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;
(4) 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
[b]螺旋模型的缺点:[/b]
(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;
(2)过多的迭代次数会增加开发成本,延迟提交时间。


[size=large]3、Project规划图——Project应用[/size]

[img]http://dl.iteye.com/upload/attachment/0084/3840/e1a6f356-7d14-32d9-9754-7952b2643314.gif[/img]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值