软件工程-项目生命周期ppt课件

上传人:文**** 文档编号:253229707 上传时间:2024-12-09 格式:PPT 页数:37 大小:313KB
收藏 版权申诉 举报 下载
软件工程-项目生命周期ppt课件_第1页
第1页 / 共37页
软件工程-项目生命周期ppt课件_第2页
第2页 / 共37页
软件工程-项目生命周期ppt课件_第3页
第3页 / 共37页
资源描述:

《软件工程-项目生命周期ppt课件》由会员分享,可在线阅读,更多相关《软件工程-项目生命周期ppt课件(37页珍藏版)》请在装配图网上搜索。

1、单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,--,软件生命周期,软件工程,软件生命周期,,软件过程的基本活动,,软件描述,,软件设计与实现,,软件有效性验证,,软件进化,内容提要,软件生命周期,,软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为,软件生存周期,。,,,软件生命周期由软件定义、软件开发、运行、维护及退役五个时期。而每个时期又可以进一步划分成若干阶段。,问题定义,“,要解决什么问题,?”,,,“,尽管确切定

2、义问题的必要性是十分明显的,但在实践中它却可能是最容易被忽视的问题,”,,通过对客户的访问调查,系统分析员扼要的写出问题的性质、工程目标和工程规模的书面报告,经过讨论和必要的修改后这份报告应该得到客户用户的确认。,可行性研究,“,做还是不做,”,,,本阶段的任务是根据用户提出的工程项目的性质、目标和规模,进一步了解用户的要求及现有的环境及条件,从技术、经济和社会等多方面研究并论证该项目的可行性,即,该项目是否值得去解决,是否存在可行的解决办法。,,可行性论证包括,经济可行性,、,技术可行性,、,操作可行性,、,法律可行性,等。,,需求分析,需求分析的任务,,需求分析的任务是确定待开发的软件系统

3、,“,做什么,,不做什么,”,。不考虑,“,怎样做,”,,具体任务包括确定软件系统的,功能需求,、,性能需求,和,运行环境约束,,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。,需求分析,2,)需求分析的实现途径,,,软件系统需求一般由用户提出。系统分析员和开发人员在需求分析阶段必须与用户反复讨论、协商,充分交流信息,并用某种方法和工具构建软件系统的,逻辑模型,。为了使开发方与用户对待开发软件系统达成一致的理解,必须建立相应的,需求文档,。有时对大型、复杂的软件系统的主要功能、接口、人机界面等还要进行模拟或建造原型,以便向用户和开发方展示待开发软件系统的主要特征。确定软件需求

4、的过程有时需要反复多次,最终得到用户和开发者的确认。,需求分析,3,)需求分析的阶段成果,,需求分析阶段的主要成果有软件需求规格说明、软件验收测试计划和准则、初步的用户手册等。,软件需求规格说明(,Software Requirements Specification,,即,SRS,),是一个关键性的文档。,,多数场合,面向开发者的软件需求用需求规格说明语言来描述,它是软件开发人员进行软件设计的依据;另一方面,从某种意义上讲,,SRS,又起到与用户签定合同的合同书的作用。,软件开发,软件开发过程由概要设计、详细设计、编码与单元测试、(综合)测试共,5,个阶段组成。,,开发者通常可提出多种设计方

5、案,并对各种方案在功能、性能、成本、进度等方面进行比较和折衷,从中选出一种“最佳方案”。,概要设计,1,)任务:,,是对需求规格说明中提供的软件系统逻辑模型进行进一步的分解,从而建立软件系统的总体结构和各子系统之间、各模块之间的关系,定义各子系统接口界面和各功能模块的接口,设计全局数据库或数据结构,规定设计约束,制定组装测试计划,进而给出每个功能模块的功能描述、全局数据定义和外部文件定义等。,概要设计,2,)实现途径,,选择某种方法和工具。设计的软件系统应具有良好的总体结构、尽量降低模块接口的复杂度,并力争做到各功能模块之间的低耦合度、而功能模块内部具有较高的内聚度。,3,)阶段性成果,,概要

