多项选择题

模块化程序设计有哪些优点().

A.把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块
B.有利于程序的设计和调试
C.有利于程序的优化和分工
D.提高了程序的阅读性和可靠性
E.使程序的结构层次一目了然