Engenharia de software, caminho para qualidade

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

Atualmente os processos de desenvolvimento de software têm sido assunto bastante importante para as empresas de tecnologia de informação (TI), pois permitem que obtenham o mundialmente famoso certificado de qualidade Capability Maturity Model (CMM) nível 2 da Software Engineering Institute (SEI).

O certificado do instituto de engenharia de software do Departamento de Defesa dos Estados Unidos representa um grande diferencial em relação a empresas concorrentes. Os processos de desenvolvimento são objeto de estudos de uma ciência chamada Engenharia de Software.

A década de 90 foi marcada pelo início da adoção de computadores por pequenas e médias empresas, devido a popularização e o baixo custo destas máquinas. Surgia então uma nova e rica oportunidade de comercialização de softwares, que transformou Bill Gates no homem mais rico do mundo. O mercado era imaturo, devido à pouca idade, o que proporcionava a elaboração de software sem a utilização de processos de desenvolvimento. Bastava somente um habilidoso programador, já que raríssimos sistemas empresariais eram complexos nessa decáda.

No final da decáda de 90 o software consolida seu papel importante no mundo empresarial. Como exemplo pode ser citado o evento histórico intitulado bug do milênio, uma demonstração da importância que os softwares possuem na sociedade. Do mesmo período aos dias atuais, os sistemas tornaram–se cada vez mais complexos e exigem uma abordagem mais sistemática de desenvolvimento, visando a redução dos custos de produção, tempo de entrega e número de erros.

Desde então, um novo tipo de engenharia consolidou–se, intitulada Engenharia de Software – motivada pelo interesse das empresas de TI em reduzir custos, e dos clientes, em aumentar a qualidade.

O uso do termo engenharia implica em criar soluções economicamente efetivas, criar soluções para problemas práticos, aplicar conhecimento científico, criar objetos e aplicar a serviço do homem.

Portanto, o desenvolvimento de software é um problema de engenharia, que igualmente busca a criação de soluções econômicas para problemas práticos e a construção de objetos a serviço da sociedade. A engenharia baseia–se na codificação do conhecimento científico sobre um determinado domínio tecnológico – o domínio enfocado em nosso caso é o desenvolvimento de sistemas – e na partilha de soluções anteriores.

Existem três problemas de práticas correntes no desenvolvimento de software que podem ser destacados:

1. o conhecimento sobre as técnicas que funcionam não é partilhado
2. o conhecimento não está organizado de forma a poder ser usado como referência
3. a Ciência da Computação tem feito contribuições teóricas importantes, mas estas não têm influenciado a prática do desenvolvimento de software.

Em suma, engenharia de software, segundo o IEEE, é um enfoque sistemático para o desenvolvimento, operação, manutenção e descontinuação do software; ou – utilizando–se da definição de Barry Boehm, para melhor compreensão – é a aplicação prática do conhecimento científico no projeto e construção de programas e da documentação requerida para desenvolver, operar e manter esses programas.

Os processos de desenvolvimento, destacando o atualmente famoso Rational Unified Process (RUP) da IBM Rational, são os principais objetos de estudo dessa engenharia. Porém, muitos profissionais de tecnologia, por não compreenderem corretamente o significado real dos processos de desenvolvimento e de engenharia de software, usam este termo para designar modelos de ciclo de vida de desenvolvimento, métodos e ferramentas, técnicas para estimar custos, documentação e técnicas para controle de qualidade. Para essa situação o termo mais apropriado seria “gerenciamento de software”. [Webinsider]

.

Avatar de Fabiano Sousa

<strong>Fabiano Sousa</strong> (fdsousa@gmail.com) é profissional de TI junto à Anatel.

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on pocket

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *