Ao longo de meus 20 anos de carreira, venho ministrando disciplinas na Universidade Federal do Espírito Santo, contribuindo para a formação de profissionais e o desenvolvimento de conhecimento acadêmico. Se tiver dúvidas específicas sobre os temas que abordo, envie uma mensagem; meu e-mail está no rodapé, estou à disposição para responder suas questões o mais breve possível.
Semestre atual: 2025-1 - Link para acesso ao Google Sala de Aula
Conteúdo
A disciplina de Projeto de Sistemas de Software oferece uma base sólida para o desenvolvimento de software, com foco em princípios de design orientados a objetos e na aplicação de padrões de projeto. Os alunos são guiados através do processo de modelagem e design de sistemas, tanto em pequena quanto em grande escala, com ênfase na criação de soluções que sejam escaláveis, reutilizáveis e sustentáveis. A disciplina explora a importância de aplicar os princípios S.O.L.I.D., fundamentais para o desenvolvimento de software de qualidade, e como esses princípios se integram com os padrões de projeto para resolver problemas comuns de design.
Objetivos
Esta disciplina tem como objetivo capacitar os alunos a projetar sistemas de software robustos e bem estruturados, aplicando técnicas de modelagem orientadas a objetos e utilizando padrões de projeto que seguem os princípios S.O.L.I.D. Os alunos aprenderão a observar e considerar os aspectos críticos na etapa de projeto de software, compreender e aplicar diferentes modelos de arquitetura, e utilizar a UML como ferramenta de apoio no desenvolvimento. A disciplina também busca desenvolver a habilidade dos alunos em identificar e propor soluções arquiteturais adequadas, promover a reutilização de componentes de software e preparar os alunos para o aprendizado contínuo de novas técnicas e ferramentas de projeto. Ao final do curso, os alunos estarão aptos a projetar e desenvolver software utilizando as melhores práticas do mercado, com uma compreensão profunda das decisões arquiteturais e dos trade-offs envolvidos.
Conteúdo
A disciplina de Gestão de Qualidade de Software explora os conceitos fundamentais e as práticas essenciais para garantir a qualidade no desenvolvimento de software. Com uma abordagem prática, os alunos serão introduzidos aos diferentes níveis de testes de software, desde testes unitário até testes de integração e funcionais, aplicando técnicas baseadas em estudos sobre esforço (em horas) e medição de investimentos em atividades de revisão de artefatos e testes. A disciplina também abrange o uso de métricas de qualidade e a aplicação de normas e modelos de maturidade de processos, como CMMI e MPS.BR, oferecendo uma visão completa e prática da gestão da qualidade em projetos de software.
Objetivos
Esta disciplina tem como objetivo capacitar os alunos a compreender e aplicar os conceitos de qualidade no contexto do desenvolvimento de software. Os alunos aprenderão a distinguir os fatores que influenciam a qualidade de software, conhecer as principais normas e modelos de qualidade, e realizar testes em diversos níveis, utilizando técnicas fundamentadas em estudos de esforço e medição de investimentos. Além disso, a disciplina proporciona conhecimento sobre métricas de qualidade, revisões de artefatos, e gestão de processos de software, preparando os alunos para gerenciar e melhorar a qualidade em seus projetos de software,
Conteúdo
A disciplina de Engenharia de Requisitos de Software oferece uma visão abrangente e técnica sobre o processo de definição, análise e gestão de requisitos ao longo do ciclo de vida do software. Os alunos trabalham com técnicas de elicitação, especificação, validação e gerenciamento de requisitos, com o objetivo de desenvolver sistemas de software que atendam às necessidades dos stakeholders e do mercado. Além disso, são exploradas as melhores práticas para especificar requisitos, modelar sistemas em nível de negócio e garantir a consistência dos requisitos em ambientes complexos e heterogêneos.
Objetivos
Esta disciplina visa capacitar os alunos a dominar as principais etapas da engenharia de requisitos, incluindo a compreensão e diferenciação dos tipos de requisitos, a identificação e especificação eficaz de requisitos de diferentes fontes, e o uso de vocabulário técnico-científico apropriado para a área. Os alunos aprenderão a solucionar problemas de requisitos divergentes em ambientes dinâmicos, realizar a validação rigorosa de requisitos, e gerenciar requisitos de forma eficiente, desde sua elicitação inicial até a evolução contínua do software. Ao final do curso, os alunos estarão preparados para aplicar esses conhecimentos em projetos de desenvolvimento e manutenção de software, assegurando que os produtos finais sejam robustos, escaláveis e alinhados às expectativas dos usuários e do mercado.
Conteúdo
A disciplina de Gerência de Projeto de Software oferece uma imersão nas práticas e técnicas essenciais para o planejamento, execução, controle e encerramento de projetos de software. Os alunos são introduzidos aos conceitos fundamentais do gerenciamento de projetos, com um foco especial nas metodologias tradicionais e ágeis, como o PMBOK, Scrum e Kanban. Além disso, a disciplina abrange técnicas de estimativa de tamanho e custo de software, análise de valor agregado e gestão de riscos, proporcionando uma base sólida para a condução eficiente de projetos em ambientes diversos.
Objetivos
Esta disciplina visa capacitar os alunos para dominar as técnicas e ferramentas necessárias para a gerência de projetos de software, desde a concepção até a conclusão. Os alunos aprenderão a selecionar e aplicar métodos de gerenciamento de projetos, tanto orientados a planejamento quanto ágeis, utilizando práticas como Análise de Pontos de Função, Earned Value, e frameworks como Scrum e Kanban. Ao longo do curso, os estudantes desenvolverão a habilidade de gerenciar projetos de software de forma eficaz, identificando riscos, estimando custos e recursos, e garantindo a entrega bem-sucedida dos projetos. Além disso, o curso proporcionará uma visão geral do PMBOK, capacitando os alunos a compreender e aplicar seus processos e práticas no gerenciamento de projetos de software.