Theme: An Approach for Aspect-Oriented Analysis and Design Elisa Baniassad and Siobh´an Clarke Department of Computer Science Trinity College, Dublin 2,

Slides:



Advertisements
Apresentações semelhantes
Engenharia de Software
Advertisements

Engenharia de Software
Engenharia de Software Professor Sandro de Paiva Carvalho.
FACULDADE DOS GUARARAPES
RUP - Rational Unified Process
Projeto de Sistemas de Software
Metodologias Equipe do Curso de ES para SMA
Disciplina:Tópicos Avançados de Sistemas de Informação
Análise de Perigos MO828 – Eng. Software II Prof
Amanda Meincke Melo RA:
Componentes: A Abordagem Catalysis
Governança de TI ITIL v.2&3 parte 2
Processo Desenvolvimento de Software Tradicional
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Tecnologia da Informação Orientação a Aspectos
Banco de dados distribuídos
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
FERRAMENTA PARA ANÁLISE DE IMPACTO BASEADO EM RASTREABILIDADE DE
FERRAMENTA PARA ANÁLISE DE IMPACTO BASEADO EM RASTREABILIDADE DE
Como Desenvolver Sistemas de Informação
WARE SECURITY SYSTEM Admerson Viana Eduardo Vecci Raul Maia Wagner Honorato.
TSDD Teste de segurança durante o desenvolvimento.
Classes e objetos Modelagem
Uma visão geral Grupo: Alexandre Henrique Vieira Soares
Diagrama de Componentes
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Theme: An Approach for Aspect-Oriented Analysis and Design
Visão Geral do RUP.
Projeto de Sistemas de Software
Conceitos.
Análise e Projeto de Sistemas
Engenharia de Software
Introdução a Desenvolvimento de Sistemas
Desenvolvimento Rápido de Aplicação (RAD)
Processo de Desenvolvimento de Software
2005 Cin - Centro de Informática - Universidade Federal de Pernambuco – UFPE Iniciação Científica Visual # Tool Bolsista: Rodrigo Cavalcante Mendes Orientadores:
Análise e Projeto de Sistemas de Informação 2o. Semestre de 2014
Software engineering, the software process and their support M.M. Lehman Apresentadora: Tarciana Dias da Silva.
Teste de Software Conceitos iniciais.
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
Embedded Software Engineering: The State of the Practice Acadêmicos:
Padrão- MVC Model, View, Controller
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Processos de Software.
Ferramenta de Modelagem de Requisitos e Agentes (TAOM4e) Laís Xavier Prof.: Jaelson Castro.
GMP Uma Ferramenta para a Gestão de Multiprojetos
UML e a Ferramenta Astah
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
CIn-UFPE1 © 2003, Alexandre Vasconcelos Visão Geral do RUP.
Modelo de Análise e Projeto
Engenharia de Software
Engenharia de Software e Sistemas
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
METHONTOLOGY Sandro Rautenberg
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
UML Components MO409 – Eng. de Software Profa. Eliane Martins
NFR Framework (Non-Functional Requirements)
Gerenciamento de Configuração de Software
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
Banco de Dados Parte 1 Profa. Ana Karina Barbosa Fevereiro/2008.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Uma Extensão do Fluxo de Análise e Projeto do RUP com suporte a Desenvolvimento Baseado em Componentes Eduardo Almeida
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Engenharia de Software Conceitos e elementos 1. Engenharia   Resolução de problemas através de soluções economicamente viáveis  Motivacão: Limitação.
6 Qualidade e sua Garantia em Projetos Capítulo 6 Professores: Marcos Eduardo da Silva Santos Maria Wilda Fernandes Felipe.
Transcrição da apresentação:

