软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
生命周期的每一个周期都有确定的任务,并产生一定规格的文档(资料),提交给下一个周期作为继续工作的依据。按照软件的生命周期,软件的开发不再只单单强调“编码”,而是概括了软件开发的全过程。软件工程要求每一周期工作的开始只能必须是建立在前一个周期结果“正确”前提上的延续;因此,每一周期都是按“活动-结果-审核-再活动-直至结果正确”循环往复进展的。 [1]
软件生命周期是指软件从产生到最终被废弃的生命周期,可以分为三大阶段,分别为定义问题、软件开发和软件维护,其中问题定义中的需求分析是软件开发和维护的前提,它直接决定软件项目的成败。在进行软件需求分析时,要明确需求分析的目标,采用合理的需求分析方法和工具,全面且正确的进行需求分析。获取需求时会受很多因素的影响,从而导致需求不能正确表达用户需求或者需求分析不够正确等,所以需求获取时要选择合理的获取方法,同时对需求要进行正确深入的分析,进而采用适合的工具来对需求进行说明和描述,这样对于后续的软件设计、编码、测试和维护打下坚实的基础。
软件需求简单的说就是研究“做什么”的问题,在现实工作过程中,应该考虑除功能需求之外的业务需求和用户需求。业务需求主要反映某机构或者客户对软件产品高层次的目标要求;用户需求是指用户使用产品必须完成的任务;功能需求指开发者不得不完成的软件功能,可以说功能需求满足了,业务需求也就达到了,需求分析并不考虑怎么做的问题。