Gerenciamento de Configuração

Documentos relacionados
Tarefas de Gerenciamento de Configuração

Gerenciamento de Configuração de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Processo de Desenvolvimento de Software

Engenharia de Software II

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação

Engenharia de Software. Prof. Raquel Silveira

- 6ª Lista de Exercícios -

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Gerenciamento de Configuração de Software

Material cedido por André Santos. Objetivo

Gerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Atividades da Engenharia de Software. Processo de Desenvolvimento de

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

ISO/IEC 12207: Manutenção

Engenharia de Software I

Versão: 1.0 Doc Manager

Requisitos de Sistemas

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

Princípios da Engenharia de Software aula 03

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

Engenharia de Software

Gerenciamento de configuração e mudança

Gerência da Configuração de Software. Teresa Maciel DEINFO/UFRPE

ENGENHARIA DE SOFTWARE

ITIL v3 Transição de Serviço Parte 1

Gerência de Configuração: Ramificação e Integração. Leonardo Gresta Paulino Murta

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Normas ISO:

Capítulo 25. Gerenciamento de Configuração Pearson PrenticeHall. Todos os direitos reservados. slide 1

5 Usando as Representações de Design Rationale

Manutenção Leitura: Sommerville; Pressman

Análise de sistemas. Engenharia de Requisitos

Gerência de Configuração

Gerenciamento Eletrônico de Documentos

QUALIDADE DE SOFTWARE ISO/IEC Segunda Edição Prof. Edison A M Morais

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

1. Quando algo visível para os usuário finais é um desvio em relação ao especificado ou um comportamento não esperado, isso é chamado de:

PROJETO DE BANCO DE DADOS

Gerência de Configuração de Software Conceitos

132 6 Conclusão 6.1. Contribuições da Tese

ENGENHARIA DE REQUISITOS

GERENCIAMENTO DA QUALIDADE DO PROJETO

CVS Concurrent Versions System

Gerência de Configuração: Introdução. Leonardo Gresta Paulino Murta

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Gerenciamento de Redes

Contextualizando ISO 12207: Estrutura. Informações do Processo de Software. Processo de Desenvolvimento de Software

Engenharia de Software II

MODELOS DE PROCESSOS (PARTE 2)

Visão Geral da Norma ISO/IEC 12207

Engenharia de Software II

Gerenciamento de Projetos

Infor LN Service Guia do usuário para o nivelamento da carga de trabalho

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Gerencia de Configuração

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato.

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

Desenvolvido pelo Software Engineering Institute-SEI em 1992 Possui representação por estágios (5 níveis)e contínua (6 níveis)

Leitura: Cap : Sommerville; cap20: Pressman

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Plano de Gerenciamento de Configuração

Análise de Sistemas I

ENGENHARIA DE SOFTWARE

CONTPATRI Plano de Garantia de Qualidade. Versão 1.1

Engenharia de Requisitos

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

ISO/IEC 12207: Verificação, Validação e Testes

ENGENHARIA DE SOFTWARE. Introdução

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

CONTEÚDO DO HP ALM 11.5 ADOPTION READINESS TOOL (ART)

Conceitos de Sistemas de Banco de Dados INE 5323

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Processo de Gerência de Configuração. Maurício Ronny de Almeida Souza

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave

ISO/IEC Roteiro IEC ISO. Histórico ISO/IEC ISO

Gerência de Configuração: Processos e Ferramentas. Leonardo Gresta Paulino Murta

Documentação de Software

Unidade 4 Teste na Implantação do Sistema

Sistemas da Informação. Banco de Dados I. Edson Thizon

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

Análise de Sistemas Aula 4

Definições e ciclo de vida

PMBOK Processo Planejamento

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

Processos de software

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

ENGENHARIA DOS REQUISITOS

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012

Transcrição:

