Pesquisa · Mapa mental

Engenharia de software

A Engenharia de Software é uma área de conhecimento interdisciplinar que une ciências exatas e humanas, como engenharia e administração. Ela gerencia o ciclo de vida dos sistemas computacionais, conhecido como processo de software, que abrange especificação, desenvolvimento, manutenção e criação. Utilizando tecnologias e práticas de gerenciamento de projetos, a área busca otimizar organização, produtividade e qualidade. Atualmente, isso envolve linguagens de programação, bancos de dados, ferramentas, plataformas, bibliotecas, padrões de projeto, processos e qualidade de software.

Fonte: Wikipédia (pt)Texto didático por IAAtualizado em 09/07/2026

Pontos-chave

  • A Engenharia de Software gerencia o ciclo de vida de sistemas computacionais.
  • Ela integra conhecimentos de ciências exatas e humanas.
  • O objetivo é garantir organização, produtividade e qualidade no desenvolvimento de software.
  • Práticas atuais incluem linguagens de programação, bancos de dados e padrões de projeto.
  • A área busca aplicar princípios de engenharia para criar software econômico, confiável e funcional.
01

Histórico da Engenharia de Software

Imagem: Secom / UnB · BY · Openverse

O termo "Engenharia de Software" surgiu na década de 1960 e foi oficializado em 1968. Sua criação visava superar a "crise do software", aplicando um tratamento mais sistemático e controlado ao desenvolvimento de sistemas complexos. Sistemas complexos são compostos por componentes de software interconectados que formam a arquitetura do sistema.

02

Definição e Escopo

Imagem: Problemas_SBSE.png: Fabriciogf derivative work: Fabriciogf (talk) · BY · Openverse

Friedrich Ludwig Bauer definiu Engenharia de Software como a aplicação de princípios de engenharia para criar software econômico, confiável e funcional. Margaret Hamilton é creditada pela criação do termo. Enquanto a Ciência da Computação foca nos fundamentos teóricos, a Engenharia de Software se concentra nos aspectos práticos da produção, incluindo especificação, projeto, implementação e manutenção, com foco na qualidade e gerenciamento do processo.

03

Resolução de Problemas

Imagem: Giovanni Prestige · BY-SA · Openverse

Profissionais de Engenharia de Software utilizam modelos cognitivos e conhecimento sistemático para resolver problemas, possuindo uma visão global do desenvolvimento, incluindo funcionalidades, tratamento de exceções e tolerância a falhas. Amadores, com treinamento limitado, tendem a focar mais em aspectos sintáticos e semânticos. A resolução eficaz de problemas de programação requer conhecimento sintático, semântico, esquemático e estratégico.

04

Princípios Fundamentais

Imagem: Udesc - Universidade do Estado de Santa Catarina · BY-NC · Openverse

Os princípios da Engenharia de Software baseiam métodos, tecnologias e ferramentas, guiando o desenvolvimento. Eles se aplicam tanto ao processo quanto ao produto. Rigor e formalidade são essenciais, complementando a criatividade para aumentar a confiança no software. Exemplos incluem análise matemática de correção de programas, testes sistemáticos e documentação detalhada.

05

Áreas de Conhecimento (SWEBOK)

Imagem: Udesc - Universidade do Estado de Santa Catarina · BY-NC · Openverse

Segundo o SWEBOK (Corpo de Conhecimento da Engenharia de Software) de 2004, a Engenharia de Software abrange diversas áreas de conhecimento específicas.

06

Processo de Software

Imagem: Udesc - Universidade do Estado de Santa Catarina · BY-NC · Openverse

O processo de software refere-se à produção de sistemas computacionais, englobando insumos, práticas, produtos e trabalhadores. A Engenharia de Software organiza esses elementos para atender às demandas de todas as partes interessadas. Ambientes como SEE e PSEE auxiliam no desenvolvimento e manutenção desses processos.

07

Modelos de Processo de Software

Imagem: Udesc - Universidade do Estado de Santa Catarina · BY-NC · Openverse

Um modelo de processo de software é uma representação abstrata das atividades e objetos envolvidos no desenvolvimento, facilitando o gerenciamento e o acompanhamento do progresso do projeto. Existem diversos modelos para representar essas etapas.

08

Modelos de Maturidade

Imagem: Udesc - Universidade do Estado de Santa Catarina · BY-NC · Openverse

Modelos de maturidade avaliam a qualidade dos processos de software em uma organização. O Capability Maturity Model Integration (CMMi) é um exemplo conhecido, com níveis contínuos ou estagiados. O MPS.BR é um modelo brasileiro para pequenas e médias empresas, com 7 níveis de maturidade (A a G).

09

Metodologias e Métodos

Imagem: Udesc - Universidade do Estado de Santa Catarina · BY-NC · Openverse

Metodologia envolve princípios filosóficos que guiam diversos métodos, ferramentas e práticas. Um exemplo é a Metodologia Estruturada, que engloba métodos como Análise Estruturada e Projeto Estruturado (SA/SD) e Análise Essencial, utilizando ferramentas como o Diagrama de Fluxos de Dados.

10

Modelagem de Software

Imagem: Udesc - Universidade do Estado de Santa Catarina · BY-NC · Openverse

A modelagem utiliza abstrações para descrever sistemas de software, facilitando o entendimento e a comunicação. O desafio é equilibrar a simplicidade do modelo com a precisão necessária. Existem três métodos principais para realizar essa atividade.

Vídeos recomendados

Fontes consultadas

Continue pesquisando