Skip to content

Latest commit

 

History

History
101 lines (77 loc) · 4.92 KB

SEMINARIOS.md

File metadata and controls

101 lines (77 loc) · 4.92 KB

Seminários de Engenharia de Software II

Este arquivo contem os seminários que podem ser passados para você no decorrer da disciplina.

Sumário:

Objetivos da Atividade

O objetivo destes seminários é avaliar suas competências e aptidões com relação às seguintes habilidades:

  • Organização e estruturação do pensamento lógico-dedutivo
    • Clareza, encadeamento, coesão e coerência de ideias e pensamentos
  • Fluência na comunicação de ideias de moderada / alta complexidade
    • Capacidade de explicar / ensinar conteúdos de natureza técnica, adaptando as metodologias, jargões, modelos e afins ao público-alvo
    • Capacidade de contextualizar, justificar e descrever suas ideias e soluções
  • Capacidades associadas ao trabalho em equipe
    • Divisão e coordenação de esforços entre membros de um equipe, considerando as aptidões e habilidades individuais
  • Gerenciamento de projetos e atividades de moderada / alta complexidade
    • Planejamento e organização de calendários / cronogramas de execução de atividades
    • Planejamento, organização e concepção de documentações, relatórios e modelos

Tópicos dos Seminários

Seguem abaixo as especificações de cada tópico de seminário. Leia cada instrução com atenção para evitar erros e interpretações erradas.

ATENÇÃO: A interpretação da atividade é parte integral da avaliação.

1. Práticas de Refatoração de Código

Descrição: Explorar as práticas de refatoração de código para melhorar a legibilidade, manutenção e desempenho do software. Subtópicos: Conceitos de refatoração Técnicas comuns de refatoração Ferramentas de suporte à refatoração (IntelliJ, Eclipse) Exemplos práticos de refatoração

2. Engenharia de Software Dirigida por Testes (TDD)

Descrição: Discutir a abordagem de desenvolvimento dirigido por testes e seus benefícios para a qualidade do software. Subtópicos: Conceitos de TDD e tipos de testes automatizados (unitário, sistema) Ciclo TDD (Red-Green-Refactor) Ferramentas para TDD (JUnit, Mockito) Ferramentas de automação de testes (Selenium, JUnit)

3. Desenvolvimento de Software Orientado a Serviços (SOA)

Descrição: Explorar o desenvolvimento de software utilizando uma arquitetura orientada a serviços (SOA).

Subtópicos:

  • Conceitos de SOA
  • Design e implementação de serviços
  • Protocolos e padrões (SOAP, REST)
  • Casos de uso e exemplos práticos

4. Engenharia de Software para Sistemas Embarcados

Descrição: Discutir as especificidades e desafios do desenvolvimento de software para sistemas embarcados.

Subtópicos:

  • Características de sistemas embarcados
  • Ferramentas e técnicas de desenvolvimento
  • Testes de sistemas embarcados
  • Exemplos de sistemas embarcados (automotivo, dispositivos médicos)

5. Engenharia de Software para Aplicações em Tempo Real

Descrição: Abordar os desafios e práticas no desenvolvimento de aplicações que requerem respostas dentro de limites de tempo rigorosos.

Subtópicos:

  • Características de sistemas em tempo real
  • Planejamento e escalonamento de tarefas
  • Ferramentas e linguagens para sistemas em tempo real
  • Exemplos de aplicações em tempo real (controle de tráfego aéreo, sistemas de manufatura)

6. Engenharia de Software Dirigida por Modelos (MDE)

Descrição: Abordar o desenvolvimento de software utilizando modelos como principais artefatos, incluindo os benefícios e desafios dessa abordagem. Subtópicos: Conceitos de MDE Ferramentas de modelagem (Eclipse Modeling Framework, Enterprise Architect) Transformações de modelos Casos de uso e exemplos práticos

7. Engenharia de Software Baseada em Componentes

Descrição: Discutir a abordagem baseada em componentes para o desenvolvimento de software e seus benefícios para a modularidade e reuso. Subtópicos: Conceitos de software baseado em componentes Design e implementação de componentes Ferramentas e frameworks (EJB, OSGi) Exemplo de sistemas baseados em componentes