软件设计一般分为总体设计和详细设计它们之间的关系是