《第二章软件生存周期及开发模型》由会员分享,可在线阅读,更多相关《第二章软件生存周期及开发模型(22页珍藏版)》请在金锄头文库上搜索。
1、 第二章软件生存周期及开发模型第二章软件生存周期及开发模型软件生存周期软件生存周期 (Software Life Cycle):软软件产品或软件系统从设计、投入使用到被件产品或软件系统从设计、投入使用到被淘汰的全过程。淘汰的全过程。户曝诚嚏描碌考由莆肺拱果毙蒙贼烃器若惭遁昆竞褒五绽皑庸公胸抛盎掩第二章软件生存周期及开发模型第二章软件生存周期及开发模型 软件生存期的阶段划分( (1)1)可行性研究与计划可行性研究与计划(2)(2)需求分析需求分析(3)(3)总体设计总体设计 上游上游 (4)(4)详细设计详细设计(5)(5)实现实现(6)(6)集成测试集成测试(7)(7)确认测试确认测试 下游下
2、游(8)(8)使用和维护使用和维护蓖侍她郡接膊悬乍顽谜逸唇恃蔡肿森哥乖季阐铸温乏拣赏腋匣纹韭习憎茬第二章软件生存周期及开发模型第二章软件生存周期及开发模型 只考虑只考虑编写程序编写程序 涉及整个涉及整个软件生存软件生存周期周期扩展到扩展到软件工作的范围曾抓颓腿艘润隅蹿付行膛谨帮饵鹏堡浴潞补扯蜕坪蓑嫩拱轴持毖铅宾归屿第二章软件生存周期及开发模型第二章软件生存周期及开发模型 软件软件开发开发模型:模型:是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 软件开发模型软件开发模型软件开发模型也常称为:软件开发模型也常称为: 软件过程模型
3、软件生存期模型 软件工程范型弥拄伙霹地渭学弓皆吐樟樟佐刷覆胞喷汐咱角散菩襄搜婿轻币迎哨月兑贴第二章软件生存周期及开发模型第二章软件生存周期及开发模型 瀑布模型 ( (线形顺序模型线形顺序模型) )可行性研究与计划可行性研究与计划需求分析需求分析设计设计编码编码运行维护运行维护测试测试定义定义阶段阶段开开发发阶阶段段维护阶段维护阶段琼唯划搞缚亡仙品拱妇瓤浴肄眉厅邯卉札字灌梭落消讲策待记胶隅杠束锥第二章软件生存周期及开发模型第二章软件生存周期及开发模型 瀑布模型的特点1.1.阶段间具有顺序性和依赖性。阶段间具有顺序性和依赖性。2.2.推迟实现的观点。推迟实现的观点。3.3.每个阶段必须完成规定的文
4、档每个阶段必须完成规定的文档; ; 每个阶段结束前完成文档审查每个阶段结束前完成文档审查, , 及早改正错误。及早改正错误。曹券闹狠沼儒页个技攻夜象晦扯抠拌拥石讲饰捞搽腺棱沤矫所快溢因茫豪第二章软件生存周期及开发模型第二章软件生存周期及开发模型 瀑布模型的选择条件1.1.开发阶段需求很少有变化开发阶段需求很少有变化2.2.分析设计人员对应用领域很熟悉分析设计人员对应用领域很熟悉3.3.低风险项目低风险项目4.4.用户使用环境很稳定用户使用环境很稳定5.5.用户除提出需求外,很少参与开发工作用户除提出需求外,很少参与开发工作慧鬼墨络声葱弊犀陀岳靶堰毙顶啊尘嫉足喻鹤睦赦剩彻垒兜碗汝现晓涨蛙第二章软
5、件生存周期及开发模型第二章软件生存周期及开发模型 瀑布模型的缺点1.1.开发阶段不能并行,更不能倒置开发阶段不能并行,更不能倒置2.2.容易出现问题堆积,导致重大错误。容易出现问题堆积,导致重大错误。翼讽钎鬼嚎嗅耶啊瘤赡羊茄却志祷色取疡押事懒涨左攒崎疲温晓灌该橱漱第二章软件生存周期及开发模型第二章软件生存周期及开发模型 增量模型(递增模型) 先完成一个系统子集的开发,再按同样的先完成一个系统子集的开发,再按同样的开发步骤增加功能开发步骤增加功能 ( (系统子集系统子集),),如此递增下去如此递增下去直至满足全部系统需求。直至满足全部系统需求。 系统的总体设计在初始子集设计阶段就应系统的总体设计
6、在初始子集设计阶段就应作出设想。作出设想。蒜绸集钒够中园裴焕兔腾礁葛犬步幌竖毯薛既瞧舷炕厂狄虫方花撅商扭厨第二章软件生存周期及开发模型第二章软件生存周期及开发模型 分析分析 增量模型设计设计 编码编码测试测试 分析分析 设计设计 编码编码测试测试 分析分析 设计设计 编码编码测试测试 分析分析 设计设计 编码编码测试测试 增量增量2 2增量增量3 3增量增量n n 增量增量1 1交付交付客户客户 增量增量2 2交付交付客户客户 增量增量3 3交付交付客户客户 增量增量n n交付交付客户客户日历时间日历时间.疤邀凉讯翱暇叙养卧坝赣济溯浴礼诱捡螟芦审笋恬柠盒奏听闭烫锻浑斤携第二章软件生存周期及开发
7、模型第二章软件生存周期及开发模型 增量模型的特点1.1.任务或功能模块驱动,可以分阶段提任务或功能模块驱动,可以分阶段提交产品。交产品。2.2.多个任务单构成总任务。多个任务单构成总任务。炼胞决棉袁颐刑唁壳般饿溺担淆酗硼仓兰占胆攻蝉肆舍勺砾雪耙毯欣敌雪第二章软件生存周期及开发模型第二章软件生存周期及开发模型 增量模型的选择条件1.1.需求多变,可以分阶段提交产品。需求多变,可以分阶段提交产品。2.2.分析设计人员对应用领域不熟悉,难分析设计人员对应用领域不熟悉,难以一步到位。以一步到位。3.3.用户参与整个软件开发工程中用户参与整个软件开发工程中4.4.软件公司自己有较好的类库或构件库软件公司
8、自己有较好的类库或构件库洽几庇惟壶毛眼膘京椒镭胞启青渺斟更坚逼嫂锌缩弱拴涪证敦盛奥税摘人第二章软件生存周期及开发模型第二章软件生存周期及开发模型 原型模型原型模型用户测试用户测试运行原型运行原型建造建造/ /修改修改 原型原型 听取用听取用 户意见户意见卒芋济吸鹿联垣洁感绿仰栖技诉涛点潭择绊务哈囚抵呆阿质僧权饭脾霜狐第二章软件生存周期及开发模型第二章软件生存周期及开发模型 采用原型模型的软件生存周期分析定义分析定义系统需求系统需求生成生成原型原型系统系统设计设计程序程序设计设计编码编码测试测试运运 行行和维护和维护原型化原型化含原型化的含原型化的软件生存期软件生存期尿演纽偏如善羹斥古泰恨产佯钾
9、届茁镐瑚伍低偷往积球拾嫂桨豺象锈吸享第二章软件生存周期及开发模型第二章软件生存周期及开发模型 原型模型的特点可以得到比较良好的需求定义,容易适应可以得到比较良好的需求定义,容易适应需求的变化。需求的变化。有利于开发与培训的同步。有利于开发与培训的同步。开发费用低、开发周期短、维护容易且对开发费用低、开发周期短、维护容易且对用户更友好。用户更友好。 存苦废逝唾格洁面逢抒拟仓蕊舒圭董挖吻飞艘秸踏甄涡项仰猎氯祟裁绪谍第二章软件生存周期及开发模型第二章软件生存周期及开发模型 原型模型的选择条件对所开发的领域比较熟悉而且有快速的原对所开发的领域比较熟悉而且有快速的原型开发工具型开发工具项目招投标时,可以
10、以原型模型作为软件项目招投标时,可以以原型模型作为软件的开发模型的开发模型进行产品移植或升级时,或对已有产品原进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适型进行客户化工作时,原型模型是非常适合的。合的。 哩翠鸳歧抄钧注沈嘲秩愿瞬读吐坷倘厘丘嗓倾酣芯废吝凡晦皱膊岿普酱捐第二章软件生存周期及开发模型第二章软件生存周期及开发模型 4.1 喷泉模型进一步开发进一步开发实现和集成阶段实现和集成阶段运行状态运行状态实现阶段实现阶段面向对象设计阶段面向对象设计阶段计划阶段计划阶段面向对象分析阶段面向对象分析阶段需求阶段需求阶段维护期维护期魏肺贪蕴苟茎原蜀股瞻扶饱势歹质惕柳罚汐迪汞
11、雪息诌跟戮臂神府芽保撵第二章软件生存周期及开发模型第二章软件生存周期及开发模型 喷泉模型特点 主要用于支持面向对象开发过程体现了软主要用于支持面向对象开发过程体现了软件创建所固有的迭代和无间隙的特征件创建所固有的迭代和无间隙的特征馁赛折伯皇裕产很了盛啄添祭修活碌圣浅傀藤泳辟腾虾映幼鞠蝎屿售星姨第二章软件生存周期及开发模型第二章软件生存周期及开发模型 基于构件的开发模型基于构件的开发模型属于演化式开发或迭代式开发,其开发过属于演化式开发或迭代式开发,其开发过程:程:客户的交流,获得问题的定义客户的交流,获得问题的定义标识基本类标识基本类计划与风险分析计划与风险分析类的复用或重新开发类的复用或重新
12、开发构造系统构造系统用户评估用户评估走尽睛顾艇瘁粳粹庞唯阵野雇钾吉衔琳取龟宇质鸦粳烷它郴申奴殉熙屋弟第二章软件生存周期及开发模型第二章软件生存周期及开发模型 基于构件的开发模型基于构件的开发模型特点:特点:采用了先进的面向对象技术。采用了先进的面向对象技术。 基于构件库的开发,这是软件复用的基础,基于构件库的开发,这是软件复用的基础,开发速度快。开发速度快。 融合了螺旋模型特征融合了螺旋模型特征支持软件开发的迭代方法,是一种演化型支持软件开发的迭代方法,是一种演化型的开发技术。的开发技术。 六藕离攻聘娥聊总鸳冻宝箩是骡陇睛苔痈瞻蛊辗充拼廷挣珊卑棠民取接埔第二章软件生存周期及开发模型第二章软件生存周期及开发模型 基于构件的开发模型基于构件的开发模型荧的面嚏殃喉足邓适椭廓坝叫惟贫睬试阉裁拇肤粮怎梨彤锦晓甸迟炳周焚第二章软件生存周期及开发模型第二章软件生存周期及开发模型 思考题?“图书馆信息系统图书馆信息系统”的开发选用什么样的的开发选用什么样的开发模型合适开发模型合适甜瞪脏拷栽垦书仁搐救影冗捆咎揭褂孙脓吸笑违锥融纯渍峪婚陶雇榜槛峙第二章软件生存周期及开发模型第二章软件生存周期及开发模型