Theme: An Approach for Aspect-Oriented Analysis and Design Elisa Baniassad and Siobh´an Clarke Department of Computer Science Trinity College, Dublin 2, Ireland {Elisa.Baniassad,

Roteiro Motivação Banco de Dados Móveis Desafios da Computação Móvel Gerenciamento de BDM Replicação, Sincronização e Disseminação de dados Caching Transações Recuperação de Falhas Gerenciamento de Localidade Segurança Conclusão Referências

Contexto Paradigma de orientação a aspectos Problema de identificação de crosscutting components Traceability of aspects através do ciclo de vida do software Remodelagem: a abordagem tradicional Problemas de corretude Alguns aspectos são descobertos tarde demais Identificar aspectos Na fase de análise de requisitos x Durante a modelagem dos sistemas

Contexto Durante a modelagem Trabalho extra Única ferramenta é a intuição Confiabilidade A partir dos requisitos (early aspects) Crosscutting behaviours evidentes Outros nem tanto... Necessidade de uma metodologia que automatize o processo ou reduza falhas, garantindo corretude

Contexto Descobrindo early aspects Através do documento de requisitos Metodologia préestabelecida Identificando relacionamentos e dependências entre os comportamentos elicitados ao sistema Ferramentas Automatizar o processo Estudo de caso

Conceitos Aspectos comportamentos que estão emaranhados ou dispersos através de um sistema.

Introdução Paradigma de orientação a objetos Encapsulamento de código Agrupamentos específicos Alguns agrupamentos não podem ser encapsulados por causa do seu impacto em todas as partes do sistema crosscutting behaviour Paradigma de orientação a aspectos Encapsulamento de comportamentos Reuso Facilidade de implementação / manutenção

Introdução Antes de dividir os crosscutting components em aspectos o desenvolvedor precisa identificá-los Documento de requisitos Pode ser extremamente difícil Comportamentos não triviais Método tradicional Modelar o sistema em objetos Identificar crosscutting intuitivamente Separá-los em aspectos Ad hoc approach Redesenhar o sistema inserindo late aspects

Introdução Alternativamente... Identificar aspectos conhecidos antes da modelagem Não ajuda onde é mais necessário Ou... Aplicar Engenharia de Requisitos Orientada a Aspectos Resulta em comportamentos aninhados, inter-relacionados e extremamente complicados

Introdução Desenvolvedor precisa de ajuda para identificar os crosscutting behaviours mais relevantes Determinado comportamento é um aspecto? Onde e de que forma ele crosscuts o sistema? Como traduzir a análise em modelagem? Que design language utilizar? Este trabalho apresenta uma abordagem para tentar resolver os problemas

Theme Definição elemento de modelagem coleção de estruturas e comportamentos que representam uma feature do sistema Vários temas podem ser combinados para formar um sistema Tipos de Themes Base themes Crosscutting themes

Theme No nível de requisitos Theme/doc oferece views a partir dos requisitos em texto, deixando claro as dependências entre comportamentos Permite que se refine as views para encontrar crosscutting problems No nível de design Theme/UML permite que o desenvolvedor modele as features e aspectos do sistema e especifique como eles devem se combinar

Theme Identificando aspectos usando Action Views Theme/Doc tool: Ferramenta de análise textual que gera os relacionamentos entre os comportamentos Entradas Lista de ações Lista de requisitos

Theme Course Management System R1. Students can register for courses. R2. Students can unregister for courses. R3. When a student registers then it must be logged in their record. R4. When a student unregisters it must also be logged. R5. Professors can unregister students. R6. When a professor unregisters a student it must be logged. R7. When a professor unregisters a student it must be flagged as special. R8. Professors can give marks for courses. R9. When a professor gives a mark this must be logged in the record.

Theme Course Management System Lista de ações: register, unregister, logged, flagged, give

Theme Action views O principal objetivo é mostrar relacionamentos entre as ações Observamos requisitos compartilhados Separamos ações em dois grupos: Não faz referência a outras ações Base Faz referência a outras ações Crosscutting

Theme Separação e isolamento:Clipping tool Analisamos cada requisito e decidimos a que ação ele pertence Se o requisito é ambíguo temos que resolver Reescrevendo-o Dividindo-o Refinando-o Ex R3: logging é o principal comportamento desse requisito. Logo, casamos R3 com logged theme. Portanto, logging é crosscutting e register é base. Agora cada requisito aponta para uma única ação As setas que apontavam crosscutting themes são substituídas por setas cinzas e temos o Clipped Action View

Theme Course Management System Clipped Action View Ações cujos requisitos referenciam apenas a si mesmos (base) Logged crosscuts unregister, give e register

Theme Planejamento de modelagem utilizando Theme View Theme/Doc theme view é usado para planejar o desing e modelagem dos themes identificados Também é gerado a partir dos requisitos Descreve outros elementos-chave para o Theme/UML Ex: Theme/Doc Theme view: register

Theme UtulizamosTheme View para Determinar que classes e métodos aparecerão em nosso diagrama UML para cada theme Simplificadamente, cada ação é um método e cada entidade é uma classe Ex: Theme/UML: register

Theme Modelando crosscutting themes Modelagem de modo abstrato e reusável Pintamos de cinza as referências para entidades e ações de outros themes em seu theme view Estas entidades e ações são utilizadas para determinar os métodos de joinning e binding Entidades e ações que permanecem brancas são usadas para guiar a modelagem do comportamento crosscutting

Theme Modelando crosscutting themes Ex: Theme/Doc Theme View: logged

Theme Modelando crosscutting themes Podemos agora modelar o comportamento abstrato para logging sem referenciar diretamente registration, unregistration, students e professors Theme/UML: logged

Theme Checando themes com Theme view aumentado Após a formulação do Theme/UML reobservamos o Theme/DOC para garantir que nossas decisões de modelagem correspondem aos requisitos

Referências [1] Cunha, D.: Um estudo das estratégias de replicação e reconciliação de Bancos de Dados Móveis em um ambiente Wireless; [2] Silva, E.: Um estudo dos principais modelos de transações em Bancos de Dados Móveis e uma proposta diferenciada do modelo PRO- MOTION; [3] Amado P.: Bancos de Dados Móveis: Visão Geral, Desafios e Soluções Atuais;

Referências [4] Lifschitz, S.: Banco de Dados para um ambiente de computação móvel; [5] Elmasri R. e Navathe S. B.: Fundamentals of Database Systems; [6] Özsu, M. T e Valduriez, P.:Principles of Distributed Database Systems;

Dúvidas