Gerenciamento de Configuração WAZLAWICK, Raul S. Engenharia de Software: Conceitos e Práticas.1 ed. Rio de Janeiro: Elsevier, 2013. PRESSMAN, Roger S. Engenharia de Software. 6 ed.são Paulo: McGraw-Hill, 2006. BABICH, Wayne A. Software Configuration Management: coordination for team productivity. (s.l.) Addinson-Wesley, 1986. BERSOFF, Edward. H., HENDERSON, Vilas D., SIEGEL, Stanley G. Software Configuration Management: an investiment in product integrity. (s.l.) Prentice-hall, 1980. Material do Curso de Sistemas de Informação, PUC Minas. Prof. Humberto Torres Marques Neto - Abril / 2009, Prof. André Pereira Viveiros - Fevereiro / 2012

Já perdeu uma versão anterior do arquivo do projeto e precisou dela? Já teve dificuldade de manter duas versões diferentes do sistemas executando ao mesmo tempo? Alguém já modificou indevidamente um códigofonte e o original não poderia ter sido perdido? Tem dificuldade em saber quem modificou o quê em um projeto? 2

Se você respondeu SIM a alguma destas perguntas. Foi isso o que ocorreu... 3

4

5

6

7

Gerenciamento da Configuração de Software A arte de coordenar o desenvolvimento de software para minimizar a confusão é denominada Gerenciamento de Configuração (Babich) 8

Gerenciamento da Configuração de Software O Gerenciamento de Configuração do Software é um importante elemento da garantia da Qualidade de Software 9

O gerenciamento de configuração vai rastrear todos os artefatos do projeto => itens de configuração e manter o controle sobre o trabalho paralelo de vários desenvolvedores 10

11

Gerenciamento de Configuração: Gerencia a configuração do software 12

GERENCIAMENTO DE CONFIGURAÇÃO Conjunto de atividades que devem ser desenvolvidas para administrar as alterações durante o ciclo de vida do software 13

Gerenciamento de Configuração de Software O Gerenciamento de Configuração de Software oferece uma memória da situação dos produtos de desenvolvimento de software. Quando muitas pessoas estão trabalhando no mesmo produto, o Gerenciamento de Configuração de Software coordena o acesso para realizar alterações de produtos de desenvolvimento de software. 14

15

CONCEITOS FUNDAMENTAIS Linhas-base (referencial, padrão de referência) Release ou Entrega Repositório dos Itens de Configuração Check-in / Check-out Rastreabilidade 16

Linhas-base Podem ocorrer no fim de cada uma das fases do processo de desenvolvimento de software, ou de algum outro modo definido pela gerência Um item de configuração de software que passou por uma linha-base é considerado congelado ou é dito que o item tornou-se uma linha básica Definição do Sistema ------------------------Especificação do Sistema Análise dos Requisitos ------------------------Especificação dos Requisitos do Software Projeto do Software ------------------------Especificação do Projeto Codificação ------------------------Código Fonte Teste ------------------------Dados/Procedimento/ Planos de Teste Sistema implantado e operacional 17

Item de configuração congelado Um item de configuração de software congelado possui as seguintes características: foi revisto formalmente e teve a concordância 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 18

Release ou Entrega Distribuição de uma nova versão do software (ou mesmo de um item de configuração) para fora do ambiente de desenvolvimento. A vantagem do uso de sistemas de controle de versão está em que releases atuais ou anteriores podem ser geradas a qualquer momento a partir das baselines e das mudanças armazenadas por elas 19

Repositório de Itens de Configuração Local sob controle de acesso (banco de dados) onde são armazenados os Itens de Configuração de Software depois de liberados por uma linha-base. Nos pontos estabelecidos pelas linhas de referência, os itens de configuração devem ser identificados, analisados, corrigidos, aprovados e armazenados no repositório de itens de configuração 20

Repositório de Itens de Configuração Os itens de um repositório só poderão ser alterados após uma solicitação de alteração formalmente aprovada pelo gerente de configuração. Essa é uma forma de garantir controle sobre a situação de cada um dos itens de configuração, evitando inconsistências. 21

Check In/Check Out Método utilizado para trabalhar com itens de configuração que já estão no repositório, ou seja, conferência na entrada e conferência na saída. Quando for desejada uma alteração em algum item de configuração do repositório (o item está NA VERSÃO CONGELAD), uma cópia do item é colocada numa área de trabalho do desenvolvedor ( check out - RETIRAR). Dentro de sua área, o desenvolvedor tem total liberdade de trabalho na VERSÃO EXTRAÍDA. 22

