A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gerência de configuração aplicada ao DBC: estado da arte Vanilson Burégio

Apresentações semelhantes


Apresentação em tema: "Gerência de configuração aplicada ao DBC: estado da arte Vanilson Burégio"— Transcrição da apresentação:

1 Gerência de configuração aplicada ao DBC: estado da arte Vanilson Burégio

2 Reuse in Software Engineering Group Roteiro  História  Contexto  Gerenciamento de componentes  GCS no DBC  Motivação  Questões  Abordagens  Ferramentas  Conclusão  Referências

3 Reuse in Software Engineering Group História {anos 60}  Desenvolvimento de software em larga escala  Programação não é tudo!!  Estrutura do software (Arquitetura?)  Building?  Evolução?  Crise de Software

4 Reuse in Software Engineering Group História {anos 70}  Busca de soluções…  Notações  Técnicas  Ferramentas Case  Surgimento do gerenciamento de configuração “A arte de coordenar o desenvolvimento de software para minimizar …a confusão…” [Babich, 1986] “A arte de coordenar o desenvolvimento de software para minimizar …a confusão…” [Babich, 1986]

5 Reuse in Software Engineering Group História {anos 80}  Gerência de Configuração de Software (GCS)  Versionamento  Rebuilding  Composição  Primeiros sistemas “caseiros” para controle de arquivos  Scripts Unix sobre RCS (ferramenta simples de controle de versão) e Make

6 Reuse in Software Engineering Group História {anos 90}  Surgimento de produtos reais de GCS  Sem suporte a processo, apenas controle de arquivo  Suporte a workspace  Líderes de mercado: ClearCase, Continuus  Segunda metade dos anos 90…  Consagração da GCS  essencial no desenvolvimento de software  tecnologia bem estabelecida  suporte a processo  1998: mais de $1bilhão de vendas! [Estublier, 2000]

7 Reuse in Software Engineering Group História {anos 90}  Por outro lado...  Surge o DBC (Desenvolvimento Baseado em Componentes) -Produtividade -Qualidade -Competitividade Novas abordagens => Novos problemas

8 Reuse in Software Engineering Group História {Resumo} GCS Crise de Software GCS DBC Evolução do Software Produto de Software Software customizado (distribuição limitada) Sistemas distribuídos Hardware de baixo custo Tecnologias orientadas a objetos computação paralela DBC GCS aplicada ao DBC "Software developers’principle tasks will shift from coding to designing and integrating“ [Voas, 1998]

9 Reuse in Software Engineering Group Contexto {Gerenciamento de componentes}  [Apperly, 2001]  Processo de produção-gerência-consumo  Produtor: implementa componentes  Consumidor: busca e usa componentes  Gerenciador de componentes: interface entre produtor e consumidor  Mais que um repositório estático de componentes  Deve possuir interfaces com os serviços necessários aos produtores e consumidores de componentes

10 Reuse in Software Engineering Group Contexto {Gerenciamento de componentes} Processo de Produção Gerência de configuração Repositório de componentes Processo de gerência Processo de Consumo Gerenciador de componentes  Gerência do repositório  Gerência dos usuários do repositório  Controle de qualidade  Controle da disponibilidade  Gerência de componentes  Gerência de versões dos componentes  Implementação de componentes  Documentação de componentes  (Re)Publicação de componentes  Notificar consumidores sobre novos componentes ou problemas  Busca de componentes  Especificação de componentes a serem produzidos  Uso/reuso de componentes  Deploy de componentes  Registrar interesse em componentes ProdutorConsumidor Escopo

11 Reuse in Software Engineering Group GCS no DBC {Motivação}  [Voas, 1998]  “Without revision control, the component maintenance process will bring more disaster than benefit to your application development process”  [Mei, 2001]  “More and more software development organizations have noticed the importance of SCM, and viewed SCM as their infrastructure for software development.”

12 Reuse in Software Engineering Group GCS no DBC {Motivação}  [Apperly, 2001]  “One of the primary ways to enable a successful component development life cycle is to implement a process that includes an integrated configuration management and component library environment.”

