Basicamente, softwares são a parte não física de um sistema, os programas que são executados por uma máquina por exemplo. Logo, o resultado final de um processo de desenvolvimento de software deve ser um programa satisfatório e executável.
Além disso, softwares são responsáveis pela maior parte do custo de um sistema. Quando um software precisa ser desenvolvido, o resultado final deve atender as necessidades do utilizador, além de ser prático e de fácil utilização. Muitas das vezes, o prazo para a entrega de um software é um curto prazo de tempo, o que torna aliar a qualidade e a entrega no prazo um desafio à parte.
Mas antes de continuar a discorrer sobre o assunto, é preciso entender o que é um software. De acordo com o professor Dr. Jorge Fernandes (2002):
“Software é uma sentença escrita em uma linguagem computável, para a qual existe uma máquina (computável) capaz de interpretá-la. A sentença (o software) é composta por uma sequência de instruções (comandos) e declarações de dados, armazenável em meio digital. Ao interpretar o software, a máquina computável é direcionada à realização de tarefas especificamente planejadas, para as quais o software foi projetado.”
Segundo RAMOS (2009), quando o programador desenvolve um programa para determinado cliente, e com uma função já determinada, nem sempre o resultado final é o esperado, ou então, ele pode até atingir os objetivos, mas sua utilização é complexa ou lenta.
Isso gera a renovação já citada, pois existem os chamados feedbacks, que possibilitam ao desenvolvedor realizar melhorias no programa e o aperfeiçoar cada vez mais, e assim se aproximar do resultado esperado pelo cliente.
Existem 4 formas de feedbacks, que são: Medições da entidade do software, que são os dados emitidos pelo próprio software sobre seu desempenho; Corretivo, que apontam os erros e falhas cometidos no software; Mudança, que são realizadas para eliminar tais defeitos; e o Aprimoramento, que é o aperfeiçoar do programa.
Voltando ao processo de desenvolvimento dos programas, para que se tenha um resultado final com qualidade deve se aplicar três itens com disciplina, que são: os processos a serem usados, os métodos que serão usados para isso e as ferramentas que estão disponíveis e serão utilizadas.
O processo é o estabelecer de uma base para todo o desenvolvimento, por isso, é de extrema importância. Existem vários tipos de processo para desenvolvimentos, porém todos vem de um mesmo modelo, que segue variações de alguns pontos.
O primeiro deles é a análise, ou seja, verificar qual é o problema que o software terá que resolver, o objetivo que ele deverá atingir, e então construir modelos para o sistema. A partir dos modelos feitos na análise, passa-se ao projeto, ou seja, construir no computador o que foi especificado no primeiro passo. Depois, a codificação, onde é implementado o que foi construído no projeto, adicionando detalhes e dando um formato ao software.
Após todos esses passos, começam os testes, que conforme o nome já deixa claro, são testados os elementos para verificar se há algum defeito que possa ser corrigido. E por fim a manutenção, que é como uma reconstrução do software sempre melhorando conforme os feedbacks recebidos.
Como é dito por RICARTE (2002), muitas vezes alguns desenvolvedores começam da codificação, porém é preciso ter em mente que o planejamento e os protótipos feitos antes de transforma a ideia em software são extremamente importantes para que se tenha qualidade no produto final.
Além disso, é preciso conhecer a fundo necessidade de seu cliente, e o nível de entendimento do mesmo, para que se possa desenvolver algo que possa realmente ser aproveitado pelo usuário. E claro, lembrar que um produto nunca estará realmente finalizado, pois estará sempre em constante renovação, acompanhando o ambiente e as pessoas com os quais tem contato, sendo aperfeiçoado e corrigido ao mesmo tempo.
Referências Bibliográficas
- RAMOS, Ricardo A. Processos de Desenvolvimento de Software; Engenharia de Software I, Aula 2 – UNIVASF. Disponível em: http://www.univasf.edu.br/~ricardo.aramos/disciplinas/ESI2009_2/Aula02.pdf Acessado em: 10/03/2016.
- RICARTE, Ivan Luís M. Desenvolvimento de software; EEC-UNICAMP. Disponível em: http://www.dca.fee.unicamp.br/projects/sapiens/Seminars/2002/r20020823.pdf Acessado em: 10/03/2016
- FERNANDES, Jorge H. C. O que é um programa (software)? Disponível em: http://cic.unb.br/~jhcf/MyBooks/iess/Software/oqueehsoftware.html Acessado em: 12/03/2016
- SOMERVILLE, Ian. Engenharia de Software, 8ª Edição. Pág. 257 – 260, Desenvolvimento rápido de software.