Engenharia De Software
Casos: Engenharia De Software. Pesquise 862.000+ trabalhos acadêmicosPor: • 28/3/2015 • 801 Palavras (4 Páginas) • 358 Visualizações
Engenharia de Software: uma visão geral
Ana Lúcia de Oliveira Tavares¹, Ana Paula Eckel¹, Cateane Scarpa¹, Závia
Roselita Vendrame¹
¹Curso de Especialização em Engenharia de Projetos de Software
Universidade do Sul de Santa Catarina (UNISUL) – Palhoça, SC – Brasil
{analucia.oliveira, anaeckel, cateane}@gmail.com, zavia@ionics.com.br
Abstract.This article intends to present the Software Engineering with its
main aspects (life cycles and knowledge areas) as an attempt to offer a general
vision about this disciplines, for those that are involved in the management
and development process can use this paradigm for process and product
improvement, with direct benefits for the organizations, its customers and
collaborators.
Resumo.Este artigo pretende apresentar a Engenharia de Software com seus
principais aspectos (ciclos de vida e áreas de conhecimento) numa tentativa
de oferecer uma visão geral sobre esta disciplina, para que aqueles que
estejam envolvidos no processo de gestão e desenvolvimento, possam vir a
utilizar este paradigma para a melhoria do processoe do produto, com
benefícios diretos para as organizações, seus clientes e colaboradores..
1. Introdução
Nos últimos 20 anos, o hardware deixou de ser o item mais caro na implementação de
um sistema, enquanto que o custo relacionado ao software cresceu e se tornou o
principal item no orçamento da computação. Isso se deve principalmente pela crescente
complexidade dos problemas a serem resolvidos pelossoftwares. Aliado a isso, alguns
problemas inerentes ao processo de desenvolvimento de um software começaram a
surgir: as estimativas de prazo e de custo freqüentemente são imprecisas, a
produtividade das pessoas da área de software não tem acompanhado a demanda por
seus serviços e, a qualidade de software às vezes émenos que adequada, ocorrendo
freqüentemente a insatisfação do usuário. A chave para se vencer esses problemas e
dificuldades acima relatados é a larga utilização de uma abordagem de engenharia ao
desenvolvimento de software, aliada a uma contínua melhoria das técnicas e
ferramentas, no intuito também de melhorar a produtividade da equipe.
Assim, podemos destacar duas tendências para justificar o uso da Engenharia de
Software: primeiro, o software é um item de alto custo e em progressivo aumento;
segundo, que os softwares têm um importante papel no bem-estar da sociedade. Dessa
forma, a Engenharia de Software assume papel crítico para garantir que tarefas, dados,
pessoas e tecnologias estejam apropriadamente alinhadas para produzir um sistema
efetivo e eficiente.
2. Processo de desenvolvimento caótico
Em uma conferência em 1968 - Software Engineering: Concepts and Techniques.
Proceedings of the NATO Conferences- Ronald Graham comentou "construímos
sistemas como os irmãos Wright construíam aviões - constrói-se de uma vez só,
empurra-se para o despenhadeiro, deixa bater e começa tudo outra vez" (NAUR &
RANDELL, 1968). Vemos que após 38 anos muito se parece a maneira como são feitos
os softwares em grande parte das empresas, principalmente pequenas empresas, onde
freqüentemente o programador é também o condutor doprojeto.
A crise do software persiste até hoje, erros em estimativas, dificuldade no
domínio da área de conhecimento específica do software proposto, especificações
obscuras, requisitos mal feitos e mal interpretados, conflitos nos objetivos e mudanças
intermináveis e mal controladas são apenas poucos, mas motivos importantes ou
suficientes para fazer com que um projeto falhe.
O que percebemos é que após a aprovação do contrato de um novo projeto, os
programadores começam o desenvolvimento em cima de um esboço de requisitos do
cliente, sem planejamento, sem interatividade com ocliente, ou com esta interatividade
fora de controle e não documentada.
As mudanças dos requisitos são feitas de forma informal, via telefone, e-mail e
anotações em papéis. A falta de comunicação na equipe de desenvolvimento com a
gerência do projeto e o cliente é falha, gerando mais retrabalho (quando normalmente já
não existe tempo). A gerência de configurações das versões do software é praticamente
nula.
As organizações, tanto públicas como em setores privados, freqüentemente são
forçadas a cancelar projetos de software que excederam demais suas estimativas
originais de custo e entrega ou estimativas de tempo de conclusão, ou simplesmente não
conseguiram alcançar as funcionalidades mínimas desejadas. Os custos de tais
cancelamentos de projeto têm sido espantosos nos últimos anos, devendo em parte ao
aumento da complexidade das novas tecnologias de software. (EWUSI-MENSAH,
2003). Porém, como disse Jim Johnson, do The Standish Group, "quando um projeto
falha, raramente a causa é técnica". Em geral, a causa está na utilização ou não de
metodologias de desenvolvimento e em como elas interagem com os envolvidos em um
projeto de software (GOULD & FREEMAN, 2006).
A utilização de modelos de processos é fundamentalpara o bom andamento do
projeto e do produto. Visto que o produto de software tem um tempo de
desenvolvimento grande se comparado ao tempo de vida útil deste no mercado. Por isso,
quanto menor o tempo de desenvolvimento maior a chance dele permanecer no mercado
e retornar o investimento feito.
...