2.软件研发模型及开发方法

2.1 瀑布模型

计划-->需求分析-->设计-->编码-->测试-->运行和维护

特点:

线性化的研发模型

各阶段具有里程碑的特征

基于文档的驱动

严格的评审机制

优点:

有利于大型软件研发过程中人员的组织和管理

有利于开发方法和工具的使用

提高了软件的质量和效率

缺点:不灵活

瀑布模型

2.2 V模型

用户需求-->需求分析-->概要设计-->详细设计-->编码-->单元测试-->集成测试-->系统测试-->验收测试

优点:

软件测试分为若干个级别,更能提高软件的质量

软件测试和开发级别一 一对应

缺点:

忽略了软件测试对象不止程序,还包括文档

验收测试是最后阶段,需求阶段的问题只能到验收测试才能发现

V模型

2.3 W模型

优点:

W模型,又称双V模型,测试活动和开发活动同步进行

软件测试的对象不仅仅是程序,还包括文档

尽早测试可以降低开发的成本

缺点:

无法迭代(相对的,不是绝对)

W模型

2.4 X模型

最早引入探索性测试的研发模型

软件分为几个片区,然后集成在一起形成最终的软件

X模型

2.5 螺旋模型

非线性化的研发模型

引入了风险管理,进行评估

螺旋模型

2.6 快速原型

又称原型定义,非线性的研发模型,主要是使用于小公司,客户到了最后才知道软件的最终模样。先做成一个demo(模型或样本),给客户进行产品的预演。

原型模型

2.7 迭代开发

每次只设计和实现产品的一部分,通过逐步完成的方法叫做迭代开发,每次设计和实现一个阶段叫做迭代

优点:

降低需求变更的成本

得到早期的用户反馈

持续的集成和测试

迭代开发

2.8 敏捷开发

敏捷开发以用户需求进化为核心,采用迭代,循序渐进的方法进行软件开发

敏捷开发的核心价值观

个体交互重于过程和工具(个体交互主要指的是人与人之间的沟通)

可用的软件重于完备的文档

客户协作重于合同谈判

响应变化重于遵循计划

优点:

敏捷开发确实是项目进入实质开发的阶段,用户可以很快看到一个基线架构版的产品,敏捷注重市场快速反应能力。

缺点:

敏捷注重人员的沟通,忽略文档的重要性。若项目人员流动太大,又给维护带来不少难度,特别是项目中存在新手较多时,老员工比较累。

敏捷开发

2.9 软件的生命周期

需求-->设计-->编码-->测试-->维护-->升级-->废弃

2.10 软件的测试流程

需求分析-->测试计划-->测试方案-->测试用例-->测试执行-->测试报告

2.11 项目中的成员

1.项目经理(PM)

2.架构师

3.程序员(开发)

4.软件测试工程师:初级、中级、高级、技术专家;测试经理、交付经理、部门经理

5.资料工程师(大公司才会有的职位)

6.配置管理员(CMO)

7.QA(大公司才有的职位)

8.产品经理(BA)

9.UI设计(界面设计)

10.DBA(数据库管理员)

Last modification:April 5th, 2021 at 01:18 pm
If you think my article is useful to you, please feel free to appreciate