Engenharia de software
Engenharia de software é uma área muito complexa dedicada à concepção, execução, desenvolvimento e manutenção de sistemas de software, aplicando tecnologias e práticas de ciência da computação, gerência de projetos e outras disciplinas, para que os sistemas se comportem de forma confiável e eficiente, satisfazendo todos os requisitos definidos. O termo engenharia de software apareceu pela primeira vez em 1968, após a crise do software (época que se refere às dificuldades de desenvolver programas livres de defeitos, facilmente compreensíveis e verificáveis).
Um software pode ser produzido por uma variedade de propósitos, para atender as necessidades específicas de um determinado cliente, empresa, usuários e até mesmo para uso pessoal, utilizando-se de técnicas que englobem linguagens de programação, base de dados, ferramentas, plataformas, bibliotecas, padrões, processos, entre outras. O processo de desenvolvimento de software pode se tornar muito complexo, dependendo do seu tamanho e criticidade. Por exemplo, a criação de um sistema operacional é uma tarefa que exige gerenciamento de projetos, muitos recursos e uma equipe de trabalho disciplinado.
A gerência de projetos de software é constituída por um conjunto de atividades, que devem ser administradas de acordo com parâmetros de custo, tempo e qualidade, com a utilização de métricas quantitativas e qualitativas, ao longo do processo de desenvolvimento, para garantir um produto final que satisfaça às expectativas do cliente, dentro daquilo que foi acordado inicialmente. No desenvolvimento de software, a qualidade do produto está diretamente relacionada à qualidade do processo de desenvolvimento.
A utilização de softwares de qualidade garante a segurança das transações, dos negócios, das pessoas envolvidas e mantém alta disponibilidade dos serviços. É papel da engenharia de software trabalhar nestes quesitos e evitar problemas que aparecem na construção de um software,