浅谈软件生命周期_第1页
浅谈软件生命周期_第2页
浅谈软件生命周期_第3页
浅谈软件生命周期_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浅谈软件生命周期摘要:随着科技日新月异的发展,软件这种东西越来越不神秘,一个软件就如同一个人一样,要经历经历孕育、诞生、成长、成熟、衰亡等阶段,因此它也有它的生命周期,所谓的软件生命周期又称软件生命周期(LifeCycle),是软件生命周期内为达到一定目标而必须实施的一系列相关过程的集合,是软件的产生直到报废的生命周期。现在的软件生命周期过程不仅仅包括工程类的活动,还逐渐加入了项目管理、质量保证、基础保障等活动,使其逐渐变得更加的完整和系统。关键词:软件生命周期阶段模型1.前言:软件的生命包括不同的阶段,每个阶段又包括不同的过程,之所以把整个软件生存周期划分为若干阶段,是要使得每个阶段有明确的任务,使规模大,结构复杂和管理复杂的软件开发变的容易控制和管理。对软件生命周期过程的研究有助于我们更好的研发,升级软件,以及对一个软件生命周期的延长。2.的软件生命周期一般来说一个软件完整的生命周期可以划分为六个阶段:2.1、问题的定义及规划此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。2.2、需求分析在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。2.3、软件设计此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。2.4、程序编码此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。2.5、软件测试在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。2.6、运行维护软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。进性维护两个方面。3.生命周期模型分析3.1V字模型(1)特点:V字模型是一种线型顺序模型,每阶段主要工作成果从一个阶段传递到下一个阶段,必须经过严格的评审或测试,各阶段相互独立、不重叠。V字模型是所有软件生命周期模型的基础。开发流程如图1所示。(2)优点:可以保证整个软件产品较高的质量,保证缺陷能够提前的被发现和解决。采用V字模型可以保证系统在整体上的充分把握,使系统具备良好的扩展性和可维护性,强调早期的计划及需求调查与分析;强调产品测试的完备性;过程文档齐全,便于追溯和使用;过程的可见性强,便于过程质量控制;只要需求是稳定的,则进度也是稳定的。(3)缺点:无法解决软件需求不明确或不准确的问题,灵活性差,依赖于早期进行的需求调查,不能适应需求的变化。(4)适用情况:主要适用于组织所熟悉领域的应用系统开发,前期充分理解用户需求,且需求是确定不变的;用户有一定的能力,对需求的表述是确切的;充分理解该解决方案的技术和体系;需要一个可维护性和可支持性较高的解决方案;所有产品的控制基线,需要有可见度和可靠性;适用于新的有较多用户的产品、平台、中间件开发项目,或者是用户对开发过程有严格要求的工程定制项目;项目经理有一定的项目管理经验;要求开发时间较充分。3.2中等简化V字模型特点:中等简化V字模型就是在标准V字模型基础上根据组织中一些小项目的实际需要演化而来。模型图如图2所示。优点:可以适应中等和较小项目较灵活的管理需要,提供中度的进度控制,相对标准V字模型,可以减少部分项目管理工作量和开支,在产品交付方面进行合理的控制缺点:因项目开发流程相对简化,项目的风险增大,质量隐患增大。适用情况:项目的复杂度、团队的规模、工作量和项目周期都是中等程度的;需求和技术都已被充分理解;项目经理有较高的项目管理和控制经验;在已经运行过的成型系统之上,根据客户的不同需求进行客户化改造的项目,客户对原系统有充分的了解,能够提出比较成熟的需求。3.3最简化V字模型特点:最简化V字模型就是在标准V字模型基础上根据组织中的小项目和维护项目的实际需要演化而来。一般情况下,不建议使用此种模型。优点:可以适应小项目的灵活性;减少过程复杂带来的产品提交时间延长;过程相对简单,项目管理控制的工作量相对较少;提供中度的进度控制;减少开支。缺点:对阶段性的控制较弱,不能及时发现问题;项目前期控制较弱,使得项目产品质量留有隐患。最简化V字模型如3所示。适用情况:项目的规模和工作量都比较小;项目具有较小的开发团队;需求和技术都是被充分确定和理解的;系统复杂度低,不需要独立的设计阶段;产品的体系结构是稳定的;项目经理经验丰富,对项目有较好的管理控制能力;单项功能的修改或增加,开发周期较短的项目。3.4迭代模型特点:已有2种迭代方式。一种是以需求、计划、设计为重点的迭代模型,常用于需求不明确的项目;另一种是以计划、设计、编码、测试为重点的迭代模型,常用于算法型等技术难度较高的项目。优点:允许变更需求,中途的修改容易,迭代流程自身可在进行过程中得到改进和精炼;生成性能更强壮的产品;风险管理比较容易,可及早降低风险,存在良好的信息传递渠道。缺点:因本模型较为灵活,对管理的要求较高,项目经理需要有丰富的项目管理经验;迭代的次数和任务规划难把握,对项目策划要求较高。适用情况:规模较大的项目或产品,需求的清晰度低,且需要进一步的调查;技术或体系结构方面的知识匮乏。螺旋形模型适用项目:主要是用于大规模软件项目,需求不明朗,风险比较高的项目。开发者和客户能够较好地对待和理解每一个演化级别上的风险。3.5原型+瀑布模型特点:用户需求不完全或不确定,针对总体的轮廓先建立一个用户需求原型,然后进行评价和反馈。对原型进行扩充、改进和求精,完成最终系统。优点:开发者可以很快的构建一个可以演示的产品系统,客户和开发者对系统有更好的理解。缺点:没有考虑软件的整体质量和长期的可维护性;由于达不到质量要求产品可能被抛弃;由于原型并非最终产品,如果原型不能利用,可能导致成本的增加。适用情况:客户能提出一般性的目标,但不能标出详细的输入、处理及输出需求;开发者不能确定算法的有效性、操作系统的适应性、人机交互的形式;项目包含一种新技术;存在关于性能、可靠性和可行性方面的主要的、未解决的问题。3.6螺旋模型特点:风险驱动,关注风险,风险分析后决策项目是否继续进行。螺旋模型实现了随着项目成本投入不断增加,风险逐渐减小,并加强项目的管理和跟踪。在每次迭代结束后都需要对产出物进行评估和验证,当发现无法继续进行下去时可及早终止项目。优点:对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试或测试不足;维护和开发之间并没有本质区别。缺点:需要风险分析评估的专门技术,且成功依赖于这种技术。很明显一个大的没有被发现的风险问题,将会导致问题的发生,并可能导致演化的方法失去控制。3.7增量模型特点:第一阶段增量往往是核心产品;每一阶段增量均可发布一个版本。优点:人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个阶段增量,同时人员可以并行工作;需求明确部分可以分阶段实现,逐步优化系统需求,集成系统元素;阶段交付。缺点:由于增量模型的灵活性,往往容易退化成边做边改方法,使软件过程的控制丧失了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论