软件开发过程是什么?
软件产品从最初构思到公开发行的过程,称为软件开发过程。
开发过程有各种不同的方法,没有所谓最好的模式。最常见的4种:
1.瀑布模式
2.V模式
3.W模式
4.快速原型
1.瀑布模型
在20世纪70年代,瀑布模型一直是惟一被广泛采用的软件过程模型,现在它仍然是软件工程中应用得非常广泛的过程模型。
瀑布模型是一种线形的、顺序的软件开发模型。
瀑布模型优缺点
优点:提供了软件开发的基本框架,比靠“个人技艺”开发好的多。
-- 有利于大型软件开发过程的人员的组织和管理
-- 有利于 开发方法和工具的使用
-- 提高了软件的质量和效率
缺点:初始阶段指出全部需求,可能用户和项目负责人需要很长的时间才能拿到稳定需求版本,如果需要修改,则会蒙受损失。
V模型
V模型是瀑布模型的变型。
V模型优缺点
优点:强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应。
局限性:把测试作为编码之后的一个活动,需求分析等前期产生的错误直到后期测试能发现
W模型
W模型(又叫V&V模型)– V模型的升级版。V&V= Validation(验证) and Verification (确认)
W模型优缺点
优点:测试的活动与软件开发同步进行,软件测试工程师参与前期工作,测试的对象不仅仅是程序,还包括需求和设计,尽早发现软件缺陷可降低软件开发的成本。
局限性:在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临的困惑。
快速原型
在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。
1.第一步建造一个快速原型,实现用户与系统的交互,用户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足用户的要求,开发人员可以确定用户的真正需求是什么。
2.第二步是在第一步的基础上开发出用户满意的软件产品。
问题:开发初期很难确定用户需求规格。
解决:用户与开发者之间的鸿沟以原型(软件产品的样品)为共同语言,实现用户与开发者双向沟通。
软件开发过程模型的目的
保证最终产品满足用户需求,提高产品质量,降低产品开发成本,保证项目可管理,进度可控制。作为测试人员的职责,是在所处项目的开发模式中,尽量运用自身的知识和技能,创造出尽量完善的软件。
软件的生命周期
需求→设计→编码→测试→维护→升级更新→废弃。