Buscar

Identificação e Planejamento da Configuração

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

TESTES DE 
SOFTWARE E 
GERÊNCIA DE 
CONFIGURAÇÃO
Priscila Gonçalves
Identificação e 
planejamento da 
configuração
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
  Reconhecer a importância do gerenciamento de configuração no 
desenvolvimento de software.
  Listar itens de configuração.
  Descrever as etapas de identificação e planejamento da configuração.
Introdução
A gerência de configuração de software serve como base para outras 
áreas da engenharia de software. Por isso, é tratada como requisito de 
implementação em níveis iniciais de vários modelos de maturidade de 
processos de desenvolvimento, como CMMI-DEV, SPICE e MPS-Br.
Segundo Sommerville (2011), a gerência de configuração é um con-
junto de atividades de rastreamento e controle iniciadas quando um 
projeto de engenharia de software começa. Essas atividades terminam 
apenas quando o software sai de operação.
Neste capítulo, você vai verificar a importância da gerência de con-
figuração aplicada ao desenvolvimento de softwares. Você também 
vai ver como identificar e listar os itens de configuração. Além disso, vai 
conhecer as etapas de identificação e planejamento da configuração.
A importância do gerenciamento
de configuração
Para começar, você precisa conhecer o conceito de gerenciamento de con-
fi guração aplicado ao desenvolvimento de softwares. Considere o seguinte: 
a gestão de confi guração de software (software confi guration management 
— SCM) é uma atividade do tipo “guarda-chuva”, aplicada através de toda 
a gestão de qualidade. Como as mudanças podem ocorrer em qualquer ins-
tante, as atividades SCM são desenvolvidas para (1) identifi car a alteração, (2) 
controlar a alteração, (3) assegurar que a alteração esteja sendo implementada 
corretamente e (4) relatar as alterações a outros interessados. [...] É um con-
junto de atividades de rastreamento e controle iniciadas quando um projeto 
de engenharia de software começa e [que] termina apenas quando o software 
sai de operação (SOMMERVILLE, 2011).
As atividades da gerência de configuração de software incluem: controlar e 
acompanhar as mudanças, registrar todas as evoluções do sistema e estabelecer 
e manter a integridade. Como você sabe, todas as alterações realizadas no 
desenvolvimento de um software devem ser controladas. Esse controle está 
diretamente atrelado à qualidade do software entregue. Assim, a gerência é 
parte essencial da gestão de qualidade (PRESSMAN; MAXIM, 2016).
Itens de configuração
Como você viu, o gerenciamento de confi guração aplicado ao desenvolvimento 
de softwares é baseado em um conjunto de atividades:
  controle de mudanças;
  controle de versões;
  integração contínua.
Nas próximas seções, você vai conhecer melhor cada uma dessas ativi-
dades, verificando como funcionam e quais são as ferramentas disponíveis 
para executá-las.
Controle de mudanças
O controle de mudanças colabora com o controle de versão e tem como foco 
avaliar, aceitar e aplicar as mudanças propostas. As mudanças ocorrem frequen-
temente no decorrer do desenvolvimento do software e devem ser registradas, 
avaliadas e agrupadas de acordo com a prioridade da modifi cação solicitada.
Trata-se de um item importante pois, diante das informações geradas 
a partir dos registros, da avaliação e das prioridades, é possível planejar o 
Identificação e planejamento da configuração2
escopo, os prazos e os custos de um projeto, mantendo a rastreabilidade desde 
a solicitação até a implantação e a disponibilização do produto. Entre as fer-
ramentas disponíveis para executar o controle de mudança, estão: BitBucket, 
GitHub, Trac e Bugzilla.
Controle de versão
Quando ocorre a implementação de uma mudança, deve-se acrescentar o 
seu registro no histórico do incremento. Esse incremento é correspondente 
a uma confi guração (versão), ou seja, ao conjunto de itens que formam o 
software.
Entre as funcionalidades do controle de versões, duas se destacam: viabilizar 
a edição concorrente nos arquivos, que ocorre quando duas ou mais pessoas 
estão trabalhando no mesmo código-fonte, por exemplo; e criar variações no 
projeto.
O controle de versão é a principal atividade da gerência de configuração 
de software, pois é a ponte entre o controle de mudanças e a integração con-
tínua. São exemplos de ferramentas utilizadas para o controle de versão: Git, 
Mercurial e SubVersion.
No controle de versão, existem os branches (“ramos”). Eles permitem que 
execuções simultâneas de atividades diferentes, e até mesmo incompatíveis, 
ocorram. Por exemplo: a codificação em arquivos iguais, testes, etc. Existem 
três tipos de branches. Veja a seguir.
  Principal, também conhecido como trunk (SubVersion), master (Git) 
