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

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

Catalysis - Visão Geral Alexandre Alvaro

Apresentações semelhantes


Apresentação em tema: "Catalysis - Visão Geral Alexandre Alvaro"— Transcrição da apresentação:

1 Catalysis - Visão Geral Alexandre Alvaro aa2@cin.ufpe.br

2 Conteúdo Reuso DBC {Desenvolvimento Baseado em Componentes} Catalysis Conclusão Outros métodos

3 Reuso [Krueger, 1992], [Frakes, 1995] “Software reuse is the process of creating software systems from existing software, instead of building from scratch.” Tudo que já foi feito, não deve ser feito novamente.

4 Reuso Vantagens Aumenta… Qualidade Produtividade Diminui… Time to market Manutenibilidade Redução do custo de desenvolvimento, teste, etc. Reuso de Software… –Não é simples –Reuso de Software Sistemático

5 Código compilado {fonte} Casos de testes Modelos e projetos: frameworks e padrões Interface de usuário Planos, estratégias e regras arquiteturais Reuso: Artefatos reutilizáveis [D’ Souza, 1999]

6 DBC A idéia de Reuso de Software não é nova… [McIlroy, 1969] “Mass Produced Software Components” “Utilizar ao invés de construir” Catálogos de rotinas padronizadas, classificadas por precisão, robustez e performance

7 DBC Visão Clássica... –SW = Blocos monolíticos –Partes inter-relacionadas –Relacionamentos implícitos... DBC –Software foi “quebrado” em pequenas partes –Partes estão menos acopladas –Maior flexibilidade e manutenibilidade –Redução da complexidade e custo de desenvolvimento –Reuso

8 Componente “ A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be independently deployed and is subject to third-party composition”. [Szyperski, 2002] O Conceito exato de componentes em DBC ainda não é um consenso…

9 Métodos para Desenvolvimento de Componentes Reutilização em todas as etapas do desenvolvimento Deve considerar duas etapas: Desenvolvimento de Componentes Desenvolvimento com Componentes... extensões de métodos de desenvolvimento Orientado a Objetos Diversos Métodos: Catalysis Select Perpective UML Components {RUP} KobrA Abordagem de DBC [Almeida, 2003]...

10 Catalysis “...Software development continues to be, as always, a difficult and fascinating mixture of art, science, black magic, engineering, and hype…Catalysis defines an approach that covers all of them…” www.catalysis.org

11 Catalysis Desenvolvido na Universidade de Brighton, Inglaterra D’Souza e Allan Wills “É um método de DBC completo, cobrindo todas as fases, desde a especificação dos componentes até sua implementação para reutilização” [D’Souza, 1999] Busca solucionar problemas [D’Souza, 1999]: Eliminar gaps entre as fases Estabelecer um vocabulário comum Rastreamento de requisitos Semântica para verificar consistência Níveis de granularidade e refinamento Distinção entre modelos do domínio, modelos do sistema e arquitetura Reuso em todas as fases do ciclo de vida

12 Catalysis Princípios Abstração Precisão Partes Conectáveis

13 Catalysis Níveis de modelagem

14 Catalysis Característica Traceability dos modelos de negócio para o código Gerenciamento de mudanças, garantia de qualidade,... Precisão -> modelos e documentos sem ambigüidades Identificar requisitos cedo, explicitar o vocabulário e entender Suporte ao Desenvolvimento Baseado em Componentes Reuso da especificação, projeto, modelos, arquitetura,... Escalabilidade de pequenos para grandes times e projetos Consistência, integridade, desenvolvimento incremental Processo que é flexível e recursivo, com múltiplas “rotas”

15 Catalysis – {Processo} [D’ SOUZA, 1999] Existem diversos caminhos possíveis Cada um com uma seqüência diferente de atividades e artefatos Um caminho pode omitir atividades e/ou artefatos que outro inclua Diferentes caminhos podem ser utilizados para qualquer projeto ou subprojeto Um rota mais “leve” pode ser um bom caminho

16 Catalysis Três construções básicas

