欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    软件生命周期过程.ppt

    • 资源ID:6377454       资源大小:317.49KB        全文页数:53页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件生命周期过程.ppt

    第二章 软件生命周期过程,主讲人:吴建林,2023/10/22,2,提纲,第二章 软件生命周期过程2.1 软件生命周期2.2 基本过程2.3 支持过程2.4 组织过程,2023/10/22,3,2.1 软件生命周期,2.1.1 软件生命周期定义2.1.2 软件生命周期模型2.1.2.1 瀑布模型2.1.2.2 演化模型2.1.2.3 螺旋模型2.1.2.4 喷泉模型2.1.2.5 构件组装模型2.1.2.6 快速应用开发模型2.1.2.7 其他模型,2023/10/22,4,2.1.1 软件生命周期定义,1、软件生命周期:指软件产品从考虑其概念开始,到该软件产品不再能使用为止的整个时期。一般包括:概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装阶段以及交付使用阶段、运行阶段和维护阶段。有时还有退役阶段。这些阶段可以有重复,执行时也可以有迭代。,2023/10/22,5,2.1.1 软件生命周期定义,2、软件开发生命期:指软件产品从考虑其概念开始到该软件产品交付使用为止的整个时期。一般包括:概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装阶段,以及交付阶段。这些阶段可以有重叠,执行时也可以有迭代。,2023/10/22,6,2.1.1 软件生命周期定义,3、软件开发过程:把用户的要求转变成软件产品的过程叫做软件开发过程。是人们用于开发和维护软件及其相关产品(项目计划、设计文件、编程代码、测试、用户手册)的一系列活动、方法、实践和改造。软件过程的规划由不同开发机构针对不同应用项目确定,包括一些有组织的活动:1)对用户的要求(need)进行分析、2)解释成软件需求(requirement)、3)把需求变换成设计、4)把设计用代码来实现、5)测试该代码,5)有时还要进行代码安装和把软件交付运行使用。进一步可以抽象为:1.软件规格说明:规定软件的功能及其运行限制;2.软件开发:产生满足规格说明的软件;3.软件确认:确认软件能够完成客户提出的要求;4.软件演进:为满足客户的变更要求而进行演进。这些活动可以重叠,执行时也可以迭代。,2023/10/22,7,2.1.1 软件生命周期定义,软件过程的研究重点:软件生产和管理。因此,不仅要有工程的观点,还要有系统的、管理的、运行的、用户的观点。软件过程的分类:1.基本过程:与软件生产直接相关的过程2.支持过程:支持软件生产的过程3.组织过程:与软件生产组织(单位)有关的过程4.剪裁过程:将上述过程和活动剪裁到具体应用中的过程。,2023/10/22,8,2.1.1 软件生命周期定义,4、软件过程的活动:实现软件开发生命期目标所必须完成的所有任务以及完成任务的步骤。一般包括框架活动和伞形活动。框架活动:是软件工程过程必须的主要步骤、是决定软件产品如何出现、存在的重要活动。包括:一组软件工程工作任务并指出什么算完(里程碑)?交付出什么?质量保证点是什么?软件工程工作任务因产品特性而选用不同的过程模型展开。当然,最抽象的框架活动是定义、开发、维护。有了模型它就可以把这三大步骤细化了。,2023/10/22,9,2.1.1 软件生命周期定义,伞形活动:是为保证高质量产品出现、存在的活动。它凌驾于框架活动之上,故谓之“伞形”,典型的伞形活动是:软件项目追踪和管理(1)正式技术评审(2)软件质量保证(3)软件配置管理(4)文档的准备和制作可重用管理软件度量(指本项目特殊的度量)风险管理,2023/10/22,10,2.1.1 软件生命周期定义,5、框架活动与项目特征框架活动对某类项目、某开发单位相对固定,但变动比较大。一般把软件项目分成五类。(1)概念开发项目:相当于我国科研体制中“预研”项目(2)新应用开发项目:例如,Word 1.0(3)应用增强项目:有重大改进如Word 3.0,6.0(4)应用维护项目:相对小的改进(5)重构工程项目:将已有项目部分或全部重构概念开发项目可以采用线性顺序模型:(1)项目定义:概念范围定义(2)作计划:初步概念计划和技术风险评估(3)作工程/构建:概念证明(4)发布:概念实现(5)客户评价:客户反应,2023/10/22,11,2.1.1 软件生命周期定义,对于新应用开发和后续的增强和维护项目,可以采用螺旋模型,其框架活动是:(1)与客户通信:建立有效通信(2)作计划:定义资源、时限、项目相关信息(3)风险分析:技术和管理风险(4)作工程:作出主要应用程序表示(5)构建和发布:构建、测试、安装并提供用户支持(6)客户评价:收集反馈意见这些框架活动可因公司(单位)项目而异。如RUP方法学把框架活动定义为线性顺序四阶段模型:(1)初始(Inception):定义环境、捕捉需求(2)求精(Elaboration):定义需求、分析、设计(3)构建(Construction):实现、测试(4)移交(Transition):测试、布署每个阶段内部都是迭代的,即支持原型。因此生存周期模型不同于传统一维模型,变为二维的模型,一维是框架活动,一维是可反复迭代的工程活动。,2023/10/22,12,2.1.2 软件生命周期模型,软件开发模型:是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。,2023/10/22,13,2.1.2.1 瀑布模型,早期的瀑布模型即为线性顺序模型。它一次走完分析、设计、编码、测试和运行维护这些框架活动。质量保证、文档制作、正式技术评审、配置管理等伞形活动穿插其中。,2023/10/22,14,2.1.2.1 瀑布模型,2023/10/22,15,2.1.2.1 瀑布模型,1970年,W.Royce提出瀑布模型。特征:活动的输入来自上一活动的输出;完成该项活动的内容;活动的输出传给下一活动;对活动的实施工作进行评审。适合:需求明确的任务。优点:以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,从而保证了软件产品及时交付,并达到预期的质量要求。严格把关、错误尽早发现并消灭在前一阶段。缺点:成品时间长;缺乏灵活性。80年代中期发现严格按瀑布模型开发的大型系统成功率极低(低于23%)。,2023/10/22,16,2.1.2.1 瀑布模型,瀑布模型的变种V模型,需求分析,概要设计,详细分析,编码,单元测试,集成测试,确认测试,其他测试,2023/10/22,17,2.1.2.2 演化模型,项目开发初始阶段对需求的认识不够清晰,使得开发工作出现再开发在所难免。经验告诉我们:开发“两次”后的软件能较好地满足用户的要求。第一次:试验开发,目的是探索可行性,弄清楚项目的需求。第二次:在第一次的原型基础上进行开发,从而获得较为满意的软件产品。,2023/10/22,18,2.1.2.2 演化模型,需求分析,软件设计,程序编码,软件测试,软件集成,软件评审,需求分析,软件设计,程序编码,软件测试,软件集成,软件评审,反馈,“第一次”,“第二次”,适合:事先不能清晰和完整定义需求的软件开发。原型增加了开发的工作量,增加了管理上的困难。特别是原型过程步骤事先难于计划,不知道应反复几次,从哪里开始反复,预算进度均难于控制。但它具有切合实际,成功率较高的优点,故至今仍在使用。,2023/10/22,19,2.1.2.3 螺旋模型,对于大型项目而言,事先不能完整清晰地定义需求是常事,而且开发一个原型是远远不能解决问题的,需要开发内容逐步丰富的多个原型。大型项目的规模和复杂性增加,软件开发过程中必然存在着许多风险问题,风险分析是保证项目成功的必要手段。,2023/10/22,20,2.1.2.3 螺旋模型,2023/10/22,21,2.1.2.3 螺旋模型,螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即:制定计划确定软件目标,选定实施方案,弄清项目开发的限制条件风险分析分析所选方案,考虑如何识别和消除风险实施工程实施软件开发客户评估评价开发工作,提出修正建议,2023/10/22,22,2.1.2.3 螺旋模型,2023/10/22,23,2.1.2.4 喷泉模型,软件开发的固有特征:1、迭代 多次重复、演进。2、无间隙 各阶段间无明显的界限。支持分析和设计结果的自然复用。适用:面向对象的软件开发过程。,2023/10/22,24,2.1.2.4 喷泉模型,2023/10/22,25,2.1.2.5 构件组装模型,面向对象和基于构件包的软件要重用大量构件,这些构件是适用于某个领域的(例如,建筑,财经、商场,电信等)。它将以前开发并使用良好的构件规范化之后放入项目库。这类软件的开发过程也采用螺旋模型,只是把作工程和构造及发布合成一个步骤。风险分析后,转入客户评价。步骤如下:(1)先标识本项目需要什么构件;(2)库中查找构件或相似的构件;(3)如果可用转4 否则自行开发或修改,确认后入库;(4)构造为新系统作第m次迭代;(5)测试、确认。,2023/10/22,26,2.1.2.6 快速应用开发模型,R(apid)A(pplication)D(evelopment)有以下步骤:(1)业务模型:以什么信息驱动业务过程运作?要生成什么信息?谁生成它?信息流的去向?由谁处理?可以辅之以数据流图。(2)数据模型:为支持业务过程的数据流,找数据对象集合,定义数据对象属性,与其它数据对象的关系构成数据模型,可辅之以E-R图。(3)处理模型:如何使数据对象在信息流中完成各业务功能。描述数据对象的增加、修改、删除、查找。即细化数据流图中的处理框。(4)应用程序生成:利用第四代语言(4GL)写出处理程序,重用已有构件或创建新的可重用构件,利用环境提供的工具,自动生成,构造出整个的应用系统。(5)测试与交付,由于大量重用,一般只作总体测试,但新创建的构件还是要测试的。,2023/10/22,27,2.1.2.7 其他模型,还有并发开发模型和形式方法模型,分别针对并发程序系统和需要进行数学验证或函数式、逻辑式程序系统而设的。,2023/10/22,28,2.2 基本过程,定义:指那些与软件生产直接相关的过程。包括:获取过程;供应过程;开发过程;运行过程;维护过程;其中:每一个过程是由一些有组织的活动构成的。每一个活动还可以继续划分为一些将输入变换为输出的操作任务。,2023/10/22,29,2.2.1 获取过程,过程执行者:需要软件系统或软件产品的人。包含的活动:确定需求;招标;签订合同;对供应方的监督;验收完成。,2023/10/22,30,2.2.2 供应过程,过程执行者:软件供应方包含的活动:理解需求;投标;签订合同;计划;实施;控制;评审评价;交付。,2023/10/22,31,2.2.3 开发过程,过程执行者:软件开发者包含的活动:需求分析;设计;编码;集成;测试;安装;验收支持等。具体的任务:1.过程的实施准备:制定过程计划、过程规约、文档编制方式等;2.系统需求分析:完成系统需求规格说明书,检查其一致性和完备性。(系统需求:主要是指用户的要求以及软/硬件配置要求等),2023/10/22,32,2.2.3 开发过程,3.系统结构设计:建立一个高层的系统体系结构,并检查一致性。4.软件需求分析:确定软件需求和质量特性需求,完成软件需求规格说明书,并检查其一致性、跟踪性、可行性等。5.软件体系结构设计:根据软件需求确定软件体系结构风格、软件功能结构,并检查一致性和可跟踪性。同时完成初步的用户手册和初步的测试要求。6.软件详细设计:详细设计功能结构部件、软件的外部接口、数据库设计、用户手册;制定单元和集成测试计划等。,2023/10/22,33,2.2.3 开发过程,7.软件编码和测试:编码并进行单元测试;充实集成测试计划;充实用户手册。8.软件集成:制定集成测试计划(集成测试要求、步骤、测试责任和时间进度表),并将各软部件集成为所需软件;充实用户手册。9.软件合格测试:制定并执行确认测试计划,检查测试的覆盖程度,测试的结果是否符合预期结果。10.系统集成:将交付的软件与整个系统中的其它软件进行集成。11.系统合格测试12.软件安装13.验收支持:支持获取者对软件的验收评审和测试(需要提供培训)。,2023/10/22,34,2.2.4 运行过程,过程执行者:用户和操作人员(为了使系统或产品投入运行而在用户的业务运行环境中进行的一系列有关的活动)包含的活动:运行准备;运行测试;产品转移;运行;对用户运行的支持(提供帮助和咨询);系统运行评价;用户对运行效果进行评价。目的:使软件从开发环境向用户业务运行环境转移。,2023/10/22,35,2.2.5 维护过程,过程执行者:维护人员包含的活动:过程实施准备;问题分析和修改设计;修改实施;对维护的评审和验收;软件移植;软件退役。目的:保持软件整体性能的同时修改它,使其达到某一需求,直到其退役为止。1.改正性维护:诊断并校正错误。2.适应性维护:为适应变化的环境而对软件进行修改的活动。3.完善性维护:根据用户新的需求,或增加或修改软件的功能。,2023/10/22,36,2.2.6 基本过程总结,2023/10/22,37,2.3 支持过程,定义:为了提供系统或软件产品的质量而在软件基本过程的各个活动中使用的支持手段。包括:文档过程;配置管理过程;质量保证过程;验证过程;确认过程;联合评审过程;审计过程;问题解决过程。过程执行组织:1.软件开发组织自己实施;2.独立的第三方组织实施;3.作为一种服务由客户实施。,2023/10/22,38,2.3.1 文档过程,定义:记录在某一软件基本过程或活动中产生的信息的过程。活动:1.制订文档编制计划;2.设计和开发文档;3.制作和发行文档;4.文档维护。,2023/10/22,39,2.3.2 配置管理过程,定义:管理软件配置项(软件工程过程中产生的所有信息项,如:文档、报告、程序、表格、数据等)的提交、存储、更新,保证软件配置项完整、相容和正确的过程。活动:1.确定、定义一个系统中的软件配置项和基线(Milestone:软件生存期中各开发阶段末尾的特定点)。2.控制配置项的修改与交付。3.记录并报告配置项的完成情况和修改要求。4.保证配置项的完整性、相容性、正确性。5.控制配置项的存储、处理和提交。,2023/10/22,40,质量保证过程,目的:使软件过程和软件产品符合规定的质量要求。要求:实施质量保证的人员不能是直接负责软件产品开发的人员,并应在组织上给予独立的权限。内容:1.软件产品质量保证:保证产品及其相关文档与合同的要求一致。2.软件过程质量保证:保证软件开发过程能按合同要求的计划完成。*保证开发单位的软件工程支持按合同要求完成。*保证开发环境、测试环境及资料等与合同要求一致。*保证软件度量符合所建立的标准和步骤。*保证项目组成员接受必要的培训以达到软件开发必需的知识和技能。,2023/10/22,41,验证(verification)过程,目的:确定一个系统或软件的需求是否完备和正确,以及每一阶段的软件产品是否达到了前面各阶段对它提出的要求或条件。内容:1.合同验证:验证供应者满足需求的能力。2.过程验证:验证项目计划需求是否已经合适和适时。3.需求验证:验证系统需求的完备性、相容性、正确性、可行性和可测试性。4.设计验证:验证设计是否正确并且是否符合可跟踪要求。5.代码验证:验证关键代码是否可跟踪设计和需求、可测试、正确、符合编码标准。6.集成验证:验证每一个软件配置项的部件是否已完全、正确地集成到该软件配置项中。7.文档验证:验证文档内容的正确性、交付的及时性、文档管理的规范性。,2023/10/22,42,确认(Validation)过程,定义:确定需求和建成的系统或软件产品满足原计划特定应用的过程。目标:证实在一个给定的外部环境下软件的逻辑正确性。与验证过程的区别:确认过程证实软件的逻辑正确性,验证过程则对是否达到逻辑正确性的要求进行检查,进一步保证软件的逻辑正确性。,2023/10/22,43,联合评审过程,定义:评价项目的某个阶段或其中的某个活动的执行情况是否合适;评价产品是否合适。内容:1.项目管理的评审:评价项目是否按照计划进展。2.技术评审:评价软件产品的完备性和适合性;评价软件产品与标准、规范规格说明书的一致程度。,2023/10/22,44,审计过程,确定软件开发遵照需求、计划合同的程度;软件产品是否反映了设计文档的要求;文档描述的验收评审和测试需求是否适合于软件产品的验收;测试数据是否遵照规格说明书的要求;测试是否通过并满足规格说明书的要求;测试报告和使用手册是否完整和适合;各项活动是否都已按可应用的需求、计划和合同完成。,2023/10/22,45,2.3.8 问题解决过程,定义:分析和排除在开发、运行、维护或其它过程中发现的问题或不一致的过程。目的:提供一种适时的、可信赖的、并编成文档的手段,以保证分析和排除所有的问题并指明各种倾向。,2023/10/22,46,2.3.9 支持过程总结,2023/10/22,47,2.4组织过程,定义:与软件生产组织有关的过程。内容:管理过程 基础设施过程 改进过程 培训过程,2023/10/22,48,管理过程,定义:软件开发组织的管理者对软件工程过程中的活动进行管理的过程。目的:在一定的时间和预算范围内有效地利用人力、资源、技术和工具,完成预定的系统和软件产品,实现预定的功能和其它质量指标。管理的复杂性:体现在软件生产具有可见性差、定量化难的特点。可见性差:软件研制进度不易识别,存在问题不易及时发现和纠正,其过程容易出现修改和反复。定量化难:软件的成本、生产率和质量不易度量。管理的对象:进度;系统规模和工作量估计;经费;组织和人员;风险;质量;作业;环境配置。分类:进度管理;成本管理;质量管理;人员管理;资源管理;标准化管理。,2023/10/22,49,基础设施过程,定义:建立、维护任何其它过程所需的基础设施的过程。范围:硬件、软件、工具、技术、标准;以及开发、运行、维护所需的设施。活动:定义并建立各过程所需的基础设施,并在相关过程执行时维护所建立的基础设施。,2023/10/22,50,改进过程,定义:评估、度量、控制和改进软件生命周期过程。活动:评估相关过程并实施分析、改进的过程。,2023/10/22,51,培训过程,定义:为系统或软件产品提供人员进行培训的过程。活动:制定培训计划、培训实施和控制。,2023/10/22,52,2.4.5 组织过程总结,2023/10/22,53,2.5 裁减过程,定义:针对特定领域的软件工程,对选定的过程模型和标准进行剪裁,以形成这一工程的模型及标准,形成该工程的各个软件过程和活动。步骤:1.指明工作环境;2.收集信息;3.选取任务、活动、过程;4.编制文档。,

    注意事项

    本文(软件生命周期过程.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开