多项选择题

A、应根据开发需求检测软件质量。
B、应在软件安装之前检测软件包中可能存在的恶意代码。
C、应要求开发单位提供软件设计的相关文档和使用指南。
D、应要求开发单位提供软件源代码,并审查软件中可能存在的后门。