Escolar Documentos
Profissional Documentos
Cultura Documentos
Programa de A A1 A2 A3
Componente Compartilhado
Programa de B B1 B2 B3
Programa de A A1 A2 A3
Componente Compartilhado
Componente Compartilhado
Programa de B B1 B2 B3
Desenvolvedor A
Componente Compartilhado
Desenvolvedor B
Programa de A A1 A2 A3
Programa de B B1 B2 B3
8
Como Resolver?
O problema da atualizao simultnea no pode ser resolvido simplesmente copiando componentes compartilhados para uma biblioteca central Algum mecanismo de controle necessrio para gerenciar a entrada e sada dos componentes
11
Processos de Apoio
Documentao
Processos Organizacionais
Gerncia Melhoria Infra-estrutura Treinamento
12
Definio Manuteno
Desenvolvimento
informaes
13
construo
Plano de Projeto
Especificao de Requisitos
operao
Especificao de Projeto
Definio Etc..
Documentos de Manuteno Desenvolvimento Planos de Teste
Manuteno
Listagens Cdigo Fonte Casos de Teste
14
construo
Plano de Projeto
Especificao de Requisitos
operao
Especificao de Projeto
Definio Etc..
MUDANAS
Manuteno
Listagens Cdigo Fonte
Casos de Teste
15
construo
Plano de Projeto
Especificao de Requisitos
operao
Especificao de Projeto
Definio Etc..
S O MUDANAS A C
Manuteno
Listagens Cdigo Fonte
17
18
20
Programas de computador, procedimentos, documentao relacionada e informaes designadas para serem entregues a um cliente ou usurio final Tambm designada de artefato
21
descrio de processos, planos, procedimentos, programas de computador e documentos relacionados, que podem ou no ter a finalidade de ser entregue a um cliente ou usurio final.
22
Configurao de Software
23
24
Conjunto de atividades que devem ser desenvolvidas para administrar as alteraes durante o ciclo de vida do software
25
26
4- Auditoria de 4- Como se pode garantir que as Configurao mudanas foram feitas adequadamente?
29
30
CONCEITOS FUNDAMENTAIS
Linhas-base (referencial, padro de referncia) Repositrio dos Itens de Configurao Check-in / Check-out
31
CONCEITOS FUNDAMENTAIS
Linhas-base (referencial, padro de referncia) Repositrio dos Itens de Configurao Check-in / Check-out
32
Uma linha-base um conceito de Gerenciamento de Configurao de Software que ajuda a controlar as mudanas sem impedir seriamente as mudanas justificveis.
33
Gerenciamento de Configurao de Software Conceitos Fundamentais - Linhas-base As linhas-base podem ocorrer no fim de cada uma das fases do processo de desenvolvimento de software, ou de algum outro modo definido pela gerncia.
34
Um item de configurao de software que passou por uma linha-base considerado congelado ou dito que o item tornou-se uma linha bsica
35
Gerenciamento de Configurao de Software Conceitos Fundamentais - Linhas-base Um item de configurao de software congelado possui as seguintes caractersticas:
foi revisto formalmente e teve a concordncia das partes serve como base para trabalho futuro armazenado em um Repositrio de Itens de Configurao pode ser alterado somente atravs de procedimentos formais de controle de mudana
36
B
Item de configurao (verso extrada) Engenheiro de software
A B C
Item de configurao (verso congelada)
37
B
Retirar
CONCEITOS FUNDAMENTAIS
38
Um repositrio de itens de configurao um local sob controle de acesso (banco de dados) onde so armazenados os Itens de Configurao de Software depois de liberados por uma linha-base.
39
Nos pontos estabelecidos pelas linhas de referncia, os itens de configurao devem ser identificados, analisados, corrigidos , aprovados e armazenados no repositrio de itens de configurao
40
Os itens de um repositrio de itens de configurao s podero ser alterados aps uma solicitao de alterao formalmente aprovada pelo gerente de configurao. Essa uma forma de garantir controle sobre a situao de cada um dos itens de configurao, evitando inconsistncias.
41
CONCEITOS FUNDAMENTAIS
42
CHECK OUT
Check In/Check Out o mtodo utilizado para trabalhar com itens de configurao que j esto no repositrio, ou seja, conferncia na entrada e conferncia na sada.
43
CHECK OUT
Quando for desejada uma alterao em algum item de configurao do repositrio, uma cpia do item colocada numa rea de trabalho do desenvolvedor (check out) Dentro de sua rea, o desenvolvedor tem total liberdade de trabalho.
44
CHECK OUT
Check-out Retirar
CHECK OUT
Check-out Retirar
CHECK OUT
Repositrio de CONTROLE DE CONCORRNCIA Controle itens de a partir desse momento, nenhum outro de acesso Inform. de configurao desenvolvedor poder alterar o mesmo item propriedade bloquear Check-out Retirar Item de configurao (verso baselined)
47
CHECK OUT
Aps o final das alteraes no item de configurao, ele ser revisado e recolocado no repositrio (check in). Uma nova linha-base dever ser traada, de modo que uma nova configurao contendo o item alterado seja formada e congelada no repositrio
48
CHECK OUT
Item de configurao (verso modificada)
Check-in Colocar
Inform. de auditoria Controle de acesso Inform. de Engenheiro propriedade de software Item de configurao (verso extrada) bloquear Check-out Retirar
CHECK OUT
Depois do congelamento, o acesso liberado, permitindo que outros desenvolvedores tambm executem alteraes sobre esse item de configurao.
50
CHECK OUT
Item de configurao (verso modificada)
Inform. de auditoria Controle de acesso Inform. de Engenheiro propriedade de software Item de configurao (verso extrada) bloquear Check-out Retirar
1- Tarefas Preliminares
1.1: Selecionar os itens a serem gerenciados.
importante que seja efetuada uma seleo dos itens relevantes, porque uma superdocumentao torna o gerenciamento de configurao muito oneroso.
54
1- Tarefas Preliminares
1.1: Selecionar os itens a serem gerenciados (cont).
Geralmente, devem estar sob gerenciamento de configurao:
os itens mais usados no ciclo de vida, os itens mais genricos os itens mais importantes para a segurana os itens projetados para reuso os itens que podem ser modificados por vrios desenvolvedores ao mesmo tempo.
55
1- Tarefas Preliminares
1.1: Selecionar os itens a serem gerenciados (cont).
Somente os itens selecionados sero controlados, sendo que os outros itens podero ser alterados livremente. Exemplo de itens sugeridos por Pressman
56
57
1- Tarefas Preliminares
1.2: Descrever como os itens selecionados relacionam-se
A identificao desses relacionamentos muito importante para a manuteno, pois permite que se localize rapidamente os itens afetados por cada alterao. Consideram-se cinco classes de relacionamento:
58
CLASSES DE RELACIONAMENTO
Equivalncia
Ex: BD em disco e em fita magntica
Dependncia
Ex: a descrio do projeto modular dependente da especificao do projeto
Derivao
Ex: cdigo objeto derivado do cdigo fonte
Sucesso
Ex: a verso 1.2 sucessora da verso 1.1
Variante
Ex: verso para DOS ou para UNIX
59
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 manuteno. Deve-se especificar quais itens sero revisados e armazenados em cada uma das linhas-base planejadas.
60
1- Tarefas Preliminares
1.4 Descrever a maneira como os itens sero arquivados e recuperados do repositrio.
61
2- Identificao
Criar um esquema de identificao atribuir nomes nicos a cada um dos componentes Pelo nome deve ser possvel reconhecer
a evoluo de cada uma das verses dos componentes a hierarquia existente entre componentes
63
2- Identificao
Exemplo simples de um esquema de identificao para um projeto cuja sigla AA O esquema de identificao utiliza a combinao de:
nome do projeto tipo de item nome do item verso do item
64
2- Identificao
Exemplo de um esquema de identificao dos itens de configurao
Item Especificao do Sistema Plano de Projeto Especificao de Requisitos do Software Especificao de Projeto Programa Fonte Programa Fonte (sub-rotinas) Plano e Casos de Testes Nova verso das sub-rotinas Projeto AA AA AA AA AA AA AA AA Tipo ES PP ER EP PF PF TT PF Nome Verso 1.1 1.1 1.1 1.1 1.1 1.1 1.1 1.2 Nome completo AAES AAPP AAER AAEP AAPFPrin AAPFRot AATT AAPFRot v1.1 v1.1 v1.1 v1.1 v1.1 v1.1 v1.1 v1.2
65
3- Controle de Mudanas
Durante o processo de desenvolvimento de software, mudanas descontroladas podem levar rapidamente ao caos. Assim, deve ser institudo na organizao um processo que combine procedimentos humanos e ferramentas automatizadas para proporcionar um mecanismo de controle das mudanas.
67
3- Controle de Mudanas
O processo de controle de mudanas deve ser implementado depois que uma linha de referncia for fixada - antes disso, somente um controle de mudanas informal precisa ser aplicado A seguir, um exemplo para ilustrar um processo de controle de mudanas que pode ser implementado para os itens que j passaram por uma linha de referncia.
68
Pedido de Mudana
Anlise
Relatrio de Mudana
Execuo da Mudana
Verificao e Testes
Equipe de Desenvolvimento
69
3- Controle de Mudanas
Os procedimentos de controle das mudanas:
asseguram que as mudanas em um software sejam feitas de modo controlado, permitindo-se prever o efeito das mesmas em todo o sistema.
70
3- Controle de Mudanas
Procedimentos formais de organizao e de controle das mudanas no sistema permitem que:
1.
os pedidos de alterao possam ser considerados em conjunto com outros pedidos. os pedidos similares possam ser agrupados.
2.
71
3- Controle de Mudanas
Procedimentos formais de organizao e de controle das mudanas no sistema permitem que (cont.):
3. os pedidos incompatveis entre si ou com os objetivos do sistema possam ser identificados. 4. possam ser atribudas prioridades aos pedidos e, de acordo com essas prioridades, possam ser gerados cronogramas.
72
4- Controle de Verses
Um item, ao ser desenvolvido, evolui at que atinja um estado em que atenda aos propsitos para o qual foi criado. Isso implica em diversas alteraes, gerando uma verso do item a cada estado.
74
4- Controle de Verses
Para estabelecer o controle sobre as diversas verses, todas as verses devem ser armazenadas e identificadas. Isso, geralmente, feito com o auxlio de uma ferramenta. A verso do item pode ser includa no esquema de identificao ou ser acessvel a partir de uma tabela parte.
75
4- Controle de Verses
conveniente que o esquema de identificao das verses dos itens seja feito em forma de rvore, pois ao mesmo tempo em que mantm um histrico das verses dos itens, permite identificao nica e ramificaes a partir de qualquer verso.
76
5- Auditoria de Configurao
A auditoria da configurao compreende atividades para garantir que as alteraes na configurao de software foram efetuadas apropriadamente A identificao e controle das alteraes ajudam a manter ordem mas, para assegurar que a alterao foi implementada apropriadamente, h necessidade de auditorias
78
5- Auditoria de Configurao
Existem dois tipos de auditoria de configurao de software que so obrigatrias nas linhas de referncia do ciclo de desenvolvimento e manuteno de software:
Auditoria Funcional Auditoria Fsica
79
AUDITORIA FUNCIONAL
A auditoria funcional preocupa-se com aspectos internos dos arquivos, compreendendo uma verificao tcnica formal nos itens de configurao. Essa verificao uma atividade de controle de qualidade que tenta descobrir omisses ou erros na configurao, que degradam os padres de construo do software.
80
AUDITORIA FSICA
A auditoria fsica complementa a auditoria funcional, determinando caractersticas no consideradas durante a reviso Algumas perguntas podem ser feitas:
81
82
6- Relato de Situao
O objetivo do Relato de Situao relatar a todas as pessoas envolvidas no desenvolvimento e na manuteno do software. As seguintes informaes sobre as alteraes na configurao de software:
O que aconteceu? Quem o fez? Quando aconteceu? O que mais ser afetado?
84
6- Relato da Situao
FLUXO DE INFORMAO PARA O RELATO DE SITUAO
85
7- Controle de Interface
As atividades de controle de interface (ou fronteira) coordenam as mudanas nos itens de configurao que so afetados por itens que no estejam sendo controlados.
87
7- Controle de Interface
Equipamentos, sistemas de software, software de suporte, assim como outros projetos devem ser examinados em busca de possveis interfaces com o projeto sob controle.
88
7- Controle de Interface
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 sero aprovados.
89
As atividades de controle de subcontratados e fornecedores coordenam a forma como os itens que foram desenvolvidos por solicitao a outras empresas ou foram adquiridos j prontos so testados e incorporados ao repositrio do projeto.
91
92
93
Ferramentas de GCS
Ferramentas de software podem auxiliar as atividades de gerenciamento de configurao de software. Exemplos de ferramentas:
CVS (Concurrent Versions System) http://www.cvshome.org/ RCS (Revision Control System) http://www.gnu.org/software/rcs/rcs.html
94
Ferramentas de GCS
Exemplos de ferramentas (cont):
SCCS (Source Code Control System) http://www.cvshome.org/cyclic/cyclicpages/sccs.html VersionWeb (Web Pages Versions Management) http://versionweb.sourceforge.net/
95