Odyssey-MDA: Uma Abordagem para a Transformação de Modelos de Componentes

Tamanho: px
Começar a partir da página:

Download "Odyssey-MDA: Uma Abordagem para a Transformação de Modelos de Componentes"

Transcrição

1 Odyssey-MDA: Uma Abordagem para a Transformação de Modelos de Componentes Natanael E. N. Maia 1, Ana Paula T. B. Blois 1,2, Cláudia M. Werner 1 1 COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal CEP Rio de Janeiro RJ 2 Pontifícia Universidade Católica do Rio Grande do Sul PUCRS-FACIN Av. Ipiranga, 6681 Prédio 30 Bloco 4 CEP Porto Alegre RS {ntmaia, anablois, werner}@cos.ufrj.br Abstract. This paper presents a MDA based approach to support the developer in obtaining platform specific component models. These models are obtained through the definition and execution of transformations which can be defined by the composition of small generic transformations (built-ins) or implemented and incorporated by an extension mechanism (plug-ins). To support the use of this approach, a machine for model transformation execution and an example of its use for the Enterprise JavaBeans platform are presented. Resumo. Este artigo apresenta uma abordagem baseada no paradigma MDA para apoiar o desenvolvedor na obtenção de modelos de componentes específicos para uma plataforma. Estes modelos são obtidos através da definição e execução de transformações que podem ser definidas pela composição de pequenas transformações genéricas (built-ins) ou implementadas e incorporadas através de um mecanismo de extensão (plugins). Para apoiar o uso dessa abordagem, uma máquina para execução de transformações e um exemplo de utilização para a plataforma Enterprise JavaBeans são apresentadas. Palavras-chave: Arquitetura Orientada por Modelos, Transformações de Modelos, Desenvolvimento Baseado em Componentes. 1. Introdução As organizações que desenvolvem software vêm, de maneira geral, reconhecendo a importância de se reaproveitar o esforço empregado no desenvolvimento de sistemas para reduzir prazos, otimizar recursos, e aumentar a produtividade e qualidade. Uma abordagem atualmente utilizada para se obter os benefícios da Reutilização de Software é o Desenvolvimento Baseado em Componentes (DBC), cujo objetivo é a construção de sistemas a partir de componentes de software reutilizáveis [Sametinger 1997]. A todo o momento, novas tecnologias aparecem no mercado e se tornam populares. Um grande desafio enfrentado no desenvolvimento de software é a escolha dessas tecnologias. Companhias precisam adotá-las pela demanda de seus clientes, pelos problemas que essas novas tecnologias se propõem a resolver, ou pelo fato das tecnologias antigas terem se tornado obsoletas e não existir mais suporte adequado. Como conseqüência, componentes existentes precisam ser migrados para uma nova tecnologia, ou para uma nova versão de uma tecnologia existente [Kleppe et al 2003].

2 Visando diminuir esse efeito, a OMG está desenvolvendo um framework conhecido como Model Driven Architecture (MDA) [MDA 2003], cujo objetivo é prover uma abordagem para: a) especificar um sistema independente da plataforma que irá suportá-lo; b) especificar plataformas possíveis para os sistemas em desenvolvimento; c) escolher uma plataforma para o sistema e; d) realizar transformações sobre a especificação inicial, a fim de obter uma especificação do sistema na plataforma escolhida. Com o uso dessa abordagem, os desenvolvedores passam a dar maior importância à modelagem dos requisitos de negócio da aplicação, não se preocupando com a plataforma onde serão implementados esses requisitos. Diante disto, este artigo descreve uma abordagem para a definição e execução de transformações sobre modelos de componentes. A abordagem permite que modelos de componentes independentes de plataforma sejam transformados em modelos específicos para uma plataforma escolhida. As transformações podem ser definidas pela composição de pequenas transformações genéricas (built-ins) ou implementadas e incorporadas à abordagem através de um mecanismo de extensão (plug-ins). O restante do artigo está organizado em cinco seções: A seção 2 descreve alguns padrões adotados. A seção 3 apresenta a abordagem para definição e execução de transformações sobre modelos de componentes Odyssey-MDA. A seção 4 descreve a implementação da abordagem através da máquina de transformações Odyssey-MDA. A seção 5 apresenta um exemplo de transformação para a plataforma Enterprise JavaBeans. A seção 6 apresenta os trabalhos relacionados. Finalmente, a seção 7 conclui o artigo e apresenta as principais contribuições da abordagem e trabalhos futuros. 2. Padrões Adotados A abordagem proposta está baseada nos padrões Meta-Object Facility (MOF) [MOF 2002], XML Metadata Interchange (XMI) [XMI 2002] e Java Metadata Interface (JMI) [JCP 2004]. O objetivo de utilizar estes padrões é tornar a abordagem flexível para a importação, transformação e exportação dos modelos, além de extensível para a implementação e incorporação de novas transformações. O padrão MOF especifica uma linguagem abstrata para descrever outras linguagens e é também conhecido como meta-meta-modelo (nível M3). As linguagens abstratas descritas a partir do MOF são chamadas de meta-modelo (M2) [Matula 2003]. Um exemplo dessas linguagens abstratas é o meta-modelo da UML, sendo que cada modelo UML está no nível M1. O padrão XMI permite o intercâmbio de dados entre ferramentas de modelagem, baseadas em UML, com repositórios de modelos, baseados no MOF, em ambientes heterogêneos e distribuídos. A especificação JMI permite a geração de interfaces em linguagem Java para um determinado meta-modelo MOF (M2), tornando possível a manipulação de instâncias deste meta-modelo. O meta-modelo da UML, por exemplo, é descrito a partir do MOF. Através do JMI, é possível manipular os elementos da UML (Classe, Interface, Atributo,...) como objetos Java, através das interfaces geradas. Esse tratamento pode ser adotado não somente para a UML, mas para qualquer meta-modelo baseado no MOF. O MDR [Matula 2003] é um repositório que implementa os padrões MOF e JMI, o que permite carregar meta-modelos baseados no MOF, e armazenar instâncias (M1) desses meta-modelos. As instâncias armazenadas no repositório podem ser manipuladas programaticamente, utilizando as interfaces geradas a partir do padrão JMI.