Check In/Check Out Após o final das alterações no item de configuração, ele será revisado e recolocado no repositório ( check in - COLOCAR). Uma nova linha-base deverá ser traçada, de modo que uma nova configuração contendo o item alterado seja formada e congelada no repositório. Depois do congelamento, o acesso é liberado, permitindo que outros desenvolvedores também executem alterações sobre esse item de configuração. 23

Entre o check-out e o check-in Um módulo de controle de acesso: administra as autorizações para acessar e modificar o item de configuração a partir do check-out a partir desse momento, nenhum outro desenvolvedor poderá alterar o mesmo item (bloqueia o check-out) usa informações de propriedade do desenvolvedor guarda informações de auditoria de configuração desbloqueia quando ocorre o check-in 24

Rastreabilidade (Controle de Rastros) 25

Rastreabilidade (Controle de Rastros) Manter um controle dos rastros entre os artefatos de análise, design e código. Quando são feitas alterações em artefatos é necessário manter a consistência com outros artefatos, caso contrário: Documentação desatualizada e inútil Caos 26

Rastreabilidade Técnicas: Matriz de Rastreabilidade: associa elementos entre si (p.ex. Casos de uso e seus respectivos diagramas de sequência; diagramas de sequência e seus respectivos programas Recuperação de rastreabilidade automática entre artefatos a partir de evidências sintáticas (nomes dos artefatos) * Importante! a criação de elementos/artefatos apenas podem ser criados como uma derivação de algum elemento que já existia. * Assim, sempre que um item é criado no repositório do projeto, um rastro deve ser automaticamente criado entre ele e o elemento que lhe deu origem. * Apenas itens que representam requisitos (que vem do cliente) podem ser adicionados ao repositório sem que isso ocorra por derivação de outros itens 27

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 28

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 29

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 30

1- Tarefas Preliminares 1.1: Selecionar os itens a serem gerenciados. É importante que seja efetuada uma seleção dos itens relevantes, porque uma superdocumentação torna o gerenciamento de configuração muito oneroso. Geralmente, devem estar sob 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 reuso os itens que podem ser modificados por vários desenvolvedores ao mesmo tempo. 31 Somente os itens selecionados serão controlados, sendo que os outros itens poderão ser alterados livremente.

32 Exemplo de itens sugeridos por Pressman

1- Tarefas Preliminares 1.2: Descrever como os itens selecionados relacionam-se A identificação desses relacionamentos é muito importante para a manutenção, pois permite que se localize rapidamente os itens afetados por cada alteração. Consideram-se cinco CLASSES DE RELACIONAMENTO: 1) Equivalência. Ex: BD em disco e em fita magnética 2) Dependência. Ex: a descrição do projeto modular é dependente da especificação do projeto 3) Derivação. Ex: código objeto é derivado do código fonte 4) Sucessão. Ex: a versão 1.2 é sucessora da versão 1.1 5) Variante. Ex: versão para DOS ou para UNIX 33

1- Tarefas Preliminares 1.3 Planejar as linhas-base dentro do ciclo de vida do projeto. Geralmente, cria-se uma linha-base ao final de cada fase do ciclo de vida do projeto e, periodicamente, depois de cada manutenção. Deve-se especificar quais itens serão revisados e armazenados em cada uma das linhas-base planejadas. 34

1- Tarefas Preliminares 1.4 Descrever a maneira como os itens serão arquivados e recuperados do repositório. 35

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 36

2- Identificação Criar um esquema de identificação: atribuir nomes únicos a cada um dos componentes pelo nome deve ser possível reconhecer a evolução de cada uma das versões dos componentes a hierarquia existente entre componentes Exemplo simples de um esquema de identificação para um projeto cuja sigla é AA O esquema de identificação utiliza a combinação de: nome do projeto, tipo de item, nome do item, versão do item 37

38

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 39

3- Controle de Mudanças Durante o processo de desenvolvimento de software, mudanças descontroladas podem levar rapidamente ao caos. Assim, deve ser instituído na organização um processo que combine procedimentos humanos e ferramentas automatizadas para proporcionar um mecanismo de controle das mudanças. O processo de controle de mudanças deve ser implementado depois que uma baseline for fixada - antes disso, somente um controle de mudanças informal precisa ser aplicado A seguir, um exemplo para ilustrar um processo de controle de mudanças que pode ser implementado para os itens que já passaram por uma linha de referência. 40

