欢迎来到天天文库
浏览记录
ID:1513159
大小:254.50 KB
页数:36页
时间:2017-11-12
《软件工程生命周期》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、--软件生命周期软件工程软件生命周期软件过程的基本活动软件描述软件设计与实现软件有效性验证软件进化内容提要软件生命周期软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。软件生命周期由软件定义、软件开发、运行、维护及退役五个时期。而每个时期又可以进一步划分成若干阶段。问题定义“要解决什么问题?”“尽管确切定义问题的必要性是十分明显的,但在实践中它却可能是最容易被忽视的问题”通过对客户的访问调查,系统分析员扼要的写出问题的性质、工程目标和工程规模的书面报告,经过讨论和必要的修改后这份报告应该
2、得到客户用户的确认。可行性研究“做还是不做”本阶段的任务是根据用户提出的工程项目的性质、目标和规模,进一步了解用户的要求及现有的环境及条件,从技术、经济和社会等多方面研究并论证该项目的可行性,即该项目是否值得去解决,是否存在可行的解决办法。可行性论证包括经济可行性、技术可行性、操作可行性、法律可行性等。需求分析需求分析的任务需求分析的任务是确定待开发的软件系统“做什么,不做什么”。不考虑“怎样做”具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户
3、手册。需求分析2)需求分析的实现途径软件系统需求一般由用户提出。系统分析员和开发人员在需求分析阶段必须与用户反复讨论、协商,充分交流信息,并用某种方法和工具构建软件系统的逻辑模型。为了使开发方与用户对待开发软件系统达成一致的理解,必须建立相应的需求文档。有时对大型、复杂的软件系统的主要功能、接口、人机界面等还要进行模拟或建造原型,以便向用户和开发方展示待开发软件系统的主要特征。确定软件需求的过程有时需要反复多次,最终得到用户和开发者的确认。需求分析3)需求分析的阶段成果需求分析阶段的主要成果有软件需求规格说明、软
4、件验收测试计划和准则、初步的用户手册等。软件需求规格说明(SoftwareRequirementsSpecification,即SRS),是一个关键性的文档。多数场合,面向开发者的软件需求用需求规格说明语言来描述,它是软件开发人员进行软件设计的依据;另一方面,从某种意义上讲,SRS又起到与用户签定合同的合同书的作用。软件开发软件开发过程由概要设计、详细设计、编码与单元测试、(综合)测试共5个阶段组成。开发者通常可提出多种设计方案,并对各种方案在功能、性能、成本、进度等方面进行比较和折衷,从中选出一种“最佳方案”。
5、概要设计1)任务:是对需求规格说明中提供的软件系统逻辑模型进行进一步的分解,从而建立软件系统的总体结构和各子系统之间、各模块之间的关系,定义各子系统接口界面和各功能模块的接口,设计全局数据库或数据结构,规定设计约束,制定组装测试计划,进而给出每个功能模块的功能描述、全局数据定义和外部文件定义等。概要设计2)实现途径选择某种方法和工具。设计的软件系统应具有良好的总体结构、尽量降低模块接口的复杂度,并力争做到各功能模块之间的低耦合度、而功能模块内部具有较高的内聚度。3)阶段性成果概要设计说明书、数据库或数据结构说明书
6、、组装测试计划等文档。详细设计任务:是将概要设计产生的功能模块进一步细化,形成可编程的程序模块,然后设计程序模块的内部细节,包括算法、数据结构以及各程序模块间的接口信息,并设计模块的单元测试计划。途径:可以采用结构化的设计方法,采用结构化的程序流程图、N-S图、PAD图、过程设计语言(PDL,ProcedureDesignLanguage)等工具进行描述,也可以采用面向对象的设计方法等等。阶段成果:应提供“详细设计规格说明”和单元测试计划等详细设计文档。编码与单元测试编码的主要任务是根据详细设计规格说明,用某种选
7、定的程序设计语言把详细设计的结果转化为机器可运行的源程序模块,这是一个编程和调试程序的过程。一般来说,对软件系统所采用的分析方法、设计方法、编程方法以及所选用的程序设计语言应尽可能保持一致。编码阶段应注意遵循编程标准、养成良好的编程风格,以便编写出正确的便于理解、调试和维护的程序模块。编码与单元测试2)单元测试:每编写出一个程序模块的源程序,调试通过后,即对该模块进行测试,这称为单元测试。3)实现阶段的成果:按一定规则存储在一定载体上的通过单元测试的各功能模块的集合;详细的单元测试报告等文档。测试测试阶段解决的主
8、要问题是“通过怎样的测试(及相应的调试),使软件系统达到用户的预期要求。”测试分模块测试、集成测试、验收测试。(1)集成测试集成测试:根据概要设计提供的软件结构、各功能模块的说明和集成测试计划,把经过单元测试检验的模块按照某种选定的策略逐步进行组装和测试。主要任务:测试系统各模块间的连接是否正确,系统或子系统的正确处理能力、容错能力、输入/输出处理是否达到要求。阶段成果:
此文档下载收益归作者所有