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

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

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

Transcrição

1 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, 6681, Prédio 94 Sala 16, Partenon Porto Alegre, RS Brasil {fabio,raquel, samy}@adapit.com.br 2 David R. Cheriton School of Computer Science, University of Waterloo Canadá toacy@acm.org Abstract. Some agile solutions to software development are extensions of the MDA framework. Features-Oriented Model-Driven-Architecture (FOMDA) is one of such solutions. It defines useful models to specify model transformers and organize it in transformation processes. Such paper presents a domain specific modeling language named FOMDA ML as a complement to the FOMDA approach and also shows a support tool to model transformations using the FOMDA ML. Resumo. Algumas soluções para agilizar o desenvolvimento de sistemas são baseadas na MDA. Features-Oriented Model-Driven-Architecture (FOMDA) é dessas soluções. Ela define modelos úteis para especificar transformadores de modelos e para organizálos em processos de transformação. Este artigo apresenta uma linguagem de domínio específico (denominada FOMDA ML) como um complemento da abordagem FOMDA e uma ferramenta de suporte para esta linguagem. Keywords: MDA, DSML, features model, mappings and transformations. 1. Introdução A Model Driven Architecture [6] (MDA) permite agilizar o desenvolvimento de aplicativos. No entanto, existem algumas lacunas relacionadas com a gerência de transformadores de modelos. Uma solução para preencher estas lacunas é apresentada pela abordagem FOMDA (Features-Oriented Model-Driven-Architecture) [3] [4]. Este artigo apresenta uma contribuição para tal abordagem. Trata-se de uma linguagem de modelagem de transformadores de modelos que simplifica o uso da FOMDA. Durante o uso da FOMDA identificou-se a necessidade de uma linguagem mais simples para projetar transformadores, mas que representasse as mesmas informações desta abordagem. A FOMDA define um perfil UML para modelar os transformadores, o que torna o projeto um tanto carregado. Para obter melhor produtividade e clareza nos projetos de transformadores foi necessário desenvolver uma Linguagem de Modelagem de Domínio Específico (DSML). Esta linguagem é denominada como FOMDA Modeling Language (FOMDA ML) e complementa os trabalhos [3][4]. O restante do trabalho está organizado como segue. A Seção 2 introduz e relaciona a abordagem FOMDA com o presente trabalho. A Seção 3 apresenta a FOMDA ML e a Seção 4 apresenta a validação, as restrições da solução e os trabalhos futuros. As conclusões são apresentas na Seção Trabalho em Andamento: A Abordagem FOMDA O principal objetivo ao utilizar a abordagem FOMDA é definir transformadores de modelos adaptáveis a mudanças na configuração de arquiteturas/plataformas. Um

2 exemplo dessa mudança é substituir, na camada de aplicação, uma biblioteca ou framework. Os transformadores são especificados utilizando o diagrama de atividades da UML. Um projeto simples de transformadores permite aos usuários aplicar transformações de modelo para modelo (M2M) e de modelo para código (M2C) [4][5]. Outro mais complexo permite configurar um ambiente em que os usuários são guiados pelo sistema executor durante o processo de transformação [3]. FOMDA apresenta os mapeamentos e transformações na forma de um projeto de transformadores e oferece uma visão mais clara do processo de transformação do que é oferecida por abordagens como QVT [6]. A Figura 1 apresenta o tipo de problema que a abordagem FOMDA soluciona. No topo desta figura (canto esquerdo), é apresentado um exemplo que demonstra a necessidade de se desenvolver uma aplicação em muitas camadas. O exemplo mostra que a camada remota é opcional enquanto as demais são obrigatórias. Cada camada, quando utilizada, requer o uso de determinadas tecnologias que são exemplificadas abaixo da seta número 1. Três arquiteturas relacionadas com Java podem compor uma aplicação de acordo com as camadas utilizadas nesse exemplo Figura 1. O Problema Relacionado com as Plataformas na MDA No canto direito da Figura 1 é apresentada uma solução para transformações de modelos com base na MDA. No topo (canto direito) desta figura, um modelo de entrada, em uma visão independente de plataforma, é ilustrado. Este é composto por uma classe, uma tabela, um formulário e um diagrama de atividades. Utilizando o transformador M2M1 é possível gerar um modelo específico de plataforma (ou de arquitetura). Esta pode ser formada pela primeira arquitetura mostrada no canto inferior esquerdo da Figura 1. O transformador M2M2 pode gerar um modelo específico de plataforma para a segunda arquitetura. Os transformadores M2C1 e M2C2 devem receber como entrada um modelo específico de plataforma e gerar código para a aplicação. A MDA apresenta sugestões interessantes para desenvolver transformadores de modelos. O problema é que em sua definição não existe um formalismo que dite como as transformações, que acrescentam detalhes dependentes de plataformas em modelos de

