Modelos De Processo
Exames: Modelos De Processo. Pesquise 862.000+ trabalhos acadêmicosPor: gean5 • 4/3/2014 • 6.875 Palavras (28 Páginas) • 464 Visualizações
Testabilidade e Qualidade de Software
Atualmente, há cada vez mais sistemas controlados por software, fazendo com
que a economia de praticamente todos os países seja muito dependente da qualidade
dos softwares por eles usados, justificando um investimento significativo nesse setor.
Há alguns anos atrás, desenvolvia-se software de uma maneira completamente
artesanal. A partir de uma simples definição dos requisitos do software, partia-se
imediatamente para a implementação do mesmo. Hoje em dia, ainda há muitas
empresas que desenvolvem software dessa maneira, mas várias outras estão
mudando suas formas de trabalho.
A forma artesanal de trabalho, geralmente, não traz grandes problemas para o
desenvolvimento de software de pequeno porte, o qual não exige um esforço muito
grande de implementação. Porém, para softwares de grande porte, sérios problemas
na implementação podem comprometer todo o projeto.
Com o desenvolvimento cada vez maior da tecnologia de hardware e a
conseqüente disponibilidade de máquinas cada vez mais potentes e baratas, o uso de
computadores tem-se tornado cada vez mais difundido em diversas áreas. Isso tem
feito com que aumente a demanda por software cada vez maior e mais complexo. No
entanto, a demanda por software tem-se tornado maior que a capacidade do mercado
para atendê-la.
Muitos projetos são entregues com um grande atraso, custando muito mais que o
inicialmente previsto,sendo não confiáveis, difíceis de manter e/ou não tendo um
desempenho satisfatório. Além do mais, na tentativa de se consertar os erros, muitas
vezes introduzem-se mais erros. Geralmente, a quantidade de problemas é
diretamente proporcional ao aumento da complexidade do software produzido nos dias
de hoje. Esses problemas no desenvolvimento de software são conhecidos
mundialmente como a “crise de software”. Ou seja, a “crise de software” corresponde à
incapacidade da indústria de software de atender prontamente à demanda do mercado
de software, dentro dos custos e dos níveis de qualidade esperados.
Desde os anos 1960, quando o termo “crise de software” foi pronunciado pela
primeira vez, muitos problemas desta área foram identificados e muitos deles ainda
persistem até os dias de hoje, tais como [Gibbs1994]:
• Previsão pobre – desenvolvedores não prevêem adequadamente quanto
tempo e esforço serão necessários para produzir um sistema de software que
satisfaça às necessidades (requisitos) dos clientes/usuários. Sistemas de
software são geralmente entregues muito tempo depois do que fora planejado;
• Programas de baixa qualidade – programas de software não executam o que
o cliente deseja, conseqüência talvez da pressa para se entregar o produto. Os
requisitos originais podem não ter sido completamente especificados, ou podem
apresentar contradições, e isto pode ser descoberto muito tarde durante o
processo de desenvolvimento;
• Alto custo para manutenção – quando o sistema é construído sem uma
arquitetura clara e visível, a sua manutenção pode ser muito custosa;
• Duplicação de esforços – é difícil compartilhar soluções ou reusar código, em
função das características de algumas linguagens adotadas, por falta de
confiança no código feito por outra pessoa e até mesmo pela ausência/deficiência
de documentação das rotinas e dos procedimentos já construídos.
O reconhecimento da existência da crise de software tem provocado uma forte
mudança na forma de como as pessoas desenvolvem software de grande porte, visto
que o processo de desenvolvimento atual é mais disciplinado do que no passado. Foi
proposto que o desenvolvimento de software deixasse de ser puramente artesanal e
passasse a ser baseado em princípios de Engenharia, ou seja, seguindo um enfoque
estruturado e metódico. Assim, surgiu o termo Engenharia de Software, que se refere
ao desenvolvimento de software por grupos de pessoas, usando princípios de
engenharia e englobando aspectos técnicos e não-técnicos, de modo a produzir
software de qualidade,de forma eficaz e dentro de custos aceitáveis.
Portanto, a Engenharia de Software engloba não apenas o desenvolvimento de
programas, mas também toda a documentação necessária para o desenvolvimento,
instalação, uso e manutenção dos programas. O temo “ciclo de vida de software”
compreende todas as etapas, desde a concepção inicial do software, até a sua
implementação, implantação, uso e manutenção, de modo que, ao final de cada uma
destas etapas, um ou mais documentos são produzidos.
Engenheiros de software devem adotar uma abordagem sistemática e organizada
para
...