No que se refere à "criação" de um sistema informático, seja ele de pequeno ou grande porte, existem alguns passos que devem ser levados em consideração a fim de se evitar dores de cabeça. Os principais passos são sumarizados a seguir:
Análise (de requisitos)
Essa é praticamente a fase inicial a ser realizada quando se trata da criação de um sistema.
Na Análise, listam-se de maneira refinada os requisitos dos clientes, sem levar em consideração como será implementado.
A análise pode ser dividida em duas fases, a seguir:
Validação: tem por objetivo, assegurar que o sistema de software está atendendo às reais necessidades do cliente.
Verificação: verifica se os modelos construídos na análise estão em conformidade com os requisitos do cliente
Projeto
Nesta fase é que deve ser considerado, como o sistema funcionará internamente.
É nessa fase que se definem: arquitetura do sistema, linguagem de programação utilizada, Sistema Gerenciador de Banco de Dados (SGBD) utilizado, padrão de interface gráfica, entre outros.
O projeto possui duas atividades básicas: projeto da arquitetura (ou projeto de alto nível), e projeto detalhado (ou projeto de baixo nível).
O projeto da arquitetura visa distribuir as classes de objetos relacionados do sistema em subsistemas e seus componentes.
Já no projeto detalhado, são modeladas as relações de cada módulo com o objetivo de realizar as funcionalidades do módulo, além de desenvolver o projeto de interface com o usuário e o projeto de banco de dados.
Desenvolvimento
Nessa etapa, o sistema é codificado a partir da descrição computacional da fase de projeto em uma linguagem de programação, onde se torna possível a compilação e geração do código-executável para o software.
Em um processo de desenvolvimento orientado a objetos, a implementação se dá, definindo as classes na linguagem de programação definida durante a fase do Projeto. Para a criação das classe, pode-se fazer uso de ferramentas CASE, que agilizam o processo de desenvolvimento, incluindo geração de código-fonte, documentação, etc.
Testes
Para se evitar dores de cabeça intermináveis, faz-se o uso de testes automatizados, levando em consideração os requisitos listados no processo de Análise.
Essa fase tem como principal resultado o relatório de testes, que contém as informações relevantes sobre erros encontrados no sistema.
Fonte: http://www.devmedia.com.br/atividades-basicas-ao-processo-de-desenvolvimento-de-software/5413