3 sistemas, devem ser desenvolvidas e executadas. Ela também não define um formalismo que possa ser utilizado para especificar a ordem com que os transformadores são utilizados. A abordagem FOMDA resolve essas lacunas da MDA. A FOMDA recomenda o Modelo de Features para identificar plataformas e disponibiliza extensões no diagrama de atividades da UML que podem ser utilizadas para documentar os transformadores de modelos e para descrever os fluxos de execução dos transformadores. Para especificar os transformadores e o fluxo de execução, também chamado de processo de transformação de modelos, a FOMDA recomenda o uso de um workflow. Na FOMDA, o projetista de transformações e o arquiteto de software focam na melhoria dos processos de produção com a MDA, utilizando um modelo para gerência de configurações que é integrado com os transformadores de modelos. O objetivo principal é automatizar a produção de sistemas e moldar a fábrica de software para mudanças nas arquiteturas de desenvolvimento de software. A definição de um modelo para gerenciar configurações de arquiteturas é a primeira das etapas definidas na FOMDA e é realizada por um arquiteto de software. Ele precisa identificar quais são as tecnologias, padrões de projeto, padrões de codificação, que configuram possíveis arquiteturas de desenvolvimento de sistemas. A Figura 1 (topo e canto esquerdo) apresenta algumas informações vinculadas com desenvolvimento em muitas camadas e com tecnologias Java para plataformas web e desktop. Na FOMDA estas informações podem ser especificadas em um modelo de gerência de configuração e são chamadas de características de plataformas. A Figura 2 apresenta um modelo de plataformas para gerenciar configurações como uma visão PDM (Platform Description Model) da MDA. Ele é um modelo de features que identifica características utilizadas para o desenvolvimento de sistemas nas camadas de aplicação apresentadas na Figura 1. As informações definidas na Figura 2 devem ser utilizadas para mapear e transformar qualquer modelo de um sistema, de qualquer domínio funcional, de uma visão PIM para outra visão PSM. Figura 2. PDM/MF Usado para o Desenvolvimento de Sistemas Comerciais Com o PDM especificado, o arquiteto pode configurar e/ou desenvolver os transformadores de modelos que pretende utilizar para transformar modelos de sistemas.