e default (Mercurial): trata-se do primeiro e mais importante, pois 
concentra as correções, melhorias e funcionalidades que deverão ser 
disponibilizadas na próxima versão entregue.
  Dedicado, também conhecido como feature branch: mantém de forma 
isolada as implementações demoradas e complexas, que não podem ser 
realizadas no trunk.
  Manutenção, também conhecida como branch release: é correspondente 
a uma versão liberada, em produção, que necessita de correção, porém 
sem alterar as funcionalidades.
A Figura 1 mostra que o branch de manutenção é criado para manter 
a versão de produção. Note que as correções são realizadas no branch de 
manutenção e passadas para o trunk por merges (mesclagens).
3Identificação e planejamento da configuração
Figura 1. Tipos de branches.
Fonte: Dias (2016, documento on-line). 
Integração contínua
Esse item de gerência de confi guração tem como objetivo verifi car se o software 
foi desenvolvido de acordo com os elementos registrados na confi guração. Ou 
seja, a integração é realizada por meio de scripts que deixam a construção, os 
testes e a coleta de métricas de qualidade automatizados.
As ferramentas de integração contínua acompanham o controle de versão 
e disparam scripts a cada nova configuração registrada. São exemplos de 
ferramentas de integração contínua: Jenkins, Drone.io, CodeShip, entre outras.
Etapas de identificação e planejamento da 
configuração
A gerência de confi guração de software é fundamental para desenvolver 
softwares de qualidade. Para executá-la corretamente, você deve entender os 
conceitos, defi nir os processos, realizar a integração e utilizar as ferramentas 
disponíveis.
Realizar o planejamento da configuração de software é de suma impor-
tância, pois a maioria das rotinas são repetitivas. Para fazer um planejamento 
adequado, você precisa considerar alguns itens. Veja a seguir.
  Definição de atividades: é necessário determinar as atividades que 
serão executadas e a maneira como serão realizadas.
Identificação e planejamento da configuração4
  Termos utilizados: sem exceção, todos os envolvidos no planejamento 
devem entender tudo o que for relacionado à terminologia do conteúdo. 
Geralmente, é indicado incluir um glossário ao projeto para facilitar 
o entendimento.
  Recursos envolvidos: deve-se definir com antecedência as pessoas 
envolvidas, o tipo de hardware, o espaço e os sistemas utilizados.
  Cronograma: é preciso definir os prazos para cada etapa do planeja-
mento inicial.
Dentro da identificação e do planejamento da configuração, há algumas 
etapas a serem cumpridas para que o sucesso seja garantido. É o que você 
pode ver na Figura 2.
Figura 2. Fluxograma das etapas de 
identificação e planejamento da gerên-
cia de configuração.
Baseline
Repositório
Controle de mudança e
con�guração
Estimativa de status de
con�guração
Treinamentos e recursos
Identi�cação de marcos
5Identificação e planejamento da configuração
A partir do plano de configuração, o programa de gerenciamento de confi-
guração pode ser implantado. Para isso, deve-se seguir um escopo do processo, 
que é necessário para definir o que será feito no projeto. Existem métodos de 
identificação que conterão o detalhamento para a nomeaçãodos artefatos de 
pastas do produto de software. Tais métodos serão detalhados no documento 
do projeto.
Um plano de gestão de configuração de software define a estratégia do 
projeto para a gestão de alterações. Por sua vez, o processo de controle de 
alterações produz requisições de alterações de software, relatórios e ordens de 
alteração de engenharia (PRESSMAN; MAXIM, 2016). Ele é composto por:
  documento de arquitetura;
  documento de implantação;
  plano de gerenciamento de configuração;
  documento de permissões de pastas e acessos por perfil;
  documento de controle de baselines;
  documento de negócio;
  plano do projeto;
  planilha de contagem de ponto de função;
  documento de processo de negócio;
  checklist de revisão técnica;
  relatório de revisão técnica;
  plano de teste;
  plano de resultado de teste;
  roteiros de teste;
  especificação de caso de uso.
