Gerência de Configuração em Ambientes de Desenvolvimento de Software Orientados a Organização Sávio Figueiredo, Gleison Santos, Ana Regina Rocha COPPE UFRJ {savio, gleison, darocha}@cos.ufrj.br SBQS 2004 Brasília
Sumário Motivação Objetivo Ambientes de Desenvolvimento de Software Orientados a Organização ISO/IEC 12207 - SWEBOK Área de Processo Gerência de Configuração no CMMI Processo de Gerência de Configuração Ferramenta de Apoio ao Processo Definido Conclusão
Motivação Grande quantidade de itens de informação são produzidos e sofrem alterações durante um projeto de software. É necessário evitar a criação de inconsistências entre estes itens de informação. É necessário evitar a perda do controle do projeto em conseqüência das mudanças.
Objetivo Definir uma abordagem para a gerência de configuração de software em projetos de desenvolvimento de software Auxiliar a execução da atividade de gerência de configuração de software em Ambientes de Desenvolvimento de Software Orientados a Organização
Ambientes de Desenvolvimento de Software Orientados a Organização ADSOrg é uma nova família de ADS definida com o objetivo de prover o conhecimento relevante ao desenvolvimento de software acumulado pela Organização e apoiar o aprendizado organizacional neste contexto.
Gerência de Configuração Abordagem disciplinada para gerenciar a evolução do desenvolvimento de software, práticas de manutenção e os produtos de software. O processo de GCS está fortemente relacionado à atividade de garantia de qualidade, cujo objetivo é monitorar o produto e o processo.
ISO/IEC 12207 - SWEBOK ISO/IEC 12207 Processos de Ciclo de Vida de Software. SWEBOK (Guide to the Software Engineering Body of Knowledge) Guia que procura identificar e descrever o subconjunto de corpo de conhecimento que é geralmente aceito na disciplina de engenharia de software.
Área de Processo Gerência de Configuração no CMMI CMMI Capability Maturity Model Integration Provê um guia para melhoria dos processo de uma organização e sua habilidade de gerenciar o desenvolvimento, aquisição e manutenção de produtos ou serviços. Objetiva a avaliação e a melhoria da capacitação de uma organização. Cada nível de maturidade (com exceção do nível 1) é composto de várias áreas de processo. A área de processo Gerência de Configuração está presente no nível 2 do CMMI
Estabelecer Baselines Estabelecer Integridade Área de Processo Sistema de Gerência de Gerência de Estabelecer Configuração no CMMI Registros de Identificar Itens de Configuração Estabelecer um Sistema de GCS Banco de Dados de Pedidos de Mudanças Pedidos de Mudança GCS Realizar Auditorias de Configuração Situação Resultados da Auditoria Itens de Ação Criar ou Entregar Baselines Registrar e Controlar as Mudanças Registrar Pedidos de Mudança Controlar Itens de Configuração
Processo de Gerência de Configuração Características desejáveis: Controlar as mudanças nos itens de configuração. Identificar a configuração de produtos de trabalho que compõem um baseline. Manter a integridade dos baselines. Prover informação sobre a situação dos itens de configuração aos desenvolvedores, usuários e clientes.
Processo de Gerência de Configuração Planejar Gerência de Configuração Identificar Configuração Controlar Configuração Relatar Situação Auditoria da Configuração Gerência de Liberação e Entrega
Demonstração GConf
Conclusão Definição de um processo de gerência de configuração em projetos de desenvolvimento de software, reunindo características: ISO/IEC 12207 SWEBOK Área de processo Gerência de Configuração do CMMI. Definição e implementação da ferramenta GConf. Integrada aos Ambientes de Desenvolvimento de Software Orientados a Organização
Conclusão Vantagens da ferramenta implementada em relação a outras ferramentas existentes no mercado Controle mais intenso sobre as modificações a serem realizadas Integração com um ADS Consulta e registro de conhecimento relacionado às atividades do processo de GCS
Conclusão Possíveis melhorias: Apoio de forma automática a identificação dos itens de informação que deverão ficar sob gerência de configuração. Definição de algum mecanismo que auxilie na identificação do impacto de uma alteração.