4 Isto será realizado sempre quando uma nova aplicação for desenvolvida e esta requerer uma configuração diferente de uma arquitetura/plataforma marcada no PDM. Esta configuração ocorre quando o projetista seleciona as características do modelo, marcando-as como mostrado na Figura 2 (canto inferior esquerdo). As características em destaque compõem uma plataforma alvo: A camada remota da aplicação é realizada com Http; Swing, Tiles e JSTL são tecnologias utilizadas na camada de apresentação; Spring é a tecnologia utilizada na camada de negócios. Assim, as informações selecionadas no PDM determinam o que utilizar para desenvolver uma aplicação e, portanto, especifica detalhes para transformar um PIM em um PSM. 3. FOMDA ML Uma Linguagem de Modelagem para a FOMDA A FOMDA ML foi elaborada para facilitar as tarefas de definir transformadores flexíveis às mudanças arquiteturais e de compô-los dinamicamente. Antes dessa linguagem, tal tarefa era realizada com marcações em diagramas de atividades. Isto tornava o projeto dos transformadores carregado demais, o que dificultava a leitura e a composição dos transformadores. A FOMDA ML resolveu este problema. Ela é utilizada na abordagem depois de definir o PDM, em que é necessário identificar os mapeamentos que podem ser feitos de um modelo fonte para um modelo alvo ou de um modelo fonte para o código relacionado com uma característica. Por exemplo, a característica JSTL selecionada no PDM da Figura 2, pode determinar o mapeamento de um formulário (modelo fonte mostrado no topo e canto direito da Figura 1) para um código HTML que utiliza marcações específicas dessa tecnologia. O projetista dos transformadores deve analisar as características do PDM com a finalidade de utilizá-las em transformações de modelos. Ele deve especificar um projeto de transformadores de modelos que combina transformações com as características definidas no PDM. Em [3][4] este projeto é realizado utilizando um workflow de baixo nível, ou seja, um diagrama de atividades que descreve a composição de transformadores, porém este não é o meio mais simples para modelar os mesmos. A FOMDA ML foi elaborada para facilitar a modelagem de transformadores de modelos. Um transformador de modelos na FOMDA tem no mínimo um parâmetro de entrada, um algoritmo de transformação e uma saída [4]. No canto direito da Figura 2 é apresentado o modelo de um transformador elaborado com a FOMDA ML, que equivale ao workflow de baixo nível mencionado acima. Este modelo demonstra que para executar a transformação é necessário um parâmetro de entrada (elemento identificado como entrada) do tipo GUILayout.ScreenArea. A saída de um transformador pode ser qualquer tipo definido na UML ou na linguagem de transformação de modelos usada na ferramenta de MDA. Para viabilizar o reuso de transformadores de modelos, a abordagem FOMDA recomenda o desenvolvimento de um transformador genérico. Assim, quando é necessário realizar uma transformação específica para uma determinada característica, este transformador requisita a execução de outros transformadores. O objetivo do projetista de transformadores é desmembrar o máximo possível os trechos dos algoritmos dos transformadores que aplicam transformações específicas para uma característica do PDM. Algoritmos de transformação são escritos em linguagens de transformação de modelos. Um exemplo de transformador genérico é identificado na Figura 3 como Gerar formulário web. Este pode requisitar a execução do transformador JSTL Transformer, quando a características JSTL estiver marcada no

5 PDM, e executar o transformador Tiles Transformer, quando a característica Tiles estiver selecionada. O transformador da Figura 3 possui um parâmetro de entrada (um formulário) e os dois outros elementos do modelo, que contém números, são pontos de especialização. Um ponto de especialização é um parâmetro de um transformador que define o tipo de um objeto que será disponibilizado para outros transformadores. O ponto de especialização 1 define que o transformador Gerar formulário web disponibiliza nele objetos do tipo GUILayout.Component. Figura 3. Pontos de Especialização de Transformadores Além disso, um ponto de especialização pode executar outros transformadores de modelos. Para isso, ele define o tipo de retorno do transformador a ser executado e também o parâmetro de entrada que o mesmo deve conter. Assim, para poder ser executado por um ponto de especialização, um transformador de modelos deve conter um parâmetro de entrada que seja, ao mesmo tempo, uma instância do tipo definido no ponto e que possua o mesmo tipo de retorno. Logo, um transformador somente será executado pelo ponto de especialização 1 se este tiver um parâmetro de entrada que seja instância de GUILayout.Component e se o seu retorno for declarado como String. Portanto, os pontos de especialização são úteis para desmembrar uma transformação específica para uma característica do PDM. Na FOMDA, também são utilizadas consultas para executar transformadores de modelos. A Figura 4 apresenta uma consulta estereotipada com <<Query>>, que foi adicionada no ponto de especialização 1. Esta consulta testa se a característica JSTL está selecionada no PDM, para chamar então a execução do transformador JSTL Transformer. O uso de consultas em modelo foi exemplificado em [4], utilizando os workflows definidos na abordagem FOMDA. Figura 4. Delegando Transformações com Queries A consulta exemplificada na Figura 4 é executada pelo ponto de especialização 1. Esta, por sua vez, executa o transformador JSTL Transformer somente se este está em conformidade com o tipo do ponto de especialização e com o tipo de saída dele. Transformador e ponto de especialização estão em conformidade e, portanto, o uso do

