软件工程过程模型和测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程过程模型和测试
摘要:随着信息化的逐步发展和计算机软件的广泛应用,选择的软件将为信息化的成功实现打下坚实的基础,而科学、实用、客观的选型方法将直接影响所选软件的契合程度。
在软件工程实践中,有许多专家致力于过程模型的研究。
像瀑布模型、原型模型、快速应用开发模型、螺旋模型、敏捷过程模型、开发模型等。
下面谈谈几种主要过程模型。
关键词:瀑布模型螺旋模型原型模型
中图分类号:tp 文献标识码:a 文章编号:1007-0745(2013)05-0213-01
瀑布模型/改进的瀑布模型
在软件开发模型中,瀑布模型可以说是最早的了,因此瀑布模型在软件工程中占据重要地位,利用这种模型可以做出软件工程的框架。
例如:将接活动的工作人员作为输入,利用这个输入完成活动的内容,得出活动的结果,并将此结果作为输出传给下一项活动,同时要对活动的过程给与评审,若确认,就进行下一项活动;否则返回前面的活动。
对于经常变化的项目而言,瀑布模型毫无价值。
采用瀑布模型可以保证系统在整体上的充分把握,使系统具备良好的可维护性和扩展性。
如果对于前期需求不明确,且很难短时间了解清楚的项目则很难充分地利用瀑布模型。
此外对于中小型的项目,要求设计和开发人员往往在项目开始后就会全身心的投到项目中,而不是分阶段投人,因此采用爆布模型会出现项目人力
资源过多的闲置的情况,这也是必须要认真考虑的问题。
架构设计在软件开发中是非常重要的。
架构设计的目的是将系统分为若干个子系统和功能模块。
在每个功能模块间的接口定义清楚的前提下,当一个模块的设计完成后一般就不用等到其他模块设计完成后才开始编码,因此在架构设计完成后就可以将系统分为若干个模块同时开发,当然每个模块必需遵循编码测试和先设计的瀑布模型。
这是瀑布模型的一种最重要的改进思路。
当一个新系统的开发存在多个完全不相关且独立需求的功能开发的时候,就可以将整个开发过程按独立的需求分为多个小瀑布进行操作。
此种方式的最大弊端就是没有一个完全的总体设计,架构设计人员不能在了解了所有需求后从系统的可扩展性,等方面做出总体规划。
在项目管理中可以采用赶工这种缩短进度的办法,因此瀑布模型的改进处就是适当的重叠每个阶段的过程,从而充分的利用资源。
螺旋模型
螺旋模型的价值在于开发过程是由风险和迭代驱动的。
螺旋模型是以瀑布模型的为前提的。
即一架构一设计一开发一测试的路线。
该模型把瀑布模型的不同阶段转变到如干个迭代过程中,从而达到减少项目的风险的目的。
螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:
四种象限
(1)制定计划:了解软件的目标,制定实施方案,分析开发的条件;(2)风险分析:评估选定方案,制定降低风险的策略(3)实施工程:实施软件的开发验证;(4)客户评估:评价成果,提出改进意见,拟定进一步的计划。
螺旋模型帮我们加强项目的跟踪和管理,当每次迭代结束后必须对结果进行评估和验证。
螺旋模型实现了增加成本,降低风险!
由于每一次迭代我们要制定出清晰的目标,分析出相关的关键风险和计划中可以验证和测试的交付物并不是一件容易的事情。
所以螺旋模型复杂的地方在于专心、尽责和知识渊博的管理。
原型法
原型法是在投入大量的人力,物力之前,在有限的时间内,花费最少的经济开发出一个能够实际运行的系统模型,用户在使用整个原型的基础上进行评价,并给予改进意见,从而对原型修改,评价过程要反复进行,使原型逐步完善,直到满足用户的需求为止。
原型一般都不是单独采用的一种生命周期模型,往往会结合澡布和增迭代等方法一起使用。
原型模型具有以下特点:(1)减少了软件开发时间。
(2)用户和开发人员在“原型”上达成一致。
从而降低开发中的风险。
也缩短了培训用户的周期,提高了用户的满意度。
(3)降低成本。
原型模型的缺点:如果用户知道该产品需要重新生产时当告诉用户,用户一般就会不满。
这样给工程继续开展带来不利因素。
不宜利用原型系统作为最终产品。
采用原型模型开发系统,用户和开发者必须达成一致:原型被建造仅仅是用户用来定义
需求,之后便部分或全部抛弃,最终的软件是要充分考虑了质量和可维护性等方面之后才被开发。
如果你的用户没有使用信息系统的经验,并且你的系统分析员没有需求分析和挖掘经验的时候,调研过程和需求分析则更需要是一个启发式的过程。
而原型则就是这种启发式方法,可以快速地里欧阿姐用户需求并达到理解需求的一致性。
否则即使双方都签字认可,但仍然不能满足客户真正需求。
参考文献:
[1]孙昌爱,金茂忠,刘超.软件体系结构研究综述[j].软件学报,2002,13(7):1228-1237.
[2]张世混应福,杨芙清.基于体系结构的软件开发模式[j].世界科技研究与发展,1999,21(3):31-35.
[3]董乃文,万建成.软件产品线智能集成技术研究f77.i1!东大学学报(理学版),2006,41(4):107-111.
[4]郭军,姜巍,张斌,等.基于组件库的软件产品线框架的研究f.ll.南京大学学报(自然科学版),2005,41(z 1):184-191.
[5]李玉琴,赵文耘.从领域需求到产品线体系结构的映射一一一种面象特征的方法[f.ll.计算机研究与发展,2007,44(7):1236-1242.。