传统的软件生命周期方法学划分阶段,可以把软件生命周期划分为软件定义、软件开发、软件运行与维护三个阶段。
软件开发的生命周期模型
软件定义包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的目标。具体可分成问题定义、可行性研究、需求分析等。

软件开发时期就是软件的设计与实现,可分成概要(总体)设计、详细设计、编码、测试等。
概要设计是在软件需求规格说明的基础上,构建系统总体架构,包括子系统划分,明确模块间关系,定义各功能模块及其相互联系。详细设计对概要设计产生的功能模块逐步细化,把模块内部细节转化为可编程的程序过程性描述。详细设计包括算法与数据结构、数据分布、数据组织、模块间接口信息和用户界面等的设计,并写出详细设计报告。编码,即编程,是将详细设计转化为可执行程序的过程。
测试则包括单元测试、集成测试、确认测试和系统测试等阶段,编码和测试合称为系统实现。
软件运行和维护
软件运行涉及将软件产品交付用户使用,并确保软件持续满足用户需求。软件维护是响应需求变化和修正软件产品的过程,旨在延长其使用寿命;当维护不再有价值时,软件应退役,其生命周期随之结束。开发方法 vs. 开发模型:软件工程的舞步与舞台
在软件工程的世界里,开发方法就像是舞步,它们是具体的步骤和技巧,告诉我们如何跳这支舞——也就是说,如何进行编码、测试和维护。而开发模型则像是舞台,它们提供了一个框架,定义了软件开发的整个生命周期,从构思到部署,再到最终的维护。