多项选择题

软件生存周期一般可分为问题定义、()、设计、()、()、运行与维护六个阶段。

A.需求分析与可行性研究
B.立项
C.编码
D.测试