O que é Engenharia de Software e o que esperar de um curso de Engenharia de Software
Março 3, 2008
Engenharia de Software
Definição
A engenharia de software é uma disciplina da engenharia que relaciona todos os aspectos necessários a produção de software, desde a sua concepção até a sua operação e manutenção, fornecendo todo um arcabouço que abrange um processo, um conjunto de métodos e ferramentas. Para Sommerville, ela é uma disciplina da engenharia tradicional, porque os engenheiros fazem as coisas funcionarem. Eles aplicam teorias, métodos e ferramentas onde for apropriado, mas eles os usam de forma seletiva e sempre procuram descobrir soluções para os problemas, mesmo quando não existem teorias e métodos aplicáveis. Além disso, os engenheiros de software adotam uma abordagem sistemática e organizada em seu trabalho, que é freqüentemente, a maneira mais eficaz de produzir software de alta qualidade.
Para BAUER, A Engenharia de software é a criação e a utilização de sólidos princípios de engenharia a fim de obter software de maneira econômica confiável e que trabalhe eficientemente em máquinas reais.
O termo foi criado na década de 60 e utilizado oficialmente em 1968 na NATO Conference on Software Engineering (Conferência sobre Engenharia de Software da OTAN). Sua criação surgiu numa tentativa de contornar a crise do software e dar um tratamento mais sistemático e controlado ao desenvolvimento de sistemas de software complexos.
“Na sociedade moderna, o papel da engenharia de software é fornecer sistemas e produtos que melhoram os aspectos materiais da vida humana, tornando assim a vida mais fácil, menos perigosa, mais segura e mais agradável.” (Richard Fairley e Mary Willshire, apud, Pressman, in Software Engineering: a practitioner approach. 6th edition, pp. 2, 2005).
A Engenharia de Software não está relacionada apenas com os aspectos técnicos do desenvolvimento de software, mas também, com as atividades como: gerenciamento de projeto de software e o desenvolvimento de ferramentas, métodos e teorias que apóiem a produção de software.
Dessa forma, podemos definir a Engenharia de software como uma disciplina que reúne metodologias, métodos e ferramentas a ser utilizadas, desde a percepção do problema até o momento em que o sistema desenvolvido deixa de ser operacional, visando resolver problemas inerentes ao processo de desenvolvimento e ao produto de software, com o objetivo de auxiliar no processo de produção de software, de forma que o processo de origem a produtos de alta qualidade, produzidos mais rapidamente e a um custo cada vez menor. A Engenharia de software segue o conceito de disciplina na produção de software, fundamentado nas metodologias, que por sua vez seguem métodos que utilizam de ferramentas automáticas para englobar as principais atividades do processo de produção.
Achei interessente a abordagem apresentada no texto: O que é engenharia de software, no qual o autor propõe uma pesquisa no objetivo de obter respostas as seguintes indagações:
- Qual a diferença entre o desenvolvimento de um produto de forma artesanal e o desenvolvimento seguindo os princípios de engenharia? Em outras palavras, qual a diferença entre o trabalho de um artesão e o de um engenheiro?
- Qual a diferença entre cozinhar e fazer engenharia de alimentos?
- O que as diferentes engenharias (civil, mecânica, elétrica/eletrônica, química, ambiental, etc.) têm em comum?
O que esperar de um curso de Engenharia de Software?
O que normalmente espera-se de um curso de especialização em geral é o debate sobre alguma área do conhecimento já estudada ou não durante a graduação, porém com um enfoque mais crítico e mais profundo, do que o apresentado durante a graduação, pois, no caso específico da engenharia de software, que é uma disciplina com carga horária média de 90 horas nos cursos de graduação em Ciência da Computação, o tempo é suficientemente baixo conhecer e estudar as diversas áreas, especialidades, da engenharia.
Por se tratar de um curso de especialização, eu espero aulas mais participativas e menos expositivas, uma vez que, que objetivo do curso é tornar todos os alunos, após a sua conclusão, especialistas em Engenharia de Software.
Entry Filed under: Engenharia de Requisitos. Tags: Engenharia de Software.
Trackback this post | Subscribe to the comments via RSS Feed