多选题 对软件进行分解,是为了(    )。
   A.降低模块的复杂程度
   B.降低模块间接口的复杂程度
   C.降低模块的复杂程度,并降低模块间接口的复杂程度
   D.降低模块的复杂程度,并提高模块间接口的复杂程度
【正确答案】 A
【答案解析】大型的软件系统是非常复杂的,人们对付复杂系统的重要手段是“抽象”和“分解”,把一个大问题分解为许多个小问题。相对来说,小问题自然没有大问题那么复杂。使用结构化设计方法(SD方法)进行软件系统的总体设计时,就是用分解的方法将大系统分解为多个功能模块。而分解的目的就是为了降低每一个模块的复杂程度。当觉得一个模块过于复杂时,就应该把这个模块进一步进行分解。
   分解能够降低模块的复杂程度,但会增加模块间模块的复杂程度。通过分解不能同时降低模块间的复杂程度。分解虽然会增加模块间接口的复杂程度,但这不是分解的目的,因此,D也是错误的。