segunda-feira, 28 de março de 2016

DESENVOLVIMENTO DE SOFTWARE: Os processos e a qualidade de um software


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.


Atualmente, softwares estão presentes em praticamente todos os tipos de atividades, e em todos os lugares, desde o ambiente doméstico até o meio comercial e industrial. Graças a tamanha presença e necessidade, o mercado de trabalho relacionado tanto a desenvolvimento, execução e manutenção de softwares é amplo e está sempre se renovando.

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.