Software Engineering Body of Knowledge

O Guide to the Software Engineering Body of Knowledge, conhecido pela sigla SWEBOK, é um documento criado sob o patrocínio da IEEE Computer Society e publicado pela mesma com a finalidade de servir de referência em assuntos considerados, de forma generalizada pela comunidade, como pertinentes a área de Engenharia de Software. Por isso em seu conteúdo mais recente, o SWEBOK V3 publicado em 2014, foi sumarizado em 15 KAs (knowledge areas, em português, áreas de conhecimento) referentes a Engenharia de Software. Em sua 1ª versão publicada em 2004 haviam 10 KAs específicos a área citada anteriormente.[1]

O SWEBOK surgiu através de uma parceria entre o IEEE, a Computer Society e ACM a fim de promover a profissionalização da Engenharia de Software e criar um consenso sobre as áreas de conhecimento da Engenharia de Software e seu escopo. Sendo iniciado em 1998 pelo Software Engineering Coordinating Committee (SWECC) e financiado por organizações como a ACM, a Boeing, o Conselho Canadense de Engenheiros Profissionais, Construx Software, MITRE Corporation, entre outras. O SWEBOK é recomendado para diversos tipos de público, em todo o mundo, com o objetivo de ajudar organizações a terem uma visão consistente da Engenharia de Software. É endereçado a gerentes, engenheiros de software, às sociedades profissionais, estudantes, professores e instrutores desta área de conhecimento.[2]

O SWEBOK apresenta uma classificação hierárquica dos tópicos tratados pela Engenharia de Software, onde o nível mais alto são as Áreas do Conhecimento.

A criação desse documento também tem como objetivos a promoção da profissionalização da Engenharia de Software, a criação de um consenso das principais áreas de conhecimento da mesma e a localização e definição dos limites entre a área/disciplina de Engenharia de Software e outras áreas/disciplinas, como por exemplo a Engenharia da Computação.[3]

Evolução Histórica editar

Desde os primeiros computadores comerciais, os softwares implantados ou lançados no mercado se caracterizam, na sua maioria, pela presença de erros encontrados nas fases de verificação e validação, como por exemplo: erros em estimativas, dificuldade no domínio da área de conhecimento específica do software proposto, especificações obscuras, requisitos mal elaborados e mal interpretados, conflitos nos objetivos e mudanças intermináveis e mal controladas. Tais erros aumentaram a importância e responsabilidade dos especialistas ligados a uma das áreas da computação, conhecida como Engenharia de Software. Com isso, o Institute of Electrical and Electronics Engineers (IEEE) e a Association for Computing Machinery (ACM) conduziram estudos de modo a promover ativamente a Engenharia de Software como uma profissão desde 1993, definindo as fronteiras que delimitam a Engenharia de Software, através do Corpo de Conhecimento em Engenharia de Software.

O SWEBOK surgiu através de uma parceria entre o IEEE, a Computer Society e ACM a fim de promover a profissionalização da Engenharia de Software e criar um consenso sobre as áreas de conhecimento da Engenharia de Software e seu escopo. Sendo iniciado em 1998 pelo Software Engineering Coordinating Committee (SWECC) e financiado por organizações como a ACM, a Boeing, o Conselho Canadense de Engenheiros Profissionais, Construx Software, MITRE Corporation, entre outras. O SWEBOK é recomendado para diversos tipos de público, em todo o mundo, com o objetivo de ajudar organizações a terem uma visão consistente da Engenharia de Software.[2]

Versões editar

O Guia SWEBOK possui 2 versões, a primeira publicada em 2004 foi reconhecida internacionalmente no ano seguinte pela ISO através do comitê ISO/IEC JTC 1/SC 7, cujo

escopo é Software e Engenharia de Sistemas, o mesmo pode ser descrito como um comitê horizontal que produz padrões genéricos que são agnósticos de tecnologia e independentes do domínio da aplicação. Esses padrões são focados principalmente em modelos de processos e boas práticas (Métodos e técnicas). Sua ISO é identificada como ISO/IEC TR 19759:2005.[2]

O Guia SWEBOK V3 publicado em 2013 foi criada pois desde a publicação do 1º SWEBOK, o comitê responsável pelo conteúdo entendia a necessidade de revisão do mesmo devido ao crescimento da área, o surgimento de novos pontos de vista devido a outras áreas relacionadas que surgiram ou se expandiram e a mudança de conhecimento, métodos e ferramentas.[2]

Contando com uma equipe de editores para revisar e melhorar as KAs e outra equipe para revisões e melhorias gerais, houve mais de 1500 mudanças submetidas e julgadas a serem parte da nova versão do SWEBOK ou não.[2]

Versão SWEBOK V3 2013 e suas KAs editar

