É basicamente o que o Sergio Taborda disse.
Pensando em estrutura o Digrama de Classes deve ser utilizado para projetar o Modelo de Domínio da aplicação, preferencialmente isolado de qualquer classe do software, estamos aí falando de APIs, Frameworks e outras estruturas que colaboram na formação da arquitetura.
O Domain Model pode ser simples a ponto de ter um objeto para cada tabela do Modelo de Dados ou pode ter complexas representações como heranças, uma rede objetos interconectados, relações de todo-parte, estratégias, além de outros padrões da Gangue dos Quatro. Portanto, voce deve ter inteligencia suficiente para avaliar a necessidade de se projetar e documentar tais estruturas.
A arquiteturas do software também devem ser documentadas. Importante ai se entender o que é uma arquitetura de software. A melhor definição para mim é a de uma compreensão subjetiva compartilhada pelos desenvolvedores mais experientes dos componentes mais significantes do sistema e como eles se interagem. A arquitetura é formada por decisões dificies de se alterar.
Não é necessário se detalhar em mínimos detalhes a interação dos componentes de seu sistema. Descrições de alto-nivel e ricas de jargões técnicos como MVC, 2-camadas, cliente-servidor, deixam essa documentação mais breve.
Todo documento é um artefato de software e é gerado em alguma fase do ciclo de vida do desenvolvimento. A maior parte durante a Análise e Projeto. Contudo, esses documentos devem possuir um propósito claro e deve ser divulgado e explanado a toda a equipe e os stakeholders. Seu destino não deve ser o lixo. Se ele foi para o lixo eh pq na sua concepçao foi gerado lixo e não um artefato de software.