3 3. Abordagem Odyssey-MDA A abordagem Odyssey-MDA permite ao desenvolvedor realizar a transformação dos modelos de componentes independentes de plataforma, conhecidos como PIM (Platform Independent Model), em modelos específicos para uma plataforma em particular (PSM Platform Specific Model) e, posteriormente, obter a implementação destes componentes. Basicamente, esse processo consiste na realização das seguintes etapas: a) Definição de plataformas e transformações O desenvolvedor define as plataformas desejadas e as transformações necessárias para que os modelos PIM sejam transformados em modelos específicos (PSM) para essas plataformas. b) Modelagem inicial dos componentes A modelagem dos componentes é realizada de forma independente da plataforma onde esses componentes serão implementados. c) Marcação do modelo interno dos componentes Os elementos do modelo interno dos componentes (modelo de classes) são preparados com um mecanismo de marcação para guiar a realização das transformações posteriores. d) Escolha da plataforma e execução de transformações O desenvolvedor escolhe uma plataforma previamente definida. As transformações são aplicadas sobre o modelo previamente marcado para a obtenção do PSM para a plataforma escolhida. e) Geração da implementação Uma representação em código fonte do modelo PSM pode ser gerada na linguagem de programação da plataforma. Conforme é apresentado na Figura 1, o cenário típico de utilização da abordagem considera o desenvolvedor elaborando o seu modelo inicial em uma ferramenta CASE ou ambiente de modelagem de sua preferência. Figura 1. Cenário de utilização da Odyssey-MDA Conforme apresentado na Figura 1, através de uma ferramenta CASE, ambiente de modelagem ou ambiente de reutilização, o desenvolvedor deve realizar marcações sobre os elementos do seu modelo interno de componentes (modelo de classes), utilizando estereótipos ou etiquetas (tagged-values). Essas marcações são necessárias para que os mapeamentos mais adequados sejam selecionados, com o intuito de transformar tais elementos em elementos do modelo de saída. O conjunto de estereótipos e etiquetas possíveis para marcar o modelo é definido em função do objetivo da transformação a ser realizada, e pode ser baseado em algum profile da UML, como o UML Profile For EDOC [EDOC 2004]. Após a realização essas marcações, o desenvolvedor deve exportar o modelo de origem (PIM marcado) em formato XMI e importá-lo na máquina de transformações Odyssey-MDA, onde transformações podem ser executadas sobre o modelo de origem, resultando em um modelo de saída (PSM). O PSM gerado pode ser exportado também

4 em formato XMI, para posterior importação na ferramenta CASE inicial, ou transferência para algum gerador de código. A abordagem Odyssey-MDA permite ainda, a definição e execução de transformações bidirecionais. Neste caso, o desenvolvedor pode gerar um PSM a partir de um PIM (transformação direta ou forward), efetuar refinamentos e alterações no modelo PSM e propagar essas alterações de volta ao modelo PIM original (transformação reversa ou reverse). Essa propagação é feita de forma extensível, elementos já existentes no modelo de destino são atualizados pela transformação e não substituídos. Outras formas de resolução de conflitos relacionados à sincronização não são tratadas atualmente nesta abordagem [Gardner et al 2003]. Outro cenário de transformação reversa é a extração das informações independentes de plataforma de um modelo PSM, ou código fonte pré-existente, para a criação de um PIM. Isso seria bastante útil em casos onde um componente originalmente modelado de forma específica para a tecnologia onde foi implementado, tenha que ser migrado para outra tecnologia. 4. O protótipo desenvolvido Cada transformação definida é formada por uma especificação declarativa em XML e um conjunto de mecanismos. A especificação declarativa é responsável por definir os mapeamentos entre os elementos dos modelos de entrada e saída. Tais mapeamentos são definidos através de critérios de busca (finders) para a seleção dos elementos a serem transformados e pela atribuição de um mecanismo responsável pela realização da transformação desses elementos. Os finders são responsáveis por selecionar os elementos do modelo de entrada. Os elementos podem ser selecionados pelo nome, pelos estereótipos ou pelas etiquetas (tagged-values). Por exemplo, todas as classes que possuem o estereótipo <<entrada>> ou todas as classes cuja etiqueta persistent tenha o valor true. Os mapeamentos são específicos para cada tipo de elemento a ser mapeado. Para mapear subtipos de Classifier no meta-modelo da UML (ex: classes, interfaces), é proposto o mapeamento classifier-map. Para mapear subtipos de Features (ex: atributos e operações), é proposto o sub-mapeamento feature-map. Para mapear um Classifier para Feature, ou o contrário, é proposto o sub-mapeamento classifier-feature-map. A máquina de transformações Odyssey-MDA provê uma infra-estrutura de mecanismos genéricos, denominados built-ins, que realizam transformações simples sobre elementos UML. A Tabela 1 apresenta os built-ins existentes e qual a transformação efetuada por cada um. Por exemplo, as classes de um modelo PIM podem ser transformadas para classes, interfaces, atributos e operações no modelo PSM, conforme previsto nos built-ins 6, 7, 8 e 9 da Tabela 1, respectivamente. Tabela 1. Mecanismos genéricos de transformação (built-ins) Built-in Transformação Built-in Transformação 1. ComponentComponent Componente Componente 9. ClassOperation Classe Operação 2. ComponentClass Componente Classe 10. InterfaceInterface Interface Interface 3. ComponentInterface Componente Interface 11. InterfaceAttribute Interface Atributo 4. ComponentAttribute Componente Atributo 12. InterfaceOperation Interface Operação 5. ComponentOperation Componente Operação 13. AttributeAttribute Atributo Atributo 6. ClassClass Classe Classe 14. AttributeOperation Atributo Operação 7. ClassInterface Classe Interface 15. OperationOperation Classe Operação 8. ClassAttribute Classe Atributo

