Para o desenvolvimento de qualquer programa de computador (software), deve-se seguir basicamente as seguintes etapas, conhecidas como Ciclo de Vida do Sistema:
- Estudo da viabilidade do software (Estudos Iniciais)
- Análise detalhada do Sistema (Projeto Lógico)
- Projeto preliminar do Sistema (Projeto Físico)
- Projeto detalhado do Sistema (Algoritmo)
- Implementação ou Codificação do Sistema (na Linguagem de Programação escolhida)
- Testes do Sistema
- Instalação e Manutenção do Sistema
No desenvolvimento de um sistema, quanto mais tarde um erro é detectado, mais dinheiro e tempo se gasta para repará-lo. Assim, a responsabilidade do programador é maior na criação dos algoritmos do que na sua própria implementação (codificação), pois quando bem projetados, não se perde tempo tendo que refazê-los, reimplantá-los e retestá-los, assegurando assim um final feliz e no prazo previsto para o projeto.
Pode-se encontrar, na literatura em informática (computação), várias formas de representação das etapas que compõem o ciclo de vida de um sistema. Essas formas de representação podem variar tanto na quantidade de etapas quanto nas atividades a serem realizadas em cada fase.