Português English
Contato

Lista de Disciplinas | CMP191

Tendências em Engenharia de Software

Responsável: Karina Kohl Silveira
Carga Horária: 60 horas/aula
Créditos: 04
Semestre: 2025/2

 

Súmula
A disciplina dá uma visão geral das tendências atuais da Engenharia de Software (ES), apresentando fundamentos a diversos tópicos da ES, bem como conhecimentos avançados no contexto destes tópicos. Uma introdução ao método científico e projeto de pesquisa é feita, a fim dos alunos desenvolverem um trabalho ao longo do semestre relacionado aos tópicos apresentados. Também, são realizadas mesas redondas para a discussão de artigos relacionados a trabalhos recentes relacionados com o conteúdo da disciplina.

Objetivos
A disciplina oferece uma visão abrangente das principais tendências atuais da Engenharia de Software (ES), articulando fundamentos clássicos com desenvolvimentos contemporâneos e conhecimentos avançados da área. Entre os tópicos abordados, destacam-se temas que evidenciam a crescente sinergia entre ES e inteligência artificial, refletindo movimentos relevantes tanto na pesquisa quanto na prática profissional.

Cada tema é complementado por oficinas e laboratórios voltados à engenharia de software experimental, promovendo a integração entre indústria e academia por meio de atividades práticas e investigativas. Ao longo do semestre, também são promovidas discussões de artigos científicos recentes, com foco na análise crítica de propostas e abordagens emergentes.

Ao final da disciplina, espera-se que o(a) aluno(a) seja capaz de:

– Compreender e contextualizar tendências atuais da Engenharia de Software, incluindo seus
fundamentos e pesquisas recentes;

– Desenvolver uma visão crítica sobre diferentes abordagens, técnicas e ferramentas utilizadas na área;

– Conhecer os princípios da metodologia científica aplicados à Engenharia de Software e
compreender como estruturar e conduzir estudos experimentais;

– Elaborar e desenvolver um trabalho exploratório prático, viável dentro do semestre, relacionado aos temas discutidos em aula.

Conteúdo Programático

1: O Panorama da Engenharia de Software na Era dos LLMs
2: Engenharia Baseada em Especificações (Spec-Driven Engineering)
3: RAG (Retrieval-Augmented Generation) na Prática de Dev
4: Sistemas Multi-Agentes e Engenharia de Orquestração
5: O Ecossistema MCP (Model Context Protocol)
6: Harness Engineering e Avaliação de LLMs
7: Engenharia de Prompt Avançada e Alinhamento de Código
8: Experiência do Desenvolvedor (DevEx) e Carga Cognitiva
9: Dinâmicas de Times e Colaboração Humano-IA
10: Fatores Ocupacionais, Burnout e Identidade Profissional
11 – 14: Engenharia de Software Empírica/Experimental e Metodologia Científica
15: PROJETOS FINAIS
16: Recuperação

Metodologia Utilizada

A disciplina é apresentada em formato teórico-prático, combinando a exposição de conceitos e
técnicas com a aplicação prática pelos alunos, por meio de exemplos, exercícios e trabalhos
extra-classe. As 60 horas previstas para atividades teóricas e teórico-práticas incluem 30
encontros presenciais de 100 minutos de duração (2 períodos de 50 minutos por encontro, com dois encontros semanais ao longo de 15 semanas), totalizando 3.000 minutos. Além disso, são previstas 10 horas (600 minutos) de atividades autônomas, realizadas sem contato direto com o professor, correspondentes a leituras, exercícios e desenvolvimento de trabalhos.

A metodologia de ensino combina aulas expositivas com discussões orientadas de artigos
científicos, promovendo a compreensão crítica das tendências e fundamentos da Engenharia de Software. As aulas práticas são organizadas em oficinas, simulações, mini-investigações e
debates, incentivando a experimentação e a aplicação dos conteúdos em contextos reais.

Os estudantes participam de atividades individuais e/ou em grupo com foco investigativo,
envolvendo desde a formulação de perguntas de pesquisa até a execução de análises e
experimentos em pequena escala. As discussões em sala são apoiadas por leitura crítica da
literatura científica contemporânea, com uso de ferramentas de suporte à engenharia de software e à pesquisa empírica.

O ambiente virtual Moodle será utilizado como arcabouço de ensino, concentrando os planos de aula, o material didático, os canais de comunicação e o envio de tarefas, promovendo organização e continuidade das atividades.

Distribuição de Carga Horária

Carga horária teórica: 60 horas

Carga horária prática: 00 horas

Componentes da Carga Horária

Carga horária coletiva: 50 horas

Carga horária autônoma: 10 horas

Carga horária individual: horas

Lista de Atividades Discentes

– Assistir aulas teóricas

– Participar de discussões em aula em todas as etapas da disciplina (aula teóricas, oficinas e
laboratórios)

– Apresentação de trabalhos

Critérios de Avaliação

Trabalhos em aula e laboratórios (TL): 40%
Trabalho Prático (TP): 60%
Formação do Conceito Final (CF):
CF = (0,4 * TL) + (0,0,6 * TP)

A média ponderada das notas será convertida em conceito, mediante referencial abaixo:
Nota >= 9,0 = A
Nota >= 7,5 e < 9,0 = B
Nota >= 6,0 e < 7,5 = C
Nota < 6,0 = D
Observações: A média geral será calculada somente para aqueles alunos que tiverem obtido um índice de frequência às aulas igual ou superior a 75% das aulas previstas. Aos que não satisfizerem este requisito, será atribuído o conceito FF (Falta de Frequência).

Atividades de Recuperação Previstas
O aluno que obtiver conceito final D pode realizar uma prova de recuperação versando sobre todo o conteúdo da disciplina. Se a nota obtida nessa prova for igual ou superior a 6,0, o conceito passará para C.
Observações: Para poder realizar a prova de recuperação, o aluno deve ter realizado o fichamento E ter entregue o trabalho prático. Os que não se enquadrarem nesta situação permanecerão com conceito D.

Bibliografia Básica Essencial
Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohisson, Björn Regnell, Anders Wesslén. Experimentation in Software Engineering. Berlin: Springer, 2012. ISBN 978-3642290435

Pressman, Roger. Engenharia  de Software: Uma abordagem Profissional. New York: McGraw-Hill, 2011. ISBN 9788563308337

Sommerville, Ian. Engenharia de Software. New York: Pearson Education, 2012. ISBN 9788579361081