6、设计说明书、,,数据库或数据结构说明书、,,组装测试计划等文档。,,详细设计,任务:是将概要设计产生的功能模块进一步细化,形成可编程的程序模块,然后设计程序模块的内部细节,包括算法、数据结构以及各程序模块间的接口信息,并设计模块的单元测试计划。,,途径:可以采用结构化的设计方法,采用结构化的程序流程图、,N-S,图、,PAD,图、过程设计语言(,PDL,,,Procedure Design Language,)等工具进行描述,也可以采用面向对象的设计方法等等。,,阶段成果:应提供,“,详细设计规格说明,”,和单元测试计划等详细设计文档。,编码与单元测试,编码的主要任务是根据详细设计规格说明,用

7、某种选定的程序设计语言把详细设计的结果转化为机器可运行的源程序模块,这是一个编程和调试程序的过程。,,,一般来说,对软件系统所采用的分析方法、设计方法、编程方法以及所选用的程序设计语言应尽可能保持一致。,,编码阶段应注意遵循编程标准、养成良好的编程风格,以便编写出正确的便于理解、调试和维护的程序模块。,编码与单元测试,2,)单元测试:每编写出一个程序模块的源程序,调试通过后,即对该模块进行测试,这称为单元测试。,,3,)实现阶段的成果:,按一定规则存储在一定载体上的通过单元测试的各功能模块的集合;,,详细的单元测试报告等文档。,测试,测试阶段解决的主要问题是“通过怎样的测试(及相应的调试),使

8、软件系统达到用户的预期要求。”,,测试分模块测试、集成测试、验收测试。,(1),集成测试,集成测试:根据概要设计提供的软件结构、各功能模块的说明和集成测试计划,把经过单元测试检验的模块按照某种选定的策略逐步进行组装和测试。,,主要任务:测试系统各模块间的连接是否正确,系统或子系统的正确处理能力、容错能力、输入,/,输出处理是否达到要求。,,阶段成果:,应是满足概要设计要求、可运行的软件系统和源程序清单;,,集成测试报告等文档。,(2),验收测试,任务:按照验收测试计划和准则对软件系统进行测试,看其是否达到了需求规格说明中定义的全部功能和性能等方面的需求。,,验收测试结束时,应生成,验收测试报告

9、,、,项目开发总结报告,,并向用户提交,源程序清单,、,最终用户手册,、,操作手册,等文档资料。,,最后,由专家、用户负责人、软件开发和管理人员组成的软件评审小组要对软件验收测试报告、测试结果和软件进行评审,通过后,软件产品正式通过验收(即完成了开发合同),可以交付用户使用了。,运行,软件工程师将所开发的软件安装在用户需要的运行环境中,以交给用户使用,这个阶段成为运行阶段。,,该阶段的问题是,“,软件能否顺利的为用户进行服务,”,。,,,“,软件的运行是软件产品发挥社会和经济效益的重要时期,”,,在软件使用过程中用户或软件工程师必须仔细收集已发现的软件运行中的问题,定期或不定期的拟定,“,软件

10、问题报告,”,。,维护,任务,:,通过各种维护活动使软件系统持久地满足用户的需求。,,每项维护活动实质上都是一次压缩和简化了的软件定义和软件开发过程。都要经历提出维护要求、分析维护要求、提出维护方案、审批维护方案、确定维护计划、修改软件设计、修改程序、测试程序、评审、验收等步骤。,,维护活动一般可以分程四类:,改正性维护,,适应性维护,,完善性维护,,预防性维护,维护,据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量的,60%,以上。在软件开发的过程中应重视对软件可维护性的支持。,退役,它是软件生命周期的结束,即停止使用、终止其运行。,软件研制与软件测试的层次对应关

