especificação da sua arquitetura, escolhendo ferramentas de desenvolvimento, especificando programas e codificando