5 Como os built-ins são genéricos, deve existir uma forma para configurar os elementos manipulados por esses built-ins e assim, controlar o comportamento da transformação. Para transformar, por exemplo, uma classe em uma interface (ClassInterface), os atributos desses elementos, definidos no meta-modelo da UML, podem ser informados ao built-in através de um conjunto de propriedades. A Tabela 2 apresenta as propriedades possíveis para a configuração dos built-ins. Elemento manipulado Componente Classe Interface Atributo Operação Todos Tabela 2. Propriedades possíveis para configuração dos built-ins Propriedades isroot, isleaf, isabstract, isactive isroot, isleaf, isabstract, isactive isroot, isleaf, isabstract ownerscope, changeability ownerscope, isquery, concurrency, isroot, isleaf, isabstract, parameters name, nametransformation, stereotype, taggedvalues, visibility, isspecification Nos casos onde é necessário algum tipo de transformação textual sobre o nome dos elementos, a propriedade nametransformation pode ser utilizada para realizar tais transformações (substituições) através de expressões regulares, sendo possível, por exemplo, transformar o nome atributo em getatributo (transformação forward), ou o nome setatributo em atributo (transformação reverse). Na seção 5, um exemplo do uso dessa propriedade é apresentado. Para possibilitar a realização das transformações bidirecionais (PIM PSM), cada mecanismo implementa a interface Transformation que define as transformações em ambos os sentidos, através das operações transformationlefttoright e transformationrighttoleft. Por exemplo, no caso do mecanismo ClassInterface, a operação transformationlefttoright recebe uma Classe como parâmetro e retorna a Interface gerada a partir dessa Classe. Já a operação reversa (transformationrighttoleft) recebe uma Interface e retorna a Classe. Os built-ins disponíveis na máquina de transformações são até o momento suficientes para a definição de uma grande variedade de transformações entre os tipos suportados. Entretanto, podem existir casos onde o desenvolvedor necessita de alguma transformação não disponível. Neste caso, ele pode desenvolver seu próprio mecanismo (plug-in), que deve implementar a interface Transformation e manipular os elementos desejados através das interfaces JMI. 5. Exemplo de Utilização Para ilustrar o funcionamento da abordagem, é apresentado um exemplo de transformação que recebe como entrada o modelo de classes de um componente independente de plataforma (PIM) e gera um modelo de classes PSM desse componente na plataforma EJB (Enterprise JavaBeans). A Figura 2 apresenta o resultado da transformação executada sobre um modelo PIM recebido como entrada. A classe Cliente foi marcada previamente pelo estereótipo <<Entity>> e, de acordo com os padrões definidos pela plataforma EJB, foi transformada na classe ClienteBean, e nas interfaces Cliente e ClienteHome no modelo PSM de saída. Mudanças na classe ClienteBean podem ser propagadas de volta à classe Cliente no modelo PIM inicial, através da execução reversa da transformação, utilizando a operação transformationlefttoright da interface Transformation.

6 Figura 2. Resultado da transformação EJB sobre o modelo PIM As Figuras 3 e 4 ilustram a parte declarativa da transformação, a qual consiste de um documento XML contendo os mapeamentos entre os elementos, os finders (Figura 3) e as propriedades de configuração (Figura 4). A especificação do mapeamento da transformação (transformation-map) é composta por mapeamentos do tipo classifier-map. Cada mapeamento contém finders responsáveis por selecionar elementos nos modelos de origem e destino, de acordo com o atributo side. Na Figura 3, temos a especificação de um classifier-map (Entity- EntityBean) que utiliza o mecanismo genérico ClassClass. Este mecanismo transforma todos os classifiers encontrados pelo finder, que é responsável por selecionar elementos marcados com o estereótipo <<Entity>> no modelo de entrada (PIM). Ainda na Figura 3, são ilustrados outros exemplos de mapeamentos como o feature-map, responsável por realizar a cópia de atributos do elemento Entity para o EntityBean, e para a geração de métodos do tipo get e set para cada atributo do elemento de entrada. <transformation-map name="ejb Mapping"> <classifier-map name="entity-entitybean" implementation="classclass"> <finder side="left" type="stereotype" value="entity" /> <finder side="right" type="stereotype" value="entitybean" /> <feature-map name="copy attribute" implementation="attributeattribute">...</feature-map> <feature-map name="entitybean getter method" implementation="attributeoperation">...</feature-map> <feature-map name="entitybean setter method" implementation="attributeoperation">...</feature-map> </classifier-map> </transformation-map> Figura 3. Parte da especificação do mapeamento EJB (finders e feature-maps) Os mecanismos genéricos são independentes de plataforma, e por isso necessitam de configurações para guiar sua execução. Estas configurações são definidas no XML de especificação da transformação através das tags properties. Na Figura 4, são apresentadas algumas dessas tags. A tag nametransformation (forward) adiciona o sufixo Bean ao nome da classe gerada no modelo PSM. A segunda tag nametransformation (reverse), remove (através de substituição com expressão regular) o sufixo Bean para a geração do nome do elemento no modelo PIM. No exemplo da Figura 2, a classe Cliente é transformada para ClienteBean no modelo PSM. <property name="stereotype" value="entitybean" direction="forward" /> <property name="nametransformation" direction="forward" value="#classifier_name#bean" /> <property name="nametransformation" direction="reverse"> <property name="input" value="#classifier_name#" /> <property name="regex" value="(.*)bean$" /> <property name="subst" value="$1" /> </property> Figura 4. Parte da especificação do mapeamento EJB (propriedades de configuração do built-in ClassClass)

