单项选择题

软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是()。

A.运行和维护阶段
B.设计阶段
C.代码实现阶段
D.测试阶段