多项选择题

A.用户自行开发
B.“自下而上”开发
C.委托开发
D.“自上而下”开发
E.用户与专业软件开发者的合作开发