This repository has been archived by the owner on Nov 5, 2023. It is now read-only.
Áreas e Tópicos do SWEBOK
Matheus Ribeiro Pimenta Nunes edited this page Aug 28, 2017
·
11 revisions
Definição das áreas de conhecimento do SWEBOK e dos tópicos de cada uma delas a serem empregados na classificação do conteúdo do Projeto Pedagógico (PP).
- Fundamentos de Requisitos de Software
1.1. Definição de Requisitos de Software
1.2. Requisitos de produtos e processos
1.3. Requisitos funcionais e não funcionais
1.4. Propriedades emergentes
1.5. Requisitos quantificáveis
1.6. Requisitos de sistema e requisitos de software - Processo de Requisitos
2.1. Modelos de processo
2.2. Atores do processo
2.3. Suporte e gerenciamento de processos
2.4. Qualidade e melhoria do processo - Requisitos de Elicitação
3.1. Fontes de Requisitos
3.2. Técnicas de elicitação - Análise de Requisitos
4.1. Classificação de Requisitos
4.2. Modelagem conceitual
4.3. Design arquitetônico e atribuição de requisitos
4.4. Negociação de Requisitos
4.5. Análise formal - Especificação de requisitos
5.1. Documento de Definição do Sistema
5.2. Especificação de Requisitos do Sistema
5.3. Especificação de requisitos de software - Validação de Requisitos
6.1. Requisitos de Requisitos
6.2. Protótipos
6.3. Validação de modelos
6.4. Testes de aceitação - Considerações práticas
7.1. Natureza Iterativa do Processo de Requisitos
7.2. Gerenciamento de mudanças
7.3. Atributos de requisitos
7.4. Rastreamento de requisitos
7.5. Requisitos de medição - Ferramentas de Requisitos de Software
- Fundamentos de Design de Software
1.1. Conceitos gerais de design
1.2. Contexto de Software Design
1.3. Processo de Design de Software
1.4. Princípios de Design de Software - Problemas importantes no design de software
2.1. Concorrência
2.2. Controle e Manipulação de Eventos
2.3. Persistência de dados
2.4. Distribuição de componentes
2.5. Manipulação de erros e exceções e tolerância a falhas
2.6. Interação e apresentação
2.7. Segurança - Estrutura e arquitetura de software
3.1. Estruturas arquitetônicas e pontos de vista
3.2. Estilos arquitetônicos
3.3. Padrões de design
3.4. Decisões de design de arquitetura
3.5. Famílias de Programas e Estruturas - Projeto de interface do usuário
4.1. Princípios gerais de design da interface do usuário
4.2. Problemas de design da interface do usuário
4.3. O design das modalidades de interação do usuário
4.4. Apresentação do design da informação
4.5. Processo de design da interface do usuário
4.6. Localização e internacionalização
4.7. Metáforas e modelos conceituais - Análise e avaliação da qualidade do projeto de software
5.1. Atributos de qualidade
5.2. Técnicas de análise e avaliação de qualidade
5.3. Medidas - Noções de Design de Software
6.1. Descrições Estruturais (Vista estática)
6.2. Descrições comportamentais (visão dinâmica) - Estratégias e Métodos de Design de Software
7.1. Estratégias gerais
7.2. Design orientado a função (estruturado)
7.3. Design orientado a objetos
7.4. Design centrado na estrutura de dados
7.5. Design baseado em componentes (CBD)
7.6. Outros métodos - Ferramentas de design de software
- Fundamentos de Construção de Software
1.1. Minimizar a complexidade
1.2. Antecipando a mudança
1.3. Construindo para Verificação
1.4. Reuso
1.5. Padrões em construção - Gerenciando a Construção
2.1. Construção em modelos de ciclo de vida
2.2. Planejamento de Construção
2.3. Medição de construção - Considerações práticas
3.1. Projeto de construção
3.2. Idiomas de construção
3.3. Codificação
3.4. Teste de construção
3.5. Construção para reutilização
3.6. Construção com Reutilização
3.7. Qualidade da construção
3.8. Integração - Tecnologias de Construção
4.1. Design e uso da API
4.2. Problemas de tempo de execução orientados a objetos
4.3. Parametrização e genéricos
4.4. Asserções, Design por Contrato e Programação Defensiva
4.5. Manipulação de erros, Manipulação de Exceção e Tolerância a Falhas
4.6. Modelos executáveis
4.7. Técnicas de construção baseadas em estado e orientadas por mesa
4.8. Configuração de tempo de execução e internacionalização
4.9. Processamento de entrada baseado em gramática
4.10. Primitivas de Concorrência
4.11. Middleware
4.12. Métodos de construção para software distribuído
4.13. Construindo Sistemas Heterogêneos
4.14. Análise de desempenho e ajuste
4.15. Normas de plataforma
4.16. Test-First Programming - Ferramentas de construção de software
5.1. Ambientes de desenvolvimento
5.2. GUI Builders
5.3. Ferramentas de teste de unidade
5.4. Perfis, análise de desempenho e ferramentas de corte
- Fundamentos de testes de software
1.1. Terminologia relacionada ao teste
1.2. Assuntos chave
1.3. Relacionamento de testes com outras atividades - Níveis de teste
2.1. O alvo do teste
2.2. Objetivos do teste - Técnicas de teste
3.1. Com base na Intuição e Experiência do Software Engineer
3.2. Técnicas baseadas em domínio de entrada
3.3. Técnicas baseadas em código
3.4. Técnicas baseadas em falhas
3.5. Técnicas baseadas em uso
3.6. Técnicas de teste baseadas em modelos
3.7. Técnicas baseadas na natureza da aplicação
3.8. Seleção e combinação de técnicas - Medidas relacionadas ao teste
4.1. Avaliação do Programa em Teste
4.2. Avaliação dos testes realizados - Processo de teste
5.1. Considerações práticas
5.2. Atividades de teste - Ferramentas de teste de software
6.1. Suporte a ferramentas de teste
6.2. Categorias de ferramentas
- Fundamentos de Manutenção de Software
1.1. Definições e terminologia
1.2. Natureza da manutenção
1.3. Necessidade de Manutenção
1.4. Maioria dos custos de manutenção
1.5. Evolução do software
1.6. Categorias de manutenção - Problemas importantes na manutenção do software
2.1. Questões técnicas
2.2. Problemas de gerenciamento
2.3. Estimativa de custo de manutenção
2.4. Medição de manutenção do software - Processo de manutenção
3.1. Processos de manutenção
3.2. Atividades de manutenção - Técnicas de manutenção
4.1. Compreensão do Programa
4.2. Reengenharia
4.3. Engenharia Reversa
4.4. Migração
4.5. Aposentadoria
- Gerenciamento do Processo
1.1. Contexto organizacional para Gerenciamento da configuração
1.2. Restrições e orientação para o processo Gerenciamento da configuração
1.3. Planejando o Gerenciamento da configuração
1.4. Plano Gerenciamento da configuração
1.5. Vigilância do Gerenciamento de Configuração de Software - Identificação da Configuração do Software
2.1. Identificando itens a serem controlados
2.2. Biblioteca de Software - Controle de Configuração de Software
3.1. Solicitando, avaliando e aprovando alterações de software
3.2. Implementando Alterações de Software
3.3. Desvios e renúncias - Contabilidade do estado da configuração do software
4.1. Informações de Status da Configuração do Software
4.2. Relatório de Status da Configuração do Software - Auditoria de Configuração de Software
5.1. Auditoria de Configuração Funcional do Software
5.2. Auditoria de Configuração Física do Software
5.3. Auditorias em processo de uma linha de base do software - Gerenciamento e entrega de versão de software
6.1. Construção de Software
6.2. Gerenciamento de Release de Software - Ferramentas de Gerenciamento de Configuração de Software
- Iniciação e definição do escopo
1.1. Determinação e Negociação de Requisitos
1.2. Análise de Viabilidade
1.3. Processo para Revisão e Revisão de Requisitos - Planejamento de Projetos de Software
2.1. Planejamento de processo
2.2. Determinar entregáveis 2.3. Esforço, programação e estimativa de custo
2.4. Atribuição de recursos
2.5. Gerenciamento de Riscos
2.6. Gestão da Qualidade
2.7. Gerenciamento de planos - Projeto de Projeto de Projeto
3.1. Implementação de planos
3.2. Aquisição de software e gerenciamento de contratos de fornecedores
3.3. Implementação do Processo de Medição
3.4. Processo de Monitoramento
3.5. Processo de controle
3.6. Relatórios - Revisão e Avaliação
4.1. Determinando Satisfação de Requisitos
4.2. Revisando e Avaliando o Desempenho - Encerramento
5.1. Determinando encerramento
5.2. Atividades de encerramento - Medição de Engenharia de Software
6.1. Estabelecer e Sustentar o Compromisso de Medição
6.2. Planejar o processo de medição
6.3. Execute o processo de medição
6.4. Avalie a Medição - Ferramentas de gerenciamento de engenharia de software
- Definição do Processo de Software
1.1. Gerenciamento de Processos de Software
1.2. Infraestrutura de Processo de Software - Ciclos de vida do software
2.1. Categorias de Processos de Software
2.2. Modelos do ciclo de vida do software
2.3. Adaptação de Processo de Software
2.4. Considerações Práticas - Avaliação e melhoria do processo de software
3.1. Modelos de Avaliação de Processo de Software
3.2. Métodos de Avaliação de Processo de Software
3.3. Modelos de melhoria de processos de software
3.4. Avaliação contínua e programada do processo de software - Medição de software
4.1. Processo de software e medição do produto
4.2. Qualidade de Medição Resultados
4.3. Modelos de informações de software
4.4. Técnicas de Medição de Processo de Software - Ferramentas de Processo de Engenharia de Software
- Modelagem
1.1. Princípios de modelagem
1.2. Propriedades e Expressão dos Modelos
1.3. Sintaxe, semântica e pragmática
1.4. Condições prévias, pós-condições e invariantes - Tipos de modelos
2.1. Modelagem de informação
2.2. Modelagem comportamental
2.3. Modelagem de Estrutura - Análise dos modelos
3.1. Analisando a Conclusão
3.2. Analisando para Consistência
3.3. Analisando a correção
3.4. Traçabilidade
3.5. Análise de Interação - Métodos de Engenharia de Software
4.1. Métodos Heurísticos
4.2. Métodos formais
4.3. Métodos de Prototipagem
4.4. Métodos ágeis
- Fundamentos de qualidade do software
1.1. Engenharia de Software Cultura e Ética
1.2. Valor e Custos de Qualidade
1.3. Modelos e características de qualidade
1.4. Melhoria da qualidade do software
1.5. Software Safety - Processos de gerenciamento de qualidade de software
2.1. Garantia de qualidade do software
2.2. Verificação e Validação
2.3. Comentários e auditorias - Considerações Práticas
3.1. Requisitos de qualidade do software
3.2. Caracterização de defeito
3.3. Técnicas de gerenciamento de qualidade de software
3.4. Medição de qualidade do software - Ferramentas de qualidade de software
- Profissionalismo
1.1. Acreditação, Certificação e Licenciamento
1.2. Códigos de Ética e Conduta Profissional
1.3. Natureza e Papel das Sociedades Profissionais
1.4. Natureza e papel dos padrões de engenharia de software
1.5. Impacto econômico do software
1.6. Contratos de Emprego
1.7. Questões legais
1.8. Documentação
1.9. Análise de tradeoff - Dinâmica de grupos e psicologia
2.1. Dinâmica do Trabalho em Equipes / Grupos
2.2. Cognição individual
2.3. Lidar com a complexidade do problema
2.4. Interagindo com as partes interessadas
2.5. Lidando com incerteza e ambiguidade
2.6. Lidar com ambientes multiculturais - Habilidades de comunicação
3.1. Leitura, compreensão e resumo
3.2. Escrevendo
3.3. Comunicação de equipe e grupo
3.4. Habilidades de Apresentação
- Fundamentos de economia de engenharia de software
1.1. Finanças
1.2. Contabilidade
1.3. Controlando
1.4. Fluxo de caixa
1.5. Processo de tomada de decisão
1.6. Avaliação
1.7. Inflação
1.8. Depreciação
1.9. Tributação
1.10. Tempo-Valor do dinheiro
1.11. Eficiência
1.12. Eficácia
1.13. Produtividade - Ciclo de vida Economia
2.1. Produto
2.2. Projeto
2.3. Programa
2.4. Carteira
2.5. Ciclo de vida do produto
2.6. Ciclo de vida do projeto
2.7. Propostas
2.8. Decisões de investimento
2.9. Horizonte de planejamento
2.10. Preço e preços
2.11. Custo e Custeio
2.12. Medição de desempenho
2.13. Gerenciamento de Valor Ganhos
2.14. Decisões de cessão
2.15. Decisões de substituição e aposentadoria - Risco e Incerteza
3.1. Metas, estimativas e planos
3.2. Técnicas de estimativa
3.3. Abordando a Incerteza
3.4. Priorização
3.5. Decisões sob risco
3.6. Decisões sob Incerteza - Métodos de análise econômica
4.1. Análise de decisão com fins lucrativos
4.2. Taxa mínima aceitável de retorno
4.3. Retorno do investimento
4.4. Retorno do capital empregado
4.5. Análise custo-benefício
4.6. Análise de custo-efetividade
4.7. Análise de ruptura
4.8. Caso comercial
4.9. Avaliação de Atributos Múltiplos
4.10. Análise de Otimização - Considerações práticas
5.1. O princípio "bom o suficiente"
5.2. Economia livre de fricção
5.3. Ecossistemas
5.4. Subcontratação e Deslocação
- Técnicas de resolução de problemas
1.1. Definição de Resolução de Problemas
1.2. Formulando o problema real
1.3. Analisar o problema
1.4. Projetar uma Estratégia de Pesquisa de Soluções
1.5. Resolução de problemas usando programas - Abstração
2.1. Níveis de Abstração
2.2. Encapsulamento
2.3. Hierarquia
2.4. Abstração alternativa - Fundamentos de programação
3.1. O processo de programação
3.2. Paradigmas de programação - Fundamentos da linguagem de programação
4.1. Visão geral da linguagem de programação
4.2. Sintaxe e semântica de linguagens de programação
4.3. Linguagens de programação de baixo nível
4.4. Linguagens de programação de alto nível
4.5. Linguagens de programação declarativas versus imperativas - Ferramentas e técnicas de depuração
5.1. Tipos de erros
5.2. Técnicas de depuração
5.3. Ferramentas de depuração - Estrutura e representação de dados
6.1. Visão geral da estrutura de dados
6.2. Tipos de estrutura de dados
6.3. Operações em estruturas de dados - Algoritmos e Complexidade
7.1. Visão geral dos algoritmos
7.2. Atributos de Algoritmos
7.3. Análise Algorítmica
7.4. Estratégias de projeto algorítmico
7.5. Estratégias de análise algorítmica - Conceito Básico de um Sistema
8.1. Propriedades do sistema Emergente
8.2. Engenharia de Sistemas
8.3. Visão geral de um sistema informático - Organização de Computadores
9.1. Visão Geral da Organização de Computadores
9.2. Sistemas digitais
9.3. Lógica Digital
9.4. Expressão de Computador de Dados
9.5. A Unidade Central de Processamento (CPU)
9.6. Organização do Sistema de Memória
9.7. Entrada e Saída (E / S) - Princípios básicos do compilador
10.1. Visão geral do compilador
10.2. Interpretação e compilação
10.3. Processo de Compilação - Princípios básicos dos sistemas operacionais
11.1. Visão geral dos sistemas operacionais
11.2. Tarefas de um sistema operacional
11.3. Abstrações do Sistema Operacional
11.4. Classificação dos Sistemas Operacionais - Base de dados básicos e gerenciamento de dados
12.1. Entidade e Esquema
12.2. Sistemas de gerenciamento de banco de dados (SGBD)
12.3. Idioma da consulta do banco de dados
12.4. Tarefas de pacotes de DBMS
12.5. Gerenciamento de dados
12.6. Data Mining - Fundamentos de Comunicação de Rede
13.1. Tipos de Rede
13.2. Componentes básicos da rede
13.3. Protocolos e padrões de rede
13.4. A Internet
13.5. Internet das coisas
13.6. Rede Privada Virtual (VPN) - Computação Paralela e Distribuída
14.1. Visão geral da computação paralela e distribuída
14.2. Diferença entre computação paralela e distribuída
14.3. Modelos de computação paralela e distribuída
14.4. Questões principais na computação distribuída - Fatores humanos do usuário básico
15.1. Entrada e saída
15.2. Mensagens de erro
15.3. Software robusto - Desenvolvedores Básicos Fatores Humanos
16.1. Estrutura
16.2. Comentários - Desenvolvimento e manutenção de software seguro
17.1. Requisitos de software Segurança
17.2. Segurança do projeto de software
17.3. Segurança de Construção de Software
17.4. Segurança de teste de Software
17.5. Construa Segurança no Processo de Engenharia de Software
17.6. Diretrizes de segurança do software
- Definição, Relações, Funções
1.1. Definir Operações
1.2. Propriedades do Conjunto 1.3. Relação e Função - Lógica básica
2.1. Lógica proposicional
2.2. Lógica predicativa - Técnicas de Prova
3.1. Métodos de provar teoremas - Fundamentos da contagem
- Gráficos e Árvores
5.1. Gráficos
5.2. Árvores - Probabilidade discreta
- Máquinas de estado finito
- Gramática
8.1. Reconhecimento de Idioma - Precisão numérica, precisão e erros
- Teoria dos números
10.1. Divisibilidade
10.2. Número primo, GCD - Estruturas algébricas
11.1. Grupo
11.2. argolas
- Métodos empíricos e técnicas experimentais
1.1. Experiência projetada
1.2. Estudo de observação
1.3. Estudo Retrospectivo - Análise estatística
2.1. Unidade de Análise (Unidades de Amostragem), População e Amostra
2.2. Conceitos de correlação e regressão - Medição
3.1. Níveis (Escalas) de Medição
3.2. Medidas diretas e derivadas
3.3. Confiabilidade e validade
3.4. Avaliando Confiabilidade - Design de Engenharia
4.1. Design de Engenharia em Educação de Engenharia
4.2. Design como uma atividade de solução de problemas
4.3. Etapas envolvidas em design de engenharia - Modelagem, simulação e prototipagem
5.1. Modelagem
5.2. Simulação
5.3. Prototipagem - Padrões
- Análise da Causa Raiz
7.1. Técnicas para realizar análise de causa raiz
Corpo de Conhecimento
Requisitos do Sistema
Solução do Problema
Gerenciamento
1ª Iteração