Design de Software (do inglês Software design) é a parte da engenharia de software que se encarrega de transformar os resultados da Análise de Requisitos em um documento ou conjunto de documentos capazes de serem interpretados diretamente pelo programador.