7 Além dos mapeamentos apresentados, ainda é possível especificar a criação dos relacionamentos (associação, generalização, realização, dependência) entre os elementos do modelo de saída gerado pela execução da transformação. Por restrição de espaço, neste artigo é dada maior ênfase ao mapeamento de componentes, classes, interfaces, atributos e operações. A Figura 5 mostra a interface gráfica da máquina de transformações Odyssey- MDA. Na árvore localizada no lado esquerdo da interface pode ser visto o modelo PIM, inicialmente desenvolvido e marcado em uma ferramenta CASE qualquer e importado via XMI. Após escolher a transformação desejada, o usuário pode selecionar os modelos de entrada, de saída e a direção da transformação (forward ou reverse). A transformação é, então, realizada e o modelo PSM pode ser exportado, em formato XMI, para uma ferramenta de geração de código como a Odyssey-MDA-codegen [Odyssey 2005], ou alguma outra ferramenta CASE qualquer. Figura 5. Modelos PIM e PSM na máquina Odyssey-MDA 6. Trabalhos Relacionados Dentre as abordagens existentes a respeito de transformações de modelos, destacam-se a Model Transformation Framework [MTF 2004], e a UML Model Transformation Tool [UMT 2004]. O MTF é um conjunto de ferramentas que apóia o desenvolvedor na realização de comparações, verificação de consistência e implementação de transformações entre modelos UML. A infra-estrutura de armazenamento e manipulação dos modelos é realizada em EMF (Eclipse Modeling Framework). A Odyssey-MDA, diferentemente do MTF, manipula modelos desenvolvidos em qualquer ferramenta CASE ou ambiente de desenvolvimento que utiliza os padrões MOF/JMI/XMI. O UMT é uma ferramenta para transformação e geração de código para modelos UML/XMI. No UMT, transformações são definidas em XSLT/Java e manipulam os modelos através de representações XMI simplificadas (XMI Light). Além disso, o UMT não suporta a definição de transformações bidirecionais. Czarnecki e Helsen (2003) propõem uma classificação de outras abordagens existentes de transformações entre modelos. As abordagens são classificadas em 5 principais grupos: manipulação direta, relacional, baseadas em transformações de grafos, dirigidas à estrutura e híbridas. Com base nessa classificação, a abordagem Odyssey-MDA é híbrida, pois combina características dirigidas à estrutura (built-ins) com manipulação direta (plug-ins).

8 7. Conclusão Este artigo apresenta a abordagem Odyssey-MDA a qual permite que modelos de componentes elaborados de forma independente de plataforma sejam transformados em modelos específicos para uma plataforma. A abordagem é apoiada pela máquina de transformações Odyssey-MDA, desenvolvida em linguagem Java, com as seguintes características: (1) independência de ambiente de desenvolvimento, pois utiliza XMI como formato de representação para transporte; (2) possibilidade de executar transformações bidirecionais; e (3) facilidade de extensão, provendo mecanismos genéricos (built-ins) e a possibilidade de definição de novas transformações (plug-ins). Atualmente, a máquina de transformações Odyssey-MDA utiliza modelos UML, mas futuramente espera-se que seja possível transformar qualquer modelo, cujo metamodelo seja baseado no MOF. Está sendo desenvolvido um exemplo completo de transformações de um modelo de classes PIM em um modelo EJB. O modelo EJB gerado pode ser utilizado em conjunto com outras ferramentas de geração de código e engenharia reversa, representando assim uma solução mais ágil ao desenvolvimento de software. É previsto ainda um estudo de caso para avaliar a máquina de transformações em situações reais. Referências Czarnecki, K., Helsen, S. (2003) Classification of Model Transformation Approaches. Proceedings of the 2nd OOPSLA Workshop on Generative Techniques in the Context of the Model Driven Architecture, USA, EDOC (2004) UML Profile For Enterprise Distributed Object Computing (EDOC) specification, OMG. Gardner, T., Griffin, C., Koehler, J., Hauser, R A Review of OMG MOF 2.0 Query / Views / Transformations Submissions and Recommendations towards the final Standard. OMG Document: ad/ JCP (2004) Java Metadata Interface (JMI) API 1.0 specification, Disponível em acesso em 23/09/2005. Kleppe, A., Warmer, J., Bast, W. (2003) MDA Explained: The Model Driven Architecture Practice and Promise. Boston, MA, Addison-Wesley, Matula, M. (2003) NetBeans Metadata Repository, Disponível em acesso em 23/09/2005. MDA (2003) Model Driven Architecture, OMG, Disponível em acesso em 23/09/2005. MOF (2002) Meta Object Facility (MOF) specification, version 1.4, OMG. MTF (2004) Model Transformation Framework, Disponível em acesso em 23/09/2005. Odyssey (2005) Disponível em acesso em 27/09/2005. Sametinger, J. (1997) Software Engineering with Reusable Components. Springer, UMT (2004) UMT-QVT UML Model Transformation Tool, Disponível em acesso em 23/09/2005. XMI (2002) XML Metadata Interchange (XMI) specification, v1.2, OMG.

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML Natanael E. N. Maia, Ana Paula B. Blois, Cláudia M. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68.511

Leia mais

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

Aumento da complexidade dos sistemas. aumento do nível de abstração ODYSSEY-MDA: UMA ABORDAGEM PARA A TRANSFORMAÇÃO DE MODELOS Natanael Elias Nascimento Maia Orientadora: Cláudia Maria Lima Werner Março - 2006 1 Roteiro Introdução Arquitetura Orientada por Modelos Transformação

Leia mais

Model Driven Development (MDD)

Model Driven Development (MDD) Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@puro.uff.br Sumário Introdução Desenvolvimento de Software

Leia mais

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo

Metamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo Metamodelos para Banco de Dados Carlos Julian Menezes Araújo cjma@cin.ufpe.br Prof. Dr. Robson do Nascimento Fidalgo 1 Agenda Metadados MDA MOF Metamodelos CWM Pacote Relacional Referências 2 Metadados

Leia mais

ODYSSEY-MDA: UMA ABORDAGEM PARA A TRANSFORMAÇÃO DE MODELOS. Natanael Elias Nascimento Maia

