Antonio Nascimento [email protected]
Roteiro
Introdução
Objetivos
Áreas de Conhecimento
Certificações
Conclusões
Referências
Introdução
O SWEBOK (Guide to the Software Engineering Body of Knowledge) é um documento criado com a finalidade de servir de referência em assuntos considerados como essenciais na área de Engenharia de Software e foi conduzido pelo IEEE (Institute of Electrical and Electronics Engineers).
Introdução
O porquê do guia?
Surgiu da necessidade da comissão de especialistas da área de Engenharia de Software, visando uma definição das fronteiras que a delimitam. [SWEBOK, 2004].
Subsídios para o reconhecimento da profissão de Engenheiro de Software.
Introdução
Onde surgiu o guia?
O projeto SWEBOK foi iniciado em 1998 pela SWECC (Software Engineering Coordinating Committee).
SWECC surgiu com a colaboração do IEEE Computer Society e a Association for
Computing Machinery (ACM) com o intuito de promover a profissionalização da engenharia de software.
Objetivos
Caracterizar o conteúdo da disciplina de engenharia de software;
• Estabelecer um conjunto apropriado de critérios e normas para a prática profissional da Engenharia de Software;
Marcar as fronteiras entre a Engenharia de
Software e as demais disciplinas relacionadas;
Prover uma fundação para certificação individual e para licenciamento de
profissionais.
SWEBOK 2010
Adicionado material sobre Interfaces Humano-Computador no design de software e Teste de Software;
Remoção da seção Ferramentas e métodos de Engenharia de Software (distribuídos para outras áreas de conhecimento);
Redistribuição de matérias entre as áreas de conhecimento.
Áreas de Conhecimento
Requisitos de Software
Elicitação, Análise, Especificação e Validação de Requisitos;
Sub-áreas:
Fundamentos dos Requisitos;
Processo de Requisitos;
Elicitação de Requisitos;
Análise de Requisitos;
Especificação de Requisitos;
Validação de Requisitos;
Considerações Práticas.
Requisitos de Software
Projeto de Software
O Projeto de software é a atividade do ciclo de vida da Engenharia de Software em que os requisitos são analisados a fim de produzir uma descrição da estrutura interna do software. [Swebok, 2004].
Projeto de Software
Sub-áreas:
Fundamentos do Projeto de Software;
Questões Chave no Design de Software;
Estrutura e Arquitetura de Software;
Evolução e Análise de Qualidade do Projeto de Software;
Notações do Projeto de Software;
Estratégias e Métodos para o Projeto de Software.
Construção de Software
Área envolvida com todas as áreas de conhecimento do guia, entretanto existe um relacionamento maior com o projeto de software e com teste de software. Fazem parte desta área as atividades de implementação do software, verificação, testes de unidade, teste de integração e depuração. [Swebok, 2004].
Construção de Software
Teste de Software
O teste é uma atividade realizada para avaliação da qualidade do produto, efetuando sua melhoria através da identificação de defeitos e problemas. [SWEBOK, 2004].
Teste de Software
Sub-áreas:
Fundamentos do teste de software;
Níveis de Teste de Software;
Técnicas de Teste de Software;
Medidas de Teste de Software;
Processo de Teste;
Considerações Práticas.
Manutenção de Software
Nesta área de conhecimento sua principal responsabilidade é totalizar as atividades requeridas para fornecer suporte custo- efetivo a um sistema de software, que pode ocorrer antes ou depois da entrega.
[SWEBOK, 2004].
Manutenção de Software
Sub-áreas:
Fundamentos da Manutenção de Software;
Questões Chave sobre Manutenção de Software;
Problemas técnicos até questões de gestão.
Processo de Manutenção de Software;
Técnicas de Manutenção de Software;
Manutenção de Software
Gerência de Conf. de Software
Tem o papel de identificar a configuração de um sistema em pontos distintos no tempo com a finalidade de controlar sistematicamente as mudanças para configurar e manter a integridade e rastreabilidade de todos os artefatos ao longo do ciclo de vida do sistema [Swebok, 2004].
Gerência de Conf. de Software
Sub-áreas:
Processo de Gerenciamento de Configurações;
Identificação da Configuração;
Controle da Configuração;
Gestão durante todo o ciclo de vida.
Registro do Estado da Configuração;
Auditoria da Configuração;
Entrega e Gerenciamento de Versões.
Gerência de Eng. de Software
É definida como a aplicação da gestão de atividades de planejamento, coordenação, medição, monitoramento, controle e comunicação de forma a garantir a manutenção sistemática e desenvolvimento dos projetos de software [SWEBOK, 2004].
Gerência de Eng. de Software
Sub-áreas:
Iniciação e Definição de Escopo;
Planejamento do Projeto;
Declaração do Plano de Projeto;
Revisão e avaliação;
Fechamento;
Evolução da Engenharia de Software.
Processo de Eng. de Software
Envolve vários outros processos, como o de desenvolvimento o de gerenciamento, e o de qualidade. Esta área está ligada com todas as partes do gerenciamento do processo de ciclo de vida do software.
Processo de Eng. de Software
Sub-áreas:
Mudança e Implementação do Processo;
Infra-Estrutura, modelos, práticas e etc.
Definição do Processo;
Avaliação do Processo;
Processo contínuo ou escalonado.
Medidas de Produtos e Processos (ISO/IEC 15939).
Qualidade de Software
A qualidade de software está diretamente ligada com a qualidade do processo através do qual o software é desenvolvido, portanto, para se ter qualidade em um produto de software é necessário ter um processo de desenvolvimento bem definido, que deve ser documentado e acompanhado [SWEBOK, 2004].
Qualidade de Software
Sub-áreas:
Fundamentos da Qualidade de Software;
Valor e custo, modelos, melhoria da qualidade e etc.
Processo de Gerenciamento da Qualidade de Software;
Considerações Práticas sobre a Qualidade de Software.
Recomendações, medição da qualidade e etc.
Disciplinas Relacionadas
Certificações
Certificação CSDA (Certificação de
Associação no Desenvolvimento de Software).
Certificação CSDP (Certificação de
Desenvolvimento Profissional de Software)
Conclusões
Com as constantes e evoluções na Engenharia de Software o guia não é definitivo e não deve ser a única fonte de referências;
O guia fornece um conhecimento básico da Engenharia de Software, contudo é fundamental que o Engenheiro domine outros padrões.
Perguntas
???
Referências
Capuano, Tiago. Guide of the Software Engineering Body of Knowledge (SWEBOK). Passo Fundo, RS, Brasil.
Embiruçu, David L.; Neto, José B.F.A; Barbosa,
Leandro M; Viana, Pablo A. B; Sette, Sergio S. The Guide to the Software Engineering Body of
Knoledge - SWEBOK. UFPE, Recife, PE, Brasil,2008
Lopes, Edvaldo. Swebok - Software Engineering
Body of Knowledge. UFPE, Recife, PE, Brasil, 2007.
SWEBOK. Guide to the Software Engineering Body of Knowledge. 2004 Version. A project of the IEEE Computer Society Professional Practices
Committee. Disponível em: http://www.swebok.org.