软件生命周期模型及测试工作梳理

一、软件生命周期简介

对于软件生命周期的定义引用百度百科:软件生命周期(SDLC,Systems Development Life Cycle,SDLC)是软件的产生直到报废或停止使用的生命周期。这种周期内包括产品问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到停止使用等阶段。且在每个阶段都必须形成文档以供验收、审查,才能进入下一个阶段,即按部就班、逐步推进
但这种定义方式随着设计方法和技术的成熟,以及项目性质不一会适当的调整,已达到更高的效率和保证项目质量。其中与软件生命周期的模型使用息息相关。

二、软件生命周期模型

软件生命周期模型有瀑布模型、迭代模型、增量模型、原型模型、螺旋模型。

1. 瀑布模型/改进的瀑布模型(传统模型)

1.1 瀑布模型概念

瀑布模型与百科百科的定义是相符合的,因此也可以称作为是传统模型。严格按照需求->分析->设计->开发->测试的阶段进行,每个阶段执行时都会进行必要的约束保证质量,并有明确的文档产出。验收完成后才可进入到下一个阶段。

瀑布模型

1.2 改进的瀑布模型概念

对于项目需求繁杂或者实现方案比较复杂时,可以将需求进行拆分,按模块/功能并行开发,全部完成后再集成处理,每个模块仍然遵循瀑布模型的思路,即为改进的瀑布模型。

改进的瀑布模型

1.3 瀑布模型的优缺点

优点:
1)软件产品质量较高;
2)前置发现产品缺陷;
3)项目把控能力强;
4)项目扩展性和可维护性强;
5)责任划分明确。
项目流程按照流水线作业一样执行,且每个阶段责任人、任务、标准明确,同时也有明确的文档输出,使整个项目周期得到把控,也便于后期的扩展和维护。
缺点:
1)若需求复杂,人员能力要求较高;
2)投入人力集中,造成过多的闲置;
3)用户在系统稳定后介入,可能会出现与预想不符的情况;
4)每个阶段相对独立,信息不能及时同步;
5)项目风险延到后期开发阶段才能发现。
由于瀑布模型阶段分明、人员投入大,很多项目为了赶进度在前期需求不明确就开始开发,过于简化需求和设计阶段。如果是大型项目,很可能会出现大量的返工反而会影响进度。

2. 迭代模型

2.1 迭代模型概念

迭代模型同瀑布模型一样,项目也会遵循需求->分析->设计->开发->测试->发布的流程,但不同的是,在前期需求分析阶段,会将所有的需求按照核心功能点-模块-关联模块进行拆分并分期实现,然后以迭代的形式逐步完善功能,在每一次迭代完成后系统都是可以交付的原型,往往第一次迭代都是产品最核心的功能。

迭代模型

2.2 迭代模型的优缺点

优点:
1)在需求分析阶段就给出了相对完成的架构设计方案,便于后面迭代的扩展和完善;
2)第一阶段核心功能交互用户后,可以及早获取反馈结果,对后期的迭代起到指导作用;
3)人员分配灵活,前期不用投入很多人力;
4)在前期能够很好的控制风险,并且解决难度系数较低,影响范围也较小。
缺点:
1)对项目需求明晰度要求很高;
2)对整个项目周期要求较宽裕,政治任务需排除。

3. 增量模型

3.1 增量模型概念

增量迭代是统一软件开发过程(RUP)经常使用的一种软件开发模型,因此增量模型和迭代模型经常放在一起使用,其基本流程都一样,唯一不同的是在对需求进行拆分的时候划分标准不一样。拆分时将需求按照模块进行分类,以模块递增的方式逐步完善。

增量模型

3.3 增量模型的优缺点

优点:
1)同迭代模型一样,对风险预测能力和解决能力很强;
2)人员分配灵活,刚开始不用投入大量;
缺点:
1)要对拆分后模块之间的关联性很熟悉,避免后续增量中不兼容,扩展性受影响,要求最初的架构设计必须考虑很周到。

