1. Metodologias
1.1. Metodologia Estruturada
1.1.1. Métodos
1.1.1.1. Análise Estruturada
1.1.1.2. Projeto Estruturado
1.1.1.3. Programação Estruturada
1.1.1.4. Análise Essencial
1.1.1.5. SADT
1.1.1.6. DFD - ( Diagrama de Fluxo de Dados )
1.1.1.7. MER - ( Modelo de Entidades e Relacionamentos )
1.2. Metodologia Orientada a Objetos
1.2.1. Métodos
1.2.1.1. Orientação a Objetos
1.2.1.2. Rational Unified Process ( RUP )
1.3. Desenvolvimento ágil de software
1.3.1. Métodos
1.3.1.1. Feature Driven Development ( FDD )
1.3.1.2. Enterprise Unified Process ( EUP )
1.3.1.3. Scrum ( Scrum )
1.3.1.4. Crystal ( Crystal Clear, Crystal Orange, Crystal Orange Web )
1.3.1.5. Programação extrema ( XP )
1.4. Outras Metodologias
1.4.1. Métodos
1.4.1.1. Microsoft Solution Framework ( MSF )
2. Processos
2.1. UP (Unified Process)
2.1.1. [Jacobson, Booch, Rumbaugh]
2.2. RUP ( Rational Unified Process )
2.2.1. [Rational/IBM]
2.3. XP (extreme Programming)
2.4. PRAXIS ( Processo para Aplicativos extensíveis Interativos )
2.4.1. [Wilson de Pádua Paula Filho]
3. Ferramentas aplicados
3.1. Ferramentas CASE (Computer-Aided Software Engineering)
3.1.1. Front End ou Upper CASE
3.1.2. Back End ou Lower CASE
3.1.3. I-CASE ou Integrated CASE
3.2. Ambientes de Desenvolvimento Integrado (IDEs)
3.2.1. Editor
3.2.2. Debug
3.2.3. Geração de código
3.2.4. Modelagem
3.2.5. Deploy
3.2.6. Testes não automatizados
3.2.7. Testes automatizados
3.2.8. Refatoração
3.2.9. Gestão de Riscos nos projectos de Software
3.2.10. Uso da Prototipagem na Eng. de Requisitos
4. Classificação que abrange todas as ferramentas baseadas em computadores que auxiliam atividades de engenharia de software
5. Consiste na definição, implementação, avaliação, medição, gerenciamento, mudanças e evolução do próprio processo de software.
6. SWEBOK
6.1. As 10 Grandes Áreas de Conhecimento
6.1.1. Requisitos de Software
6.1.1.1. Fundamentos dos Requisitos de Software
6.1.1.2. Processo de Requisitos
6.1.1.3. Elicitação de Requisitos
6.1.1.4. Análise de Requisitos
6.1.1.5. Especificação de Requisitos
6.1.1.6. Validação de Requisitos
6.1.1.7. Considerações Práticas
6.1.2. Projeto de Software
6.1.2.1. Fundamentos do Projeto de Software
6.1.2.2. Questões Chave no Design de Software
6.1.2.3. Estrutura e Arquitetura de Software
6.1.2.4. Evolução e Análise de Qualidade do Projeto de Software
6.1.2.5. Notações do Projeto de Software
6.1.2.6. Estratégias e Métodos para o Projeto de Software
6.1.3. Construção/Implementação de Software
6.1.3.1. Fundamentos da Construção de Software
6.1.3.2. Gerenciamento da Construção de Software
6.1.3.3. Considerações Práticas da Construção de Software
6.1.4. Teste de Software
6.1.4.1. Fundamentos do teste de software
6.1.4.2. Níveis de Teste de Software
6.1.4.3. Técnicas de teste de software
6.1.4.4. Medidas de teste de software
6.1.4.5. Processo de teste
6.1.4.6. Considerações práticas
6.1.5. Manutenção de Software
6.1.5.1. Fundamentos da Manutenção de Software
6.1.5.2. Questões Chave sobre Manutenção de Software
6.1.5.3. Processo de Manutenção de Software
6.1.5.4. Técnicas de Manutenção de Software
6.1.6. Gerenciamento de Configuração de Software
6.1.6.1. Processo de Gerenciamento de Configurações
6.1.6.2. Identificação da Configuração
6.1.6.3. Controle da Configuração
6.1.6.4. Registro do Estado da Configuração
6.1.6.5. Auditoria da Configuração
6.1.6.6. Entrega e Gerenciamento de Versões
6.1.7. Gerenciamento de Engenharia de Software
6.1.7.1. Iniciação e Definição de Escopo
6.1.7.2. Planejamento do Projeto
6.1.7.3. Declaração do Plano de Projeto
6.1.7.4. Revisão e avaliação
6.1.7.5. Fechamento
6.1.7.6. Evolução da Engenharia de Software
6.1.8. Processo de Engenharia de Software
6.1.8.1. Mudança e Implementação do Processo
6.1.8.2. Definição do Processo
6.1.8.3. Avaliação do Processo
6.1.8.4. Medidas de Produtos e Processos
6.1.9. Ferramentas e Métodos de Engenharia de Software
6.1.9.1. Ferramentas de Engenharia de Software
6.1.9.2. Métodos de Engenharia de Software
6.1.10. Qualidade de Software
6.1.10.1. Fundamentos da Qualidade de Software
6.1.10.2. Processo de Gerenciamento da Qualidade de Software
6.1.10.3. Considerações Práticas sobre a Qualidade de Software
7. Tecnologias
7.1. Linguagens de Programação
7.2. Banco de Dados
7.3. Ferramentas
7.4. Plataformas
7.5. Bibliotecas
7.6. Padrões de Projeto de Software
7.7. Processo de Software
7.8. Qualidade de Software
8. Técnicas
8.1. Técnicas de Gerenciamento
8.1.1. Projeto
8.1.2. Gestão de Projeto
8.1.3. Processos de Iniciação
8.1.4. Processos de Planejamento
8.1.5. Processos de Execução
8.1.6. Processos de Controle
8.1.7. Gerência da Integração