©2009BUPTTSEG软件工程模型与方法Models&MethodsofSoftwareEngineering第二章软件生命周期模型修佳鹏media@bupt.edu.cn©2009BUPTTSEG北京邮电大学通信软件工程中心2本章内容2.1软件工程过程2.2软件生命周期2.3软件过程模型2.4传统软件生命周期模型2.5新型软件生命周期模型©2009BUPTTSEG北京邮电大学通信软件工程中心32.1软件工程过程软件工程过程是为了获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动。软件规格说明(specification):规定软件的功能及其使用限制;软件开发(development):产生满足规格说明的软件;软件确认(validation):通过有效性验证以保证软件能够满足客户的要求;软件演进(evolution):为了满足客户的变更要求,软件必须在使用过程中进行不断地改进。©2009BUPTTSEG北京邮电大学通信软件工程中心42.2软件生命周期软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生命周期(LifeCycle)。软件生命周期的六个基本步骤制定计划需求分析设计程序编码测试运行维护©2009BUPTTSEG北京邮电大学通信软件工程中心5制定计划确定要开发软件系统的总目标;给出功能、性能、可靠性以及接口等方面的要求;完成该软件任务的可行性研究;估计可利用的资源(硬件,软件,人力等)、成本、效益、开发进度;制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查;©2009BUPTTSEG北京邮电大学通信软件工程中心6需求分析对用户提出的要求进行分析并给出详细的定义;编写软件需求说明书或系统功能说明书及初步的系统用户手册;提交管理机构评审;©2009BUPTTSEG北京邮电大学通信软件工程中心7设计概要设计—把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应;详细设计—对每个模块要完成的工作进行具体的描述,为源程序编写打下基础;编写设计说明书,提交评审。©2009BUPTTSEG北京邮电大学通信软件工程中心8程序编码把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”;写出的程序应当是结构良好、清晰易读的,且与设计相一致的;©2009BUPTTSEG北京邮电大学通信软件工程中心9测试单元测试,查找各模块在功能和结构上存在的问题并加以纠正;组装测试,将已测试过的模块按一定顺序组装起来;按...