6 transformador JSTL Transformer no ponto de especialização componente é permitido. Outra maneira de definir a execução de um transformador por um ponto de especialização é apresentada na Figura 5. A relação de realização da UML foi utilizada para indicar que o Transformador Tiles Transformer especializa o ponto 2. A relação é possível de ser estabelecida porque o transformador contém um parâmetro de entrada do mesmo tipo do ponto de especialização e o retorno de ambos é igual. Figura 5. Delegando Transformações com Relação de Especialização de Pontos e Uso de Variáveis Compartilhadas Outra possibilidade para transformadores de modelos na abordagem FOMDA é o uso de variáveis compartilhadas. À direita da Figura 5 o transformador Generates Java GUI Layout compartilha uma variável, o que significa dizer que ele disponibiliza um objeto para ser utilizado por outros transformadores. Parâmetros de entrada de outros transformadores podem fazer uso do dado contido na variável compartilhada. No workflow de baixo nível da abordagem FOMDA isso é realizado utilizando uma transição estereotipada com <<LinkedValue>>, de um parâmetro de entrada para uma variável compartilhada. Na FOMDA ML utiliza-se uma dependência. Parâmetros de entrada podem conter também uma dependência pelo retorno de um transformador de modelos. A Figura 6 apresenta um exemplo em que o parâmetro de entrada denominado guipsmclass depende do resultado do transformador Generates Java GUI Layout. Nos casos em que se utiliza dependência de valores por variável compartilhada ou por retorno de transformadores, a execução do transformador dependente implica na execução do transformador que disponibiliza o resultado ou a variável. No exemplo da Figura 6 o transformador ScreenArea mapping to Swing type 2, ao buscar o valor contido no parâmetro guipsmclass, executa o transformador Generates Java GUI Layout. Este, ao concluir a transformação retorna o resultado que é armazenado pelo parâmetro guipsmclass, que é então utilizado pelo primeiro transformador. Figura 6. Dependência pelo Retorno de um Transformador

7 3.1 Uma Ferramenta de Suporte para a FOMDA ML O sistema WorkCASE Toolkit (WCT) oferece suporte à linguagem FOMDA ML. Ele foi utilizado para validar a solução apresentada nesse artigo. O mesmo é de licença comercial, mas uma versão de uso gratuito para a academia está sendo elaborada. A Figura 7 (A) apresenta o objetivo principal do sistema, que é apoiar o desenvolvimento dirigido por modelos em fábricas de software. No WCT é possível especificar as camadas de aplicação apresentadas na Figura 1, a partir de um modelo de domínio simples, sem marcações. Usando o WCT, engenheiros de softwares são habilitados ao desenvolvimento rápido de aplicações, utilizando uma série de facilitadores que auxiliam na definição de detalhes na transformação PIM 0 -> PIM 1 -> PSM, como: formulários e interfaces gráficas de usuário, mapeamento objeto relacional, modelagem de classes de projeto, dentre outros. Figura 7 Ferramenta WorkCASE Toolkit Na Figura 7 (B) e (C) são apresentadas duas telas do plugin WMTP, parte componente do sistema WCT relacionada com esse artigo. Este permite desenvolver os transformadores de modelos usando a FOMDA ML. A Figura 7 (B) apresenta um diagrama, em que é possível especificar um modelo de descrição de plataformas, um PDM. O plugin oferece também um diagrama para modelar os transformadores de modelos, apresentado na Figura 7 (C). Para mais informações sobre o sistema WorkCASE Toolkit consulte 4. Validação da Solução, Restrições e Trabalhos Futuros A FOMDA ML foi utilizada no WCT para o desenvolvimento de transformadores de modelos na fábrica de software da empresa Adapit. Transformadores M2M e M2C foram desenvolvidos e mapeados para as características selecionadas no PDM, como sugere a abordagem FOMDA. Assim, durante a execução das transformações, transformadores especialistas, com detalhes de uma arquitetura, permitiram que o código gerado ao final de cada iteração do processo de desenvolvimento apresentasse tantos detalhes de implementação que, em poucos casos, foi necessária a intervenção do