ODYSSEY-MDA: UMA ABORDAGEM PARA A TRANSFORMAÇÃO DE MODELOS. Natanael Elias Nascimento Maia ODYSSEY-MDA: UMA ABORDAGEM PARA A TRANSFORMAÇÃO DE MODELOS Natanael Elias Nascimento Maia DISSERTAÇÃO SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS DE PÓS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE

Leia mais

3 Tecnologias Relacionadas

3 Tecnologias Relacionadas Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais

Leia mais

4 Processo de Transformação

4 Processo de Transformação Tecnologias Relacionadas 43 4 Processo de Transformação Com a constante mudança nos requisitos (funcionais e não funcionais) do domínio da aplicação, há uma grande necessidade de que os sistemas estejam

Leia mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

Leia mais

Model Driven Architecture. Centro de Informática/UFPE Fernando Trinta

Model Driven Architecture. Centro de Informática/UFPE Fernando Trinta Model Driven Architecture Centro de Informática/UFPE Fernando Trinta Roteiro Contexto Introdução Conceitos MDA Platform Independent Model Platform Specific Model Transformations Consequências Promessas

Leia mais

Desenvolvimento Dirigido por Modelos: Ferramentas

Desenvolvimento Dirigido por Modelos: Ferramentas DCC / ICEx / UFMG Desenvolvimento Dirigido por Modelos: Ferramentas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Existe MDD na prática? Poucos sistemas ainda são desenvolvidos usando a filosofia

Leia mais

Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência

Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de Mestre

Leia mais

Certificação da Utilização de Padrões de Projeto no Desenvolvimento Orientado a Modelos

Certificação da Utilização de Padrões de Projeto no Desenvolvimento Orientado a Modelos Certificação da Utilização de Padrões de Projeto no Desenvolvimento Orientado a Modelos Maria Cristina F. Gomes 1, 2, Maria Luiza M. Campos 1, Paulo F. Pires 1, 3, Linair M. Campos 4 1 Programa de Pós-graduação

Leia mais

Uma Abordagem para o Controle da Evolução de Software no Desenvolvimento Orientado a Modelos

Uma Abordagem para o Controle da Evolução de Software no Desenvolvimento Orientado a Modelos Uma Abordagem para o Controle da Evolução de Software no Desenvolvimento Orientado a Modelos Chessman Kennedy Faria Corrêa 1 Leonardo G. P. Murta 1 Claudia M. L. Werner 1 1 Programa de Engenharia de Sistemas

Leia mais

Aplicação da Técnica de Tecelagem de Modelos na Transformação de Modelos na MDA

Aplicação da Técnica de Tecelagem de Modelos na Transformação de Modelos na MDA Alexandre dos Santos Mignon Aplicação da Técnica de Tecelagem de Modelos na Transformação de Modelos na MDA Dissertação apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título

Leia mais

Transformações e mapeamentos da MDA e sua implementação em três ferramentas.

Transformações e mapeamentos da MDA e sua implementação em três ferramentas. Giuliano Luz Pigatti Caliari Transformações e mapeamentos da MDA e sua implementação em três ferramentas. Dissertação apresentada à Escola Politécnica da Universidade de São Paulo para obtenção do Título

Leia mais

Contexto. Motivação. variabilidade. variabilidade

Contexto. Motivação. variabilidade. variabilidade 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

Leia mais

Barbara Cristina Alves Silveira 1, Thiago Silva-de-Souza 2 INTRODUÇÃO REFERENCIAL TEÓRICO

Barbara Cristina Alves Silveira 1, Thiago Silva-de-Souza 2 INTRODUÇÃO REFERENCIAL TEÓRICO ACASE SPEM: FERRAMENTA PARA INSTANCIAÇÃO DE PROCESSOS SPEM BASEADA NO ECLIPSE MODELING FRAMEWORK ACASE SPEM: AN ECLIPSE MODELING FRAMEWORK BASED TOOL FOR SPEM PROCESSES INSTANTIATION Barbara Cristina Alves

Leia mais

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE

Leia mais

WorkCASE Toolkit: Uma Ferramenta de Suporte para Agile Model Driven Architecture

WorkCASE Toolkit: Uma Ferramenta de Suporte para Agile Model Driven Architecture WorkCASE Toolkit: Uma Ferramenta de Suporte para Agile Model Driven Architecture Fabio Paulo Basso 1, Toacy Cavalcante Oliveira 1 1 Instituto de Informática Pontifícia Universidade Católica do Rio Grande

Leia mais

4 ALBATROZ : Um ambiente para desenvolvimento de SMA

4 ALBATROZ : Um ambiente para desenvolvimento de SMA 41 4 ALBATROZ : Um ambiente para desenvolvimento de SMA Resumo Neste capítulo será apresentado o processo de desenvolvimento do ambiente Albatroz. Cada ferramenta é detalhada indicando suas funcionalidades.

Leia mais

Odyssey-VCS: Um Sistema de Controle de Versões Para Modelos Baseados no MOF

Odyssey-VCS: Um Sistema de Controle de Versões Para Modelos Baseados no MOF Odyssey-VCS: Um Sistema de Controle de Versões Para Modelos Baseados no MOF Hamilton Oliveira, Leonardo Murta, Claudia Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa Postal 68511

Leia mais

5 QCDTool: Uma Ferramenta para Avaliar a Qualidade do Design em Modelos

5 QCDTool: Uma Ferramenta para Avaliar a Qualidade do Design em Modelos 5 QCDTool: Uma Ferramenta para Avaliar a Qualidade do Design em Modelos Este capítulo apresenta a ferramenta desenvolvida para apoiar a aplicação, em diagramas de classes, de mecanismos de análise da qualidade

Leia mais

6 Ferramenta para a Especialização de Mecanismos de Persistência

