Diversos
1. Compreender o problema (comunicação e análise)
-Quais são os interessados na solução do problema?
-Quais são as incógnitas?
-O problema pode ser compartimentalizado?
-O problema pode ser representado graficamente?
2. Planejar uma solução (modelagem e projeto de software)
-Você já viu problemas similares antes?
-Algum problema similar já foi resolvido antes?
-É possível definir subproblemas?
-É possível representar uma solução de maneira que conduza a uma implementação efetiva?
3. Executar o plano (geração de código)
-A solução se adequa ao plano?
-Cada uma das partes componentes da solução está provavelmente correta?
4. Examinar o resultado para ter precisão (testes e garantia de qualidade)
-É possível testar cada parte componentes da solução?
-A solução produz resultados que se adequam aos dados, às funções e características necessárias? * Princípios gerais
O dicionário define a palavra principio como “uma importante afirmação ou lei subjacente em um sistema de pensamento”.
1° princípio: a razão de existir
Um sistema de software existe por uma única razão: gerar valor a seus usuários. Todas as decisões deveriam ser tomadas tendo esse principio em mente.
2° princípio: KISS (Keep It Simple, Stupid!, ou seja: Faça de forma simples, tapado!)
O projeto de software não é um processo casual; há muitos fatores a ser considerados em qualquer esforço de projeto – todo projeto deve ser o mais simples possível, mas não tão simples assim.
3° princípio: mantenha a visão
Sem a visão um projeto se torna ambíguo. Sem uma integridade conceitual, corre-se o risco de transformar o projeto numa colcha de retalhos de projetos incompatíveis, unidos por parafusos inadequados.
4° princípio: o que um produz outros consomem
Raramente um sistema de software de força industrial é construído e utilizado de forma isolada. De uma maneira ou de outra, alguém mais irá usar, manter, documentar ou, de