Como Fazer TCC de Engenharia de Software: Guia Completo 2026

Guia passo a passo para fazer TCC de Engenharia de Software do zero até a entrega. Estrutura, normas ABNT, erros comuns e dicas práticas de estudantes aprovados.

Publicado em 13 de março de 2026

Fazer um TCC em Engenharia de Software envolve bem mais do que só codar: é preciso demonstrar domínio teórico, justificar escolhas técnicas e metodológicas, e apresentar resultados com rigor científico. Muitos estudantes já chegam cansados de provas e estágios, e acabam focando só na parte prática, esquecendo que o TCC exige fundamentação, método, análise e escrita formal. Este guia vai te ajudar,

  1. 1

    1. Defina um tema relevante e delimitado

    Escolha um tema que dialogue com as tendências atuais da Engenharia de Software e que seja viável para um trabalho de 50 páginas. Considere impacto, acesso a dados/código e possibilidade de análise científica.

    • Avalie temas como Test-Driven Development (TDD), CI/CD em times remotos, análise de dívida técnica em sistemas legados, uso de DDD em aplicações empresariais, entre outros citados acima.
    • Converse com professores/orientadores que atuam nas linhas de Engenharia de Software (ex: professora Simone Santos para TDD, prof. Fernando Castor para métricas de qualidade).
    • Delimite o recorte: por exemplo, "Impacto do TDD na redução de defeitos em projetos Java open source".
    • Cheque se existem bases de dados ou repositórios públicos que você pode analisar (GitHub, SourceForge, Requal, QualiSoft etc.).
    Dica: Fuja de temas amplos como 'Desenvolvimento Web' ou 'Aplicações Móveis'. Quanto mais específico, melhor para análise profunda.
  2. 2

    2. Elabore o problema, objetivos e hipóteses

    Descreva qual problema real você vai atacar e por que ele é relevante para a área de Engenharia de Software. Detalhe objetivos gerais e específicos. Se for pesquisa experimental, defina hipóteses claras.

    • Escreva o problema em uma frase: 'Como a adoção de TDD influencia as métricas de qualidade em projetos Java?'.
    • Objetivo geral: 'Avaliar o impacto do TDD sobre a qualidade de código em projetos Java open source'.
    • Objetivos específicos: 'Selecionar projetos que usam TDD', 'Analisar métricas como cobertura, complexidade ciclomática e número de bugs'.
    • Hipótese (se aplicável): 'Projetos que adotam TDD apresentam menor densidade de bugs e maior cobertura de testes'.
    Dica: Consulte artigos recentes (IEEE Xplore, ACM Digital Library) para fundamentar o problema e evitar reinvenção da roda.
  3. 3

    3. Fundamente teoricamente com autores e normas da área

    Este é o capítulo onde muitos erram: não basta citar livros genéricos, é preciso trazer autores e normas reconhecidos em Engenharia de Software.

    • Aborde modelos de processo (RUP, XP, Scrum) citando Pressman, Sommerville, Larman, Beck, Fowler.
    • Inclua normas como ISO/IEC 25010 (qualidade de software), ISO/IEC 12207 (processos).
    • Para testes automatizados, fundamente com Kent Beck (TDD), Lisa Crispin (Agile Testing), Martin Fowler (Refactoring), e cite métricas como cobertura de código (Jacoco, Cobertura), complexidade ciclomática (McCabe), SonarQube.
    • Inclua pesquisas de eventos como ICSE, SBES ou SBQS.
    Dica: Use sempre referências atualizadas. Artigos de 5-10 anos são mais valorizados em TCC de Engenharia de Software.
  4. 4

    4. Escolha e justifique a metodologia com rigor

    Explique por que escolheu experimento, estudo de caso, revisão sistemática ou análise comparativa.

    • Se usar experimento controlado, detalhe variáveis, grupos, métricas (ex: comparar equipes usando e não usando TDD).
    • Para análise de sistemas, explique critérios de seleção (ex: projetos Java no GitHub com mais de 500 commits).
    • Descreva ferramentas (Jenkins para CI/CD, SonarQube para qualidade, JUnit para testes, GitHub Actions para automação, etc.).
    • Justifique tudo com base em autores/metodologias da área (Kitchenham para experimentos, Wohlin para métodos empíricos, IEEE 829 para planos de teste).
    Dica: Inclua limitações do método: dificuldade de controlar variáveis em sistemas legados, viés de seleção de projetos, etc.
  5. 5

    5. Desenvolva a parte prática com documentação

    Se for produção de software ou análise de código, documente tudo: requisitos, arquitetura, código-fonte, testes, métricas. Use padrões de Engenharia de Software.

    • Requisitos: use casos de uso, user stories, ou requisitos funcionais/não-funcionais (documente utilizando UML, BPMN ou ferramentas como Enterprise Architect, Lucidchart, Draw.io).
    • Arquitetura: explique padrões utilizados (MVC, Microservices, Camadas), justificando com Clean Architecture (Robert C. Martin) ou SOLID (Martin, Fowler).
    • Código-fonte: hospede em repositório público (GitHub, GitLab).
    • Testes: documente com JUnit, PyTest, ou outra framework. Apresente métricas de cobertura (Jacoco, SonarQube).
    Dica: Inclua apêndices com trechos de código, scripts de automação, screenshots de ferramentas.
  6. 6

    6. Analise e discuta resultados com foco em métricas e qualidade

    Não basta mostrar que o software funciona. Analise qualidade usando métricas reconhecidas.

    • Avalie código com métricas como: cobertura de testes, complexidade ciclomática, número de bugs/defeitos, acoplamento/cohesão (Ferramentas: SonarQube, Checkstyle, PMD, Understand).
    • Se for experimento, use técnicas estatísticas simples (média, desvio-padrão, teste t), explicando limitações.
    • Compare resultados com trabalhos publicados (SBES, ICSE, SBQS).
    • Discuta possíveis ameaças à validade e limitações (viés de seleção, tamanho da amostra, etc.).
    Dica: Use tabelas, gráficos e quadros para sintetizar dados. Ferramentas como Excel, R ou Python (matplotlib, pandas) ajudam muito.
  7. 7

    7. Estruture e revise o texto conforme normas acadêmicas

    Siga as normas da sua instituição (geralmente ABNT: NBR 6023, 14724, 10520). Mantenha clareza, concisão e formalidade, mas sem enrolação.

    • Capa, folha de rosto, sumário, lista de figuras/tabelas, resumo (em português e inglês), introdução, fundamentação teórica, metodologia, desenvolvimento/prática, resultados/discussão, conclusão, referências, apêndices/anexos.
    • Use citações diretas e indiretas com autores da área (Pressman, Sommerville etc.).
    • Releia, peça revisão para colegas e oriente-se por pareceres do orientador.
    • Atenção à formatação: margens, espaçamento, fonte, legendas de figuras e tabelas.
    Dica: Ferramentas como Mendeley, Zotero, LaTeX ou geradores automáticos de referência podem facilitar muito.
  8. 8

    8. Prepare a apresentação e defesa

    Monte slides claros, objetivos e focados em resultados e aprendizados. Pratique explicando conceitos técnicos de forma acessível para a banca.

    • Destaque motivação, método, diferenciais, resultados e limitações.
    • Use gráficos e snapshots das ferramentas/código.
    • Prepare-se para perguntas técnicas (ex: por que escolheu Jenkins? Como validou métricas de qualidade? Por que esse método?)
    • Treine explicações para não especialistas (ex: professores de áreas correlatas como Banco de Dados ou Redes).
    Dica: Ensaiar com colegas, orientador ou até gravar você mesmo falando ajuda muito a ganhar confiança e ajustar o tempo.