6 Ferramenta para a Especialização de Mecanismos de Persistência Ferramenta para a Especialização de Mecanismos de Persistência 71 6 Ferramenta para a Especialização de Mecanismos de Persistência 6.1. Introdução Esta ferramenta foi desenvolvida para viabilizar o processo

Leia mais

Desenvolvimento de software orientado a características e dirigido por modelos

Desenvolvimento de software orientado a características e dirigido por modelos Desenvolvimento de software orientado a características e dirigido por modelos Rodrigo Reis Pereira 1, Marcelo Almeida Maia 1 1 Faculdade de Computação Universidade Federal de Uberlândia (UFU) Uberlândia

Leia mais

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto Versão 1.0.0 1 ÍNDICE Sumário INTRODUÇÃO... 3 PRINCIPAIS CARACTERÍSTICA DA ASTAH... 3 COMO BAIXAR... 4 PRINCIPAIS FUNCIONALIDADES...

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

Odyssey-PSW: Uma Ferramenta de Apoio à Verificação e Validação de Especificações de Restrições OCL

Odyssey-PSW: Uma Ferramenta de Apoio à Verificação e Validação de Especificações de Restrições OCL Odyssey-PSW: Uma Ferramenta de Apoio à Verificação e Validação de Especificações de Restrições OCL Alexandre L. Correa, Cláudia M. L. Werner COPPE/UFRJ Programa de Engenharia de Sistemas e Computação Caixa

Leia mais

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

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Desenvolvimento de SIG para Web utilizando MDA

Desenvolvimento de SIG para Web utilizando MDA Desenvolvimento de SIG para Web utilizando MDA Carlos Eduardo R. de Mello, Geraldo Zimbrão da Silva, Jano M. de Souza Programa de Engenharia de Sistemas e Computação Universidade Federal do Rio de Janeiro

Leia mais

Modelos formais em MDA

