软件开发过程模型主要有:51Testing软件测试 @$H5K2K2e0x/k8O
? 瀑布模型(V模型、喷泉模型 )51Testing软件测试 tQ5e8r8E#E
? 螺旋模型51Testing软件测试 ’E,g#YO!e^Z!R
? 原型模型(锯齿模型、快速原型)51Testing软件测试 (A’L0y*{8F`~?R”j”a
? 构件组装模型 (增量模型)51Testing软件测试 /ZOf0bR%BA`
? 统一软件过程RUP模型
1. 瀑布模型
A. 瀑布模型特征
n%D#V5Pr0? 从上一项活动接收该项活动的工作对象,作为输入51Testing软件测试 CV*hy&dO+U7K&ZU H
? 利用这一输入实施该项活动应完成的内容;
t%^bf5W”q}0? 给出该项活动的工作成果,作为输出传给下一项活动;
;Wy3|p0L|/M0? 对该项活动实施的工作进行评审,若其工作得到确认,则继续下一项活动,否则返回前项,甚至更前项的活动进行返工。
hbJ0Z@2du0B. 瀑布模型的优点51Testing软件测试 YNH%TGRc
? 通过设置里程碑,明确每阶段的任务与目标
1k_f~!wC5W0? 可为每阶段制定开发计划,进行成本预算,组织开发力量51Testing软件测试 Zy#~vR2]’^
? 通过阶段评审,将开发过程纳入正确轨道51Testing软件测试 D x4I+ml kt9{
? 严格的计划性保证软件产品的按时交付
x:S1R:D|}?0C. 瀑布模型的缺点51Testing软件测试 B|G0}”DTz]O’l
? 缺乏灵活性,不能适应用户需求的改变51Testing软件测试 ”|-B-qn1{GeN
? 开始阶段的小错误被逐级放大,可能导致软件产品 废
Mn-dA$DkE0i0? 返回上一级的开发需要十分高昂的代价
m-g8x*K1/0? 随着软件规模和复杂性的增加,软件产品成功的机率大幅下降51Testing软件测试 _]Mq-j’@F8w^1Qdu g'{/7sI$ez02. 螺旋模型(图)
A. 螺旋模型的特征
A5~(Pr8h0? 每一圈是一个阶段,每个阶段里又有一些活动
iRLL!R%}0? 阶段可分为:操作的概念、软件需求、产品设计、详细设计、编码、单元测试、集成和测试、验收测试、实现51Testing软件测试 O` jw&[
? 活动有:需求与计划、风险分析、设计与制作、用户评价
N5q”W|f8K:H0B. 螺旋模型的优点
veS/Km Hq0? 风险分析可使一些极端困难的问题和可能导致费用过高的问题被更改或取消51Testing软件测试 6I-Hf5fU YF
? 用户评价为需求的变更带来柔性51Testing软件测试 ^Zk+][dWx
C. 螺旋模型的缺点51Testing软件测试 $Yl4$PA
? 需要开发人员具有相当丰富的风险评估经验和专门知识51Testing软件测试 :i.nQ;]{-Vc
? 要求用户参与阶段评价,对用户来说比较困难,不易取得好的效果51Testing软件测试 neP4^9h$WjQ51Testing软件测试 c0I5R Av.g51Testing软件测试 ”sj’Ul?O+{sn%x,@
3. 原型模型(图)
A. 原型模型的特征51Testing软件测试 Zsc&RJ$Udi r
? 立项以后先提交原型给用户,在用户试用的基础上进行需求调查与原形修改51Testing软件测试 ’Lu)Km@$t7A;r
? 强调用户对软件功能和使用性能的评价51Testing软件测试 ?zHaI1
? 设计、修改原型与试用交替进行51Testing软件测试 3oxXxFRp*|
? 一次迭代中的开发步骤:51Testing软件测试 /zuZz]8qg
*了解用户/设计者的基本信息需求
7CV;M?r1XU0*开发初始原型系统51Testing软件测试 6F-`u/k.}or
*用户/设计者试用和评估原型系统51Testing软件测试 $/R}]r!c,re)K,z8su
B. 原型模型的优点51Testing软件测试 3~pE7P
? 开发者与用户充分交流,可以澄清模糊需求,需求定义比其他模型好得多51Testing软件测试 $~E6BKU”k%OC
? 开发过程与用户培训过程同步51Testing软件测试 .~F[sTL D1`-KY
? 为用户需求的改变提供了充分的余地
CYkjS0? 开发风险低,产品柔性好51Testing软件测试 h+gd||%I
? 开发费用低,时间短51Testing软件测试 )D!](m.{5Q0j,QM
? 系统易维护,对用户更友好
Ow”wE%b*u*bK0C. 原型模型的缺点
b2FB,ECIam0? 开发者在不熟悉的领域中不易分清主次,原型不切题
j’e6zy,W|1oc0? 产品原型在一定程度上限制了开发人员的创新
/XW%KLEgn;~0? 随着更改次数的增多,次要部分越来越大,“淹没”了主要部分51Testing软件测试 }Y^D”que
? 原型过快收敛于需求集合,而忽略了一些基本点51Testing软件测试 ex7h*^+sx2]ax’o
? 资源规划和管理较为困难,随时更新文档也带来麻烦51Testing软件测试 &p”{8[)|)Kwu9d|&s
? 只注意原型是否满意,忽略了原型环境与用户环境的差异B7qyhc’||051Testing软件测试 &T3jqjM[
51Testing软件测试 :[gy H*D5nbsp;V7@z
4. 构件组装模型/增量模型(图)
A. 构件组装模型的特征
!p%zw3e-}0? 应用软件可用预先编好的、功能明确的产品部件定制而成, 并可用不同版本的部件实现应用的扩展和更新。
3j&l9K&d/3UoX’a [(j0? 利用模块化方法,将复杂的难以维护的系统分解为互相独立、协同工作的部件,并努力使这些部件可反复重用。51Testing软件测试 t}.f!`^X/J
? 突破时间、空间及不同硬件设备的限制,利用客户和软件之间统一的接口实现跨平台的互操作。51Testing软件测试 +F9U?n(rykw
B. 构件组装模型的优点
)V~)aG*DFj0? 构件组装模型导致了软件的复用,提高了软件开发的效率,面向对象技术是软件工程的构件组装模型的基础。51Testing软件测试 Tq:[(FTP,x
? 构件可由一方定义其规格说明,被另一方实现,然后供给第三方使用。
G6]u_0l+P%J${0? 构件组装模型允许多个项目同时开发,降低了费用,提高了可维护性。
8SIU3u]F/’W0? 可实现分步提交软件产品。
b5HiEY0C. 构件组装模型的缺点51Testing软件测试 lN#H}r
? 可重用性和软件高效性不易协调。51Testing软件测试 J1|8nbsp;rN
? 缺乏通用的组装结构标准,而自定义的组装结构标准引入较大的风险。51Testing软件测试 ’a,t3j5jt!I#hb
? 需要精干的有经验的分析和开发人员,一般的开发人员插不上手。51Testing软件测试 1fJ*q7FV*CD7N rS
? 客户的满意度低。{M?l5D iDlF051Testing软件测试 f7/(]9Kdk
5. 统一软件过程RUP模型(图)
51Testing软件测试 ?|”UH n,A7eiP
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!