5 Erros Comuns (e Como Evitar)

  • Achar que só desenvolver um sistema já é suficiente para um TCC de Engenharia de Software.

    Inclua fundamentação científica, análise comparativa, justificativas técnicas e métricas de qualidade.

  • Escolher temas genéricos ou já saturados (ex: 'Sistema de cadastro de usuários').

    Foque em tópicos atuais e específicos, como teste automatizado, análise de dívidas técnicas, uso de CI/CD, etc.

  • Usar metodologia sem justificar (ex: aplicar Scrum só porque é moda, sem explicar o porquê).

    Justifique com autores e normas da área, mostrando adequação ao problema/objeto de estudo.

  • Relatar só testes funcionais, esquecendo métricas formais de qualidade.

    Inclua análise de cobertura de testes, complexidade ciclomática, bugs, acoplamento/cohesão, usando ferramentas reconhecidas.

  • Citar livros ou materiais desatualizados (ex: Pressman de 2002, artigos antigos demais).

    Prefira artigos de eventos/congressos recentes, livros atualizados (edições novas), e normas atualizadas.

Perguntas Frequentes

Preciso realmente aplicar metodologia formal (RUP, XP, Scrum) no TCC?
Sim, principalmente se for comparar processos ou avaliar impacto de práticas. Mas não precisa aplicar tudo ao pé da letra: justifique o que faz sentido para seu contexto, cite autores (Pressman, Sommerville) e documente adaptações.
Como justifico a escolha de métricas de qualidade de software?
Use referências da ISO/IEC 25010, Pressman, Sommerville, ou artigos de SBES/ICSE. Explique por que escolheu cobertura de código, bugs, complexidade, etc. Mostre relação com objetivos do trabalho.
Posso usar projetos open source do GitHub como base para análise?
Pode e deve! Só explique critérios de escolha, contexto dos projetos, e verifique se há documentação e histórico suficiente para análise. Cite autores que já usaram essa abordagem (Wohlin, Kitchenham, etc.).
Como faço a análise estatística dos resultados?
Para TCC, use estatística descritiva básica: média, desvio-padrão, gráficos. Se comparar grupos, pode aplicar teste t (Python, R, Excel ajudam nisso). Explique limitações dos dados.
Preciso entregar só o texto ou também o código-fonte?
Depende da instituição, mas em Engenharia de Software é recomendável entregar ambos e documentar tudo (requisitos, arquitetura, testes, métricas). Hospede código em repositório público (GitHub) e inclua link no TCC.

Um TCC de Engenharia de Software não é só "fazer um sistema" — é mostrar que você domina métodos, ferramentas e ciência por trás do desenvolvimento. Escolha um tema relevante, fundamente com autores certos, use métricas e ferramentas da área e, acima de tudo, documente e justifique cada passo. No TQ

Pronto para começar seu TCC?

A Olivia Academy cria o TCC completo em ABNT para você, com pesquisa, redação e formatação prontas.

Começar agora — é grátis

Deixa a IA criar seu TCC

Começar grátis