软件概要设计,可扩展性,可维护性,模块化设计,设计模式,开放封闭原则,接口设计,技术栈