
第二章软件生存周期与开发模型.ppt
21页第二章软件生存周期与开发模型软件生存期的阶段划分( (1)1)可行性研究与可行性研究与计划划(2)(2)需求分析需求分析(3)(3)总体体设计 上游上游 (4)(4)详细设计(5)(5)实现(6)(6)集成集成测试(7)(7)确确认测试 下游下游(8)(8)使用和使用和维护只考只考虑编写程序写程序 涉及整个涉及整个软件生存件生存周期周期扩展到展到软件工作的范围 软件开件开发模型:模型:是软件开发全部过程、活动和任务的结构框架它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略 软件开件开发模型模型软件开件开发模型也常称模型也常称为::• 软件过程模型• 软件生存期模型• 软件工程范型瀑布模型 ( (线形形顺序模型序模型) )可行性研究与可行性研究与计划划需求分析需求分析设计编码运行运行维护测试定定义阶段段开开发阶段段维护阶段段瀑布模型的特点1.1.阶段段间具有具有顺序性和依序性和依赖性2.2.推推迟实现的的观点3.3.每个每个阶段必段必须完成完成规定的文档定的文档; ; 每个每个阶段段结束前完成文档束前完成文档审查, , 及早改正及早改正错误。
瀑布模型的选择条件1.1.开开发阶段需求很少有段需求很少有变化化2.2.分析分析设计人人员对应用用领域很熟悉域很熟悉3.3.低低风险项目目4.4.用用户使用使用环境很境很稳定定5.5.用用户除提出需求外,很少参与开除提出需求外,很少参与开发工作工作瀑布模型的缺点1.1.开开发阶段不能并行,更不能倒置段不能并行,更不能倒置2.2.容易出容易出现问题堆堆积,,导致重大致重大错误增量模型(递增模型) 先完成一个系先完成一个系统子集的开子集的开发,再按同,再按同样的的开开发步步骤增加功能增加功能 ( (系系统子集子集),),如此如此递增下去直增下去直至至满足全部系足全部系统需求 系系统的的总体体设计在初始子集在初始子集设计阶段就段就应作出作出设想分析分析 增量模型设计 编码测试 分析分析 设计 编码测试 分析分析 设计 编码测试 分析分析 设计 编码测试 增量增量2 2增量增量3 3增量增量n n 增量增量1 1交付客交付客户 增量增量2 2交付客交付客户 增量增量3 3交付客交付客户 增量增量n n交付客交付客户日日历时间…..…..增量模型的特点1.1.任任务或功能模或功能模块驱动,可以分,可以分阶段提段提交交产品。
品2.2.多个任多个任务单构成构成总任任务增量模型的选择条件1.1.需求多需求多变,可以分,可以分阶段提交段提交产品2.2.分析分析设计人人员对应用用领域不熟悉,域不熟悉,难以一步到位以一步到位3.3.用用户参与整个参与整个软件开件开发工程中工程中4.4.软件公司自己有件公司自己有较好的好的类库或构件或构件库原型模型原型模型用用户测试运行原型运行原型建造建造/ /修改修改 原型原型 听取用听取用 户意意见采用原型模型的软件生存周期分析定分析定义系系统需求需求生成生成原型原型系系统设计程序程序设计编码测试运运 行行和和维护原型化原型化含原型化的含原型化的软件生存期件生存期原型模型的特点•可以得到比可以得到比较良好的需求定良好的需求定义,容易适,容易适应需求的需求的变化•有利于开有利于开发与培与培训的同步•开开发费用低、开用低、开发周期短、周期短、维护容易且容易且对用用户更友好 原型模型的选择条件•对所开所开发的的领域比域比较熟悉而且有快速的原熟悉而且有快速的原型开型开发工具工具•项目招投目招投标时,可以以原型模型作,可以以原型模型作为软件件的开的开发模型模型•进行行产品移植或升品移植或升级时,或,或对已有已有产品原品原型型进行客行客户化工作化工作时,原型模型是非常适,原型模型是非常适合的。
合的 4.1 喷泉模型进一步开一步开发实现和集成和集成阶段段运行状运行状态实现阶段段面向面向对象象设计阶段段计划划阶段段面向面向对象分析象分析阶段段需求需求阶段段维护期期喷泉模型特点 主要用于支持面向主要用于支持面向对象开象开发过程体程体现了了软件件创建所固有的迭代和无建所固有的迭代和无间隙的特征隙的特征基于构件的开基于构件的开发模型模型•属于演化式开属于演化式开发或迭代式开或迭代式开发,其开,其开发过程:程:–客客户的交流,的交流,获得得问题的定的定义–标识基本基本类–计划与划与风险分析分析–类的复用或重新开的复用或重新开发–构造系构造系统–用用户评估估基于构件的开基于构件的开发模型模型思考题?•“图书馆信息系信息系统”的开的开发选用什么用什么样的开的开发模型合适模型合适。
