您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第三章 软件项目生存期模型--by anita
信息管理教研室:李姗办公室:A4201Email:LiShan@ccniit.comPhoneNo:028-828781952成都东软学院信管教研室李姗学习目标和能力要求•了解软件项目生存期的定义;•了解生存期模型的定义;•了解几种常见的生存期模型。3成都东软学院信管教研室李姗生存期在项目开发路线图的位置合同管理生存期需求管理任务分解进度计划项目估算质量计划配置计划风险计划团队管理项目度量集成计划跟踪控制项目结束4成都东软学院信管教研室李姗软件项目开发生命周期2020/4/17山东科技大学信息学院6软件生命周期(SDLD)是指从软件开始开发到报废的全过程,亦称软件生存期(lifecycle)。一般用经典的瀑布模型来描述。软件项目的生存期是指软件项目从批准、实施到交付、结束的全部过程。软件产品的生存期是指软件产品从孕育、诞生、成长、成熟到衰亡的生存过程。一般而言,软件项目的生存期是软件产品生存期的具体生产阶段。软件项目生存期的定义7成都东软学院信管教研室李姗软件项目生存期与软件产品生存期比较产品调研项目批准需求分析维护升级换代淘汰测试改进交付使用设计开发批量生产软件产品生存期软件项目生存期8成都东软学院信管教研室李姗软件生存期的重要性选择生存期模型,就是选择项目的开发策略。项目生存期模型的决定,影响了项目的进度和成本。如果选择了错误的生存期模型,有可能导致项目的失败。9成都东软学院信管教研室李姗建筑工程类项目典型生存期模型10成都东软学院信管教研室李姗制药项目典型生存期模型11成都东软学院信管教研室李姗2020/4/17山东科技大学信息学院12软件开发的一种框架。说明了软件的活动和进行软件开发的过程。这个模型可以是以活动为中心,可以以产品为中心的。软件生存期模型的特征描述了开发的主要阶段定义了每一个阶段要完成的主要过程和活动规范了每一个阶段的输入和输出提供了一个框架,可以将必要的活动映射到该框架中。13成都东软学院信管教研室李姗软件生存周期过程管理的主要阶段选择合适的软件生存周期模型(SoftwareLifeCycleModel,SLCM)标识和定义生存周期的任务,即创建软件生存周期(SoftwareLifeCycle)建立管理和技术上的软件生存周期过程(SoftwareLifeCycleProcess)整个周期内对生存周期过程的管理14成都东软学院信管教研室李姗常用的生存期模型介绍瀑布模型V型模型原型模型增量模型螺旋式模型快速应用开发模型渐近式阶段模型15成都东软学院信管教研室李姗2020/4/17山东科技大学信息学院16瀑布模型是将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型。瀑布模型需求分析设计实施测试维护17成都东软学院信管教研室李姗2020/4/1718瀑布模型的特点简单易用,直观。开发的进程一个顺着一个。没有反馈过程。需要严密控制。允许基线和配置早期接受控制。未知的新项目不适合瀑布模型。用户直到项目结束才能看到产品质量。不允许或者限制变更。19成都东软学院信管教研室李姗瀑布模型使用指南开发前的过程:系统概念开发和系统配置开发。开发过程中:需求过程、设计过程、实施过程。开发后的过程:安装过程、支持过程、维护过程、抛弃过程。20成都东软学院信管教研室李姗瀑布模型适用项目项目开发中,向下、渐进的路径占支配地位。项目的需求在项目开始前很明确。解决方案在项目开始前也很明确。类似的项目有:公司的财务系统库存管理系统短期项目21成都东软学院信管教研室李姗1988年以前,美国国防部所允许的软件开发标准就是瀑布模型。案例:广州“教育E时代”工程建设项目成都东软学院信管教研室李姗22V型模型项目规划需求分析概要设计接收测试系统测试集成测试详细设计单元测试编码调试23成都东软学院信管教研室李姗V型模型的特点简单易用。强调测试过程与开发过程的对应性和并行性。没有反映实际的开发过程。24成都东软学院信管教研室李姗V型模型使用指南•严格按照顺序进行开发,一个阶段是下一个阶段的输入。•注意开发过程和测试过程的并行性。25成都东软学院信管教研室李姗V型模型适用项目项目的需求在项目开始前很明确。解决方案在项目开始前也很明确。项目对系统的性能安全要求很严格。类似的项目有:航天飞机控制系统鸟巢奥运主会场的建设公司的财务系统26成都东软学院信管教研室李姗27项目计划设计完善运行数据库快速分析功能用户界面用户认可原型迭代操作维护原型模型的特点在需求定义之前,需要快速构建一个系统。根据构建系统的优缺点,用户给开发人员提出反馈意见。根据反馈意见修改软件需求规格,以便系统可以更正确地反映用户的需求。减少各种假设以及风险。28成都东软学院信管教研室李姗原型模型使用指南用户和开发人员根据初始需求共同开发一个项目规划。用户和开发人员利用快速分析技术共同定义需求和规格。设计者构建一个模型。设计者演示这个模型,用户来评估性能。标识问题,然后用户和设计者一起来解决他们。循环这个过程,直到用户满意为止。详细设计就可以根据这个原型进行。原型可以用代码或者工具来实施。29成都东软学院信管教研室李姗原型模型适用项目项目的需求在项目开始前不明确。项目开始时的需求具有大量不确定性。类似的项目如:用户对系统的显示界面有明确要求。第一次开发的产品,验证技术可行性。30成都东软学院信管教研室李姗增量式模型11第一增量第二增量第三增量核心功能2123……核心功能核心功能31成都东软学院信管教研室李姗增量式模型的特点可以循序渐进,避免一次投入太大的风险。更快地开发出可以操作的系统。可以减少开发过程中用户需求的变更。有些增量可能需要重新开发。32成都东软学院信管教研室李姗增量式模型使用指南首先构建整个系统的一部分,或者是具有高风险的部分功能。然后逐步地增加功能和性能,循序渐进。增加功能的时候应该高效而且符合用户的需要。33成都东软学院信管教研室李姗增量式模型适用项目项目开始,明确了需求的大部分,但是需求可能会发生变化。对于市场和用户把握不是很准,需要逐步了解。对于有庞大和复杂功能的系统进行功能改进时,需要一步一步实施的项目。34成都东软学院信管教研室李姗螺旋式模型35成都东软学院信管教研室李姗螺旋式模型的定义螺旋式模型是针对风险比较大的项目而设计的一种模型。它是通过一系列瀑布模型的不断循环来逐步规避风险。每个循环步骤包括四个阶段。36成都东软学院信管教研室李姗螺旋式模型循环的四个阶段螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即:制定计划──确定软件目标,需求和选定实施方案,弄清项目开发的限制条件。风险分析──评估所选方案,考虑如何识别和消除风险。实施工程──实施软件开发,编码,测试等。客户评估──评价开发工作,提出修正建议,规划下期任务。37成都东软学院信管教研室李姗螺旋式模型的特点是瀑布模型的多次迭代。它将每个阶段进行更细的划分。可以进行灵活设计。通过风险管理驱动。用户可以更早看到产品。用户可以不断对产品进行评估。用户可以与开发人员进行紧密的合作。项目的投资不用一次投入。可以给开发人员更多的反馈信息。38成都东软学院信管教研室李姗螺旋式模型适用项目项目中风险是主要的制约因素。不确定因素和风险限制了时间的进度。用户对自己的需求也不是很明确。需要对一些基本的概念进行验证。可能发生一些重大的变更。项目规模很大。项目中采用了新技术。39成都东软学院信管教研室李姗螺旋式模型适用指南采用最低成本来开发对将来项目有用的一部分。允许设计的变动。选择比较小的步伐循序渐进。使需求规格处于可修改状态。项目中有很多风险,注意风险的控制。40成都东软学院信管教研室李姗快速应用开发(RAD)模型传统生存模型快速应用开发模型需求规划用户设计系统构建提交需求规划开发设计编码测试提交41成都东软学院信管教研室李姗快速应用开发模型的定义快速应用开发模型是用工具快速构造系统的一种方法。系统构造的时间比其他模型少,模型中更多的任务是规划和设计,而不是编码和调试。编码和调试多借用技术工具自动完成。42成都东软学院信管教研室李姗快速应用开发模型的定义规划分析设计构建测试规划后置快速应用开发后置压缩43成都东软学院信管教研室李姗快速应用开发模型的特点团队很小并且是由经过训练的人员组成。可以用很少的人很低的成本,改善生产率,缩短循环周期。可以用自动生成软件生成复用的部分。用户可以确定系统如何适应业务需求。44成都东软学院信管教研室李姗快速应用开发模型使用指南采用快速应用开发模型,包括四个阶段:需求规划阶段。明确需要解决的商务流程。用户设计阶段。采用工具由用户参与进行系统规划设计。构建阶段。根据用户设计结果,采用代码生成器快速形成需要的系统。提交阶段。将产品提交使用,培训用户。45成都东软学院信管教研室李姗快速应用开发模型适用项目很小并且具有探索性质的项目。适合一个复杂度从小到大变化的项目。例如重整企业的信息系统(MIS)。ERP系统改造、企业流程再造(BPR)等项目。46成都东软学院信管教研室李姗渐进式阶段模型渐进式模型47成都东软学院信管教研室李姗渐进式阶段模型阶段式模型48成都东软学院信管教研室李姗渐进式阶段模型的定义综合了增量模型和螺旋式模型的一个实用模型,是最常用的软件项目生存期模型之一。渐进式前进阶段式提交二八理论的应用:每完成当前阶段80%的工作,即可开始下一阶段的工作。49成都东软学院信管教研室李姗渐进式阶段模型的特点阶段式提交一个可运行的产品。关键的功能更早出现。早期预警问题,避免软件缺陷不知不觉的增长。减少报告负担。阶段性完成可以降低估计失误。阶段性完成均衡了弹性与效率。50成都东软学院信管教研室李姗渐进式阶段模型使用指南每个实施阶段都要进行详细设计、实施、测试、修正等,并且每个阶段都提交阶段性产品。强调项目规划与风险降低。最重要的功能先实现。51成都东软学院信管教研室李姗渐进式阶段模型使用指南阶段一阶段二阶段三系统一系统三系统二52成都东软学院信管教研室李姗渐进式阶段模型适用项目可以适合任何规模的项目,主要是中型或大型项目希望随时看到未来的项目53成都东软学院信管教研室李姗银行业务系统的生存期实例产品阶段1设计业务需求分析项目1规划集成测试产品阶段1开发产品阶段n设计产品阶段n开发确认测试产品提交原形系统源代码项目n规划项目总规划银行业务需求原形系统分析54成都东软学院信管教研室李姗其他模型其他模型例如:Codeandfix自定义模型:自行制定适合项目的模型。55成都东软学院信管教研室李姗CodeandFix模型需求了解编码、检查编译、检错修正编写文档提交修正测试56成都东软学院信管教研室李姗选择生存期模型的步骤熟悉各种生存期模型。评审、分析项目的特性。选择适合项目的生存期模型。标识生存期模型与项目不一致地方,并进行调整。57成都东软学院信管教研室李姗2020/4/17山东科技大学信息学院58“School”项目应该采用什么生存期模型?学生成绩管理主要包括数据维护、成绩查询和成绩统计等三大功能模块。其中数据维护应实现班级、学生、课程和课程成绩等信息的录入、修改和删除等功能;成绩查询包括按学生查询其所有课程的成绩、按课程查询所有学生的成绩、按课程和班级查询所有学生的成绩;成绩统计包括按学生统计学分、平均成绩、班级名次和不及格课程门数,按课程统计学生平均成绩、及格率、优良率(80及以上为优良)。2020/4/17山东科技大学信息学院59按照以上需求陈述,如果采用增量模型开发上述系统,请画图表示该系统的生命周期模型?60成都东软学院信管教研室李姗
本文标题:第三章 软件项目生存期模型--by anita
链接地址:https://www.777doc.com/doc-4856517 .html