Ementas Comuns a todos os Perfis de Profissionais de Software
Princípios Gerenciais de Engenharia de Software
Visão Geral da Engenharia de Software; Características únicas de software; Características comuns com outras engenharias; Mitos e Fatos sobre Engenharia de Software; Dificuldades Essenciais e Acidentais na Produção de Software; Relacionamentos entre Pessoas, Processos, Produtos e Projetos; Expectativas dos Stakeholders em Projetos de Software; Ciclo de Vida de Software; Terminologia de Software da Norma ISO 12207: Processos Fundamentais, de Apoio e Organizacionais.
Princípios Técnicos de Engenharia de Software
O Corpo de Conhecimento da Engenharia de Software; Engenharia de Sistemas (ou Análise de Sistemas); Engenharia de Requisitos de Software; Arquitetura e Design de Software; Construção de Software; Teste de Software; Manutenção de Software.
Ementas – Perfil Coordenador de Projeto de Software
Planejamento de Projeto de Software
Cronograma e Orçamento; Processo de planejamento de projeto de software; Construção do Plano de Projeto; Negociação de recursos para o projeto; Estimativa de deadline; Envolvimento e comprometimento dos stakeholders.
Acompanhamento de Projeto de Software
Monitoramento de desvios de execução; Planejamento e acompanhamento de ações corretivas no projeto; Marcos de projeto.
Gerência de Configuração de Software
Definição de Configuração de Software; Item de Configuração; Baseline; Controle de Versões e Variantes; Definição de dependências entre itens de configuração; Construção, empacotamento e liberação de software.
Métricas e Medição de Software
Definição de Métrica de Software; Métricas de Projeto; Métricas de Produto; Métricas de Processo; Processo de Medição e Análise; Base Histórica de Medições; Aplicações e Divulgação dos resultados das medições.
Gerência de Requisitos de Software
Entendimento de requisitos; Aprovação de requisitos; Rastreabilidade de requisitos; Consistência de requisitos; Gerenciamento de mudanças em requisitos.
Garantia da Qualidade de Software
Definição de Qualidade de Software; Abordagens para Garantia da Qualidade de Software; Verificação; Validação; Teste; Inspeção; Revisão Conjunta; Auditoria; Identificação e Resolução de Problemas.
Requisitos de Qualidade de Software
Qualidade de Produto de Software; Normas e modelos de qualidade de produto; Perspectivas e Aspectos de Qualidade de Produto; Avaliação da qualidade de produto; Qualidade de Processo de Software; Normas e modelos de qualidade de processo; Abordagens para melhoria de processo de software; Riscos e armadilhas na implantação de melhoria de processo.
Gerência de Riscos em Projeto de Software
Definição de Risco; Tipos de Risco; Priorização de Riscos; Análise de Impacto de Risco; Avaliação de Probabilidade de Risco; Plano de Mitigação e Contingência de Riscos.
Estimativas em Projeto de Software
Bases de estimativa em projeto de software; Abordagens para estimativa baseada em decomposição; Estimativa de complexidade e tamanho; Estrutura Analítica do Produto (WBS); Estimativa de esforço e de necessidade de pessoas.
Introdução ao Modelo de Qualidade MPS.BR
Histórico e características do MPS.BR; Estrutura do modelo de qualidade de processo; Aspectos de maturidade e institucionalização do processo; Principais áreas de processo e resultados esperados; Visão geral dos níveis de maturidade do modelo.
Introdução ao Modelo de Qualidade CMMI
Histórico e características do CMMI; Estrutura do modelo de qualidade de processo; Aspectos de maturidade e institucionalização do processo; Principais áreas de processo e resultados esperados; Visão geral dos níveis de maturidade do modelo.
Preparação para o Nível G do MPS.BR
Análise das áreas de processo do nível G; Discussão e interpretação dos resultados esperados em cada área de processo do nível G; Abordagens para implementação das áreas de processo do nível G.
Preparação para o Nível F do MPS.BR
Análise das áreas de processo do nível F; Discussão e interpretação dos resultados esperados em cada área de processo do nível F; Abordagens para implementação das áreas de processo do nível F; Integração com as áreas de processo do nível G.
Preparação para o Nível 2 do CMMI
Análise das áreas de processo do nível 2; Discussão e interpretação dos resultados esperados em cada área de processo do nível 2; Abordagens para implementação das áreas de processo do nível 2.
Métodos Ágeis de Engenharia de Software
Introdução a Métodos Ágeis para Desenvolvimento de Software; Exemplos de Métodos Ágeis; Comparação entre abordagens tradicionais e ágeis; Princípios comuns aos métodos ágeis; Riscos da agilidade; Ambiente indicado para adoção de métodos ágeis; Equilíbrio entre agilidade e rigor.
Ementas – Perfil Engenheiro de Software
Paradigma de Orientação a Objetos com UML
Definição de Objeto; Características e anatomia de um objeto; Encapsulação de objeto; Níveis de encapsulação; Interface e Implementação de objeto; mecanismos de comunicação entre objetos; Abstrações do Paradigma de Orientação a Objetos; Definição da UML; Aplicações da UML; Limitações da UML; Correlação ente UML e o Paradigma de Orientação a Objetos; Visão geral dos diagramas da UML; Modelagem de aspectos estáticos e dinâmicos de software com UML.
Projeto de Interface de Usuário
Características de qualidade de interface de usuário; Mecanismos de interação; Definição de aparência e comportamento; Ergonomia; Usabilidade; Modelos e diretivas para projeto de interface; Separação entre interface e aplicação.
Modelagem Conceitual de Dados
Objetivos da Modelagem Conceitual; Conceito de Modelo de Dados; Projeto de Banco de Dados; Modelagem de Banco de Dados com o Modelo Entidade-Relacionamento; Elaboração de Dicionário de Dados.
Análise Orientada a Objetos
Modelagem de uma realidade através de objetos; Modelagem de informações; Modelagem de funções; Modelagem de restrições; Identificação dos serviços oferecidos pelo software.
Programação Orientada a Objetos com Java
Histórico e características da linguagem Java; Definição de classes e objetos; Tipos de dados primitivos; Mapeamento do Design Orientado a Objetos para código Java; Tratamento de exceções; Visão geral da biblioteca Java.
Projeto de Bancos de Dados Relacionais
Características de qualidade de um esquema de banco de dados relacional; Dependências funcionais; Restrições de integridade; Integridade Referencial; Normalização de esquema relacional; Mapeamento entre modelo E-R e Relacional.
Design Orientado a Objetos
Separação de camadas de interface, aplicação, serviços e persistência; Arquitetura estática de classes; Arquitetura dinâmica de colaboração; Definição do comportamento dos métodos.
Introdução ao Padrão SQL-2
Histórico e características de SQL; Visão geral das linguagens que formam o padrão SQL; Mapeamento de esquema E-R e Relacional para SQL-DDL; Atualização e consulta básica de dados usando SQL-DML.
SQL-2 DDL e DML
Definição de restrições de integridade genéricas; Consulta e atualização avançada de dados; Tratamento de transações; Controle de Concorrência; SQL embutido e dinâmico; Segurança e controle de acesso.
Persistência de Dados com JDBC
Definição de JDBC; Tipos de mecanismos JDBC; Portabilidade e dependência de características específicas de cada SGBD; Visão geral da API JDBC; Conexão e sessão junto ao SGBD; Transações; Chamada de Procedimento Armazenado; SQL dinâmico.
Introdução a Teste de Software
Definição e objetivo de teste de software; Projeto de Casos de Teste; Planejamento de Testes; Teste caixa branca e caixa preta; Teste de unidade; Teste de integração; Teste de regressão.
Padrões de Projeto Orientado a Objetos
Definição de Padrão de Projeto; Visão geral dos principais padrões de projeto; Padrões de criação; Padrões estruturais; Padrões de comportamento; Padrões de arquitetura.
Construção de Interface com Swing
Visão geral das bibliotecas de interface Java; Principais componentes da biblioteca Swing; Programação orientada a eventos; Monitoramento e Tratamento de eventos de interface; Definição e controle de leiaute; Criação de interfaces para múltiplos idiomas.