8 desenvolvedor para complementar o código. A FOMDA ML também facilitou a adaptação dos transformadores para outra arquitetura, também baseada em Java. Os transformadores de modelos foram desenvolvidos para a WCT em uma linguagem própria para transformadores de modelos, desenvolvida para operar com a FOMDA ML. Linguagens de modelagem para composição de transformadores foram apresentadas e comparadas nos trabalhos [3] e [4]. Linguagens gráficas como UMLX, QVT e ATL são utilizadas para especificar o algoritmo dos transformadores e não possuem relação com a FOMDA. Pretende-se utilizar estas e outras linguagens e testar a execução de transformadores desenvolvidos em linguagens distintas. Neste sentido, um aspecto ruim da FOMDA ML é que transformadores desenvolvidos com base em XSLT não podem ser utilizados nos processos de transformação. Na FOMDA ML existe a necessidade de a ferramenta de MDA converter especificações textuais UML em elementos baseados no MOF. Um estudo para integrar os processos de transformação de modelos, definidos com a FOMDA ML, com processos de desenvolvimento de software definidos com o SPEM está sendo desenvolvido. O objetivo do estudo é estender a FOMDA ML para integrar processos organizacionais com os processos de produção baseados em modelos. A conclusão desse estudo permitirá automatizar processos de desenvolvimento de software, trazendo maior agilidade nas etapas de produção. O estudo também prevê uma integração de melhorias de processos para os requisitos nos níveis F e G da MPS-Br com os processos de produção baseados em modelos definidos com a FOMDA ML. 5. Conclusões O presente trabalho apresentou uma linguagem de domínio específico para especificar transformadores de modelos usando a abordagem FOMDA. Esta abordagem possibilita que detalhes de sistemas sejam representadas como características de um Modelo de Features. Estas podem ser mapeadas para transformações, o que significa que permitem executar transformadores de modelos específicos para uma configuração de plataforma. Os transformadores de modelos foram elaborados utilizando a FOMDA Modeling Language (FOMDA ML). O uso desta linguagem facilitou o uso da abordagem FOMDA, pois simplificou a tarefa de desenvolver os transformadores de modelos, de compô-los dinamicamente e de mapeá-los para diversas arquiteturas. Referências [1] B. Tekinerdogan, S. Bilir, and C. Abatlevi. Integrating Platform Selection Rules in the Model Driven Architecture Approach. In Proc. of MDA-FA, June pp [2] C. Kang et al. Feature-Oriented Domain Analysis (FODA) Feasibility Study (CMU/SEI-90-TR-21). Software Engineering Institute, Carnegie Mellon University. Pittsburg, PA. November, [3] F. Basso, L. Becker, T. Oliveira. Using the FOMDA Approach to Support Object-Oriented Real-Time Systems Development; In Proc. of ISORC [4] F. Basso, L. Becker, T. Oliveira. Uma Solução para Reuso e Manutenção de Transformadores de Modelos Usando a Abordagem FOMDA. In: SBES, 2007, João Pessoa. [5] K. Czarnecki K., H. Simon. Classification of Model Transformation Approaches. In Proc. of OOPSLA 03 Workshop on Generative Techniques in the Context of MDA; 2003 [6] Object Management Group MDA Specifications. October Available at < /mda/specs.htm>.

Um Relato de Experiência no Desenvolvimento Ágil de Sistemas com a MDA

Um Relato de Experiência no Desenvolvimento Ágil de Sistemas com a MDA Um Relato de Experiência no Desenvolvimento Ágil de Sistemas com a MDA Fabio Paulo Basso e Raquel Mainardi Pillat ADAPIT Av. Ipiranga, 6681, prédio 94/16, Partenon Porto Alegre, RS Brasil {fabio,raquel}@adapit.com.br

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

Um Relato de Experiência no Desenvolvimento Ágil de Sistemas com a MDA

