Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

25
Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan

Transcript of Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Page 1: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Gerenciamento de Configuração de Software

Alex CaldasIvã Stival

Ivan Stephan

Page 2: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Gerenciamento de Configuracão

É a arte de identificar, organizar e controlar modificações no software que está sendo construído por uma equipe de programação.

Page 3: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Gerenciamento de Configuracão

Por ser abrangente divide-se em:Identificar a mudança.Controlar a mudança.Garantir que a mudança esteja sendo adequadamente implementada.Relatar a mudança a outras pessoas interessadas.

Page 4: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Manutenção de Software X Gerenciamento de Configuração de

Software

Page 5: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Manutenção de Software

É um conjunto de atividades de engenharia de software que acontece depois que o software é entregue ao cliente e posto em operação.

Page 6: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Gerenciamento de Configuração de Software

Conjunto de atividade de controle e rastreamento que começa quando um projeto de desenvolvimento de software se inicia e termina somente quando o software é tirado de operação.

Page 7: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Gerenciamento de Configuração de Software

Resultado do Processo de Engenharia:Programas de computador.Documentação que descreve o programa.Estruturas de dados.

Configuração de Software - Tudo que foi produzido pelo processo de Engenharia de Software.Composto por itens de Configuração de Software (SCI).

Page 8: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Baseline (Linha Básica)

Conceito que nos ajuda a controlar mudanças, sem impedir seriamente as mudanças justificáveis.Marco de referência no desenvolvimento de um software, que é caracterizado pela entrega de um ou mais itens de configuracao e pela aprovação destes.

Page 9: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Baseline ( exemplo )SCI entra baseline (modificação ou foi criado)SCI colocado banco de dados de projetos.Se um engenheiro vai trabalhar com esse SCI.SCI é copiado para o ambiente de trabalho local do engenheiro.Assim que o engenheiro terminou e aprovou o SCI.SCI é atualizado no banco de dados.Em alguns caso o SCI original no banco de dados é bloqueado para que não possa ser atualizado por mais ninguem.

Page 10: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Itens de Configuração de Software (SCI)

Informação que é criada como parte do processo de engenharia de software

Especificação do SistemaPlano de Projeto do SoftwareEspecificação dos Requisitos de SoftwareManual Preliminar do UsuárioEspecificação de ProjetoListagem do Código-FontePlano e Procedimento de Testes

Page 11: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Manuais Operacionais e de Instalação Programa executávelDescriçao do banco de dadosManual feito de acordo com o usuárioDocumentos de manutenção Padrões e procedimentos para engenharia de softwareFerramentas de software sob controle de configuração

Itens de Configuração de Software (SCI)

Page 12: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Ferramentas de software sob controle de configuração(Editores, Compiladores e outras ferramentas)

Ex: Um compilador pode mudar de versão e gerar problemas no código

As várias versões do compilador devem ficar disponíveis

Itens de Configuração de Software (SCI)

Page 13: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Os SCIs são organizados para formar "objetos de configuração”.Assim sabe-se qual a interdependência entre os SCIs no caso de uma alteração.

Itens de Configuração de Software (SCI)

Page 14: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Processo de Gerenciamento de Configuração de Software

Software configuration Management (SCM):garantia de qualidade do software. responsabilidade controlar mudanças.

5 tarefas: Identificação Controle da VersãoControle de mudançasAuditoria de configuraçãoRelato de status

Page 15: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Identificação de Objetos

Os SCIs devem ser nomeados separadamente e depois organizados usando uma abordagem orientada a objetosObjetos básicos - "Unidade de texto" criada pelo engenheiro durante a análise, projeto, codificacao ou teste.

Ex: seção especificação de requisitos, conjunto de casos de teste, classe em c++

Objetos compostos - coleção de objetos básicos.Ex: Especificação do projeto

Page 16: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Identificação de Objetos

Cada objeto tem um conjunto de características distintas:

Nome - cadeia de caracteres que o identifica.

Descrição – lista => tipo de sci + identificador projeto + mudança ou versão.

Registro - entidades fornecidas, processadas consultadas. Ex: funções, variáveis, tipos de dados

Relacionamento que existem entre os objetos.Ex: Diagrama E-R 1.4 <parte-de> modelo de dados

Page 17: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Identificação de Objetos

É irreal imaginar que somente relações de hierarquia existam entre objetos.É mais natural haver inter-relacinamentos. Podem ser representados por"Linguagem de interconexão modular (MIL).

Page 18: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Antes da escolha de uma linha base o software podem sofrer atualizações/versões:

Identificação de Objetos

Page 19: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Controle de Versão

Combina ferrmentas e procedimentos para gerenciar diferentes versões de objetos de configuração criadas durante o processo de engenharia de software.Permite ao usuário especificar configurações alternativas do sistema por meio da escolha de versões apropriadas através da associação de atributos.Atributos:

Numero de versão ligado a cada objeto.Cadeia de variáveis boleanas que indicam os tipos especificos das mudanças aplicadas.

Page 20: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Controle de Versão

Page 21: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Controle de Mudanças

Mudanças descontroladas levem um projeto ao caosO Controlde de Mudanças combina procedimentos humanos e ferramentas automatizadas para proporcionar um mecanismo de controle de mudançasAvalição de mudança:

efeitos colateraisImpacto global sobre outros objetos de configuraçãoCusto

Page 22: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Controle de Mudanças - Fluxo de Controle de acesso e Sincronização

Check-in - controle de acesso - governa quais engenheiros de software tem autoridade para acessar e modificar um objetoCheck-out - controle de sincronização - ajuda a garantir que mudanças paralelas, executadas por duas pessoas, não se sobreponham

Page 23: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Controle de Mudanças - Burocrático?

Page 24: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Auditoria de configuraçãoComo garantir que mudança foi adequada?

Revisões técnicas formais

Avaliação da consistência com outros SCIs, omissões ou potenciais efeitos colaterais

auditoria de configuração de software

Avaliação quanto às características não consideradas durante revisão:

Mudança especificada foi feita?Padrões de engenharia foram seguidos?Procedimentos para anotar as mudanças, documentá-las foram seguidos?Todos SCIs relacionados foram atualizados?

Page 25: Gerenciamento de Configuração de Software Alex Caldas Ivã Stival Ivan Stephan.

Relato de Status ( Contabilidade de Status )

Responde as seguintes perguntas:O que aconteceu?Quem o fez?Quando aconteceu?O que mais será afetado?

Papel vital no sucesso de um grande projetoRelatórios são gerados regularmente