17 Catalysis Processo de Desenvolvimento UML com Catalysis

18 Catalysis Principais artefatos Análise do Domínio Mind Maps Data Dictionary System Context/Collaboration Conhecimento do Domínio

19 Catalysis Principais artefatos (cont.)

20 Catalysis Principais artefatos (cont.) Sales System > Sale SaleItem quantity Payment Authorization * * * Cust Product inventory Product product: ProductOperations() Product(): AddProduct(String name):boolean DeleteProduct(String id):boolean... Diagrama de Classe (“o que”)

21 Catalysis Principais artefatos (cont.) Framework de modelos Domínio de Livraria

22 Catalysis Principais artefatos (cont.) Modelo de Aplicação de Framework Domínio de Livraria

23 Catalysis Uma Abordagem possível [Almeida, 2003] Dissertação de Mestrado realizada na UFSCar Trabalhei em conjunto Estudo de Caso Domínio de Livraria

24 Catalysis 1- Definir Problema Mind-Maps Ação Objeto

25 Catalysis 1- Definir Problema Modelo de Colaboração

26 Catalysis 1- Definir Problema Modelo de Use-Case

27 Catalysis 2- Especificar Componentes (“o que”) Dicionário de Dados OCL Modelo de Tipos

28 Catalysis 2- Especificar Componentes

29 Catalysis 2- Especificar Componentes Modelo de Seqüência

30 Catalysis 3- Projetar Componentes (“como”) Modelo de Classes

31 Catalysis 3- Projetar Componentes Requisitos Não-Funcionais Persistência Distribuição Segurança Tratamento de Exceção... Repositório 4 - Implementar Componentes

32 Catalysis Ferramentas Cool : Spex - (Sterling Software) MVCASE {suporte parcial} - (UFSCar) Visio : Catalysis/Modeler - (Microsoft) SmartDraw - (SmartDraw Co.)

33 Catalysis [D’Souza, 1999] Catalysis está baseado nos fatores chaves de sucesso para um DBC efetivo Quais são os fatores?

34 Catalysis RastreabilidadePonte Negócios e TI Vocabulário compartilhado p reciso Questões críticas de negócio antecipadas RastreabilidadePonte Negócios e TI Vocabulário compartilhado p reciso Questões críticas de negócio antecipadas ArquiteturaInfra-estruturainterfacesplug padrões… interoperabidade ArquiteturaInfra-estruturainterfacesplug padrões… interoperabidade Processo de ReusoDesenvolver para reuso Desenvolver com reuso Processo de ReusoDesenvolver para reuso Desenvolver com reuso Componente ConectáveisProjeto preciso, focado na interface Rastreabilidade de componentes de negócio Componente ConectáveisProjeto preciso, focado na interface Rastreabilidade de componentes de negócio Integração Negócios e Engenharia de Sistemas Integração Negócios e Engenharia de Sistemas Dirigidos aNegóciosEntender o negócioprimeiramente Dirigidos aNegóciosEntender o negócioprimeiramente

35 Catalysis CritérioCatalysis Conceito Pequena Escala: Artefatos Conectados através de Interfaces Grande Escala: Aplicações Auto-Contidas Reutilização Preocupa-se com a utilização de componentes e soluções existentes Seleção Existe preocupação, mas não existe sistemática Documentação Diversos níveis de detalhamento para os diagramas Cada diagrama possui uma representação (não-ambígua) Adaptação Considera a utilização de componentes existentes Não contempla as técnicas e o suporte para as adaptações [Espindola, 2002]

36 Catalysis CritérioCatalysis Integração Propicia um padrão para especificação de interfaces que permite a interoperação entre componentes de diferentes origens Notação Baseada em UML Processo Camadas de desenvolvimento: Modelo de Negócios, Especificação de Requisitos, Projeto de Componentes, Projeto de Objetos e Arquitetura de Componentes. Arquitetura Permite detalhamento entre os diversos diagramas, facilitando a visualização do domínio