13 Reuse in Software Engineering Group GCS no DBC {Questões}  [Mei, 2001]  Visualizar um componente como um item de configuração (IC) e operar sobre componentes e não sobre arquivos individuais  Controlar modificações concorrentes em cada componente  Gerenciar a composição e relacionamentos entre componentes  [Apperly, 2001]  Suportar os níveis de abstração de um componente  [Larsson, 2001]  manter o rastreamento de componentes e seus inter-relacionamentos Técnicas tradicionais de GCS não suportam DBC

14 Reuse in Software Engineering Group GCS no DBC {Questões}  Gerenciamento de versões  Identificação de versões  Estabelecer nomenclatura padrão  Informações a serem consideradas?  Evolução dos componentes  relacionamentos internos  relacionamentos externos  Gerenciamento de Mudanças  Manter a consistência  Diferentes níveis de compatibilidade  Análise de impactos  controle de dependências  rastreabilidade

15 Reuse in Software Engineering Group GCS no DBC {Abordagens}  Níveis de abstração  [Apperly, 2001]  Modelo de GCS para DBC  [Mei, 2001]  Modelo de versionamento  [Gergic, 2003]  Atualização de componentes  [Plasil, 1997]  [Cook, 1999]  [Vandewoude, 2002]  Controle de dependências  [Lucas, 1997]  [Larsson, 2001]

16 Reuse in Software Engineering Group GCS no DBC {Abordagens} Executável Especificação Implementação Deployment.exe.dll.jar... JavaC#C++... Deploy 1Deploy 2Deploy 3... Uma especificação pode possuir mais de uma implementação Uma implementação pode possuir mais de um executável Um executável pode possuir mais de um deploy Componente  Níveis de abstração [Apperly, 2001] Problema: gerenciar os links (dependências) existentes entre cada nível de abstração do componente

17 Reuse in Software Engineering Group GCS no DBC {Abordagens}  Gerência de componentes [Apperly, 2001]  Tarefa difícil! Grande necessidade de ferramentas  Componente deve ser visto sob seus diferentes níveis de abstração  Gerenciamento de versões [Apperly, 2001]  Identificação de versão  Cada nível de abstração também precisa ser identificado  Exemplo: V 1.0 V 1.1 V. 1.1 V 1.1 Componente vr. 1.1Componente vr. 1.2 V 1.0 V 1.2 V. 1.2 V 1.2

18 Reuse in Software Engineering Group GCS no DBC {Abordagens}  Modelo de GCS para DBC [Mei, 2001]  Conceitos básicos  File: unidades de armazenamento, não representam constituintes lógicas  Component: constituinte lógica do sistema (componentes primitivos e componentes compostos)  Configuration: configurations representam componentes compostos (conjunto de configuration item). oConfiguration item (CI): componente primitivo ou configuração existente  Baseline: versão de uma configuração (configuration). Formada pela seleção de uma versão ou baseline de cada CI na configuração.  Relationship: representa as relações entre componentes. Ex.: relação de dependência Configuration Componente primitivo Sub-configuration

19 Reuse in Software Engineering Group GCS no DBC {Abordagens}  Modelo de GCS para DBC [Mei, 2001] The Construction and Evolution of Composite Components Composite Components The evolution of primitive components Primitive Components Component Adaptation Component Development Component Composition Advanced Evolution Configuration Criation Baseline Criation Configuration Modification Configuration Branching Checkout and Checkin of Primitive Components Branching and Merging of Primitive Components Concurrency of Primitive Components Relationship creation and Tracing SCM Support

20 Reuse in Software Engineering Group GCS no DBC {Abordagens}  Questões chaves do modelo [Mei, 2001]  Manutenção de consistência  Qualquer versão/baseline deve ser logicamente um componente  Estratégia de concorrência  Para arquivos: exclusive-write  modificação do componente: estilo checkout-edit-checkin  Merging horizontal e vertical Branch Merge A BCBCD A BCD Merge Horizontal Antes do merge Merge Vertical Depois do merge 1.5 Merge Árvore de versão de um componente primitivo

