-
Design de software é crucial ao se desenvolver um software uma vez que, durante o design, modelos são produzidos com finalidade de tentar abarcar todos os requisitos solicitados
-
O design de software está na intersecção entre a análise de requisitos e a construção de software
-
Design de software consiste em duas atividades principais:
- Design de arquitetura de software (software architectural design, high-level design), que se concentra na estrutura e organização de alto nível do software, identificando seus componentes
- Design detalhado de software (software detailed design) que especifica cada componente em detalhes suficientes para sua construção
-
Design pattern é uma solução comum para um problema comum em determinado contexto
-
Existem diferente métodos e estratégias de design de software, tais como
- Function-Oriented Design: a decomposição é centrada nas funções
- Object-Oriented Design: esse design é voltado para a abstração dos dados
- Data Structure-Centered Design: centrado primeiro na estrura dos dados para depois se voltar para o software que os manipula
- Component-Based Design (CBD): baseado no desenvolvimento e integração de componentes visando aumentar o reúso