O Guia SWEBOK V3 possuí as mesmas KAs, revisadas e melhoradas, com o complemento de mais 5 KAs. Suas disciplinas relacionas também são as mesmas, porém revisadas e melhoradas, porém não há mais “Ergonomia de Software”. Seguem:

  1. Requisitos de Software: Se refere a análise, especificação e validação dos requisitos de software.
  2. Desenho de Software: Se refere a análise dos requisitos de software com a finalidade de produzir uma descrição da estrutura interna do software que sirva como base para a construção do mesmo.
  3. Construção de Software: Se refere a criação detalhada do software mediante a combinação de codificação, verificação, testes unitários, testes de integração e depuração.
  4. Testes de Software: Se refere a avaliação da qualidade de um produto mediante seus defeitos e/ou problemas para melhorá-lo.
  5. Manutenção de Software: Se refere ao software após criado e “entregue”, pois devem haver melhorias e atualizações para que a qualidade se mantenha.
  6. Gestão de Configuração de Software: Se refere ao controle e entendimento de diferentes partes do software, para que mudanças realizadas sejam feitas da melhor e mais correta maneira para que a qualidade e funcionalidade do software não sejam comprometidas.
  7. Gestão de Engenharia de Software: Se refere a aplicação consistente de atividades de gestão para assegurar que o desenvolvimento e manutenção de um software estão sendo realizados de forma sistemática, disciplinada e quantificável.
  8. Processos de Engenharia de Software: Se refere a definição, implementação, validação, medição,gestão, mudanças e melhorias existentes dentro do próprio ciclo de vida do software.
  9. Ferramentas e Métodos: Se refere ao uso de ferramentas e métodos que ajudam no processo de criação e manutenção de um software.
  10. Qualidade de Software: Se refere as técnicas que auxiliam a alcançar uma maior qualidade em um software.
  11. Prática Profissional de Engenharia de Software.
  12. Economia na Engenharia de Software.
  13. Fundamentos de Computação.
  14. Fundamentos de Matemática.
  15. Fundamentos de Engenharia.

Certificações editar

O guia, como é convencionalmente chamado, divide a Engenharia de Software em dez áreas de Conhecimento - KnowLedge Areas (KAs): (1) requisitos, (2) Projeto, (3) Construção, (4) testes, (5) manutenção, (6) configuração, (7) gerenciamento, (8) processo, (9) ferramentas e métodos, (10) Qualidade, além de disciplinas relacionadas à Engenharia de Software. É importante comentar que o IEEE oferece duas modalidades de certificação sobre o SWEBOK, disponibilizadas para engenheiros e desenvolvedores. São elas:

  • Certificação de associados para o desenvolvimento de Software - Certified Software Development Associate (CSDA);
  • Certificação Profissional para desenvolvimento de Software - Certified Software Development Professional (CSDP).

Depois de pesquisa extensa, os líderes do IEEE reconheceram a necessidade de um endereçamento do programa de certificação aos iniciantes e profissionais no desenvolvimento de software. O propósito do programa de CSDA é estabelecer um nível mínimo de habilidades e conhecimento, sendo o primeiro passo para se tornar um Profissional de Desenvolvimento de Software Certificado (CSDP).  A certificação CSDP é recomendada para profissionais mais experientes e tem como objetivo ampliar as habilidades e conhecimentos técnicos especializados relevantes sobre o SWEBOK.

Objetivos editar

  • Promover uma visão consistente da engenharia de software no mundo.
  • Clarear e marcar as fronteiras entre a engenharia de software e as outras disciplinas relacionadas
  • Caracterizar o conteúdo da disciplina de engenharia de software
  • Classificar em tópicos a área de conhecimento da engenharia de software (programas)
  • Prover uma fundação para o desenvolvimento do currículo, para certificação individual e para licenciamento de material

Áreas do Conhecimento editar

O SWEBOK 3.0 é composto por 15 áreas do conhecimento.

  1. Requisitos de Software
  2. Projeto de Software
  3. Construção de Software
  4. Teste de Software
  5. Manutenção de software
  6. Gerência de Configuração de Software
  7. Gerência da Engenharia de Software
  8. Processos de Engenharia de Software
  9. Ferramentas e Métodos da Engenharia de Software
  10. Qualidade de Software
  11. Práticas Profissionais em Engenharia de Software
  12. Economia da Engenharia de Software
  13. Fundamentos de Computação
  14. Fundamentos de Matemática
  15. Fundamentos de Engenharia

Disciplinas relacionadas editar

Ver também editar

Referências

  1. «Software Engineering Body of Knowledge (SWEBOK) | IEEE Computer Society» (em inglês). Consultado em 25 de junho de 2019 
  2. a b c d e http://www.cin.ufpe.br/~processos/TAES3/Livro/00-LIVRO/11-SWEBOK-v8_CORRIGIDO_Versao_Final_OK.pdf
  3. Dinsmore, Paul C. (2009). AMA - Manual de Gerenciamento de Projetos. Brasil: Braspot 

Ligações externas editar

  • SWEBOK - Neste sítio é possível baixar o guia pela Web.
  • SWEBOK Traduzido - Trabalho acadêmico do Marco Rogerio Santiago, uma tradução do SWEBOK 2004