Um Relato de Experiência no Desenvolvimento Ágil de Sistemas com a MDA Um Relato de Experiência no Desenvolvimento Ágil de Sistemas com a MDA Fabio Paulo Basso e Raquel Mainardi Pillat Adapit Soluções em TI www.adapit.com.br - Porto Alegre/RS fabio@adapit.com.br raquel@adapit.com.br

Leia mais

Uma Solução para Reuso e Manutenção de Transformadores de Modelos Usando a Abordagem FOMDA

Uma Solução para Reuso e Manutenção de Transformadores de Modelos Usando a Abordagem FOMDA Uma Solução para Reuso e Manutenção de Transformadores de Modelos Usando a Abordagem FOMDA Fabio Paulo Basso 1, Leandro Buss Becker 2, Toacy Cavalcante Oliveira 1 1 Instituto de Informática Pontifícia

Leia mais

Uma Solução para Reuso e Manutenção de Transformadores de Modelos Usando a Abordagem FOMDA

Uma Solução para Reuso e Manutenção de Transformadores de Modelos Usando a Abordagem FOMDA Uma Solução para Reuso e Manutenção de Transformadores de Modelos Usando a Abordagem FOMDA Fabio Paulo Basso 1, Leandro Buss Becker 2, Toacy Cavalcante Oliveira 1 1 Instituto de Informática Pontifícia

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

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

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

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

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS Tereza Gonçalves Kirner Apresentação elaborada com base em: Hoffer, Jeffrey A., George, Joey F. Modern Systems Analysis and Design (Capítulo 1), Pearson,

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

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

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

Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas. Prof. Valdemar Neto INF-UFG

Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas. Prof. Valdemar Neto INF-UFG Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas Prof. Valdemar Neto INF-UFG Agenda Introdução Conceitos Ferramentas Aplicações Perspectivas Engenharia de Software Convencional

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

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

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

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Pós-Graduação em Ciência da Computação

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Pós-Graduação em Ciência da Computação Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Pós-Graduação em Ciência da Computação FEATURES-ORIENTED MODEL-DRIVEN ARCHITECTURE: UMA ABORDAGEM PARA MDD Fábio Paulo Basso

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

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

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

Visões Arquiteturais. Arquitetura de Software Thaís Batista 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

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

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

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

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

RUP RATIONAL UNIFIED PROCESS

RUP RATIONAL UNIFIED PROCESS O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos

Leia mais

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado) Processo UP Unified Process (Processo Unificado) Conjunto de passos que tem como objetivo atingir uma meta Processo de software na ES, processo que visa a produzir o software - de modo eficiente e previsível

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

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ Centro de Tecnologia - CTC Departamento de Informática - DIN Programa de Pós-Graduação em Ciência da Computação PCC ESTÁGIO DE DOCÊNCIA II Disciplina: Engenharia

Leia mais

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

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

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

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

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

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 12 PROFª BRUNO CALEGARO Santa Maria, 29 de Outubro de 2013. Revisão aula passada Modelagem de sistemas Perspectiva externa Perspectiva de iteração

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

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

Prof. Fábio Lúcio Meira

Prof. Fábio Lúcio Meira Prof. Fábio Lúcio Meira Objetivo Transformar os requisitos no design do futuro sistema Evoluir uma arquitetura robusta do sistema Adaptar o design para adequá-lo ao ambiente de implementação O principal

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

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

as fases contemplam todas as etapas do ciclo de desenvolvimento (requisitos, análise, projeto, implementação, teste e validação);

as fases contemplam todas as etapas do ciclo de desenvolvimento (requisitos, análise, projeto, implementação, teste e validação); Título : B2 Processo de desenvolvimento de Sistemas Conteúdo : A UML estabelece uma abordagem para a construção, o desenvolvimento e a manutenção de software. Atualmente, metodologias utilizadas no desenvolvimento

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

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

! Introdução.  Motivação para Processos de Software. ! Processo Unificado (USDP)  Definições  RUP x USDP  Características do Processo Unificado Agenda Rodrigo Reis Cleidson de Souza! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados!

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

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

5 Processo de Reificação e de Desenvolvimento com ACCA Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional

Leia mais

