多项选择题

产生软件危机的原有有哪些?()

A.与软件维护的方法不正确有关
B.与软件本身的特点有关
C.未知和神秘的原因
D.与软件开发的方法不正确有关