Etapas e Processos de Desenvolvimento - LF21-O-souza/Soft-Hello-Wolrd GitHub Wiki

Definição:

O desenvolvimento de sistemas é um processo que ocorre em várias etapas, como projeto ou análise, codificação, testes, implantação, treinamento e manutenção. A definição das etapas pode variar de caso para caso, mas de uma forma geral o processo de desenvolvimento está relacionado às seguintes etapas:

Projeto e Análise de Requisitos

Projeto De Software

Projeto

O projeto é a parte mais importante do sistema. Nele é definido o que, como, quando e porque será feito. No projeto são realizados diversos tipos de análises, prototipação, desenhos de cenários, diagramas e outras representações para tentar aproximar ao máximo a expectativa e o resultado final do sistema. Diversas metodologias ou paradigmas de projeto podem ser usados, atualmente o paradigma mais adequado e mais usado é provavelmente a Análise Orientada a Objetos.

Um processo de desenvolvimento de software pode ser visto como um conjunto de atividades organizadas, usadas para definir, desenvolver, testar e manter um software. A seguir, alguns dos objetivos principais em um processo de desenvolvimento:

  • Definição das atividades a serem executadas;
  • Quando determinada atividade deve ser executada;
  • Pessoa ou grupo a executar tais atividades;
  • Padronização no processo de desenvolvimento.

Nesta fase é que deve ser considerado, como o sistema funcionará internamente, para que os requisitos do cliente possam ser atendidos. Alguns aspectos devem ser considerados nessa fase de projeto do sistema, como: arquitetura do sistema, linguagem de programação utilizada, Sistema Gerenciador de Banco de Dados (SGBD) utilizado, padrão de interface gráfica, entre outros. No projeto é gerada uma descrição computacional, mencionando o que o software deve fazer, e deve ser coerente com a descrição realizada na fase de análise de requisitos.

Análise de Requisitos

Esta etapa, também chamada de especificação de requisitos, é onde os desenvolvedores fazem um estudo detalhado dos dados levantados na atividade anterior. De onde são construídos modelos a fim de representar o sistema de software a ser desenvolvido. O interesse nessa atividade é criar uma estratégia de solução, sem se preocupar como essa estratégia será realizada, ou seja, utilizar as necessidades dos clientes, depois de compreendido o problema, para resolução do problema solicitado. Assim é necessário definir o que o sistema deve fazer, antes de definir como o sistema irá fazer. O que acontece com freqüência, é quando as equipes de desenvolvimento partem para a solução do problema do software, sem antes ter definido completamente o problema em questão. Nesta fase deve-se então realizar a validação e verificação dos modelos construídos, antes de partir para solução do problema.

  • 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.

Codificação

A codificação é o desenvolvimento propriamente dito. Aqui é onde o programador escreve e desenvolve a lógica do programa e escreve centenas de linhas de códigos que interligarão o sistema com os bancos de dados e outros dispositivos a fim de produzir o resultado que foi especificado no projeto. A codificação é uma atividade subordinada no projeto. A etapa de codificação traduz a representação do projeto detalhado em termos de uma linguagem de programação. Normalmente são utilizadas linguagens de alto nível, que podem então ser automaticamente traduzidas para a linguagem de máquina pelo processo de compilação.

Testes

A etapa de testes é importante para verificar a existência de falhas ou se o sistema está se comportando dentro dos princípios do projeto.

A realização de testes não deve ser feita de qualquer maneira ou por qualquer pessoa. Para obter um bom resultado, o ideal é estabelecer procedimentos para testes, que deverá incluir:

  • O que deve ser testado;
  • Qual dado deverá ser inserido;
  • Qual o perfil da pessoa que irá testar: amador, experiente, usuário, etc;
  • Se o procedimento deverá ser repetido com variações de dados;
  • Entre outros.

O relatório de testes deverá constar como e quando os testes foram feitos, bem como se o resultado foi satisfatório ou não.

Implantação e treinamento

Se aprovado nos testes, o sistema deverá ser implantado, isto é, colocar em produção. Em muitos casos a implantação é a etapa mais dolorosa do processo de desenvolvimento de sistemas, já que implicam movimentar pessoas, hardwares, softwares e muitas vezes com a empresa em pleno funcionamento.

Dependendo do tipo e tamanho do sistema é necessário determinar momentos estratégicos para a implantação a fim de provocar menos impacto nos procedimentos da empresa.

Paralelamente, temos também a etapa de treinamento que consiste em apresentar aos usuários o novo sistema e auxiliá-los nos procedimentos que cada um deverá realizar.

Manutenção

A última etapa do processo de desenvolvimento de sistemas é a manutenção. Ela inicia logo após a implantação e não terá fim, ou seja, existirá enquanto o sistema existir.

A manutenção é uma etapa de muitas controvérsias, por isto é importante existir um documento que regulamente o que é manutenção, quais as responsabilidades de clientes, usuários e desenvolvedores, bem como os custos envolvidos nessas atividades

⚠️ **GitHub.com Fallback** ⚠️