Neste capítulo apresentamos design de software e mostramos que ele é essencial no processo de desenvolvimento de software independentemente do nível de detalhe em que ele é aplicado. No entanto, o design de alto nível é enfatizado, uma vez que projetar arquitetura é fazer design em alto nível. Mostramos também os elementos que compõem os problemas de design. As mensagens do capítulo são:
- O design é a estrutura ou o comportamento de um sistema que resolve ou contribui para a resolução das forças que atuam sobre esse sistema.
- Um design representa apenas um ponto no espaço de decisão.
- Um design pode ser singular, representando apenas uma folha na árvore de decisões,, ou coletivo, representando um conjunto de decisões.
- São cinco os elementos que compõem os problemas de design: objetivos, restrições, alternativas, representações e soluções.
- Design é necessário em todos os níveis de detalhe durante o processo de desenvolvimento do software.




