ES I Aula03n [Modo de Compatibilidade] · z)&7 81(63 z z3uri 'u 5rjpulr ( *dufldz %dfkduhodgr hp...
Transcript of ES I Aula03n [Modo de Compatibilidade] · z)&7 81(63 z z3uri 'u 5rjpulr ( *dufldz %dfkduhodgr hp...
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 1
Bacharelado emCiência da
Computação16/05/2017
Engenharia de Software I
Rogério Eduardo Garcia([email protected])
Aula 03
In a calm sea every man is a pilot.
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 2
Engenharia de Software I –Aula 3
Gerenciamento de Configuração de Software
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 2
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 3
Contextualizando…ISO 12207: Estrutura
Processos Fundamentais Processos de Apoio
Processos Organizacionais
Aquisição
Fornecimento
Desenvolvimento
Operação
Manutenção
Documentação
Garantia de Qualidade
Verificação
Validação
Revisão Conjunta
Auditoria
Resolução de Problemas
Gerência
Melhoria
Infra-estrutura
Treinamento
Ada
pta
ção
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 8
Gerenciamento de Configuração de Software
A arte de coordenar¹ o desenvolvimento desoftware para minimizar a confusão édenominada Gerenciamento de Configuração
Objetivo: maximizar a produtividademinimizando os erros
(Babich)¹Identifica, organiza e controla modificações no software que está em
desenvolvimento
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 3
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 9
Gerenciamento de Configuração de Software
O Gerenciamento de Configuração deSoftware é um importante elemento dagarantia da qualidade de software
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 10
Gerenciamento de Configuração de Software
Conjunto de atividades de rastreamento e controleiniciadas quando um projeto de engenharia começae termina apenas quando o software sai deoperação
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 4
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 11
Gerenciamento de Configuração de Software
As atividades são desenvolvidas para: Identificar alterações
Controlar alterações
Assegurar que a alteração esteja sendoimplementada corretamente
Relatar as alterações a outros interessados
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 12
Itens de Configuração de Software
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 5
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 13
Itens de Configuração de Software
Os itens de configuração de software
Alguns itens de informação são selecionados
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 14
Item de Configuração de Software
Um Item de Configuração de Software é um:
Produto de software ou
Produto de desenvolvimento de software
escolhido para fazer parte da configuraçãode software
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 6
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 15
Item de Configuração de Software
PRODUTO DE SOFTWARE
Programas de computador, procedimentos,documentação relacionada e informaçõesdesignadas para serem entregues a umcliente ou usuário final
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 16
Item de Configuração de Software
PRODUTO DE DESENVOLVIMENTO DE SOFTWARE
Descrição de processos, planos,procedimentos, programas de computador edocumentos relacionados, que podem ounão ter a finalidade de ser entregue a umcliente ou usuário final
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 7
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 17
Configuração de Software
.Um conjunto de itens de configuração
de software inter-relacionados compõem uma configuração de software
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 18
GERENCIAMENTO DE CONFIGURAÇÃO
Conjunto de atividadesque devem ser
desenvolvidas paraadministrar as
alterações durante o ciclo de vida do software
Gerenciamento de Configuração de Software
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 8
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 19
O Gerenciamento de Configuração deSoftware oferece um ambiente de trabalhoestável
Alterações sem controle de produtos dedesenvolvimento de software é um processocaótico
Gerenciamento de Configuração de Software
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 20
Gerenciamento de Configuração de Software
O Gerenciamento de Configuração deSoftware oferece uma “memória” do statusdos produtos de desenvolvimento desoftware
Quando muitas pessoas estão trabalhandono mesmo produto, o Gerenciamento deConfiguração de Software coordena oacesso para realizar alterações de produtosde desenvolvimento de software
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 9
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 21
Processo de Gerenciamento de Configuração de Software
O processo define uma série de tarefas quetêm 4 objetivos primários: Identificar todos os itens que coletivamente
definem a configuração do software
Gerenciar alterações de um ou mais desses itens
Facilitar a construção de diferentes versões deuma aplicação
Assegurar que a qualidade do software sejamantida à medida que a configuração evolui
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 22
Tarefas de Gerenciamento de Configuração
1- Como uma organização identifica e administra as muitas versões existentes dos itens de configuração de forma que possibilite que mudanças sejam feitas eficientemente?
2- Quem tem a responsabilidade pela aprovação e pela determinação de prioridades para as mudanças?
1- Identificação
2- Controle de Mudanças
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 10
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 23
Tarefas de Gerenciamento de Configuração
3- Como uma organização controla as várias versões geradas pelas mudanças feitas antes e depois que o software é liberado?
4- Como se pode garantir que as mudanças foram feitas adequadamente?
3- Controle de Versão
4- Auditoria de Configuração
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 24
Tarefas de Gerenciamento de Configuração
5- Qual o mecanismo usado para avisar outras pessoas sobre mudanças que são feitas?
6- Como gerenciar o efeito causado por alterações externas ao sistema?
7- Como garantir que módulos do sistema construídos por terceiros estejam corretos e coerentes com o restante do sistema?
5- Relato de Situação
6- Controle de Interface
7- Controle de Subcontra-tados e For-necedores
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 11
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 25
CONCEITOS FUNDAMENTAIS
Baselines (linhas de referência)
Repositório dos Itens de Configuração
Check-in / Check-out
Gerenciamento de Configuração de Software
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 26
CONCEITOS FUNDAMENTAIS
Baselines (linhas de referência)
Repositório dos Itens de Configuração
Check-in / Check-out
Gerenciamento de Configuração de Software
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 12
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 27
Gerenciamento de Configuração de Software –Conceitos Fundamentais – BASELINES
Uma Linha de Referência (baseline) é umconceito de Gerenciamento de Configuraçãode Software que ajuda a controlar asmudanças sem impedir seriamente asmudanças justificáveis
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 28
Gerenciamento de Configuração de Software –Conceitos Fundamentais – BASELINES
As baselines possuem as seguintes funçõesinterligadas: Um ponto de progresso mensurável
Uma base para o desenvolvimento e controlesubsequente
Um ponto de medida para avaliar a qualidade e aobtenção dos objetivos, antes de passar para afase seguinte
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 13
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 29
Gerenciamento de Configuração de Software –Conceitos Fundamentais – BASELINES
As baselinespodem ocorrer aofinal de cada umadas fases doprocesso dedesenvolvimentode software, ou dealgum outro mododefinido pelagerência
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 30
Gerenciamento de Configuração de Software –Conceitos Fundamentais – BASELINES
Um item de configuração de software quepassou por uma linha básica é considerado“baselined” ou é dito que o item ”tornou-seuma linha básica”
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 14
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 31
Gerenciamento de Configuração de Software –Conceitos Fundamentais – BASELINES
Um item de configuração de software“baselined” possui as seguintescaracterísticas: Foi revisto formalmente e teve o acordo das
partes Serve como base para trabalho futuro É armazenado em um Repositório de Itens de
Configuração Pode ser alterado somente através de
procedimentos formais de controle de mudança
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 32
Repositório de itens de
configuração
Retirar
Item de configuração
(versão baselined)
Engenheiro de software
Item de configuração
(versão extraída)
A
BC
B’
B’
B’ com alterações é usada para atualizar B
Gerenciamento de Configuração de Software –Conceitos Fundamentais – BASELINES
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 15
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 33
CONCEITOS FUNDAMENTAIS
Baselines (linhas de referência)
Repositório dos Itens de Configuração
Check-in / Check-out
Gerenciamento de Configuração de Software
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 34
Um repositório de itens de configuração é umlocal sob controle de acesso (banco dedados) onde são armazenados os Itens deConfiguração de Software depois deliberados por uma "baseline"
Gerenciamento de Configuração de Software -Conceitos Fundamentais -REPOSITÓRIO DOS ITENS DE CONFIGURAÇÃO
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 16
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 35
Nos pontos estabelecidos pelas linhas dereferência, os itens de configuração devemser identificados, analisados, corrigidos,aprovados e armazenados no repositório deitens de configuração
Gerenciamento de Configuração de Software -Conceitos Fundamentais -REPOSITÓRIO DOS ITENS DE CONFIGURAÇÃO
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 36
Os itens de um repositório de itens deconfiguração só poderão ser alterados apósuma solicitação de alteração formalmenteaprovada pelo gerente de configuração
Essa é uma forma de prover controle sobre asituação de cada um dos itens deconfiguração, evitando inconsistências
Gerenciamento de Configuração de Software -Conceitos Fundamentais -REPOSITÓRIO DOS ITENS DE CONFIGURAÇÃO
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 17
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 37
CONCEITOS FUNDAMENTAIS
Baselines (linhas de referência)
Repositório dos Itens de Configuração
Check-in / Check-out
Gerenciamento de Configuração de Software
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 38
Check In / Check Out é o método utilizadopara trabalhar com itens de configuração quejá estão no repositório, ou seja, conferênciana entrada e conferência na saída
Gerenciamento de Configuração de Software -Conceitos Fundamentais - CHECK IN / CHECK OUT
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 18
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 39
Quando for desejada uma alteração emalgum item de configuração do repositório,uma cópia do item é colocada numa área detrabalho do desenvolvedor (“check out”)
Dentro de sua área, o desenvolvedor temtotal liberdade de trabalho
Gerenciamento de Configuração de Software -Conceitos Fundamentais - CHECK IN / CHECK OUT
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 40
Gerenciamento de Configuração de Software -Conceitos Fundamentais - CHECK IN / CHECK OUT
Repositório de itens de
configuração
Check-outRetirar
Item de configuração
(versão baselined)
Engenheiro de software
Item de configuração
(versão extraída)
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 19
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 41
Gerenciamento de Configuração de Software -Conceitos Fundamentais - CHECK IN / CHECK OUT
Repositório de itens de
configuração
Check-outRetirar
Item de configuração
(versão baselined)
Engenheiro de software
Item de configuração
(versão extraída)
Controle de acesso Inform. de
propriedade
CONTROLE DE ACESSOadministra as autorizações para acessar
e modificar um particular item de configuração
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 42
Gerenciamento de Configuração de Software -Conceitos Fundamentais - CHECK IN / CHECK OUT
Repositório de itens de
configuração
Check-outRetirar
Item de configuração
(versão baselined)
Engenheiro de software
Item de configuração
(versão extraída)
Controle de acesso Inform. de
propriedade
Bloquear
CONTROLE DE CONCORRÊNCIAa partir desse momento, nenhum outro
desenvolvedor poderá alterar o mesmo item
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 20
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 43
Após o final das alterações no item deconfiguração, ele será revisado e recolocadono repositório (“check in”)
Uma nova linha de referência deverá sertraçada, de modo que uma novaconfiguração contendo o item alterado sejaformada e congelada no repositório
Gerenciamento de Configuração de Software -Conceitos Fundamentais - CHECK IN / CHECK OUT
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 44
Gerenciamento de Configuração de Software -Conceitos Fundamentais - CHECK IN / CHECK OUT
Repositório de itens de
configuração
Check-outRetirar
Item de configuração
(versão baselined)
Engenheiro de software
Item de configuração
(versão extraída)
Controle de acesso Inform. de
propriedade
Bloquear
Check-inColocar
Item de configuração
(versão baselined)
Inform. de auditoria
Item de configuração
(versão modificada)
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 21
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 45
Depois do “congelamento”, o acesso éliberado, permitindo que outrosdesenvolvedores também executemalterações sobre esse item de configuração
Gerenciamento de Configuração de Software -Conceitos Fundamentais - CHECK IN / CHECK OUT
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 46
Gerenciamento de Configuração de Software -Conceitos Fundamentais - CHECK IN / CHECK OUT
Repositório de itens de
configuraçãoControle de acesso Inform. de
propriedade
Check-outRetirar
Item de configuração
(versão baselined)
Engenheiro de software
Check-inColocar
Item de configuração
(versão baselined)
Item de configuração
(versão extraída)
bloquear
desbloquear
Inform. de auditoria
Item de configuração
(versão modificada)
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 22
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 47
CONCEITOS FUNDAMENTAIS
Baselines (linhas de referência)
Repositório dos Itens de Configuração
Check-in / Check-out
Gerenciamento de Configuração de Software
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 48
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 23
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 49
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 50
1.1: Selecionar os itens a serem gerenciados
É importante que seja efetuada uma seleção dositens relevantes, porque umasuperdocumentação torna o gerenciamento deconfiguração muito oneroso
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 24
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 51
1.1: Selecionar os itens a serem gerenciados(cont.) Geralmente, devem sofrer gerenciamento de
configuração: Os itens mais usados no ciclo de vida Os itens mais genéricos Os itens mais importantes para a segurança Os itens projetados para reúso Os itens que podem ser modificados por vários
desenvolvedores ao mesmo tempo
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 52
1.1: Selecionar os itens a serem gerenciados(cont.)
Somente os itens selecionados serãocontrolados, sendo que os outros itens poderãoser alterados livremente
Exemplo de itens sugeridos por Pressman...
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 25
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 53
1. Especificação do Sistema
2. Plano de Projeto de Software
3. Especificação de Requisitos do Software
4. Manual Preliminar do Usuário
5. Especificação do Projeto
a) Descrição do Projeto de Dados
b) Descrição do Projeto Arquitetural
c) Descrições do Projeto Modular
d) Descrições do Projeto de Interface
e) Descrições de Objetos (se forem usadas
técnicas orientadas a objetos)
6. Listagem do código-fonte
7. Planos, Procedimentos, Casos de Testes e Resultados Registrados
8. Manuais Operacionais e de Instalação
9. Programa Executável e Módulos Interligados
10. Descrição do Banco de Dados
a) Esquema e estrutura de arquivo
b) Conteúdo inicial
11. Manual do Usuário
12. Documentos de Manutenção
a) Relatórios de problemas de software
b) Solicitações de manutenção
c) Pedidos de mudança
13. Padrões e procedimentos para engenharia de software
14. Ferramentas de produção de software (editores,compiladores, CASE, etc.)
EXEMPLO DE ITENS DE CONFIGURAÇÃO
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 54
1.2: Descrever como os itens selecionadosrelacionam-se
A identificação desses relacionamentos é muitoimportante para a manutenção, pois permite quese localize rapidamente os itens afetados porcada alteração
Consideram-se cinco classes de relacionamento
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 26
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 55
Classes de Relacionamento
Equivalência Ex: BD em disco e em fita magnética
Dependência Ex: a descrição do projeto modular é dependente da
especificação do projeto
Derivação Ex: código objeto é derivado do código fonte
Sucessão Ex: a versão 1.2 é sucessora da versão 1.1
Variante Ex: versão para DOS ou para UNIX
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 56
1.3: Planejar as linhas de referência dentro dociclo de vida do projeto
Geralmente, cria-se uma linha de referência aofinal de cada fase do ciclo de vida do projeto e,periodicamente, depois de cada manutenção
Deve-se especificar quais itens serão revisados earmazenados em cada uma das linhas dereferência planejadas
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 27
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 57
1.4: Descrever a maneira como os itens serãoarquivados e recuperados do repositório
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 58
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 28
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 59
Criar um esquema de identificação
Atribuir nomes únicos a cada um doscomponentes
Por meio do nome deve ser possívelreconhecer:
A evolução de cada uma das versões doscomponentes
A hierarquia existente entre componentes
Tarefas de Gerenciamento de Configuração2. Identificação
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 60
Exemplo simples de um esquema deidentificação para um projeto cuja sigla é
“AA”
O esquema de identificação utiliza acombinação de: Nome do projeto
Tipo de item
Nome do item
Versão do item
Tarefas de Gerenciamento de Configuração2. Identificação
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 29
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 61
Item Projeto Tipo Nome Versão Nome completo
Especificação do Sistema AA ES 1.1 AAES v1.1Plano de Projeto AA PP 1.1 AAPP v1.1Especificação de Requisitos doSoftware
AA ER 1.1 AAER v1.1
Especificação de Projeto AA EP 1.1 AAEP v1.1Programa Fonte AA PF Prin 1.1 AAPFPrin v1.1Programa Fonte (sub-rotinas) AA PF Rot 1.1 AAPFRot v1.1Plano e Casos de Testes AA TT 1.1 AATT v1.1Nova versão das sub-rotinas AA PF Rot 1.2 AAPFRot v1.2
Exemplo de um esquema de identificação dos itens de configuração
Tarefas de Gerenciamento de Configuração2. Identificação
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 62
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 30
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 63
Durante o processo de desenvolvimento desoftware, mudanças descontroladas podemlevar rapidamente ao caos
Assim, deve ser instituído na organização umprocesso que combine procedimentoshumanos e ferramentas automatizadas paraproporcionar um mecanismo de controle dasmudanças
Tarefas de Gerenciamento de Configuração3. Controle de Mudanças
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 64
O processo de controle de mudanças deveser implementado depois que uma linha dereferência for fixada - antes disso, somenteum controle de mudanças informal precisaser aplicado
A seguir, um exemplo para ilustrar umprocesso de controle de mudanças que podeser implementado para os itens que jápassaram por uma linha de referência...
Tarefas de Gerenciamento de Configuração3. Controle de Mudanças
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 31
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 65
Não Aprovada
Aprovada
Análise
Necessidade de Alteração no Item de Configuração
Pedido de Mudança
Relatório de Mudança
Conselho de Controle de Alterações
Gerente de Configuração
Retorno Arquivo
Controle de Acesso
Avaliação
Registro de Entrada
Registro de Saída
Verificação e Testes
Execução da Mudança
Equipe de Desenvolvimento
Processo de Controle de Mudança
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 66
Os procedimentos de controle dasmudanças:
Asseguram que as mudanças em um softwaresejam feitas de modo controlado, permitindo-seprever o efeito das mesmas em todo o sistema
Tarefas de Gerenciamento de Configuração3. Controle de Mudanças
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 32
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 67
Procedimentos formais de organização e decontrole das mudanças no sistema permitemque:
1. Os pedidos de alteração possam serconsiderados em conjunto com outros pedidos
2. Os pedidos similares possam ser agrupados
Tarefas de Gerenciamento de Configuração3. Controle de Mudanças
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 68
Procedimentos formais de organização e decontrole das mudanças no sistema permitemque (cont.):
3. Os pedidos incompatíveis entre si ou com osobjetivos do sistema possam ser identificados
4. Possam ser atribuídas prioridades aos pedidose, de acordo com essas prioridades, possam sergerados cronogramas
Tarefas de Gerenciamento de Configuração3. Controle de Mudanças
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 33
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 69
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 70
Um item, ao ser desenvolvido, evolui até queatinja um estado em que atenda aospropósitos para o qual foi criado
Isso implica em diversas alterações, gerandouma versão do item a cada estado
Tarefas de Gerenciamento de Configuração4. Controle de Versões
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 34
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 71
Para estabelecer o controle sobre asdiversas versões, todas as versões devemser armazenadas e identificadas
Isso, geralmente, é feito com o auxílio deuma ferramenta
A versão do item pode ser incluída noesquema de identificação ou ser acessível apartir de uma tabela à parte
Tarefas de Gerenciamento de Configuração4. Controle de Versões
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 72
É conveniente que o esquema deidentificação das versões dos itens seja feitoem forma de árvore, pois ao mesmo tempoem que mantém um histórico das versõesdos itens, permite identificação única eramificações a partir de qualquer versão
Tarefas de Gerenciamento de Configuração4. Controle de Versões
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 35
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 73
Para minimizar o espaço de armazenamentodas versões utiliza-se o conceito de delta
Delta negativo: armazena-se integralmente aversão mais recente e as diferenças (deltas)existentes até então
Delta positivo: armazena-se a versão mais antigae, para montar as versões mais recentes,processam-se as diferenças (deltas)armazenadas
Tarefas de Gerenciamento de Configuração4. Controle de Versões
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 74
2.2.1
4
3
2
1
2.2.2 2.2.1.1.3.1.1
2.1.1
2.1.2
Árvore de versões usando delta negativo
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 36
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 75
Os sistemas atuais de gerenciamento deversões utilizam o conceito de delta negativono tronco, por ser mais comum a utilizaçãode versões mais recentes do item deconfiguração
Tarefas de Gerenciamento de Configuração4. Controle de Versões
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 76
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 37
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 77
A auditoria da configuração compreendeatividades para garantir que as alterações naconfiguração de software foram efetuadasapropriadamente
A identificação e controle de versões e dealterações ajudam a manter ordem mas, paraassegurar que a alteração foi implementadaapropriadamente, há necessidade deauditorias
Tarefas de Gerenciamento de Configuração
5. Auditoria de Configuração
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 78
Existem dois tipos de auditoria deconfiguração de software que sãoobrigatórias nas linhas de referência do ciclode desenvolvimento e manutenção desoftware:
Auditoria Funcional
Auditoria Física
Tarefas de Gerenciamento de Configuração
5. Auditoria de Configuração
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 38
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 79
Auditoria Funcional
A auditoria funcional preocupa-se comaspectos internos dos arquivos,compreendendo uma verificação técnicaformal nos itens de configuração
Essa verificação é uma atividade de controlede qualidade que tenta descobrir omissõesou erros na configuração, que degradam ospadrões de construção do software
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 80
Auditoria Física
A auditoria física complementa a auditoriafuncional, determinando características nãoconsideradas durante a revisão
Algumas questões podem ser colocadas...
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 39
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 81
Questões da Auditoria Física
As alterações especificadas na Ordem de Alteraçãoforam efetuadas? Alguma modificação adicional foiincorporada?
Foi efetuada a revisão técnica formal? Os padrões de engenharia de software foram seguidos? A data e o autor da alteração foram especificados? Os
atributos do item da configuração refletem a alteração? Foram seguidos os procedimentos de administração de
configuração? Todos os itens de configuração relacionados foram
atualizados apropriadamente?
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 82
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 40
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 83
O objetivo do Relato da Situação é relatar atodas as pessoas envolvidas nodesenvolvimento e na manutenção dosoftware
Tarefas de Gerenciamento de Configuração
6. Relato de Situação
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 84
As seguintes informações sobre asalterações na configuração de software sãorespondidas: O que aconteceu?
Quem o fez?
Quando aconteceu?
O que mais será afetado?
Tarefas de Gerenciamento de Configuração
6. Relato de Situação
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 41
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 85
Tarefas de Gerenciamento de Configuração
6. Relato de Situação
FLUXO DE INFORMAÇÃO PARA O RELATO DO STATUS
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 86
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 42
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 87
As atividades de controle de interface (oufronteira) coordenam as mudanças nos itensde configuração que são afetados por itensque não estejam sendo controlados
Equipamentos, sistemas de software,software de suporte, assim como outrosprojetos devem ser examinados na busca porpossíveis interfaces com o projeto sobcontrole
Tarefas de Gerenciamento de Configuração
7. Controle de Interface
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 88
Para cada interface deve-se descrever:
a) O tipo de interface
b) As unidades organizacionais afetadas
c) Como será feito o controle sobre a interface
d) Como os documentos de controle da interfaceserão aprovados
Tarefas de Gerenciamento de Configuração
7. Controle de Interface
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 43
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 89
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 90
As atividades de controle de subcontratadose fornecedores coordenam a forma como ositens que foram desenvolvidos por solicitaçãoa outras empresas ou foram adquiridos jáprontos são testados e incorporados aorepositório do projeto
Tarefas de Gerenciamento de Configuração8. Controle de Subcontratados e Fornecedores
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 44
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 91
Para itens subcontratados deve-sedescrever:a) Os requisitos de gerenciamento de configuração de
software a serem satisfeitos pelo subcontratado
b) Como será feito o monitoramento sobre osubcontratado
c) Como o código, documentação e dados externosserão testados, aceitos e adicionados ao projeto
d) Como serão tratadas as questões de propriedade docódigo produzido, como direitos autorais e royalties
Tarefas de Gerenciamento de Configuração8. Controle de Subcontratados e Fornecedores
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 92
Tarefas de Gerenciamento de Configuração8. Controle de Subcontratados e Fornecedores
Para itens adquiridos prontos deve-sedescrever:
a) Como serão recebidos, testados e colocadossob controle de gerenciamento de configuração
b) Como as mudanças no software do fornecedorserão tratadas
c) Se e como o fornecedor participará no processode gerenciamento de mudança do projeto
FCT-UNESP 16/05/2017
Prof. Dr. Rogério E. Garcia 45
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 93
Tarefas de Gerenciamento de Configuração
1. Tarefas Preliminares
2. Identificação
3. Controle de Mudanças
4. Controle de Versão
5. Auditoria de Configuração
6. Relato de Situação
7. Controle de Interface
8. Controle de Subcontratados e Fornecedores
BCC16/05/2017
16/05/2017 Ciência da Computação - Engenharia de Software I - Rogério Eduardo Garcia 94
Ferramentas de GCS
Ferramentas de software podem auxiliar asatividades de gerenciamento de configuração desoftware
Exemplos de ferramentas: CVS (Concurrent Versions System)
http://www.cvshome.org/ RCS (Revision Control System)
http://www.gnu.org/software/rcs/rcs.html SCCS (Source Code Control System)
http://www.cvshome.org/cyclic/cyclic-pages/sccs.html VersionWeb (Web Pages Versions Management)
http://versionweb.sourceforge.net/ Subversion, TortoiseSVN…