UML Diagramas Estruturais Diagrama de Componentes

UML Diagramas Estruturais Diagrama de Componentes UML Diagramas Estruturais Diagrama de Componentes Representa um modelamento físico dos componentes de software de um determinado Sistema Um componente realiza um conjunto de interfaces e contém em seu

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

5 Detalhamento da arquitetura para OnOCs

5 Detalhamento da arquitetura para OnOCs Detalhamento da arquitetura para OnOCs 95 5 Detalhamento da arquitetura para OnOCs 5.1 Motivação A arquitetura para OnOCs descrita no capítulo anterior foi introduzida para facilitar e agilizar o desenvolvimento

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

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

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

3 Ferramenta Proposta 3.1. Objetivos

3 Ferramenta Proposta 3.1. Objetivos 3 Ferramenta Proposta 3.1. Objetivos O objetivo deste trabalho é a criação de um framework de testes que incorpore algumas das novas idéias encontradas na literatura. Sua principal característica deve

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

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

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

UML Unified Modeling Language Linguagem de Modelagem Unificada

UML Unified Modeling Language Linguagem de Modelagem Unificada UML Unified Modeling Language Linguagem de Modelagem Unificada Prof. Gilberto Porto e-mail: porto@gilbertoporto.com.br A linguagem UML n UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Leia mais

Documento de Arquitetura de Software- SGE

Documento de Arquitetura de Software- SGE Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de

Leia mais

Introdução ao Desenvolvimento de

Introdução ao Desenvolvimento de Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo

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

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE EMENTA ENGENHARIA DE SOFTWARE DISCIPLINA: Estrutura e Fluxo de Informação EMENTA: A disciplina Estrutura e Fluxo de Informação se propõe a capacitar o aluno sobre os fundamentos da Gestão da Informação

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

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso. Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 28 Março 2012 A

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

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

Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal

Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal Patrícia Regina Ramos da Silva Seibt (FURB) patrícia@benner.com.br Marcel Hugo (FURB) marcel@furb.br Everaldo

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

MODELAGEM DE UM SISTEMA DE GERENCIAMENTO DE COMUNICAÇÃO PARA VANTS: MODEL DRIVEN ARCHITETURE COM INTEGRAÇÃO AO PROCESSO UNIFICADO

MODELAGEM DE UM SISTEMA DE GERENCIAMENTO DE COMUNICAÇÃO PARA VANTS: MODEL DRIVEN ARCHITETURE COM INTEGRAÇÃO AO PROCESSO UNIFICADO MODELAGEM DE UM SISTEMA DE GERENCIAMENTO DE COMUNICAÇÃO PARA VANTS: MODEL DRIVEN ARCHITETURE COM INTEGRAÇÃO AO PROCESSO UNIFICADO Christiane Barbieri De Pelegrin * Rogéria Ramos de Oliveira Monteiro **

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

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

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa

Leia mais

Processos de Software

Processos de Software DCC / ICEx / UFMG Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Processos Procedimentos e métodos definindo relação entre tarefas PROCESSO Pessoas com habilidades, treinadas

Leia mais

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

Análise e Projeto de Software Parte II. Marcos Dósea Análise e Projeto de Software Parte II Marcos Dósea marcosdosea@gmail.com Agenda Aula III Análise de Software Orientado à Objetos Motivação Marcos Dósea marcosdosea@gmail.com O que é análise e projeto?

Leia mais

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

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A

Leia mais

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA INTEGRAÇÃO DE APLICAÇÕES APLICADA À EXTRAÇÃO E QUALIFICAÇÃO AUTOMÁTICA DE PUBLICAÇÕES DE PESQUISADORES: UM CASO BASEADO NO CURRÍCULO LATTES 1 APPLICATION INTEGRATION APPLIED TO AUTOMATIC EXTRACTION AND

Leia mais

Agenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo

Agenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo Engenharia de Software Aula 21 Agenda do Curso Reuso de Software Aula 23 Data 28/05 Assunto Desenv. Orientado a Aspectos 24 30/05 Laboratório 25 04/06 Apresentações do TP (1) Eduardo Figueiredo 26 06/06

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

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games Bacharel em Sistema de Informação marcelosantos@outlook.com AULA 01

