Disciplina do curso de Engenharia de Software da PUC Minas
- 2°Sem 2024
- 1°Sem 2025
- 2°Sem 2025
-
📕 Software Engineering – Ian Sommerville
Obra clássica que aborda de forma abrangente os principais conceitos, processos e práticas da engenharia de software, amplamente utilizada em cursos e na indústria. -
📘 Engenharia de Software Moderna - Marco Tulio Valente
Livro gratuito e atualizado que trata da engenharia de software com foco em práticas modernas, como integração contínua, microserviços e DevOps, com exemplos em Java e Python. -
📙 Análise e Projeto de Sistemas – Alan Dennis, Barbara Haley Wixom, Roberta M. Roth
Livro que aborda metodologias e técnicas modernas para análise e projeto de sistemas, incluindo modelagem de processos, requisitos e diagramas UML, com forte aplicação prática em projetos reais. -
📚 IEEE SWEBOK – Software Engineering Body of Knowledge
- PDF - Guia oficial do IEEE que organiza e descreve o corpo de conhecimento essencial da engenharia de software, servindo como referência para profissionais, educadores e certificações.
- 🧠 Blog - Martin Fowler
- 📕 Patterns of Enterprise Application Architecture - Martin Fowler
- 📕 Refactoring: Improving the Design of Existing Code - Martin Fowler
- 📄 Blog - Clean Architecture - Robert C. Martin (Uncle Bob)
- 📙 Clean Architecture – Robert C. Martin (Uncle Bob)
- 📘 Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions - Gregor Hohpe, Bobby Woolf
- 📔 Introdução à Arquitetura de Design de Software – Paulo Silveira, Guilherme Silveira, Fabio Kung, Guilherme Moreira
- 📙 Designing Software Architectures – Humberto Cervantes & Rick Kazman
- 📗 Software Architecture in Practice – Len Bass, Paul Clements, Rick Kazman
- 📒 Fundamentals of Software Architecture – Mark Richards & Neal Ford
- 📄 Architectural Styles and the Design of Network-based Software Architectures – Roy Fielding (REST)
- 📂 awesome-software-architecture (GitHub)
- 🛰️ Thoughtworks Technology Radar
- 📙 Princípios de Análise e Projeto de Sistemas com UML - Eduardo Bezerra
- 📘 UML Distilled – Martin Fowler
- 📕 UML Essencial - Martin Fowler
- 📒 Applying UML and Patterns – Craig Larman
- 📗 Fundamentos Do Desenho Orientado A Objeto Com UML - Jones Meilir Page
- 📖 UML Diagram Types - Visual Paradigm (guia ilustrado)
- 📕 Design Patterns: Elements of Reusable Object-Oriented Software – GoF (Gamma, Helm, Johnson, Vlissides)
- 📘 Head First Design Patterns – Eric Freeman & Elisabeth Robson
- 📗 Domain-Driven Design Distilled - Vaughn Vernon
- 📂 design-patterns-for-humans (Explicações simples)
- 📦 Refactoring.Guru – Exemplos em múltiplas linguagens
- 📕 Code Complete – Steve McConnell
- 📘 Clean Code – Robert C. Martin
- 📔 The Clean Coder – Robert C. Martin
- 📗 Design It! – Michael Keeling
- 📂 awesome-static-analysis
- 🗞️ ACM Transactions on Software Engineering and Methodology
- 🧪 Journal of Software Maintenance and Evolution (ACM)
- 📈 Journal of Software: Evolution and Process (Wiley)
- 📄 IEEE Software - Measuring Software Quality
- 📖 IEEE - Transactions on Software Engineering
- 📦 Requirements Engineering - Springer
- 🖼️ Draw.io (Diagramas)
- 🎓 Astah - Licença gratuita para estudantes
- 📐 PlantUML - Diagramas UML
- 📖 PlantUML - Guia oficial
- 🎨 Figma
- 🧩 C4 Model – Modelo para visualização de arquitetura de software
Relatórios anuais e pesquisas globais ajudam a entender as principais linguagens, ferramentas, salários, preferências e tendências no mercado de desenvolvimento de software. São ótimos para orientar decisões de carreira e identificar habilidades em alta.
- DevSkiller Report 2025
- Stack Overflow Developer Survey 2025
- Stack Overflow Developer Survey 2024
- JetBrains Developer Ecosystem 2024
- GitHub Octoverse 2024
As organizações abaixo incluem Trabalhos Interdisciplinares (TIs) e Trabalhos de Conclusão de Curso (TCCs) desenvolvidos pelos alunos do Curso de Engenharia de Software, da Pontifícia Universidade Católica de Minas Gerais. Os melhores TIs encontram-se publicamente disponíveis na Revista SPRINTI e os TCCs estão disponíveis no catálogo do curso.
- Organização no GitHub - ICEI PUC Minas PMGES TI - Campus Coração Eucarístico
- Organização no GitHub - ICEI PUC Minas PPLES TI - Campus Lourdes
Template de repositório contendo a estrutura geral a ser usada nos trabalhos interdisciplinares (TI) do curso de Engenharia de Software da PUC Minas.
- https://github.com/ICEI-PUC-Minas-PMGES-TI/TI-ES-GenericTemplate
- https://github.com/ICEI-PUC-Minas-PPLES-TI/TI-ES-GenericTemplate
- https://github.com/ICEI-PUC-Minas-PMGES-TI/TI-ES-NDE-Master
- https://github.com/ICEI-PUC-Minas-PPLES-TI/TI-ES-NDE-Master
Revista SprinTi - PUC Minas: |
|
- PMG ES 2025-2 TI3 - Casa dos Discípulos
- PMG ES 2025-2 TI3 - Thivor Automóveis
- PMG ES 2025-2 TI3 - Na Régua Barbearia
- PMG ES 2025-2 TI3 - VazTech
- PMG ES 2025-2 TI3 - ClassHub
- PMG ES 2025-2 TI3 - REALConsult
- PMG ES 2025-2 TI3 - XXXX
- PMG ES 2025-1 TI3 - Fazenda Inteligente
- PMG ES 2025-1 TI3 - Glayde Ribeiro - Cake Designer
- PMG ES 2025-1 TI3 - Barber Flow
- PMG ES 2025-1 TI3 - Get Route
- PMG ES 2025-1 TI3 - Optima
- PMG ES 2025-1 TI3 - Olimpo Estética Automotiva
- PMG ES 2025-1 TI3 - SeChat Solutions
- PMG ES 2025-1 TI3 - Quel Caramel
- PMG ES 2025-1 TI3 - GearUp
- PMG ES 2025-1 TI3 - BeautyLab
- PMG ES 2025-1 TI3 - Santo Restauro
- PMG ES 2025-1 TI3 - AutoClick
- PMG ES 2025-1 TI3 - Villa Pisani
- PMG ES 2025-1 TI3 - Fabiana Móveis
- 🏆 Eleito trabalho destaque de TI3 - 1-2025
- 🏅 Certificado de reconhecimento de trabalho destaque
- 📺 Vídeo no Youtube
- 🎥 Vídeo
- PMG ES 2024-2 TI3 - Amitran
- PMG ES 2024-2 TI3 - Beautyzz
- PMG ES 2024-2 TI3 - C&C BH
- PMG ES 2024-2 TI3 - Corporate Rent A Car
- 🏆 Eleito trabalho destaque de TI3 - 2-2024
- 🏅 Certificado de reconhecimento de trabalho destaque
- 📺 Vídeo no Youtube
- 🎥 Vídeo
⭐ Como conquistar o título de Trabalho Destaque de TI3 (Trabalho Interdisciplinar: Aplicações para Cenários Reais)
Para que seu grupo conquiste o título de Trabalho Destaque, é essencial trabalhar com entrosamento 🤝, garantindo que todos participem ativamente de todas as etapas do projeto — desde o levantamento de requisitos 📋, passando pelo desenvolvimento 💻, testes 🧪 e documentação 📑.
O projeto deve apresentar um caráter inovador 💡, indo além de funcionalidades básicas como CRUDs, e focando em soluções reais e eficazes para o problema do cliente final 🎯.
➡️ É muito importante envolver o cliente ao longo do desenvolvimento e garantir que o sistema seja testado por ele, com feedback preferencialmente em vídeo 🎥.
Além disso, observem os seguintes critérios técnicos:
-
☁️ O sistema deve estar hospedado na nuvem, garantindo que ele esteja acessível publicamente via URL e disponível para testes pelo cliente e pela banca avaliadora. Para isso, recomenda-se:
- Utilizar plataformas como Render, Vercel, Netlify, Railway, Fly.io, ou outros serviços equivalentes
- Garantir que o link esteja funcionando corretamente no momento da apresentação
- Verificar se o sistema está acessível sem necessidade de instalação local
- Preferencialmente, manter o sistema atualizado e online até o final do semestre
-
🎨 O front-end precisa ser moderno, com boa usabilidade e apresentação caprichada. Isso inclui:
- Uso adequado de cores, fontes e espaçamentos
- Responsividade (funcionar bem em celulares, tablets e desktops)
- Navegação intuitiva e acessível para o usuário final
- Preferencialmente utilizando frameworks como React, Vue, Angular ou bibliotecas de UI modernas como Tailwind, Material UI ou Bootstrap
-
🧱 A arquitetura e organização do sistema devem considerar escalabilidade e boas práticas de desenvolvimento, como:
- Separação clara entre front-end e back-end
- Uso de serviços externos ou APIs quando apropriado
- Estrutura de pastas e código bem organizada
- Uso de controle de versão (Git/GitHub) e commits frequentes e bem descritos
- Padrões de código limpos, com foco em manutenibilidade e reusabilidade
-
🧪 A apresentação final deve incluir:
- O feedback do cliente, preferencialmente em vídeo ou depoimento escrito, mostrando a percepção dele sobre o sistema entregue
- A demonstração completa do sistema em funcionamento, evidenciando:
- As principais funcionalidades implementadas
- A interface em uso
- Como o sistema resolve o problema proposto
- Comparação entre a situação antes e depois da solução aplicada
-
🙋♂️ Convide o cliente para a apresentação final, para que ele possa acompanhar a entrega do sistema, validar o que foi feito e, se possível, comentar ao vivo sobre a solução desenvolvida. A presença dele enriquece a apresentação e demonstra o vínculo real do projeto com o problema enfrentado.
📹 O vídeo de entrega e a apresentação final são essenciais para destacar seu projeto. Caprichem na edição, mostrando de forma clara como era o cenário antes da implantação do sistema 🕰️ e como ficou depois 🚀.
Mostrem que seu sistema faz a diferença. Boa sorte, e mãos à obra! 💪
O arquivo CITATION.cff
é um arquivo de metadados em formato YAML
criado para padronizar a forma como softwares e projetos científicos devem ser citados. Ele é reconhecido por plataformas como o GitHub, que exibe automaticamente um botão de "Citar este repositório" quando o arquivo está presente e corretamente preenchido.
No contexto do nosso curso de Engenharia de Software na PUC Minas, o CITATION.cff
tem papel estratégico, pois viabiliza e organiza várias ações institucionais, tais como:
-
✅ Citação formal e acadêmica dos projetos, favorecendo o reconhecimento dos alunos e professores como autores de uma produção intelectual.
-
🎓 Emissão automatizada de certificados de produção docente e discente, incluindo:
- Certificados de Destaque Acadêmico
- Certificados de autoria docente
- Certificados de participação dos alunos nos projetos
-
📰 Seleção de projetos para publicação na Revista SprinTI, com base nos dados descritos nesse arquivo.
-
🛡️ Encaminhamentos para registro de propriedade intelectual no INPI, com dados claros sobre autoria, versão e data de liberação do software.
-
🔍 Indexação e rastreabilidade institucional dos projetos para fins de avaliação, relatórios e participação em editais e eventos.
Campo | Explicação resumida |
---|---|
cff-version |
Sempre use 1.0.1, que é a versão atual do padrão CFF. |
message |
Mensagem padrão pedindo que o projeto seja citado. |
title |
Nome do projeto de forma clara e sem siglas internas. |
authors |
Lista de autores, separando os nomes por given-names (nome) e family-names (sobrenome). Professores devem incluir name-suffix: Professor e affiliation: PUC Minas . |
keywords |
Coloque de 3 a 5 palavras-chave que representem o domínio do projeto (ex: saúde, educação, sistema web, etc.). |
repository-code |
Link do repositório GitHub. Atenção para não copiar errado. |
license |
Use CC-BY-4.0, que permite uso com atribuição. |
version |
Versão do software — use 1.0.0 se for a entrega final. |
date-released |
Data de liberação da versão. Deve ser preenchida com a data de término do semestre acadêmico. Use o formato AAAA-MM-DD. |
- Preencha os nomes e sobrenomes completo dos autores sem abreviações
- Atualize os nomes dos autores caso tenha saído alguém do grupo de trabalho Interdisciplinar
- Não use siglas ou nomes genéricos no campo title.
- ❌ Não deixe o campo date-released em branco e use somente o formato AAAA-MM-DD.
Clique para exibir
cff-version: 1.0.1
message: Please cite this software using these metadata.
title: QuelCaramel – Sistema de E-commerce para Doces Artesanais
authors:
- family-names: Panzera
given-names: Arthur Lara
- family-names: Ribeiro
given-names: Rafaela Oliveira
- family-names: Ferreira
given-names: Thiago Henrique Lacerda
- name-suffix: Professor
affiliation: PUC Minas
family-names: Maia Filho
given-names: Danilo de Quadros
- name-suffix: Professor
affiliation: PUC Minas
family-names: Aramuni
given-names: João Paulo Carneiro
- name-suffix: Professor
affiliation: PUC Minas
family-names: Marques
given-names: Ramon Lacerda
keywords:
- e-commerce
- Laravel
- PHP
- loja virtual
- integração com WhatsApp
repository-code: https://github.com/ICEI-PUC-Minas-PMGES-TI/pmg-es-2025-1-ti3-9577100-quel-caramel
license: CC-BY-4.0
version: 1.0.0
date-released: 2025-06-19