Contexto. Motivação. variabilidade. variabilidade

Documentos relacionados
Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais

FLEXIBILIZAÇÃO PARA REPRESE TAÇÃO DE CARACTERÍSTICAS O AMBIE TE ODYSSEY

Metamodelo de Características da Notação Odyssey-FEX: Descrição de Classes

FORMALIZAÇÃO E VERIFICAÇÃO DE CONSISTÊNCIA NA REPRESENTAÇÃO DE VARIABILIDADES. Regiane Felipe de Oliveira

UMA ABORDAGEM DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO. Ana Paula Terra Bacelo Blois

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos

Introdução ao Catalysis

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Requisitos de sistemas

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

Introdução à Engenharia de Software

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Uma Abordagem para Geração de uma Arquitetura de Linha de Produtos de Software Dinâmica

UML (Unified Modelling Language)

Modelo Conceitual Parte 1 Banco de Dados I Prof. Luiz Antônio Vivacqua C. Meyer

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Run-Time Variability through Component Dynamic Loading

Gerência de Projetos e Manutenção de Software Aula 10 Medição / Manutenção / Reutilização / Encerramento Andréa Magalhães Magdaleno

MODELAGEM DE UM FRAMEWORK PARA O DOMÍNIO DE HORÁRIO ESCOLAR CURSO DE TECNOLOGIA EM DESENVOLVIMENTO DE SOFTWARE

Introdução a UML (Unified Modeling Language)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Unidade 4 Projeto de Banco de Dados

Engenharia de Software

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição.

Programação Orientada a Objetos Relacionamentos entre classes

ODYSSEYPROCESSREUSE. Eldanae Nogueira Teixeira

5 Processo de Reificação e de Desenvolvimento com ACCA

Requisitos de Ontologias

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

Linha de Produto de. Luciana Nascimento Peter Lupo. Software

Especificação de Sistemas de Software e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Visões Arquiteturais. Arquitetura de Software Thaís Batista

6 Conclusão. 6.1 Trabalhos relacionados

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

Introdução à Análise e Projeto de Sistemas

UMA PROPOSTA DE PROJETO ARQUITETURAL BASEADO EM COMPONENTES NO CONTEXTO DE ENGENHARIA DE DOMÍNIO

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

PROJETO DE DADOS PROJETO ARQUITETURAL BÁSICO. Projeto de Programas PPR0001

Modelagem de dados usando MER. Andre Noel

ORÁCULO: Um Sistema de Críticas para UML

Introdução à Orientação a Objetos

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Model Driven Development (MDD)

Modelo Entidade Relacionamento

4.6. UML Diagramas de componentes

ENGENHARIA DE SOFTWARE

Visões Arquiteturais. Visões Arquiteturais

7 Conclusão e Trabalhos Futuros

Implementação de Padrões de Projeto em Java e AspectJ

Engenharia de Software

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

ENGENHARIA DE REQUISITOS. SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

Prof. Dr. Thiago Jabur Bittar

Análise de Sistemas 4º Bimestre (material 3)

Engenharia de Software

Diagramas de Classe. Sumário. Introdução aos Diagramas de Classe

O uso de Modelos de Features na Engenharia de Aplicações

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos

Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa

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.

SABiO: Systematic Approach for Building Ontologies

2. Revisão e Dicas de Modelagem Conceitual

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Engenharia de Software

Cenário atual UML Histórico

Engenharia de Software

EA975 - Laboratório de Engenharia de Software

3 GenArch: Uma Ferramenta Baseada em Modelos para Derivação de Produtos de Software

2 Desenvolvimento de Linhas de Produtos de Softwares

Rosana T.Vaccare Braga

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

6. Considerações Finais

Aumento da complexidade dos sistemas. aumento do nível de abstração

Linguagem de Modelagem Unificada UML

UNIVERSIDADE FEDERAL DO ESTADO DO RIO DE JANEIRO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA

UML Diagramas Estruturais Diagrama de Componentes

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

INF1013 MODELAGEM DE SOFTWARE

Engenharia de Software

Análise e Projeto de Software Parte I. Marcos Dósea

