软件概要设计,系统可扩展性,未来需求变化,技术更新,维护成本,系统性能,模块化设计,设计模式,设计原则