Projeto Baseado em Colaborações João Carlos Vicente Jaison Werlich Kelton Rodrigo Zacchi.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

GESTÃO DE PESSOAS Cultura Organizacional
UML Visões – Parte 2.
UML – Visões Parte 1 Modelando um sistema.
Diagrama de Classes continuação.
1 ZEUS Agentes Inteligentes e Sistemas Multi-agente Ferramentas de Contrução de Agentes IST- 2003/2004 Ana Paiva.
Rational Unified Process(RUP)
Valéria Maria Lauande Março/2010
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Professor Sandro Carvalho
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Metodologias Equipe do Curso de ES para SMA
SERIALIZER Equipe: Aderly Stresser Borges Carlos Magno Nunes.
Mapeamento Objeto Relacional
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
Grupo de Pesquisa Ontologia e Taxonomia
Metodologias Orientadas a Agentes
EPS ENGENHARIA ERGONÔMICA DO TRABALHO
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)
Padrões para Atribuições de Responsabilidades
BPMO Escritório de Processos
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Reunião grupos de trabalho de Gestão de Informação e Conhecimento na BIREME Hotel Jaraguá - 21 de Julho de 2004.
Estudo comparativo de arquitecturas para aplicações empresariais
Gerencia de Projeto OO Aspectos Avançados em Engenharia de Software Aula 5 Fernanda Campos DCC/UFJF.
Orientação a Objetos.
Uma visão geral Grupo: Alexandre Henrique Vieira Soares
© Nabor C. Mendonça Análise e Projeto Orientados a Objeto com UML e Padrões Parte V Implementação (1)
Diagramas de Colaboração e Componentes
Análise da linguagem Java Planejamento. Objetivos Apresentar as soluções de implementação em Java para os conceitos de Orientação a Objetos introduzidos.
A NÁLISE Q UANTITATIVA DA I MPLEMENTAÇÃO DE T RATAMENTO DE E XCEÇÕES NA L INGUAGEM P TOLEMY Aluno: Cleivson Arruda Orientador: Fernando Castor T RABALHO.
Projeto de Sistemas de Software
Conceitos.
Desenvolvimento de Sistemas Orientados a Aspectos
Desenvolvimento de Sistemas Orientados a Aspectos
Enterprise Architecture Validation Edgar Nunes Diogo LopesGrupo 1 Francisco Santos.
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
8°SENAED – Seminário Nacional ABED de Educação a Distância FORMAÇÃO POR COMPETÊNCIAS EM EaD Profa Dra Léa Depresbiteris
Metodologias para construção de SMA
Diagramas de Atividade
Professor: Márcio Amador
Orientação a Objetos Parte I
Diagramas de Comunicação
Projeto Orientado aos Objetos Prof. Wolley W. Silva
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Bruno Silva Desenvolvido a partir de
Interfaces e classes abstratas. Conceitos de Orientação a Objeto.
MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Tecnologia de Projeto Sandro Rigo
Apresentação Visio + VisioCase.
Ferramentas para Linhas de Produtos de Aplicações Móveis - FLIP Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira.
Substitua por seu nome Substitua por seu título Substitua pelo nome de seu orientador Substitua por sua linha de pesquisa Doutorado ||||||||||||||||||||||
Substitua por seu nome Substitua por seu título Substitua pelo nome de seu orientador Substitua por sua linha de pesquisa Doutorado |||||||| | | Intermediário.
CIn - UFPE 1 OPEN Tiago Massoni 03/06/2003. CIn - UFPE2 Agenda Terminologia OPEN Modelagem de Processo Atividades, Tarefas e Técnicas Adaptação (Tailoring)
Engenharia de Software e Sistemas
Fluxo de Análise e Projeto 6 - Atividade Projetar Subsistema.
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Objetos Distribuídos Frameworks Orientados a Objetos.
Substitua por seu nome Substitua por seu título Substitua pelo nome de seu orientador Substitua por sua linha de pesquisa Mestrado ||||||||||||||| | Qualificado.
Diagramas de Colaboração entre Objetos Motivação.
Comportamento dos diversos esquemas p/ a equação do Calor Método Explícito (Erro= )  = 0.5 ERRO Método Implícito (Erro= ) Método Crank-Nicolson.
Sistemas de Informação Prof Paulo Germano. Sistemas de Informação Um sistema de informação é um conjunto de componentes relacionados que recebe, trata,
Padrão Visitor Paulo Mauricio Gonçalves Jr Rodrigo Teixeira Ramos Paradigmas de Linguagens de Programação Prof. Augusto Sampaio Julho de 2003.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
Princípios de Análise 1. O domínio de informação de um problema deve ser representado e compreendido. 2. Modelos que descrevam a informação, função e comportamento.
Relações Interpessoais Prof. Irineu Manoel de Souza, Dr. Unidade 5 Equipe, Parceria e Sinergia Objetivos Ao finalizar esta Unidade, você deverá ser capaz.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
Débora Canongia Furtado Disciplina: Prática Científica Metodologia para implantação de um modelo dinâmico de planejamento de transporte público de passageiros.
Tecnologias e Linguagens para Banco de Dados I Prof. João Ricardo Andrêo 1/6/ :48 1 Modelo Entidade-Relacionamento (MER) O Modelo Entidade-Relacionamento.
1.
Transcrição da apresentação:

