多项选择题

A.对用户进行使用软件使用前的培训
B.对用户的软件、硬件进行维护
C.对用户的软件版本进行更新
D.对用户提供应用咨询