软件开发模式
线性模式、渐进式模式;
迭代和增量;
迭代:反复求精的过程;
增量:逐快增加;
迭代:第一次迭代时,模块已经写好了,只不过内容没有填充,第二次迭代,只填充模块里具体实现的方法,第三次迭代时,填写第二次迭代时候没有实现的方法;
增量:模块实现后,只实现对应的功能,下次迭代时,直接把这个模块写上去,然后增加模块的功能。
软件生命周期
V模型,W模型,螺旋模型,瀑布型生命周期,迭代模型,快速原型模型
边做边改模型:没有规格说明,没有设计,只是跟着客户的需求一次次进行修改,知道满意为止
瀑布型生命周期:一步步实现,先分析,设计,编码,测试,一套流程;
优点:
为项目提供了阶段划分的检查点;
当前阶段完成后,只需要关注后续阶段;
缺点:
每一步都必须保证上一步已经实现了。
原型模式:听取用户意见–>建造修改原型–>测试运用原型。
V模型:
V模型的左边下降是开发过程各阶段,左边上升是测试过程的各阶段
V模型的优点在于它非常明确的标明了测试过程中存在的不同级别,并且清楚的描述了这些测试阶段和开发各阶段的对应关系。
优点:
- 每个阶段都清晰明了,便于控制开发的每个过程;
- 既包含单元测试又包含系统测试;
缺点:
- 开发在前,测试在后,如果前期出现问题,可能发现不了;
- 测试和开发串行。
优点:
- 测试伴随软件的整个生命周期,在求分析结束之后,就可以进行需求分析测试了;
- 测试与开发时并行独立进行的;
缺点:
- 有些项目,开发过程中没有文档的产生,所以没办法使用W模型;
- 对于需求和设计的测试技术要求很高,实践很难。