Swebok
Swebok
Swebok
DE SOFTWARE
Adriana de SouzaVettorazzo
Software Engineering Body
of Knowledge (SWEBOK)
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
Introdução
Com o aumento da demanda pelo desenvolvimento de software, em
decorrência do crescente número de aplicativos disponíveis em disposi-
tivos móveis, surgiu também a necessidade de padronização e métodos
para melhorar a qualidade desses software. Nesse sentido, foi elaborado
o Software Engineering Body of Knowledge (SWEBOK), um guia de uso e
aplicação das melhores práticas de engenharia de software.
O SWEBOK foi desenvolvido a partir de boas práticas coletadas ao
longo de décadas em vários países. Seu principal objetivo é divulgar um
conjunto de práticas, ferramentas e técnicas para o desenvolvimento de
atividades de engenharia de software.
Assim, neste capítulo, você vai estudar o SWEBOK, compreendendo
quais são seus objetivos e suas áreas de conhecimento. Por fim, você vai
verificar quais são as modalidades de certificação profissional relacionadas
a esse guia.
1 Projeto SWEBOK
Segundo Pressman e Maxim (2016), a engenharia de software é uma dis-
ciplina que reúne um conjunto de métodos, processos e ferramentas para o
desenvolvimento de software, com processos que podem ser utilizados em
todo o ciclo de vida de um projeto de software. Nesse contexto, o Instituto de
1. Requisitos de software
2. Design 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 de engenharia de software
8. Processo de engenharia de software
9. Modelos e métodos de engenharia de software
10. Qualidade de software
11. Prática em engenharia de software profissional
1 Requisitos de software
Os requisitos correspondem às necessidades e restrições do produto de soft-
ware e ajudam nas soluções e nos problemas do mundo real. Nessa área, temos
a elicitação, a análise, as especificações e a validação dos requisitos funcionais
e não funcionais. Nos projetos de software, na maioria das vezes, as principais
falhas ocorrem devido às dificuldades em se entender as necessidades do
usuário. Por isso, fazer um bom levantamento de requisitos é extremamente
importante. O SWEBOK apresenta alguns pontos relacionados à área de
requisitos de software, descritos a seguir.
2 Design de software
A área do design, ou projeto, de software está relacionada ao ciclo de vida
do projeto, em que são feitas a análise dos requisitos e a descrição da estru-
tura interna do software. Aqui, definem-se a arquitetura, os componentes,
as relações e outras características do sistema. Essa área é apresentada com
a estrutura descrita a seguir.
3 Construção de software
Essa área integra as demais áreas de conhecimento do guia SWEBOK, mas se
destaca um relacionamento maior com o projeto e os testes de software. Estão
inseridas aqui as atividades de implementação, verificação, testes de unidade e
teste de integração e depuração. Essa seção trata dos pontos descritos a seguir.
4 Teste de software
Segundo o SWEBOK (BOURQUE; FAIRLEY, 2014), o teste de software é
uma atividade realizada para a avaliação da qualidade do produto, efetuando
sua melhoria por meio da identificação de defeitos e problemas. Aqui, é feita
a verificação do comportamento do software a partir de casos de testes, para
verificar se o comportamento está dentro do esperado. A área de testes de
software inclui as subáreas descritas a seguir.
5 Manutenção de software
Essa área tem como foco principal dar suporte ao produto no ciclo de vida
operacional. Esse suporte efetivo pode ser fornecido antes ou depois da
entrega ao cliente: antes, desenvolvendo atividades de planejamento; depois,
nas codificações para corrigir as falhas e melhorar o desempenho. De forma
10 Qualidade de software
Para falar de qualidade, é necessário observar vários aspectos relacionados
ao produto, como desenvolvimento, manutenção e uso. Melhorar a qualidade
é um dos principais objetivos da engenharia de software, e isso é possível a
partir da utilização de métodos e tecnologias.
Empresas que trabalham a melhoria da qualidade geralmente utilizam
modelos como Capability Maturity Model Integration ou normas técnicas como
a ISO/IEC 9126. Essas empresas podem pleitear a certificação como forma de
garantir aos seus clientes que elas desenvolvem e entregam produtos com maior
qualidade. A qualidade de software se divide nas subáreas descritas a seguir.
13 Fundamentos de computação
Na área de conhecimento sobre os fundamentos de computação, são aborda-
dos conceitos fundamentais relacionados à ciência da computação, como as
principais técnicas para resolução de problemas, a abstração, os fundamentos
de programação, as ferramentas e técnicas para debugação, as noções básicas
sobre linguagem de programação, os fatores humanos etc.
14 Fundamentos matemáticos
Apresenta conceitos matemáticos importantes para facilitar a abstração de
engenheiros de software ao trabalhar com um problema computacional baseado
em matemática, como a teoria dos conjuntos, as relações e funções, a lógica
básica, os grafos e árvores, a teoria dos números, as estruturas algébricas,
entre outros.
15 Fundamentos de engenharia
Entre as técnicas e os métodos de engenharia que podem ser aplicadas à
engenharia de software, podemos citar: métodos empíricos e técnicas experi-
mentais, análise estatística, métricas, modelagem, simulação e prototipagem,
análise de causa raiz, entre outras.
2 Certificações SWEBOK
O mercado de tecnologia da informação vem desenvolvendo-se e tornando-se
cada vez mais competitivo no que diz respeito a novas tecnologias e também aos
serviços prestados. Adotar modelos e padrões de qualidade ajuda as empresas
a se diferenciarem das demais, pois, com isso, demostram maior organização
e preocupação quanto aos produtos desenvolvidos. A IEEE disponibiliza três
tipos de certificação relacionadas ao SWEBOK, descritas a seguir.
BOURQUE, P.; FAIRLEY, R. E. (ed.). SWEBOK v3. 0: Guide to the software engineering body
of knowledge. Washington: IEEE Computer Society, 2014.
GITHUB, c2020. Disponível em: https://github.com/about. Acesso em: 22 out. 2020.
IEEE COMPUTER SOCIETY. Software Engineering Body of Knowledge (SWEBOK), c2020.
Disponível em: https://www.computer.org/education/bodies-of-knowledge/software-
-engineering. Acesso em: 22 out. 2020.
PRESSMAN, R. S.; MAXIM, B. R. Engenharia de software uma abordagem profissional.
8. ed. Porto Alegre: Bookman, 2016.
Leitura recomendada
SOMMERVILLE, I.; SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Pearson, 2011.
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a
rede é extremamente dinâmica; suas páginas estão constantemente mudando de
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade
sobre qualidade, precisão ou integralidade das informações referidas em tais links.