You are on page 1of 11

Engenharia de

Software

Dario Pintor
Instituto Federal do Amap
jose.dario@ifap.edu.br

Introduo
Atualmente, h cada vez mais sistemas controlados por
software, fazendo com que a economia de praticamente todos
os pases seja muito dependente da qualidade dos softwares
por eles usados, justificando um investimento significativo
nesse setor.
H alguns anos atrs, desenvolvia-se software de uma maneira
completamente artesanal. A partir de uma simples definio
dos requisitos do software, partia-se imediatamente para a
implementao do mesmo. Hoje em dia, ainda h muitas
empresas que desenvolvem software dessa maneira, mas
vrias outras esto mudando suas formas de trabalho.

Introduo
A forma artesanal de trabalho, geralmente, no traz grandes
problemas para o desenvolvimento de software de pequeno porte,
o qual no exige um esforo muito grande de implementao.
Porm, para softwares de grande porte, srios problemas na
implementao podem comprometer todo o projeto.
Com o desenvolvimento cada vez maior da tecnologia de
hardware e a conseqente disponibilidade de mquinas 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.

Introduo
Muitos projetos so entregues com um grande atraso, custando
muito mais que o inicialmente previsto, sendo no confiveis,
difceis de manter e/ou no tendo um desempenho satisfatrio.
Esses problemas no desenvolvimento de software
conhecidos mundialmente como a crise de software.

so

Ou seja, a crise de software corresponde incapacidade da


indstria de software de atender prontamente demanda do
mercado de software, dentro dos custos e dos nveis de
qualidade esperados.

Introduo
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]:
Previso pobre desenvolvedores no prevem adequadamente quanto
tempo e esforo sero necessrios para produzir um sistema de software
que satisfaa s necessidades (requisitos) dos clientes/usurios.
Sistemas de software so geralmente entregues muito tempo depois do
que fora planejado;
Programas de baixa qualidade programas de software no executam
o que o cliente deseja, conseqncia talvez da pressa para se entregar o
produto. Os requisitos originais podem no ter sido completamente
especificados, ou podem apresentar contradies, e isto pode ser
descoberto muito tarde durante o processo de desenvolvimento;

Introduo
Alto custo para manuteno quando o sistema construdo
sem uma arquitetura clara e visvel, a sua manuteno pode ser
muito custosa;
Duplicao de esforos difcil compartilhar solues ou
reusar cdigo, em funo das caractersticas de algumas
linguagens adotadas, por falta de confiana no cdigo feito por
outra pessoa e at mesmo pela ausncia/deficincia de
documentao das rotinas e dos procedimentos j construdos.

Introduo
O reconhecimento da existncia da crise de software tem
provocado uma forte mudana 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
princpios de Engenharia, ou seja, seguindo um enfoque
estruturado e metdico.

Introduo
Assim, surgiu o termo Engenharia de Software, que se refere
ao desenvolvimento de software por grupos de pessoas,
usando princpios de engenharia e englobando aspectos
tcnicos e no-tcnicos, de modo a produzir software de
qualidade, de forma eficaz e dentro de custos aceitveis.
Engenheiros de software devem adotar uma abordagem
sistemtica e organizada para seu trabalho e usar
ferramentas e tcnicas apropriadas, dependendo do problema
a ser solucionado, das restries de desenvolvimento e dos
recursos disponveis.

Engenharia de Software
Alm das tcnicas de especificao e implementao de
software, os engenheiros de software devem ter conhecimento
tambm de outras tcnicas como, por exemplo, de
gerenciamento de software.
Dessa forma, aumenta-se a probabilidade de produzir software
de grande porte com qualidade, ou seja, software que satisfaa
os requisitos do usurio, bem como as expectativas de
tempo e de oramento.

Engenharia de Software
Segundo MAGELA 2006, Engenharia de Software um
conjunto de tcnicas, mtodos, ferramentas e processos
utilizados na especificao, construo, implantao e
manuteno de um software que visa a garantir a gerncia, o
controle e a qualidade dos artefatos gerados atravs de
recursos humanos.

Crditos

SOMMERVILLE, Ian. Software Engineering. 9.. ed.


Harlow, England: Addison-Wesley, 2010. ISBN 978-013-703515-1.

PRESSMAN, R. S., 2011. Engenharia de Software.


Makron Books. So Paulo. Brasil.

You might also like