Diagrama de Classes (Notação) - Aula 11 (parte 2)

PROJETO DE ARQUITETURA

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Transcrição:

Representação de Variabilidades em Componentes de Negócio no Contexto da Engenharia de Domínio Regiane Oliveira Ana Paula Blois Aline Vasconcelos Claudia Werner Roteiro Contexto Motivação Variabilidade em Engenharia de Domínio Notação Odyssey-FEX Refinamento do Processo CBD - Arch DE Mapeamento Características - Tipos de Negócio Agrupamento de Tipos de Negócio em Componentes de Negócio Considerações Finais 08/11/2005 WDBC'2005 2 1

Contexto Métodos de Reutilização de Software Engenharia de Domínio (ED) Desenvolvimento para Reutilização modelagem de variabilidade Engenharia de Aplicação (EA) Desenvolvimento com Reutilização recorte influenciado pela variabilidade Desenvolvimento Baseado em Componentes (DBC) Criação de artefatos de software auto-contidos e com interfaces bem definidas que podem ser reutilizados, i.e. componentes. 08/11/2005 WDBC'2005 3 Motivação Combinação ED e DBC: aumento no potencial de reutilização Métodos de DBC não são satisfatórios no contexto de ED, no que diz respeito à variabilidade Variabilidade dos artefatos mais abstratos do domínio não era considerada, nem propagada, para o modelo de componentes. Necessidade de suporte à propagação da variabilidade dos requisitos do domínio para artefatos de diferentes fases do processo. 08/11/2005 WDBC'2005 4 2

Variabilidade em Engenharia de Domínio Conceitos de Variabilidade Classificação quanto à Opcionalidade Elementos Mandatórios: devem estar presentes em todas as aplicações Elementos Opcionais: podem aparecer em apenas algumas aplicações Classificação quanto à Variabilidade Pontos de Variação e Variantes: pontos onde as aplicações do domínio podem ser configuradas Elementos Invariantes: elementos fixos, não permitem configuração no domínio Regras de Composição: elementos dependentes entre si ou mutuamente exclusivos na instanciação de uma aplicação 08/11/2005 WDBC'2005 5 Variabilidade em Engenharia de Domínio Modelagem de variabilidade Ponto de partida: modelo de características (features) Necessidade de um modelo rico semanticamente representação do domínio e sua variabilidade Notações para modelos de características propostas na literatura não representam explicitamente todos os conceitos [Kang 1990, 2002], [Griss, 1998], [Riebisch, 2002] Proposta: notação Odyssey-FEX 08/11/2005 WDBC'2005 6 3

Variabilidade em ED Notação Odyssey-FEX Domínio: Características intimamente ligadas à essência do domínio, representando suas funcionalidades (características funcionais) e/ou conceitos (características conceituais). Ambiente Operacional - Representam atributos de um ambiente que uma aplicação do domínio pode usar e operar. Tecnologia de Domínio - Representam tecnologias utilizadas para modelar ou implementar questões específicas de um domínio. Técnicas de Implementação Representam tecnologias utilizadas para implementar outras características, podendo ser compartilhadas por diversos domínios Características Tecnológicas 08/11/2005 WDBC'2005 7 Variabilidade em ED Notação Odyssey-FEX Classificação ortogonal das características 08/11/2005 WDBC'2005 8 4

Variabilidade em ED Notação Odyssey-FEX Relacionamentos UML associação, agregação e composição Relacionamento Alternativo Ponto de Variação e Variantes Regras de Composição (Composition Rules) Uso de operadores booleanos (Característica B AND AND CaracterísticaC) C) requer Característica D 08/11/2005 WDBC'2005 9 Notação Odyssey-FEX- Modelo de Características 08/11/2005 WDBC'2005 10 5

Refinamento do Processo CBD - Arch - DE Component-Based Development Architecture Domain Engineering atividades de ED com maior destaque ao projeto arquitetural baseado em componentes CBD - Arch DE extensão para dar suporte à variabilidade em artefatos de projeto 08/11/2005 WDBC'2005 11 Refinamento do Processo CBD - Arch - DE Heurísticas de Mapeamento Duas etapas: Componentes de Negócio Características Tipos de Negócio 08/11/2005 WDBC'2005 12 6