21 Reuse in Software Engineering Group GCS no DBC {Abordagens}  Modelo de versionamento [Gergic, 2003]  SOFA/DCUP  Versões com mais informações (atributos/relações)  apache mdk-i586.rpm  Repositório de versões  Contém informações de todas entidades versionadas  Busca com MQL (M-Cube Query Language) oSELECT component_implementations HAVING (OS successor "Win95")

22 Reuse in Software Engineering Group GCS no DBC {Abordagens}  Atualização de componentes  DCUP [Plasil, 1997]  Dynamkic Component Updating (Java/CORBA)  Framework Hercules [Cook, 1999]  Atualização de componentes com suporte a múltiplas versões simultâneas em tempo de execução  Atualizações dinâmicas [Vandewode, 2002]  SEESCOA – sistema de componentes em Java com suporte a atualizações dinâmicas  Informações de versão incluídas nas classes Java quando carregadas  Controle de dependências  Contratos de reuso [Lucas, 1997]  Dependências controladas através de documentação  Especificação de dependências [Larsson, 2001]  Dependency Browser

23 Reuse in Software Engineering Group GCS no DBC {Ferramentas}  JBCM [Zhang, 2001]  Sistema de gerenciamento de configuração de componentes  Baseado no modelo proposto por Mei (2001) High-Level Management Function Change Control Audit Control Build Support Status ReportProcess Control Configuration Support Version Control and Concurrency Control of Primitive Components Relationship Support Mechanism of Version Control and Concurrency Control of Primitive Components Basic Management Function Mechanism Arquitetura

24 Reuse in Software Engineering Group GCS no DBC {Ferramentas}  Dependency Browser [Larsson, 2001]  Ferramenta para análise de dependências  Monta grafos de dependências oNós: componentes oArestas: dependências  Protótipo analisou dependências ente os componentes do Windows 2000

25 Reuse in Software Engineering Group GCS no DBC {Ferramentas}  Aonix Select component Manager  Gerenciador de componentes  Parte de um conjunto de soluções (Select Business Solution)  Independente da tecnologia de componentes  Suporta os níveis de abstração apresentados em Apperly (2001)

26 Reuse in Software Engineering Group GCS no DBC {Ferramentas}  Microsoft Visual component Manager  Gerenciador de componentes integrado ao ambiente de desenvolvimento da MS (Visual Studio)  Permite publicação, busca e reuso de componentes em um repositório

27 Reuse in Software Engineering Group Conclusão  Técnicas tradicionais de GC não podem ser aplicadas diretamente em componentes  nova definição de operações e objetos  GCS aplicada ao DBC  Área de pesquisa recente  Muitos problemas a serem resolvidos  Controle de versão é apenas uma questão!  Falta de ferramentas com uso prático comprovado  Ferramentas dependentes de tecnologia de componentes específica

28 Reuse in Software Engineering Group Referências  [Estublier, 2000] Jacky Estublier, Software Configuration Management: A Roadmap, ACM Press,  [Babich, 1986] W. A. Babich, Software Configuration Management, Addison- Wesley,1986.  [Apperly, 2001] Hedley Apperly, Configuration Management and Component Libraries, In Component-Based Software Engineering: Putting the Pieces Together, Addison Wesley,  [Gergic, 2003] Jaroslav Gergic, Towards a Versioning Model for Component-based Software Assembly,  [Larsson, 2001] Magnus Larsson, Crnkovic Ivica, Configuration management for component-based systems, In the Tenth International Workshop on Software Configuration Management – SCM 10 (ICSE 2001), Toronto, Canada, May 2001  [Mei, 2001] Hong Mei, Lu Zhang, Fuqing Yang, A Software Configuration Management Model for Supporting Component-Based Software Development, Peking University, 2001  [Voas, 1998] Jeffrey Voas, Maintaining Component-Based Systems, IEEE Software,1998


Carregar ppt "Gerência de configuração aplicada ao DBC: estado da arte Vanilson Burégio"

Apresentações semelhantes


Anúncios Google