41

3- Controle de Mudanças Os procedimentos de controle das mudanças: asseguram que as mudanças em um software sejam feitas de modo controlado, permitindo-se prever o efeito das mesmas em todo o sistema. Procedimentos formais de organização e de controle das mudanças no sistema permitem que: 1)os pedidos de alteração possam ser considerados em conjunto com outros pedidos 2)os pedidos similares possam ser agrupados 3)os pedidos incompatíveis entre si ou com os objetivos do sistema possam ser identificados. 4)possam ser atribuídas prioridades aos pedidos e, de acordo com essas prioridades, possam ser gerados cronogramas. 42

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 43

4- Controle de Versões Um item, ao ser desenvolvido, evolui até que atinja um estado em que atenda aos propósitos para o qual foi criado. Isso implica em diversas alterações, gerando uma versão do item a cada estado. Para estabelecer o controle sobre as diversas versões, todas as versões devem ser armazenadas e identificadas. Geralmente, isso é feito com o auxílio de uma ferramenta. A versão do item pode ser incluída no esquema de identificação ou ser acessível a partir de uma tabela à parte. É conveniente que o esquema de identificação das versões dos itens seja feito em forma de árvore, pois ao mesmo tempo em que mantém um histórico das versões dos itens, permite identificação única e ramificações a partir de qualquer versão. 44

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 45

5- Auditoria de Configuração Compreende atividades para garantir que as alterações na configuração de software foram efetuadas apropriadamente A identificação e controle das alterações ajudam a manter ordem mas, para assegurar que a alteração foi implementada apropriadamente, há necessidade de auditorias 46

Tipos de auditoria de configuração São obrigatórias nas linhas de referência do ciclo de desenvolvimento e manutenção de sw: Revisão Técnica Auditoria Funcional: aspectos internos dos arquivos, compreendendo uma verificação técnica formal nos itens de configuração. Essa verificação é uma atividade de controle de qualidade que tenta descobrir omissões ou erros na configuração, que degradam os padrões de construção do software. Auditoria Física: Auditoria de Configuração As alterações especificadas na Ordem de Alteração foram efetuadas? Alguma modificação adicional foi incorporada? 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 gerenciamento de configuração? Todos os itens de configuração relacionados foram atualizados apropriadamente? 47

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 48

6- Relato de Situação O objetivo do Relato de Situação é relatar a todas as pessoas envolvidas no desenvolvimento e na manutenção do software. As seguintes informações sobre as alterações na configuração de software: O que aconteceu? Quem o fez? Quando aconteceu? O que mais será afetado? 49

50

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 51

7- Controle de Interface As atividades de controle de interface (ou fronteira) coordenam as mudanças nos itens de configuração que são afetados por itens que não estejam sendo controlados. Equipamentos, sistemas de software, software de suporte, assim como outros projetos devem ser examinados em busca de possíveis interfaces com o projeto sob controle. 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 interface serão aprovados. 52

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 53

8- Controle de Subcontratados e Fornecedores As atividades de controle de subcontratados e fornecedores coordenam a forma como os itens que foram desenvolvidos por solicitação a outras empresas ou foram adquiridos já prontos são testados e incorporados ao repositório do projeto. Para itens subcontratados deve-se descrever: a) Os requisitos de gerenciamento de configuração de software a serem satisfeitos pelo subcontratado b) Como será feito o monitoramento sobre o subcontratado c) Como o código, documentação e dados externos serão testados, aceitos e adicionados ao projeto d) Como serão tratadas as questões de propriedade do código produzido, como direitos autorais e de propriedade (licenças). 54

8- Controle de Subcontratados e Fornecedores Para itens adquiridos prontos deve-se descrever: a) Como serão recebidos, testados e colocados sob controle de gerenciamento de configuração b) Como as mudanças no software do fornecedor serão tratadas c) Se e como o fornecedor participará no processo de gerenciamento de mudança do projeto 55

Ferramentas de GCS Ferramentas de software podem auxiliar as atividades de gerenciamento de configuração de software. 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/ 56