As baselines do projeto são definidas a cada mudança de fase do projeto, 
e uma delas é utilizada para o encerramento. As baselines tem quatro fases 
mais o encerramento. Veja:
1. Apresentação dos seguintes itens de configuração: documento de ar-
quitetura, documento de implantação e plano de gerenciamento de 
configuração.
2. Apresentação dos seguintes itens: documento de permissões de pastas 
e acessos por perfil, documento de controle de baselines e documento 
de negócio.
3. Apresentação dos seguintes documentos: plano do projeto, planilha 
de contagem de ponto de função e documento de processo de negócio.
Identificação e planejamento da configuração6
4. Apresentação dos seguintes documentos: checklist de revisão técnica, 
relatório de revisão técnica e plano de teste.
5. Encerramento: apresentação de todos os itens gerados anteriormente 
e do termo de encerramento.
Em gerência de configuração de software, repositório é um conjunto de 
mecanismos e estruturas de dados que possibilita que a equipe de software 
gerencie as alterações. O detalhamento da estrutura do repositório é a etapa 
seguinte à das baselines. Nela, o documento do projeto é esmiuçado e dispo-
nibilizado na pasta de gerência de configuração.
No controle de configuração e mudança, são apresentados:
  o processo de solicitação de mudança, em que são descritos e submetidos 
os problemas e as mudanças, assim como a revisão e a disposição.
  o comitê de controle de mudança, com a descrição dos membros do 
comitê e dos procedimentos necessários para processar as solicitações 
de mudanças e aprovações.
Na etapa de estimativa do status de configuração, existem as tarefas 
listadas a seguir.
  Processo de armazenamento e liberação do projeto: descrição das 
políticas de retenção e dos planos de backup, assim como de erros 
irreversíveis e recuperação. Nesse item, também é descrito o modo 
como a mídia deve ser mantida (se on-line ou off-line), o tipo de mídia 
e o formato. Esse processo também descreve o conteúdo do release, a 
quem é destinado e se há problemas conhecidos ou ainda instruções 
de instalação.
  Relatórios e auditorias: os relatórios são utilizados para avaliar a quali-
dade do software em qualquer fase do seu ciclo de vida. São elaborados 
relatórios sobre os defeitos com base nas solicitações de mudança, 
fornecendo indicadores com a finalidade de alertar a administração e 
os desenvolvedores em relação a áreas prioritárias do desenvolvimento.
Na etapa de identificação dos marcos, os internos devem ser percebidos. 
Os marcos do fornecedor são relacionados ao esforço da gerência de confi-
guração do software ou projeto. Eles incluem detalhes sobre o momento em 
que o plano de gestão de configuração deve ser atualizado.
7Identificação e planejamento da configuração
Os treinamentos e recursos fazem parte da etapa seguinte, em que são 
descritas ferramentas de software, pessoal e treinamento. Essas três catego-
rias de recursos são requisitos para a implementação e a especificação das 
atividades de gerência de configuração.
DIAS, A. F. Tipos de ramos do controle de versão. 2016. Disponível em: https://blog.pronus.
io/posts/tipos-de-ramos-do-controle-de-versao/. Acesso em: 27 jun. 2019.
PRESSMAN, R. S.; MAXIM, B. R. Engenharia de software: uma abordagem profissional. 8. 
ed. Porto Alegre: AMGH, 2016.
SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Pearson, 2011.
Leituras recomendadas
GERENCIAMENTO de configuração de software. [2010]. Disponível em: http://www.
alexandresmcampos.adm.br/informatica/outros/gcs.htm. Acesso em: 27 jun. 2019.
REIS, C. Caracterização de um processo de software para projetos de software livre. 2003. 
Dissertação (Mestrado em Ciências da Computação) – Instituto de Ciências Matemática 
e Computação, São Carlos, 2003.
SCHACH, S. R. Engenharia de software: os paradigmas clássicos & orientado a objetos. 
7. ed. Porto Alegre: AMGH, 2009.
SCHWARTZ, J. I. Construction of software. In: HOROWITZ, E. Practical strategies for 
developing large systems. Menlo Park: Addison-Wesley, 1975.
Identificação e planejamento da configuração8

Continue navegando