《zxy软件项目生命周期课件》由会员分享,可在线阅读,更多相关《zxy软件项目生命周期课件(21页珍藏版)》请在金锄头文库上搜索。
1、课程介绍课程介绍软件测试工程师软件测试工程师zxy软件项目生命周期课程名称:软件项目生命周期课程目标:使学员熟悉软件项目生命周期,并知晓测试工程师的在软件项目中的重要责任课程概要:1、主要介绍软件项目的生命周期,以及测试工程师在各个阶段的工作内容2、该课程约2-3小时,采用集中面授的方式zxy软件项目生命周期课程内容1、软件项目生命周期2、软件测试在软件项目中的作用3、全流程的测试思想目录目录zxy软件项目生命周期什么是软件的生命周期?u一个软件从形成概念开始,经过开发、使用和维护,直到最后退出使用的全过程称为软件生存周期。u软件生命周期由软件定义、软件开发、运行、维护及退役五个时期。而每个时
2、期又可以进一步划分成若干阶段。软件生命周期软件生命周期zxy软件项目生命周期软件生命周期的各个阶段软件生命周期的各个阶段阶段基本任务工作结果问题定义理解问题系统目标与范围说明书可行性研究理解工作范围项目计划任务书需求分析定义用户要求需求规格说明书概要设计建立软件结构概要设计说明书详细设计各模块的功能实现程序规格说明书编码编写程序程序清单测试发现和排除错误软件产品维护运行和管理改建的软件产品zxy软件项目生命周期问题定义:“要解决什么问题?”通过对客户的访问调查,系统分析员扼要的写出问题的性质、工程目标和工程规模的书面报告,经过讨论和必要的修改后这份报告应该得到客户用户的确认。可行性研究:“做还
3、是不做”本阶段的任务是根据用户提出的工程项目的性质、目标和规模,进一步了解用户的要求及现有的环境及条件,从技术、经济和社会等多方面研究并论证该项目的可行性,即该项目是否值得去解决,是否存在可行的解决办法。可行性论证包括经济可行性、技术可行性、操作可行性、法律可行性等。软件的生命周期软件的生命周期zxy软件项目生命周期需求分析需求分析的任务是确定待开发的软件系统“做什么,不做什么”。不考虑“怎样做”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。软件系统需求一般由用户提出。系统分析员和开发人员在需求分析阶段必须与用户反
4、复讨论、协商,充分交流信息,并用某种方法和工具构建软件系统的逻辑模型。为了使开发方与用户对待开发软件系统达成一致的理解,必须建立相应的需求文档。需求分析阶段的主要成果有软件需求规格说明、软件验收测试计划和准则、初步的用户手册等。软件的生命周期软件的生命周期zxy软件项目生命周期概要设计:l是对需求规格说明中提供的软件系统逻辑模型进行进一步的分解,从而建立软件系统的总体结构和各子系统之间、各模块之间的关系,定义各子系统接口界面和各功能模块的接口,设计全局数据库或数据结构,规定设计约束,制定组装测试计划,进而给出每个功能模块的功能描述、全局数据定义和外部文件定义等。l通过选择某种方法和工具。设计的
5、软件系统应具有良好的总体结构、尽量降低模块接口的复杂度,并力争做到各功能模块之间的低耦合度、而功能模块内部具有较高的内聚度。l阶段性成果:概要设计说明书、数据库或数据结构说明书、组装测试计划等文档。软件生命周期软件生命周期zxy软件项目生命周期详细设计:l任务:是将概要设计产生的功能模块进一步细化,形成可编程的程序模块,然后设计程序模块的内部细节,包括算法、数据结构以及各程序模块间的接口信息,并设计模块的单元测试计划。l途径:可以采用结构化的设计方法,采用结构化的程序流程图、N-S图、PAD图、过程设计语言(PDL,ProcedureDesignLanguage)等工具进行描述,也可以采用面向
6、对象的设计方法等等。l阶段成果:应提供“详细设计规格说明”和单元测试计划等详细设计文档。软件生命周期软件生命周期zxy软件项目生命周期编码:l编码的主要任务是根据详细设计规格说明,用某种选定的程序设计语言把详细设计的结果转化为机器可运行的源程序模块,这是一个编程和调试程序的过程。l一般来说,对软件系统所采用的分析方法、设计方法、编程方法以及所选用的程序设计语言应尽可能保持一致。l编码阶段应注意遵循编程标准、养成良好的编程风格,以便编写出正确的便于理解、调试和维护的程序模块。测试:n测试阶段解决的主要问题是“通过怎样的测试(及相应的调试),使软件系统达到用户的预期要求。”软件生命周期软件生命周期
7、zxy软件项目生命周期运行:l软件工程师将所开发的软件安装在用户需要的运行环境中,以交给用户使用,这个阶段成为运行阶段。l该阶段的问题是“软件能否顺利的为用户进行服务”。l软件的运行是软件产品发挥社会和经济效益的重要时期l在软件使用过程中用户或软件工程师必须仔细收集已发现的软件运行中的问题,定期或不定期的拟定“软件问题报告”。软件生命周期软件生命周期zxy软件项目生命周期维护:l任务:通过各种维护活动使软件系统持久地满足用户的需求。l每项维护活动实质上都是一次压缩和简化了的软件定义和软件开发过程。都要经历提出维护要求、分析维护要求、提出维护方案、审批维护方案、确定维护计划、修改软件设计、修改程
8、序、测试程序、评审、验收等步骤。l维护活动一般可以分程四类:改正性维护、适应性维护、完善性维护、预防性维护l据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量的60%以上。在软件开发的过程中应重视对软件可维护性的支持。软件生命周期软件生命周期zxy软件项目生命周期软件测试在软件开发中的作用l项目规划阶段:负责整个测试阶段的监控。l需求分析阶段:确定测试需求分析,制定系统测试计划。测试需求分析是指产品生存周期中测试所需的资源、配置、各阶段评审通过的标准等。l概要设计和详细设计阶段:制定集成测试计划和单元测试计划。l编码阶段:开发相应的测试代码或测试脚本。l测试阶段:实施
9、测试,并提交相应的测试报告。软件测试在软件项目中的作用软件测试在软件项目中的作用zxy软件项目生命周期测试与瀑布模型测试与瀑布模型需求分析需求分析概要设计概要设计详细设计详细设计编码编码系统测试系统测试测试测试单元测试单元测试集成测试集成测试维护维护验收测试验收测试zxy软件项目生命周期测试与瀑布模型u瀑布模型是最经典的软件开发过程模型u瀑布模型适合于需求比较稳定的软件项目u在瀑布模型中,测试是软件开发的最后阶段。这其实并不太好,当测试发现了需求的问题时将可能导致工作产品的大量返工,产品交付将因此延期。而这种情况在实际的测试工作中经常发生。测试与瀑布模型测试与瀑布模型zxy软件项目生命周期测试
10、与测试与V模型模型zxy软件项目生命周期测试与V模型n在瀑布模型中,测试是软件开发过程的最后阶段,而在V模型中,测试贯穿在整个软件开发过程活动中n测试人员可以尽早进入项目1.测试人员将更加熟悉产品,这对设计出高质量的测试用例非常有帮助2.更多缺陷将在早期被发现,这有利于大幅度降低成本n在项目后期发现严重缺陷的风险大大降低n很多组织选用V模型作为项目的开发模型测试与测试与V模型模型zxy软件项目生命周期测试与螺旋模型测试与螺旋模型zxy软件项目生命周期测试与螺旋模型n螺旋模型是一个风险驱动的软件开发模型n比V模型有优势的是,螺旋模型是风险驱动的,这将大大增加一个项目成功的可能性,采用螺旋模型时,
11、必须在下一个阶段开始前评估风险。对于测试而言,这将使得测试过程更加合理,因为每个测试项都是基于那些已被评估的风险测试与螺旋模型测试与螺旋模型zxy软件项目生命周期为什么各个软件开发过程模型,从模型定义的角度就重视尽早地进行测试?n大量事实证明:缺陷发现得越晚,它的修复成本可能是数十倍的上升为了降低软件开发成本并交付高质量产品,启动测试越早越好n尽早进行测试,有如下优点降低项目后期发现严重甚至致命缺陷导致项目失败的风险降低由于发现缺陷的时间点推迟而导致缺陷修改所增加的项目成本全流程的测试思想全流程的测试思想zxy软件项目生命周期全流程的测试思想n是指从项目立项开始就着手考虑在项目各个阶段设置与发现阶段产物缺陷相关的测试活动,例如需求规格说明书、设计说明书、代码、项目计划等等,以达到尽早发现软件产品中缺陷的目的。整个软件开发过程中的测试活动分为两大部分:静态部分和动态部分本课程所述的软件测试过程只考虑动态部分全流程的测试思想全流程的测试思想zxy软件项目生命周期