Este documento discute os conceitos e processos de gestão de configuração de software (GCS). Apresenta os objetivos da GCS, que incluem controlar mudanças nos produtos de software e garantir que quaisquer alterações possam ser monitoradas. Também descreve tarefas como controle de versões, auditorias de configuração e geração de relatórios que são parte integral do processo de GCS.
1. Prof. Doutor
Rogério Patrício Chagas do Nascimento
Professor Associado do
Departamento de Computação (DCOMP)/UFS
Assessor do Reitor para Cidades Inteligentes,
Diretor Científico da EATIS.org
rogerio@ufs.br
GpES
Grupo de Pesquisa em Engenharia de Software
Gestão de Configuração do Software
Lecture 6
2. 2
Sumário
▪ Introdução
– O quê é?
– Quem faz?
– Porquê é importante?
– Qual é o produto?
– Como saber se está bem feita?
▪ Conceitos
– ECS e Linhas Base
– Objetos da Configuração
▪ Processo de GCS
▪ Tarefas de GCS
– Controle de versões
– Auditorias de configuração
– Geração de relatórios
3. 3
Introdução (I)
▪ O quê é?
– Conjunto de atividades para controlar as mudanças surgidas nos diversos
produtos do processo de desenvolvimento de software
▪ Quem faz?
– Todos os envolvidos no processo de desenvolvimento
▪ Porquê é importante?
– Se não controlarmos as mudanças, elas que irão nos controlar…
4. 4
Introdução (II)
▪ Qual o produto?
– Plano de Gestão da Configuração
▪ Quando está bem feito?
– Quando qualquer mudança puder ser monitorizada e analisada
5. 5
Configuração de Software
▪ conceito: nome coletivo dado à informação derivada do
processo de engenharia de software
▪ ECS - Elementos de Configuração de Software
– Programas (fonte e executáveis)
– Documentos que descrevem os programas (técnicos e de utilizador)
– Dados (dentro e fora do programa)
▪ o número de ECS cresce à medida que avança o processo de
desenvolvimento
o problema é que durante o processo ocorrem muitas mudanças em
qualquer momento e por muitas causas
6. 6
Origem das Mudanças
▪ Mudança nos requisitos devido a:
– Novos negócios ou condições comerciais
– Novas necessidades do cliente
– Reorganização do negócio
– Restrições de planejamento
7. 7
Linhas Base
▪ Quando todas as partes de um ECS forem revistas, corrigidas e
aprovadas
– o ECS converte-se numa linha base
▪ Assim, um ECS (especificação ou produto) revisto e aprovado serve
como base para o desenvolvimento posterior
– e só poderá ser modificado através de procedimentos formais de controle das
mudanças
▪ É o ponto de referência no desenvolvimento de software que fica
marcado pelo envio e aprovação de um ou mais ECS em revisões
técnicas formais
Somente poder-se-ão fazer mudanças nos ECS depois que estas tenham
sido avaliadas e aprovadas.
8. 8
ECS da Linhas Base
Linhas base:
Especificação do sistema
Requisitos do software
Especificações de desenho
Código fonte
Planos/Procedimentos
Dados de teste
Sistema de funcionamento
Base de dados do projeto
Tarefas de
Engenharia
de software
Revisões
técnicas
formais
modificada
aprovada
armazenada
extraída
Controles GCS
9. 9
Objetos da Configuração
Especificação de desenho
Desenho de dados
Desenho arquitetônico
Desenho de módulos
Desenho de interfaces
Especificação de teste
Plano de testes
Procedimento de testes
Casos de teste
Componente N
Descrição da interface
Descrição do algoritmo
Componente N
Descrição da interface
Descrição do algoritmo
Código fonte
Modelo de dados
10. 10
Processo de GCS
- Questões Fundamentais
▪ Como identificar e gerir as diferentes versões existentes de um programa e a sua
documentação de forma a introduzir mudanças eficientemente?
▪ Como controlar as mudanças antes e depois da entrega do produto ao cliente?
▪ Quem tem a responsabilidade de aprovar e atribuir prioridades às mudanças?
▪ Como garantir a apropriada realização das mudanças?
▪ Quais os mecanismos para avisar aos outros das mudanças?
11. 11
Tarefas da GCS
- Devem ser Adicionadas ao Plano de Gantt…
▪ Identificação dos objetos da configuração
– Básicos
▪ uma seção de uma especificação de requisitos, um código fonte de um módulo, um
conjunto de casos teste usados para exercitar o código, etc
– Compostos
▪ Especificação de Desenho, Especificação deTestes..
▪ Controle de versões
▪ Auditorias de configuração
▪ Geração de relatórios
12. 12
Controle de Versões
▪ Cada nó é um objeto composto: uma
versão completa do software
▪ Cada versão do software é uma coleção
de ECS
▪ Cada versão pode estar composta de
variantes (cor, monocromático)
1.0 1.1 1.2
1.3 1.4
2.0 2.1
1.1.1 1.1.2
O controle de versões combina procedimentos e ferramentas para gerir
as versões dos objetos da configuração criados durante o processo de
software
13. 13
Controle das Mudanças
▪ Reconhece-se a necessidade da
mudança
▪ O utilizador subscreve o pedido
▪ O eng de software a avalia
▪ Gera-se um informe de mudanças
▪ ACM decide
Gera-se a OME
Atribuição personalizada dos objetos da
configuração
Dar “baixa” aos objetos da configuração
Realização e revisão da mudança
Dar “alta” aos objetos mudados
Estabelecimento de nova linha base para
teste
Realização de atividades de garantia da
qualidade
Inclusão das mudanças na próxima versão
Distribuição da nova versão
Pedido de mudança é
negado
Informa-se ao utilizador
NÃO
SIM
14. 14
Controle de Acesso e Sincronização
alta
baixa
Controle
De acesso
Base de dados
do projeto
Engenheiro
de software
Elemento de
Configuração
modificado Informação
de auditoria
Elemento de
Configuração
(linha base)
Informação
de pertinência
Elemento de
Configuração
extraído
desbloqueio
bloqueio Elemento de
Configuração
(linha base)
15. 15
Auditoria de Configuração
▪ Revisões técnicas formais
– Correção técnica do ECS
▪ Auditorias de configuração
1. Foi realizado a mudança especificada pela OME?
2. Houve modificações extras?
3. Foi feita uma revisão técnica formal?
4. Foi seguido o processo de software? Aplicaram-se os standards?
5. Tem-se destacado as mudanças no ECS? Especificou-se o autor e a data da
modificação?
6. Seguiram-se os procedimentos de GCS para assinalar, registar e divulgar a
mudança efectuada?
7. Têm sido atualizados os ECS relacionados?
16. 16
Relatórios de Estado
- Normalmente Preenchidos em Ferramentas CASE
▪ O quê se passou?
▪ Quem o fez?
▪ Quando se passou?
▪ Quem foi afetado?
17. Bons caminhos!
Obrigado pela atenção!Thanks for listening! Merci pour votre attention!
rogerio@dcomp.ufs.br
@Patricium