Leia mais

MODELAGEM DE PROCESSOS MÓDULO 9

MODELAGEM DE PROCESSOS MÓDULO 9 MODELAGEM DE PROCESSOS MÓDULO 9 Índice 1. Processo de Desenvolvimento de Sistemas - Continuação..3 1.1. Diagramas de Casos de Uso... 3 2 1. PROCESSO DE DESENVOLVIMENTO DE SISTEMAS - CONTINUAÇÃO 1.1. DIAGRAMAS

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

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -

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

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

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

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves INTRODUÇÃO À ENGENHARIA DE SOFTWARE Prof.: Tiago Alves (tiagofga@gmail.com) UML UNIFIED MODELING LANGUAGE Livro: Utilizando UML e Padrões, 3.ed. Autor(es): Craig Larman Modelagem de Sistemas Orientados

Leia mais

Features Oriented Model Driven Architecture: Uma Abordagem para Geração e Reutilização de PSMs nas Visões da MDA

Features Oriented Model Driven Architecture: Uma Abordagem para Geração e Reutilização de PSMs nas Visões da MDA Features Oriented Model Driven Architecture: Uma Abordagem para Geração e Reutilização de PSMs nas Visões da MDA Fábio P. Basso, Toacy C. de Oliveira Resumo Um dos desafios atuais da Engenharia de Software

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo

Leia mais

Modelagem de Sistemas Web. Modelagem de BD

Modelagem de Sistemas Web. Modelagem de BD Modelagem de Sistemas Web Aula 9 Modelagem de BD OBS: Pré-requisito: noções intermediárias em BD e de modelo ER Fonte: Proj. e Mod. BD 4/E Capítulo: Análise de Req. E Mod. Dados Conceit. - Toby Teorey

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

Padrão para Especificação de Requisitos de Produto de Multimídia

Padrão para Especificação de Requisitos de Produto de Multimídia Padrão para Especificação de Requisitos de Produto de Multimídia 1 Introdução 1.1 Escopo do documento Sugere-se aqui uma estrutura para a Especificação de Requisitos de Produto de Multimídia (ERPM). Esta

Leia mais

Visão Geral do RUP (Rational Unified Process)

Visão Geral do RUP (Rational Unified Process) Visão Geral do RUP (Rational Unified Process) Objetivos deste módulo Apresentar as características do RUP Discutir os conceitos que existem no RUP: fases, fluxos de atividades (worklows), iterações, responsáveis,

Leia mais

Guilherme Fernando Gielow

Guilherme Fernando Gielow Guilherme Fernando Gielow SISTEMA DE INFORMAÇÕES PARA CONTROLE DE GERENCIAMENTO DE PROJETOS DE INFORMÁTICA BASEADO NO PMBOK Orientador: Evaristo Baptista 1 Sumário 1. Introdução 2. Fundamentação Teórica

Leia mais

Engenharia Software. Ení Berbert Camilo Contaiffer

Engenharia Software. Ení Berbert Camilo Contaiffer Engenharia Software Ení Berbert Camilo Contaiffer Características do Software Software não é um elemento físico, é um elemento lógico; Software é desenvolvido ou projetado por engenharia, não manufaturado

Leia mais

Nesta seção você encontra artigos voltados para testes, processo, modelos, documentação, entre outros

Nesta seção você encontra artigos voltados para testes, processo, modelos, documentação, entre outros Engenharia Nesta seção você encontra artigos voltados para testes, processo, modelos, documentação, entre outros Modelagem de processos de software com SPEM Conheça a notação padrão para modelagem de processos

Leia mais

PROTOTIPAÇÃO. Aula 8. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROJETO DE INTERFACE COM O USUÁRIO Marcelo Henrique dos Santos

PROTOTIPAÇÃO. Aula 8. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROJETO DE INTERFACE COM O USUÁRIO Marcelo Henrique dos Santos Aula 8 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROJETO DE INTERFACE COM O USUÁRIO Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Negócios

Leia mais

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

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual 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