37 Catalysis Conclusões Modelagem... Modelo de Componentes Classes -> componentes ? Interfaces ? Definição ? Pré e pós-condições ? Requisitos não funcionais Desenvolvimento com Componentes

38 Outros métodos de DBC RUP – Rational – 1995 Dirigido a Casos de Uso Centrado na Arquitetura Iterativo e Incremental Baseado em UML Select Perspective – 1994-1995 Rumbaugh’s Object Modeling Technique (OMT) Jacobson Use Case driven Objectory method BPM Catalyst -> modelagem do negócio ERD (Entity-Relationship Diagrams ) ->modelagem dos dados Baseado em UML +

39 Outros métodos de DBC [Stojanovic, 2001]

40 Outros métodos de DBC [Boertin, 2001]

41 Outros métodos de DBC UML Components - 2000 Atividades: 1- Definição dos requisitos; 2- Identificação e descrição das interfaces entre os componentes; 3- Especificação; 4- Implementação; 5- Montagem dos componentes Independente de Plataforma KobrA - 2000 Product-line, component-based software development, frameworks, quality modeling, process modeling,... Partes de Catalysis, UML Components, Select Perpective, PULSE,... Quantidade de Modelos...

42 Referências [Kueger, 1992] Krueger, C. W., 1992. Software Reuse. ACM Computing Surveys, Vol. 24, No. 02, June, pp. 131-183. [Frakes, 1995] Frakes, W., B., Fox, C., J. Sixteen Questions about Software Reuse. Communications of the ACM, June, 1995. [Mcllroy, 1968] Mcllroy, M. D., 1968. Mass Produced Software Components. NATO Software Engineering Conference Report, October, pp. 79-85. [Szyperski, 2002] Szyperski, C., 2002. Component Software: Beyond Object- Oriented Programming. Addison-Wesley, USA. ISBN 0-201-74572-0. [D’Souza, 1999] D’Souza, D., F., Wills, C., A. Objects, Components, and Frameworks with UML – The Catalysis Approach. Addison-Wesley, 1999. [Almeida, 2003] Almeida, E.S. Uma Abordagem para o Desenvolvimento de Software Baseado em Componentes Distribuídos, Dissertação de Mestrado, Universidade Federal de São Carlos, 2003. [Espindola, 2002] Espindola, A., Becker, K., Werner. C. Critérios para Análise de Métodos DBC. No 2º Workshop de Desenvolvimento baseado em Componentes (WDBC), Rio de Janeiro, 2002.

43 Referências [Boertin, 2001] Boertin, N., Steen, M., Jonkers., H, Evaluation of Component- Based Development Methods. In EMMSAD’2001, Sixth CAiSE/IFIP8.1, 2001. [Stojanovic, 2001] Stojanovic, Z., Dahanayake, A., Sol., H. A Methodology Framework for Component-Based System Development Support. In EMMSAD’2001, Sixth CAiSE/IFIP8.1, 2001. [Wills, 2001] Wills, A., C. Components and Connectors: Catalysis Techniques for Designing Component Infrastructures, In Component-Based Software Engineering: Putting the Pieces Together, Addison-Wesley, 2001. [Jacobson, 1999] Jacobson I., Booch G., Rumbaugh J. The unified software development process, Reading MA : Addison-Wesley. 1999. [Allen, 1998] Allen, P., Frost, S. Component-Based Development for Enterprise Systems: Applying the Select Perspective, Cambridge University Press. 1998. [Cheesman, 2000] Cheesman, J., Daniels, J. UML Components: A Simple Process for Specifying Component-Based Software. Addison-Wesley. USA, 1nd edition, 2000.

44 Referências [KobrA, 2000] Atkinson, C., et. al. Component-Based Software Engineering:The KobrA Approach, In 3rd International Workshop on Component-based Software Engineering: Reflection on Practice, in conjunction with the 22th International Conference on Software Engineering (ICSE). Limerick, Ireland, 2000.

45 Discussão


Carregar ppt "Catalysis - Visão Geral Alexandre Alvaro"

Apresentações semelhantes


Anúncios Google