Princípios de projeto: abstração, acoplamento, coesão, decomposição e modularização, encapsulamento, separação da interface e implementação, suficiência, completude e simplicidade. Estratégias e métodos de projeto: gerais, orientado a função, orientado a objetos, centrado em dados, baseado em componentes, orientado a aspectos. Interação entre projeto e requisitos. Métricas de projetos. Diagramas: classes, interação (sequência e comunicação), de pacotes, de estados, de componentes. Ferramentas CASE para especificação de software.