Projeto Baseado em Colaborações João Carlos Vicente Jaison Werlich Kelton Rodrigo Zacchi

Projeto Baseado em Colaborações Metodologia que decompõe aplicações orientadas a objetos em conjunto de classes e conjunto de colaborações.

Colaborações Expressam aspectos da aplicação envolvendo diversos participantes (papéis); Uma classe pode participar de diferentes colaborações/ter diferentes papéis em uma colaboração; Cada papel representa um aspecto singular do comportamento da classe.

Projeto Baseado em Colaborações Representa aplicações orientadas a objeto de duas maneiras: –Em termos de participantes (classes) envolvidas; –Em termos de tarefas a serem executadas. Resulta em projetos mais compreensivos e reusáveis.

Problema Principal Linguagens de programação orientadas a objeto não tem um mapeamento direto com o projeto baseado em colaborações. – fluxo de controle do projeto fica espalhado por diversos pequenos métodos na hierarquia de classes; –“é como ler um mapa através de um canudinho de refrigerante”.

Solução Um componente que: – explicitamente capture um pedaço do comportamento do sistema (uma tarefa específica) que afete muitas classes, e que possa ser reusado; –Seja complementar à tecnologia de orientação a objetos existente, e não substituindo-a; –Suporte uma granularidade média(objetos<x<packages).

Sugestões de Componentes Frameworks; Adaptive plug-and-play components (APPC’s).

Frameworks Permitem reuso de interrelacionamentos entre classes (granularidade maior que a de objetos); Dependentes da linguagem de programação; Não expressam claramente as colaborações.

APPC’s Adaptive: –Expressam colaborações em uma família de aplicações (adaptive programming). Plug-and-Play: –Suportam composições black/white-box: Podem ser refinados em outros componentes (tal como em herança); Podem ser combinados para formar outros componentes; Mantém o acoplamento baixo (facilitando o seu reuso).

Características Especificação genérica: –Permite à colaboração ser reusada na familia de aplicações; –Permite à mesma colaboração ser usada em muitos lugares em uma mesma aplicação, com participantes diferentes. Composição comportamental independente: –Suporte a reuso de componentes para colaborações mais complexas; –Acoplamento baixo; –Encapsulamento e independência das colaborações quando combinadas entre si.

Estrutura de um APPC Interface Class Graph – ICG: –Declara os participantes (papéis) da colaboração; –Declara o padrão dos seus relacionamentos (como em um programa adaptativo, mas ao invés de os nós e as pontas do grafo serem classes concretas, serão variáveis “class- valued” e “link-valued”);

Estrutura de um APPC Behavioral Interface: –Parte do ICG que define assinaturas de métodos que os participantes da colaboração deverão executar (variáveis “method-valued”);

Estrutura de um APPC Behavior Definition: –Parte do APPC que conterá a ação a ser executada pela colaboração para se executar a tarefa, envolvendo todos os papéis nele definidos; –Utiliza os grafos de estratégia de trajeto (traversal strategies graphs), bem como os métodos definidos na behavioral-interface;

Estrutura de um APPC Behavior Definition: –Como em JAVA, tem um método distinto que define um “ponto de entrada” para a invocação da colaboração definida pelo APPC (“main-entry”); –Pode ter outras colaborações aninhadas (“traversal-driven”) que ocorrem durante o trajeto do fluxo de controle.

“traversal-driven”

Instanciando um APPC Consiste em mapear os objetos reais da aplicação com as variáveis definidas no ICG (“class-valued”, “link-valued”, “method-valued”); A colaboração formada pelo APPC será amarrada à aplicação (operação denotada com o símbolo “::+”); A aplicação resultante será criada por um gerador automático de código.