Mapeamento Características- Tipos de Negócio: Heurísticas H1. Para cada característica conceitual deve existir um tipo de negócio ou atributo. H2. Para cada ponto de variação e suas variantes podem existir tipos de negócio com estereótipos <<variation point>> e <<variant>>, respectivamente, relacionados através de herança. 08/11/2005 WDBC'2005 13 Mapeamento Características- Tipos de Negócio: Heurísticas H4. Para cada regra de composição do tipo "requer pode existir um relacionamento de dependência entre os tipos de negócio envolvidos, ou uma associação, com multiplicidade mínima igual a 1 para o tipo de negócio que requer um outro tipo. 08/11/2005 WDBC'2005 14 7

Mapeamento Características- Tipos de Negócio: Heurísticas H5. Para cada regra de composição do tipo exclui deve existir um estereótipo <<xor>> nos tipos de negócio correspondentes. H6. A propriedade opcional ou mandatória de uma característica deve ser transposta para o tipo de negócio ou atributo que represente a mesma. 08/11/2005 WDBC'2005 15 Mapeamento Características- Tipos de Negócio: Exemplo 08/11/2005 WDBC'2005 16 8

Mapeamento Tipos de Negócio Componentes de Negócio Componentes de Negócio: CBD-Arch-DE derivados a partir dos tipos de negócio Componentes de negócio agrupam tipos de negócio que se relacionam: Herança agrupamento obrigatório Demais relacionamentos agrupamento dependente dos respectivos graus de relevância Variabilidade passa a ser considerada no agrupamento que origina um componente de negócio no CBD-Arch-DE. 08/11/2005 WDBC'2005 17 Agrupamento de Tipos de Negócio em Componentes de Negócio: Heurísticas H1. Para tipos relacionados por meio de herança, deve ser gerado um componente com a característica de opcionalidade do tipo que representa o pai desta relação. Se os tipos de negócio são filhos nesta relação e representam variantes, cada um deve ter uma interface que é provida pelo componente. 08/11/2005 WDBC'2005 18 9

Agrupamento de Tipos de Negócio em Componentes de Negócio: Heurísticas H3. Para tipos relacionados por agregação, é indicada a geração de um componente que recebe a característica de opcionalidade do tipo que representa o todo desta relação. Se não forem agrupados, deve haver uma relação de dependência entre os componentes. 08/11/2005 WDBC'2005 19 Agrupamento de Tipos de Negócio em Componentes de Negócio: Heurísticas H4. Para tipos relacionados por associação ou dependência, é indicada a geração de um componente quando todos os tipos envolvidos são mandatórios ou opcionais. Se não forem agrupados, deve-se especificar a dependência entre os componentes gerados. 08/11/2005 WDBC'2005 20 10

Agrupamento de Tipos de Negócio em Componentes de Negócio: Heurísticas H5. Quando forem agrupados tipos de negócio obrigatórios e opcionais, o componente será sempre mandatório. H6. Não devem ser agrupado tipos de negócio que possue estereótipos XOR. 08/11/2005 WDBC'2005 21 Agrupamento de Tipos de Negócio em Componentes de Negócio: Exemplo 08/11/2005 WDBC'2005 22 11

Considerações Finais Representação de variabilidade do domínio em diferentes níveis de abstração Principais contribuições: arquitetura coerente em relação à variabilidade, dependência e exclusividade das características do domínio instanciação consistente da arquitetura de domínio na EA 08/11/2005 WDBC'2005 23 Considerações Finais Trabalhos Futuros: Desenvolvimento de um mecanismo de verificação de consistência entre os componentes, considerando a sua variabilidade; Formalização das heurísticas propostas; Validação das heurísticas através de estudos de caso reais 08/11/2005 WDBC'2005 24 12

Representação de Variabilidades em Componentes de Negócio no Contexto da Engenharia de Domínio {regiane, anablois, aline, werner}@cos.ufrj.br 13