欢迎来到天天文库
浏览记录
ID:40837527
大小:400.60 KB
页数:60页
时间:2019-08-08
《软件生命周期与开发模型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件生命周期模型概论瀑布模型(waterfallmodel)增量模型(incrementalmodel)原型模型(prototypingmodel)迭代模型(iterativemodel)螺旋模型(spiralmodel)喷泉模型(fountaiinmodel)XP模型(eXtremeProgammingmodel)软件生命周期与开发模型1学习目标掌握软件生命周期的阶段掌握常用的软件生命周期模型的本意、特点、选用条件2一、软件生命周期模型概论生命周期软件生命周期软件生命周期模型31生命周期任何生命或事物从出
2、现到消失的全过程。任何有生命的动物、植物和人,都有一个生命周期(LifeCycle)。例如,人的生命周期如表2-2所示。即使是没有生命的事物或实体,例如,PC机、路由器、家具、房子、汽车,它们也有一个生命周期,这个生命周期就是使用寿命,即使用周期。42软件生命周期软件开发过程有时称为软件生命周期(softwarelifecycle),因为它描述了一件软件产品的生命:从它的概念到实现、交付、使用、维护、退役。软件生命周期分为如下几个阶段:立项与合同、需求分析、软件设计(概要设计+详细设计)、编码实现、软件测试
3、、软件发布与实施、软件维护、版本更新或退役53软件生命周期模型软件生命周期模型是指在整个软件生命周期中,软件开发活动应遵循的开发路线图。或:软件生命周期模型是软件开发全部过程、活动和任务的结构框架。描述软件开发的过程及其活动和任务。常见的软件生命周期模型:瀑布模型原型模型迭代模型增量模型6不同的软件生命周期模型,可能对应着不同的生命周期。为什么?因为生命周期不同,该软件的开发阶段划分、评审次数、基线标准、产品发布、维护方式都有所不同。7二、瀑布模型81970年W.Royce提出瀑布模型1.模型的本意:阶段间
4、具有顺序性和依赖性2.模型的特点:文档驱动过程不可逆转3.模型的选择条件:(1)在开发时间内需求没有或很少变化。(2)分析设计人员对应用领域很熟悉。(3)低风险项目(对目标、环境很熟悉)。(4)用户使用环境很稳定。(5)用户除提出需求以外,很少参与开发工作。94.模型的优点:开发阶段清晰,便于评审、审计、跟踪、管理和控制。5.模型的缺点传统的项目组织方法是按顺序完成每个工作流程,即瀑布式生命周期。瀑布只能一个个台阶地往下流,不可能倒着往上流,这就是它致命的缺点。瀑布式生命周期通常会导致在项目后期,出现“问题
5、堆积”,更可怕的是,错误的传递会采取发散扩大的方式。106.改进措施为了克服该模型的缺陷,微软采取严格的里程碑管理制度。CMM/CMMI则采取阶段评审和不符合项(NoncomplianceItems)的动态跟踪制度,只有前一阶段的不符合项全部改正后,才允许开发人员进入后一阶段的工作。所谓不符合项,就是在评审中发现的问题项,它与Bug既有联系,又有区别。对于这些不符合项,软件管理部门要列出表格,记录在案,确定责任人,限定改正时间,动态跟踪到底。11三、增量模型第1次集成第1块积木第2次集成第1块积木第2块积木
6、第3次集成第1块积木第2块积木第3块积木第4次集成第1块积木第2块积木第3块积木第4块积木第N次集成第1块积木第2块积木第3块积木第4块积木第N块积木121.模型的本意要开发一个大的软件系统,先开发其中的一个核心模块(或子系统),然后再开发其他模块(或子系统),这样一个个模块(或子系统)地增加上去,就像搭积木一样,直至整个系统开发完毕为止。在每增加一个模块前,先要对该模块进行模块测试。通过后再将此模块加入到系统中,然后还要进行系统集成测试。系统集成测试成功后,再增加新的模块。这样多次循环,直到系统搭建完毕为
7、止。132.模型的特点(1)任务或功能模块驱动,可以分阶段提交产品。(2)有多个任务单,这些多个任务单的集合,构成项目的一个总《任务书》,或总《用户需求报告》/《需求规格说明书》。143.选择模型的条件(1)在整个项目开发过程中,需求都可能发生变化,客户接受分阶段交付。(2)分析设计人员对应用领域不熟悉,难以一步到位。(3)中等或高风险项目(工期过紧且可分阶段提交的系统或目标、环境不熟悉)。(4)用户可参与到整个软件开发过程中。(5)使用面向对象语言或第四代语言。(6)软件公司自己有较好的类库、构件库。15
8、4.模型的优点(1)由于将一个大系统分解为多个小系统,这就等于将一个大风险分解为多个小风险,从而降低了开发难度。(2)人员分配灵活,刚开始不用投入大量人力资源。如果核心模块产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。即可先发布部分模块给客户,对客户起到镇静剂的作用。165.模型的缺点如果软件系统的组装和拆卸性不强,或开发人员全局把握水平不高
此文档下载收益归作者所有