11、系,需求分析,,(,验收测试计划,),概要设计,,(,组装测试计划,),详细设计,,(,单元测试计划,),编码与调试,单元测试,组装测试,验收测试,运行与维护,可行性研究,软件过程的基本活动,所有软件过程都包含,4,项基本活动:,,软件描述(需求工程),,软件的功能及操作上的约束必须定义,,软件设计与实现,,软件一定要按描述来生产,,软件有效性验证,,软件要被确定是有效的,即要做客户想要的事,,软件进化(维护),,软件一定按客户需求的变更来进化,软件描述(需求工程),软件描述的目标是确定系统需要哪些,服务,以及运行期间受到哪些,约束,。,,需求工程产生用以描述系统的需求文档。通常需求文档被分成

12、两个层次来描述:,,最终用户和客户需要高层次的需求描述;,,系统开发人员需要比较详细的系统描述。,,需求工程过程有,4,个主要阶段:,可行性研究、需求导出与分析、需求描述和需求有效性验证,。,软件描述(需求工程),,,可行性报告,可行性研究,需求导出与分析,系统模型,用户需求与系统需求,需求文档,需求描述,需求有效性验证,软件设计与实现,软件设计与实现阶段是把,系统描述,转换成,一个,可运行的系统,的过程。它总是包含设计和编程。,,软件设计是对实现软件的结构、系统的数据、系统组件间的接口以及所用的算法进行描述。在设计过程中不断添加设计要素和设计细节,并对先前的设计方案进行修正。,,软件实现是将

13、设计方案转换成可执行的程序。,软件设计,设计过程中一些特别的活动有:,,体系结构设计,—,识别系统由哪些子系统构成,及其关系,,抽象描述,—,每个子系统提供的服务及在什么范围内运行,,接口设计,—,每个子系统与其他子系统间的接口,,组件设计,—,分派服务到不同组件,并设计接口,,数据结构设计,—,详细设计并描述实现阶段的数据结构,,算法设计,—,详细设计并描述服务将要采用的算法,软件设计,“,事实上设计过程中的活动是交替进行的”,,,设计产品,需求描述,体系结构,,设计,抽象描述,接口设计,组件设计,数据结构,,设计,算法设计,系统体系结构,软件描述,接口描述,组件描述,数据结构,算法描述,设

14、计活动,,,设计错误,,修复,定位错误,程序错误,,修复,重测程序,,软件有效性验证,,软件有效性验证是,要看系统是否符合它的描述以及是否符合客户的需求,。它包括检查过程、从用户需求定义到程序开发的每个软件过程阶段。,,绝大多数有效性验证的成本发生在系统完成测试的时候。,“,测试过程应该和开发过程相结合,分阶段增量进行”,系统有效性验证,测试过程的阶段包括:,,单元测试,,模块测试,,子系统测试,,系统测试,,接收测试,α,,β,测试(针对产品软件),测试过程,单元测试,模块测试,子系统测试,系统测试,接收测试,用户测试,集成测试,组件测试,测试过程中的测试阶段,,,需求描述,系统描述,系统设

15、计,详细设计,接收测试,,计划,系统集成,,测试计划,子系统集成,,测试计划,模块、单元、,,代码测试,子系统,,集成测试,系统集成,,测试,接收测试,服务,软件进化,(,维护,),,自有软件开发以来,就有软件开发过程和软件维护过程之分。但现在看来,这种划分越来越不恰当。现在完全从头开始的系统很少,将软件的开发和维护看成一个连续过程显得更有意义,即将软件工程看成一个进化过程,——,软,件在其生命周期内不断随着需求变更而变化的进化式过程。,软件维护,,,定义系统需求,访问现有系统,提出系统变更,修改系统,现有系统,新系统,人有了知识,就会具备各种分析能力,,,明辨是非的能力。,,所以我们要勤恳读书,广泛阅读,,,古人说“书中自有黄金屋。,,”通过阅读科技书籍,我们能丰富知识,,,培养逻辑思维能力;,,通过阅读文学作品,我们能提高文学鉴赏水平,,,培养文学情趣;,,通过阅读报刊,我们能增长见识,扩大自己的知识面。,,有许多书籍还能培养我们的道德情操,,,给我们巨大的精神力量,,,鼓舞我们前进,。,

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!