4. 原型模型

4.1 原型模型概念

原型模型一般在需求提出初期,用户迫切需要体验产品,开发人员根据核心功能需求快速实现的一款可以用来演示的产品,形成demo,可快速挖掘是否是用户真正想要的产品。但这种模型在整个软件项目周期内只可能存在于这期间,当用户了解了demo后决定是抛弃还是继续采用,抛弃相当于需求双方没有达成一致,可以再次采用原型模型输出给用户确认,若选择不抛弃继续采用,原型模型就会被抛弃,选择其他模型继续开发。

原型模型

4.2 原型模型的优缺点

优点:
1)快速了解用户真正想要实现的样子,整个项目可行性强。
缺点:
1)没有考虑软件的整体质量和长期的扩展和维护;
2)快速输出demo的方法不一定会真正采用;
3)只在用户需求目标模糊,急需看到效果的情况下使用。

5. 螺旋模型

5.1 螺旋模型概念

螺旋模型的显著特点就是强调风险,以风险驱动的方式完善项目。将瀑布模型和原型模型结合起来,在每一个阶段加入风险评估,以减少项目的风险。螺旋模型将项目划分为四个阶段:
1)制定计划:在需求分析阶段指定项目目标、整体架构,包括备选方案和相关约束条件。
2)风险分析:对于复杂的大型软件,需要输出多个原型模型,在针对每个原型模型进行风险分析,预估风险并规避风险。
3)实施工程:对最终确定的原型模型按照瀑布模型的流程进行。
4)用户评价。对最终输出的系统交由客户进行评价,并获取反馈结果。

螺旋模型

5.2 螺旋模型的优缺点

优点:
1)每个阶段都有用户参加,确保最终实现不偏离用户真正需求;
2)设计上具有灵活性,当不满足用户需求或风险大可以即使变更;
3)减少了整个开发测试的成本。
缺点:
1)对风险评估的经验和知识要求很高,需要有专业人员作出决断;
2)只适用于规模大、风险高的项目。

三、模型对比

通过第一章对五中软件生命周期的模型进行了详细的说明,下面将五中模型通过一张表格对比说明其优缺点。

模型对比

通过表格可以看出,每种模型都有优缺点,具体采用哪种模型或者多种模型的组合,要根据项目实际情况进行选择。借鉴别人的总结经验如下:
1.在前期需求明确的情况下尽量采用瀑布模型或改进型的瀑布模型。
2.在用户无信息系统使用经验,需求分析人员技能不足情况下一定要借助原型。
3.在不确定性因素很多,很多东西前面无法计划情况下尽量采用增量迭代和螺旋模型。
4.在需求不稳定情况下尽量采用增量迭代模型。
5.在资金和成本无法一次到位情况下可以采用增量模型,软件产品分多个版本进行发布。
6.对于完全多个独立功能开发可以在需求阶段就分功能并行,但每个功能内都应该遵循瀑布模型。
7.对于全新系统的开发必须在总体设计完成后再开始增量或并行。
8.对于编码人员经验较少情况下建议不要采用敏捷或迭代等生命周期模型。
9.增量、迭代和原型可以综合使用,但每一次增量或迭代都必须有明确的交付和出口准则。

四、测试工作梳理

不管项目选择什么样的软件生命周期模型,测试在其中的工作任务都一样,
那在每个阶段,测试需要做什么,怎么做,从哪些方面可以提升效率,如下图。

测试工作梳理

参考相关文章:http://blog.csdn.net/tracymm19891990/article/details/7984134

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,018评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,046评论 2 372
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,215评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,303评论 1 266
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,181评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,171评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,577评论 3 384
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,260评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,546评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,630评论 2 311
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,390评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,260评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,633评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,920评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,210评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,569评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,767评论 2 335

推荐阅读更多精彩内容