软件设计的原则有自底向上吗