Engenharia de software é uma área do conhecimento da
computação voltada para a especificação, desenvolvimento e manutenção de
sistemas de software aplicando tecnologias e práticas de gerência de
projetos e outras disciplinas, objetivando organização, produtividade e
qualidade.
Atualmente, essas tecnologias e práticas englobam linguagens de
programação, banco de dados, ferramentas, plataformas, bibliotecas, padrões,
processos e a questão da Qualidade de Software.
Os fundamentos científicos para a engenharia de software envolvem o uso de
modelos abstratos e precisos que permitem ao engenheiro especificar, projetar,
implementar e manter sistemas de software, avaliando e garantindo suas
qualidades. Além disso, a engenharia de software deve oferecer mecanismos para
se planejar e gerenciar o processo de desenvolvimento de um sistema de
informação Sistema computacional, pois ambos se confundem.
Friedrich Ludwig Bauer foi o primeiro a defini-la como sendo:
"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". O próprio
significado de engenharia já traz os conceitos de criação, construção, análise,
desenvolvimento e manutenção.
A Engenharia de Software se concentra 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.
O termo foi criado na década de 1960 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 de engenharia (mais sistemático e controlado) ao
desenvolvimento de sistemas de software complexos. Um sistema de software
complexo se caracteriza por um conjunto de componentes abstratos de software
(estruturas de dados e algoritmos) encapsulados na forma de procedimentos,
funções, módulos, objetos ou agentes e interconectados entre si, compondo a
arquitetura do software, que deverão ser executados em sistemas computacionais.
Os fundamentos científicos envolvem o uso de modelos abstratos e precisos que permitem ao engenheiro
especificar, projetar, implementar e manter sistemas de software,
avaliando e garantindo suas qualidades. Além disto, deve oferecer mecanismos
para se planejar e gerenciar o processo de desenvolvimento. Empresas
desenvolvedoras de software passaram a empregar esses conceitos
sobretudo para orientar suas áreas de desenvolvimento, muitas delas organizadas
sob a forma de Fábrica de Software.
A Engenharia de Sistemas é uma área mais ampla por
tratar de todos os aspectos de sistemas baseados em computadores, incluindo hardware
e engenharia de processos além do software .
Fonte: Wikipedia
Fonte: Wikipedia
Nenhum comentário:
Postar um comentário
Deixe sua mensagem aqui!