多项选择题

软件体系结构设计需要考虑以下()。

A.适用性
B.结构稳定性
C.可扩展性
D.可复用性