Preocupam-se atualmente essas tecnologias com as linguagens de programação, bases de dados, ferramentas, plataformas, bibliotecas, padrões, processos e a primordialmente com a qualidade do software. Os alicerces científicos da engenharia de software envolvem o uso de modelos abstratos e precisos, os quais permitem ao engenheiro especificar, projetar, implementar e manter sistemas de software, com a finalidade de avaliar e garantir sua qualidade. Além disso, a engenharia de software desenvolve mecanismos para o planejamento e gerenciamento do processo de desenvolvimento.
Importa destacar o entendimento de Friedrich Ludwing Baues, que 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, que seja confiável e que trabalhe eficientemente em máquinas reais". Valendo frisar que o próprio significado de engenharia já traz os conceitos de criação, construção, análise, desenvolvimento e manutenção.
Já a Engenharia de software concentra-se nos aspectos práticos da produção de um sistema de software, enquanto a Ciência da Computação estuda os fundamentos teóricos dos aspectos computacionais.
Em 1.960 pela primeira vez é usado o termo "Engenharia de Software", mas oficialmente somente em 1.968 fora mencionado na "Nato Conference on Software Engineering". A Engenharia de Software surge numa tentativa de aprimorar a crise do software e dar um tratamento de engenharia, o qual daria mais ênfase sistemática e controlada ao desenvolvimento de sistemas de software complexos. É a engenharia de sistemas uma área ampla, uma vez que trata de todos os aspectos de sistemas baseados em computadores, pois engloba desde hardware e engenharia de processos até o software.
Áreas de Conhecimento
Segundo o SWEBOK (Corpo de Conhecimento da Engenharia de Software), as áreas de conhecimento da Engenharia de Software são:
- Requisitos de Software
- Projeto (Design) de Software
- Implementação de Software
- Teste de Software
- Manutenção de software
- Gerência de Configuração de Software
- Gerência de Engenharia de Software
- Processos de Engenharia de Software
- Ferramentas e Métodos de Engenharia de Software
- Qualidade de Software
Conforme Pressman, a Engenharia de Software (ES) é uma tecnologia em camadas. E a base de todas essas camadas é o foco na qualidade do software desenvolvido. Portanto, inclusive do ponto de vista didático, é interessante estudarmos a ES em suas camadas de Processo, Métodos e Ferramentas.
A engenharia de software aborda uma série de práticas e tecnologias, principalmente estudadas pela ciência da computação, enfocando seu impacto na produtividade e qualidade de software.
Destacam-se o estudo de linguagem de programação, banco de dados e paradigmas de programação, como:
- Programação estruturada
- Programação funcional
- Programação orientada a objetos
- Componentes de Software Programação orientada a aspecto
Nenhum comentário:
Postar um comentário