Modelos formais em MDA Modelos formais em MDA Modelo independente de computação (IM) Modelo independente de plataforma (PIM) Modelo específico de plataforma (PSM) Modelo de definição de plataforma (PDM) 39 IM (omputation Independent

Leia mais

Um ambiente de suporte para uma linguagem de modelagem de sistemas multi-agentes

Um ambiente de suporte para uma linguagem de modelagem de sistemas multi-agentes Richard Werneck de Carvalho Um ambiente de suporte para uma linguagem de modelagem de sistemas multi-agentes Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título

Leia mais

Model-Driven Architecture

Model-Driven Architecture Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Model-Driven Architecture Guilherme Potenciano Ricardo Cacheta Waldemarin SSC5944 - Arquitetura de Software (...) it might be

Leia mais

2 O Modelo: SetModel. 2.1 Modelo de Informação

2 O Modelo: SetModel. 2.1 Modelo de Informação O Modelo: SetModel 2 O Modelo: SetModel 2.1 Modelo de Informação Modelo de informação é uma representação abstrata e formal de entidades incluindo suas propriedades, relações e operações que podem ser

Leia mais

Transformação de modelos em processos de desenvolvimento de software

Transformação de modelos em processos de desenvolvimento de software 1068 X Salão de Iniciação Científica PUCRS Transformação de modelos em processos de desenvolvimento de software Vinycio de Correa Lunelli 1, Profa. Dra. Ana Paula Terra Bacelo 1 1 Faculdade de Informática,

Leia mais

FOMDA ML: uma Linguagem de Modelagem para Especificação de Transformadores de Modelos na MDA

FOMDA ML: uma Linguagem de Modelagem para Especificação de Transformadores de Modelos na MDA FOMDA ML: uma Linguagem de Modelagem para Especificação de Transformadores de Modelos na MDA Fabio Paulo Basso 1, Raquel Mainardi Pillat 1, Toacy Cavalcante Oliveira 2, Samy Lima Assy 1 1 ADAPIT Av. Ipiranga,

Leia mais

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

Engenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois Cláudia Werner Karin Becker Agenda Motivação Engenharia de Domínio e Desenvolvimento Baseado

Leia mais

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

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

Agenda Atual do Curso. Desenvolvimento Dirigido por Modelos (MDD) Abordagem MDD. Agenda da Aula. Abordagem MDD. Manutenção e Geração

Agenda Atual do Curso. Desenvolvimento Dirigido por Modelos (MDD) Abordagem MDD. Agenda da Aula. Abordagem MDD. Manutenção e Geração Reuso de Software Aula 21 Agenda Atual do Curso Desenvolvimento Dirigido por Modelos (MDD) Aula 23 Data 28/05 Assunto Avaliação Experimental de Reuso 24 30/05 Semana da PPGCC (ñ há aula) 25 04/06 Apresentações

Leia mais

Estudos de Caso Sistema de Sincronização dos Dados Acadêmicos do SAU e do AulaNet

Estudos de Caso Sistema de Sincronização dos Dados Acadêmicos do SAU e do AulaNet Estudos de Caso 58 5 Estudos de Caso O primeiro estudo de caso apresentado é um sistema de sincronização de dados. Ele foi escolhido porque é totalmente voltado para a camada de persistência. O segundo

Leia mais

7 Conclusão e Trabalhos Futuros

7 Conclusão e Trabalhos Futuros 7 Conclusão e Trabalhos Futuros Como um novo e poderoso paradigma para o design e a implementação de sistemas de software (Lind, 2001;Wooldridge et al., 2001), o SMA requer metodologias, linguagens de

Leia mais

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

Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos Ferramenta MVCase Uma Ferramenta Integradora de Tecnologias para o Desenvolvimento de Componentes Distribuídos Eduardo Santana de Almeida Daniel Lucrédio Calebe de Paula Bianchini Antonio Francisco do

Leia mais

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

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste 6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam

Leia mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks 48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o

Leia mais

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

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

Odyssey-VCS. Introdução Motivação. Introdução Contexto. Agenda. Uma Abordagem de Controle de Versões para Elementos da UML

Odyssey-VCS. Introdução Motivação. Introdução Contexto. Agenda. Uma Abordagem de Controle de Versões para Elementos da UML Odyssey-CS Uma de Controle de ersões para Elementos da UML Hamilton Luiz Rodrigues de Oliveira hamilton@cos.ufrj.br Orientação: Claudia Maria Lima Werner werner@cos.ufrj.br! proposta! 2 Introdução Contexto

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Run-Time Variability through Component Dynamic Loading

Run-Time Variability through Component Dynamic Loading Run-Time Variability through Component Dynamic Loading Leonardo Murta, Aline Vasconcelos Ana Paula Blois, Marco Lopes Carlos Júnior, Marco Mangan Cláudia Werner Agenda Contexto e Motivação Variabilidades

Leia mais

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs

1.1. Declaração do Problema e Limitações dos Trabalhos Relacionados Um Framework Conceitual para SMAs 1 Introdução Os sistemas multiagentes (SMAs) estão tendo cada vez mais aceitação no setor da engenharia de software e no meio acadêmico como um paradigma para o desenvolvimento e a criação de sistemas

Leia mais

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

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 Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br

Leia mais

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução Frustração com as promessas da Orientação a objetos em relação ao reuso de classes. Frameworks são uma solução para um domínio

Leia mais

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Segundo Workshop de Desenvolvimento Baseado em Componentes Itana Maria de Souza Gimenes itana@din.uem.br Departamento de Informática

Leia mais

Sergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015

Sergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015 Sergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015 1 Introdução Motivação; MDE; Programas Adaptativos. SBMM; Metamodelo para Programas Adaptativos; Ferramenta CASE para Programas Adaptativos;

Leia mais

Introdução ao Catalysis

Introdução ao Catalysis Introdução ao Catalysis Tópicos Avançados de Engenharia de Software João Bosco jbapf@cin.ufpe.br Roteiro Dificuldades Motivação Componentes Desenvolvimento Baseado em Componentes (DBC) Catalysis jbapf@cin.ufpe.br

Leia mais

DIAGRAMAS DE CLASSE UML

DIAGRAMAS DE CLASSE UML DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar

Leia mais

USANDO ONTOLOGIAS NA CONSTRUÇÃO DE MODELOS MDA (MODEL-DRIVEN ARCHITECTURE)

USANDO ONTOLOGIAS NA CONSTRUÇÃO DE MODELOS MDA (MODEL-DRIVEN ARCHITECTURE) USANDO ONTOLOGIAS NA CONSTRUÇÃO DE MODELOS MDA (MODEL-DRIVEN ARCHITECTURE) Jaguaraci Batista Silva 1 Milton Sampaio 2 Juliana Pezzin 3

Leia mais

Usando a abordagem MDA no desenvolvimento de sistemas multi-agentes

Usando a abordagem MDA no desenvolvimento de sistemas multi-agentes Beatriz Alves De Maria Usando a abordagem MDA no desenvolvimento de sistemas multi-agentes Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do título de Mestre pelo

Leia mais

Modelo de Componentes CORBA

Modelo de Componentes CORBA Modelo de Componentes CORBA Cláudia Brito L. N. da Silva cblns@cin.ufpe.br Roteiro 1. Visão geral 2.! Definindo componentes! Implementando componentes! Empacotando componentes! Instalando componentes!

Leia mais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso

Leia mais

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS Introdução Objetivos Fundamentação teórica Especificação Implementação Operacionalidade Resultados e discussão Conclusão

Leia mais

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero

Desenvolvimento de Software Baseado em Componentes. Paulo C. Masiero Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução Frustração com as promessas da Orientação a objetos em relação ao reuso de classes. Frameworks são uma solução para um domínio

Leia mais

132 6 Conclusão 6.1. Contribuições da Tese

132 6 Conclusão 6.1. Contribuições da Tese 132 6 Conclusão Esta tese teve como objetivo principal o estudo da aplicação de transformações para manter a rastreabilidade de um sistema de software. Esta abordagem permite a captura automática das informações

Leia mais

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática UERJ Oscar Luiz Monteiro de Farias 1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática UERJ Oscar Luiz Monteiro de Farias 2 Conceitos de Sistemas de Banco de Dados e Arquitetura

Leia mais

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DComp 2017 Modelagem de Dados UML 2 1 Eduardo Bezerra Editora Campus/Elsevier Porcentagem de projetos que terminam dentro do

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

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

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de

Leia mais

Análise de Sistemas. Aula 5

Análise de Sistemas. Aula 5 Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles

Leia mais

Uma meta-ferramenta de geração de diagramas utilizada na engenharia reversa de sistemas legados.

Uma meta-ferramenta de geração de diagramas utilizada na engenharia reversa de sistemas legados. Rodnei Silva Couto Uma meta-ferramenta de geração de diagramas utilizada na engenharia reversa de sistemas legados. Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção

Leia mais

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Visão Geral da UML SSC 121 - Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Conteúdo Introdução Ferramentas de Apoio Diagramas da UML Elementos Genéricos Material sobre UML

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

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

3 GenArch: Uma Ferramenta Baseada em Modelos para Derivação de Produtos de Software 35 3 GenArch: Uma Ferramenta Baseada em Modelos para Derivação de Produtos de Software Este capítulo apresenta a abordagem de derivação de LPS implementada pela ferramenta GenArch. A abordagem tem como

Leia mais

Odyssey-CCS: Uma ferramenta flexível para o controle de modificações em software

Odyssey-CCS: Uma ferramenta flexível para o controle de modificações em software Odyssey-CCS: Uma ferramenta flexível para o controle de modificações em software Luiz Gustavo B. Lopes 1,2, Leonardo Murta 1, Cláudia Werner 1 1 COPPE/UFRJ - Programa de Engenharia de Sistemas e Computação

Leia mais

2. Trabalhos Relacionados

2. Trabalhos Relacionados 19 acase: Ambiente para Modelagem, Geração de Código e Engenharia Reversa de Software Orientado a Aspectos Thiago Silva-de-Souza¹, ², Wallace Santos Vialle Rettich², Danilo Ferreira Leite², Diego Cardozo

Leia mais

Proposta de Trabalho de Conclusão de Curso

Proposta de Trabalho de Conclusão de Curso UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO CURSO DE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Proposta de Trabalho de Conclusão de Curso Gerador de Código Automático Baseado em Diagramas de

Leia mais

2 Metodologias para Projetos de Aplicações Hipermidia

2 Metodologias para Projetos de Aplicações Hipermidia 2 Metodologias para Projetos de Aplicações Hipermidia O processo de desenvolvimento de aplicações é o objeto de diversas pesquisas, principalmente no caso das aplicações voltadas para a Internet, que diferem

Leia mais

Modelagem/Arquitetura de Software

Modelagem/Arquitetura de Software Modelagem/Arquitetura de Software Thaís Vasconcelos Batista Objetivo do Curso Apresentar as tendências atuais para desenvolvimento de aplicações baseadas em componentes, oferecendo uma visão conjunta das

Leia mais

Técnicas para Reutilização de Software

Técnicas para Reutilização de Software DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de

Leia mais

Tópicos da Aula. Desenvolvimento Dirigido por Modelos (MDD) Reusar cada vez mais... Reusar cada vez mais... O que é modelagem? Reuso: Código x Modelos

Tópicos da Aula. Desenvolvimento Dirigido por Modelos (MDD) Reusar cada vez mais... Reusar cada vez mais... O que é modelagem? Reuso: Código x Modelos Reuso de Software Aula 20 Tópicos da Aula Desenvolvimento Dirigido por Modelos (MDD) Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com

Leia mais

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001 UML Visão Geral 1 Índice Introdução Diagramas O que é a UML? Diagrama de casos de utilização Valor da UML Diagrama de classes Origens da UML Diagrama de objectos Parceiros da UML Diagrama de componentes

Leia mais

pgmodeler: muito mais que um modelador de bancos de dados PostgreSQL

pgmodeler: muito mais que um modelador de bancos de dados PostgreSQL pgmodeler: muito mais que um modelador de bancos de dados PostgreSQL Raphael Araújo e Silva Bacharel em Ciência da Computação pela Universidade Federal do Tocantins; Há 12 anos atuando como Desenvolvedor

Leia mais

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

Visão Geral do RUP.

Visão Geral do RUP. Visão Geral do RUP hermano@cin.ufpe.br Objetivos Apresentar as características RUP Discutir os conceitos da metodologia: fases, fluxos de atividades (workflows), iterações, responsáveis, atividades e artefatos

Leia mais

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje 1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria

Leia mais

7 Conclusão e Trabalhos Futuros

7 Conclusão e Trabalhos Futuros Conclusão e Trabalhos Futuros 123 7 Conclusão e Trabalhos Futuros Esta dissertação apresenta a linguagem X-SMIL para autoria declarativa de documentos hipermídia. Nessa direção, o primeiro passo do trabalho

Leia mais

Model Driven Development (MDD)

Model Driven Development (MDD) DCC / ICEx / UFMG Model Driven Development (MDD) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Motivação para MDD Software é caro Os EUA sozinho investem mais de $250 bilhões em software Nos EUA,

Leia mais

Hibernate Anotations

Hibernate Anotations Hibernate Anotations Fabio Luiz Oenning da Costa¹, Ricardo Minigucci¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil fabiooenning@hotmail.com ricardominigucci@gmail.com Resumo. Este artigo apresenta

Leia mais

Session Bean Stateful

Session Bean Stateful Session Bean Stateful Componentes que mantém o estado dos seus atributos. Mantém os valores de seus atributos entre as várias chamadas de seus métodos de negócio (serviços). Mantém um relacionamento forte

Leia mais

5 Modelo Conceitual de Teste

5 Modelo Conceitual de Teste Modelo Conceitual de Teste 56 5 Modelo Conceitual de Teste Visando ilustrar a relação das informações de teste mencionadas no capitulo 3 e assim ajudar na atividade de gerência dos testes e na geração

Leia mais

Engenharia de Software

Engenharia de Software Instituto Superior Politécnico de Ciências e Tecnologia Engenharia de Software Prof Pedro Vunge www.pedrovunge.com I Semestre de 2018 Capítulo 1 Introdução SUMÁRIO Engenharia de Software Definição; Objectivos

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M

1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M Abstrações do mundo real Sistema e seu ambiente Com um propósito específico Simulação, geração de código No MDD Quem lê e entende o modelo é o computador Uma vez que o computador entenda o modelo... O

Leia mais

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha

Leia mais

6 A Ferramenta de Medição e Avaliação

6 A Ferramenta de Medição e Avaliação 77 6 A Ferramenta de Medição e Avaliação Neste capítulo é apresentada a ferramenta AJATO, acrônimo para Ferramenta de Avaliação AspectJ 11. Esta ferramenta permite medir e avaliar sistemas implementados

Leia mais

ARES: Uma Ferramenta de Engenharia Reversa Java-UML

ARES: Uma Ferramenta de Engenharia Reversa Java-UML ARES: Uma Ferramenta de Engenharia Reversa Java-UML Gustavo Veronese, Alexandre Correa, Cláudia Werner 1 Felipe Jezini Netto 2 {veronese, alexcorr, werner}@cos.ufrj.br, fjezini@symprise.com 1 COPPE/UFRJ

Leia mais

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

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Desenvolvimento de software orientado a características e dirigido por modelos

Desenvolvimento de software orientado a características e dirigido por modelos Desenvolvimento de software orientado a características e dirigido por modelos Universidade Federal de Uberlândia Rodrigo Reis Pereira Prof. Dr. Marcelo Almeida Maia Agenda Motivação Introdução Modelagem

Leia mais

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa

Leia mais

Prof. Me. Sérgio Carlos Portari Júnior

Prof. Me. Sérgio Carlos Portari Júnior Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade

Leia mais