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

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

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

Transcrição

1 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 MG Brasil rreisp@gmail.com,marcmaia@facom.ufu.br Nível: Mestrado Ano de Ingresso no programa: 2007/1 Previsão de conclusão: 2009/2 Resumo. O desenvolvimento de software orientado a características e dirigido por modelos (FOMDD - Feature Oriented Model Driven Development)[1] é uma abordagem que une FOP (Feature Oriented Programming - programação orientada a características)[4] e MDD (Model Driven Development - desenvolvimento dirigido por modelos)[3]. MDD utiliza modelos para especificação de programas e transformações sobre modelos para síntese de executáveis. FOP é um paradigma para linhas de produtos de software no qual programas são construídos através da composição de características. FOMDD propõe que produtos de uma linha de produtos de software sejam construídos pela criação de modelos compostos por características e que estes sejam transformados em executáveis. Esse trabalho é uma proposta de generalização para o método de FMODD apresentado em [1]. Palavras Chave Desenvolvimento de software orientado a características, modelagem de características, arquiteturas dirigidas por modelos, metaprogramação, linhas de produto de software

2 1. Caracterização do Problema As instâncias de uma linha de produtos de software podem ser diferenciadas pelas capacidades (características) que cada um deles apresenta. Diferentes composições de características levam a diferentes produtos. A modelagem de características 1 é a atividade de especificar a variabilidade de propriedades dos conceitos e suas interdependências através de um modelo [5]. FOP é um paradigma para linhas de produtos de software no qual programas são construídos através da composição de características. Uma linha de produtos é especificada em função de um domínio de aplicação e considera-se sempre a existência de uma característica base, que representa a estrutura inicial para a aplicação de refinamentos. Por exemplo, considerando uma linha de produtos simplificada para a construção de carros. Considerando que carros fossem obrigatoriamente constituídos por Motor, Transmissão e opcionalmente Som. Poderíamos gerar dois tipos de modelos de carro: Base (Base = Transmissão Motor), e o outro refinado, composto por Base e Som (Base&Som = Som Base). FOMDD envolve modelagem e composição de características bem como a transformação destes modelos com o objetivo final de obtenção do código executável. O estudo de caso apresentado em [1], mostra uma forma de se obter portlets (componentes de portais web) [23] através da utilização de diagramas de estados a serem transformados em modelos intermediários refináveis que antecedem o processo de geração de código. Naquele estudo, o processo de desenvolvimento inicia com a especificação de um diagrama de estados que representa o fluxo de computação do componente (sendo cada estado a representação abstrata de uma característica), e que é posteriormente transformado em modelos intermediários, em conformidade com uma linguagem de domínio específico para portlets, definindo a estrutura básica de implementação de cada um dos estados, segundo arquitetura de código previamente definida. Estes modelos intermediários são então refinados pela combinação com modelos de configuração específicos de plataforma escritos manualmente, completando a especificação e possibilitando a geração de código funcionalmente completo. No que diz respeito à inclusão de novas características, i.e., refinamento do modelo de características, [1] mostra como a adição de novos estados (PIMs 2 ) no diagrama inicial, é propagada ao longo das fases para os PSMs 3 intermediários e como os modelos base e de refinamento podem ser combinados com o objetivo de gerar uma representação final coerente com as mudanças aplicadas. As cinco transformações em destaque na Figura 1(Modelo de Feature1 Modelo de Feature2, T1 (2), T1 (3), Tn (3) e Tn+1 (3) ) não foram executadas em [1]. Ao invés, a síntese de código foi obtida pela combinação, via FOP, do código gerado para cada uma das partes, i.e., base e refinamento (Figura 1, caminho A). Idealmente, a síntese de código deve ser feita pela transformação do modelo que representa a combinação das características base e refinamento (Figura 2, caminho B) conforme mostrado em [1]. Ainda, dentre os dados de entrada apenas o diagrama de estados é independente de plataforma, os demais (refinamentos manuais) são PSMs e deveriam ser derivados de um ou mais PIMs. A Figura 1 mostra diferentes caminhos possíveis de comutação de elementos para obtenção de código a partir de modelos de entrada. 1 Do inglês feature modeling 2 Do inglês platform independent model modelo independente de plataforma 3 Do inglês platform specific model modelo específico de plataforma

3 Figura 1: Exemplo de processo FOMDD Para a construção de tal mecanismo (Figura 1, caminho B) é necessária a implementação de uma linguagem de especificação de modelos orientada a características com suporte a mecanismos de refinamento, definição de linguagens de domínio específico que permitam a criação de modelos auxiliares de alto nível para configuração do modelo principal, bem como as transformações capazes de traduzir as especificações de alto nível em código fonte. 2. Fundamentação Teórica A principal diferença entre o processo tradicional de desenvolvimento e MDD é que os artefatos gerados ao longo das fases de desenvolvimento de MDD são modelos passíveis de transformação especificados através de DSLs [6], o que sugere altos índices de automação entre as fases. Modelos definem detalhes particulares do projeto de um sistema e podem ser derivados a partir de outros modelos. Neste contexto, o conceito de transformações de modelos é fundamental para a realização dos benefícios decorrentes da abordagem tais como aumento de produtividade, portabilidade e interoperabilidade. Os modelos gerados são utilizados como parâmetros para geração de modelos nas fases posteriores e finalmente geração de código executável (que também pode ser considerado um modelo), preservando, conseqüentemente, a conformidade entre os artefatos das diferentes fases. A Modelagem de Características provê uma representação para expressar a variabilidade e a dependência entre as características. Características são entidades de primeira classe do projeto, que encapsulam representações de programas estruturadas hierarquicamente (como código, arquivos de configuração, etc) e que descrevem em alto nível de abstração os requisitos de um sistema [17]. São criadas/adaptadas em função de um contexto. É considerada a presença de uma característica base (um ponto de partida para os produtos de uma linha) e seu comportamento é refinado por sua combinação com outras características. Esta mudança de comportamento altera a semântica do produto final. Os diagramas de características da Modelagem de Características definem as diferentes possibilidades de produtos a serem gerados a partir de um conjunto de características organizadas hierarquicamente. Em essência, eles definem uma linha de produtos. Na prática, muitas características são independentes de outras, e não modificam os seus estados quando agrupadas. Estas podem ser combinadas sem mudar as demais características. Entretanto, uma característica pode refinar o comportamento de outras existentes ou necessitar a exclusão/substituição de uma outra por questões de incompatibilidade. O resultado de análises como esta é um conjunto de critérios (restrições específicas do domínio) para composição de

4 características, que permite um raciocínio modular e o refinamento sobre as composições. FOP é um paradigma para linhas de produtos de software onde programas são sintetizados pela composição de características. Uma linha de produtos de software define uma família de produtos similares onde as características (ou features) correspondem às funcionalidades que os programas provêem. Logo, se descrevemos, diferenciamos, modelamos programas através de características, então um requisito importante neste contexto é construir programas (ou famílias de programas) através da especificação de características. Batory em [7] apresenta o ambiente AHEAD, baseado em refinamentos sucessivos [10], através do qual programas complexos podem ser construídos pela adição incremental de detalhes (características). A OMG (Object Management Group)[11] é uma organização que define padrões como UML, XMI [11] e MOF [12]. MOF define uma linguagem e um framework para a especificação, construção e gerência de metamodelos independentes de tecnologia. Na busca de um padrão para linguagens de transformação no contexto de MDD, a OMG, define a especificação MOF 2.0 Query, View, and Transformation (QVT) [13], que trata do problema de como traduzir um modelo em diversos artefatos textuais como modelos conceituais, código, especificações de implantação 4, relatórios, documentos, etc. Ela define três linguagens de domínio específico Relações, Núcleo e Mapeamentos Relacionais além de um mecanismo denominado BlackBox (caixa-preta). Relações e Núcleo são duas linguagens declarativas em diferentes níveis de abstração, que contém um mapeamento normativo de correspondência. Os mapeamentos relacionais são definidos por uma linguagem imperativa que estende Relações e Núcleo, e cuja sintaxe provê construções comuns encontradas em linguagens imperativas (estruturas de repetição e seleção, etc). BlackBox permite a integração de bibliotecas e implementações externas de transformações (i.e., não QVT). O esquema geral da arquitetura QVT é mostrado na figura a seguir. Figura 2: Arquitetura QVT Considerando o desenvolvimento de sistemas através de modelos de alto nível e a necessidade de efetuarmos refinamentos sobre estes modelos durante no processo orientado a características, é necessária a existência de mecanismos de composição específicos para cada tipo de modelo a ser manipulado. AHEAD provê mecanismos de refinamento para alguns tipos particulares de artefatos como arquivos Jak (Jakarta uma versão estendida de Java) [17] e XML. Entretanto, para que composições sejam feitas a nível de modelagem, é preciso estender este recurso aos modelos abstratos de representação através da definição de um operador de combinação para os modelos descritos em uma linguagem de especificação de modelos orientada a característica. 3. Caracterização da Contribuição Nosso trabalho visa generalizar o método apresentado em [1] através da especificação de linhas de produto de software pelo uso de modelos independentes de plataforma descritos em UML [11], 4 Do inglês deployment

5 DSLs 5 (como OCL [11]) para definição de restrições arquiteturais sobre o modelo e de configurações em alto nível de abstração, de elementos de arquitetura de código, lógicas de domínio e visão, além de transformações de modelo para combinação (i.e., transformações endógenas) e tradução entre modelos de diferentes tipos (i.e., transformações exógenas), como síntese de código. A principal contribuição pretendida por este trabalho é a definição de um conjunto de operadores de combinação e transformação, que permitam traduzir o modelo de entrada, especificado em uma linguagem de modelagem genérica de alto nível orientada a característica, em código executável. Para a realização do nosso trabalho é necessária a elaboração de uma ferramenta que tome como parâmetros de entrada um modelo base e um modelo de refinamento e retorne o modelo que representa a combinação destes modelos. Dada a disponibilidade de um mecanismo de combinação de arquivos XML no ambiente AHEAD e a existência de diversas implementações disponíveis de linguagens de transformação MDD, baseadas no padrão QVT (como ATL [15] e SmartQVT [16]), aplicáveis a modelos XML, acredita-se poder alcançar nosso objetivo através da definição de um profile UML para modelagem de características (configurável via OCL e representável por XML). Pretende-se obter ao término deste trabalho uma ferramenta de composição capaz de tomar como parâmetros uma especificação concreta de alto nível (segundo o metamodelo de entrada abstrato orientado a características descrito pelo profile UML) representada por um conjunto de arquivos XML e que permita com o auxílio de módulos específicos de plataforma (ex.: arquitetura MVC para portlets) gerar os diferentes produtos descritos pela linha de produtos através de um processo automatizado. 4. Estado Atual do Trabalho Entre os resultados parciais de nosso trabalho consta a elaboração de um profile UML [11], definido por um metamodelo para linguagem orientada a características. A definição deste foi possível por meio do IDE Eclipse [18] e plugins relacionados aos projetos Eclipse Modeling Framework (EMF) [19] e Model Development Tools (MDT) [20], que provêem suporte ferramental para a especificação de modelos UML em formato XML, inclusive graficamente. A figura a seguir mostra o resultado obtido. Figura 3: Profile UML do meta modelo para Modelagem de Características 5 Do inglês domain specific language linguagem de domínio específico

6 Ainda, foram realizados estudos e testes sobre algumas ferramentas, como AHEAD e ATL, úteis à implementação dos operadores de transformação, bem como em ambientes de desenvolvimento MDD (como AndroMDA [21]), com finalidade de observação e experimentação dos métodos e ferramentas atualmente utilizados. Com fundamentação nesses estudos, a arquitetura prevista para a nossa ferramenta é descrita na Figura Trabalhos Relacionados Figura 4: Arquitetura da solução proposta Refatoração de programas, síntese de software baseada em características e/ou aspectos, e MDD são áreas disjuntas. Entretanto, todas elas são tecnologias de metaprogramação arquitetural por tratarem programas como valores e usarem funções (transformações) para mapear programas para outros programas [8]. FOMDD é a união de FOP e MDD. Nesta abordagem modelos podem ser refinados pela composição de características ou podem ser derivados de outros modelos através de transformações. Em [1] é mostrado um estudo de caso onde modelos especificados por diagramas de estados são combinados pela transformação dos modelos iniciais em modelos intermediários que são combinados a refinamentos manuais e posteriormente transformados em código individualmente para finalmente serem combinados e representarem a nível de código o modelo que representa a união entre os modelos descritos por diagramas de estados. Nossa abordagem difere da abordagem apresentada em [1] pelo uso de uma linguagem geral de modelagem (UML), uso de linguagens específicas de domínio (como OCL) para configuração do modelo de características além de transformações exógenas de modelos (i.e., entre modelos de diferentes DSLs) para síntese de executáveis. Outra abordagem similar, baseada em templates, é proposta em [9]. Uma família de produtos é representada pelo modelo de características e um template do modelo. O modelo de características

7 define a hierarquia de características bem como as restrições em suas possíveis configurações. O template contém a união dos elementos do modelo em todas as instâncias válidas do template (i.e., esqueletos expressos na notação destino para cada uma das possíveis combinações de características válidas). Uma instância do modelo de características pode ser especificada pela criação de uma configuração baseada no modelo de características. De acordo com a configuração de características, o template do modelo é instanciado automaticamente. O processo de instanciação é uma transformação entre modelos de mesma DSL, expressos na notação destino específica de plataforma. Em contraste com abordagens baseadas em variabilidade (como a nossa) em que modelos distintos correspondentes a diferentes características são compostos, a abordagem [9] utiliza um modelo que representa a superimposição de todos os variantes cujos elementos estão relacionados a características através de anotações (i.e., um grande modelo anotado que contém conjuntamente as diferentes possibilidades). 6. Avaliação de Resultados Para a validação do nosso trabalho será realizado um estudo de caso envolvendo a implementação de um a sistema a ser escolhido usando a abordagem proposta em [1] e usando a abordagem proposta neste trabalho para posterior comparação das duas abordagens em relação aos pontos positivos e negativos, tomando-se como parâmetros de análise a complexidade dos artefatos desenvolvidos, a rastreabilidade entre os artefatos, grau de automação e qualidade do produto final. 7. Referências [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Trujillo, S., Batory, D., and Diaz, O.: Feature Oriented Model Driven Development: A Case Study for Portlets, 29th International Conference on Software Engineering (ICSE 2007), Minneapolis, Minnesota, USA, May 20-26, 2007 Batory, Don, Sarvela, Jacob Neal, and Rauschmayer, Axel: Scaling Step-Wise Refinement, IEEE Transactions on Software Engineering 30(6), IEEE Computer Society, , 2004 Kleppe, Anneke, Warmer, Jos, and Bast, Win: MDA Explained: The Model Driven Architecture: Pratice and Promise, Addison Wesley, April 2003 D. Batory, J.N. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE TSE, June Czarnecki, Krzysztof, Eisenecker, Ulrich, and Czarnecki, Krzysztof: Generative Programming: Methods, Tools, and Applications, Addison-Wesley Professional, June 2000 Deursen, Arie, Klint, Paul and Visser, Joost. Domain-Specific Languages:An Annotated Bibliography, Batory, D.: Feature-Oriented Programming and the AHEAD Tool Suite, Batory, Don: Program refactoring, program synthesis, and model-driven development, Proceedings of the 16th International Conference on Compiler Constuction (CC 07), volume 4420 of LNCS, Springer, , 2007 Czarnecki, Krzysztof, and Antkiewicz, Michal: Mapping Features to Models: A Template Approach Based on Superimposed Variants, GPCE, , 2005 E.W. Dijkstra, A Discipline of Programming. Prentice-Hall,1976. The Unified Modeling Language. OMG/MOF Meta Object Facility (MOF) 1.4. Final Adopted Specification Document. Formal/ , OMG/RFP/QVT MOF 2.0 Query/Views/Transformations RFP Czarnecki, Krzysztof, Hwan, Chang, and Kim, Peter: Feature Models are Views on

8 [15] [16] [17] [18] [19] [20] [21] [22] [23] Ontologies, In: Software Product Line Conference, 21 24, 2006 ATLAS Transformation Language. SmartQVT. Batory, D. and Lofaso, B. and Smaragdakis, Y. JTS: Tools for Implementing Domain- Specific Languages, In: ICSR '98: Proceedings of the 5th International Conference on Software Reuse, Eclipse IDE. Eclipse Modeling Framework Project. Model Develpment Tools. AndroMDA. O. Diaz, S. Trujillo and S. Perez. Turning Portlets into Services: Introducing the Organization Profile. WWW 2007.

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

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

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

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

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

Desenvolvimento de Software Orientado a Características e Dirigido por Modelos Revisitado

Desenvolvimento de Software Orientado a Características e Dirigido por Modelos Revisitado Desenvolvimento de Software Orientado a Características e Dirigido por Modelos Revisitado Autor: Rodrigo Reis Pereira 1 Orientador: Marcelo Almeida Maia 1 1 Programa de Pós-Graduação em Ciência da Computação

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

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

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

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

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

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

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

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

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

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

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

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

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

AUTOMAÇÃO DO PROCESSO DE

AUTOMAÇÃO DO PROCESSO DE UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA AUTOMAÇÃO DO PROCESSO DE TRANSFORMAÇÃO DE MODELOS UML-RT PROPOSTA DE TRABALHO DE GRADUAÇÃO O objetivo deste trabalho

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

Uma Revisão Sistemática: Utilização de UML para desenvolvimento da Modelagem Independente de Plataforma

Uma Revisão Sistemática: Utilização de UML para desenvolvimento da Modelagem Independente de Plataforma Uma Revisão Sistemática: Utilização de UML para desenvolvimento da Modelagem Independente de Plataforma para geração de código Alexandre H. Borba, Jandira Guenka Palma 1 Departamento de Computação Universidade

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

Agenda da Aula. Programação Orientada a Características com AHEAD. Característica Modular. Programação Orientada a Características (FOP)

Agenda da Aula. Programação Orientada a Características com AHEAD. Característica Modular. Programação Orientada a Características (FOP) DCC / ICEx / UFMG Agenda da Aula Programação Orientada a Características com AHEAD Programação Orientada a Características (FOP) Segundo Don Batory Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo

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

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

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

Composição e Geração de Aplicações usando Aspectos

Composição e Geração de Aplicações usando Aspectos Composição e Geração de Aplicações usando Aspectos Carlos Alberto de Freitas Pereira Júnior 1 Rosana Teresinha Vaccare Braga 1 1 Programa de Mestrado em Ciências de Computação e Matemática Computacional

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

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

Uma Ferramenta baseada em Modelos para Modelagem Conceitual ontologicamente bem fundada

Uma Ferramenta baseada em Modelos para Modelagem Conceitual ontologicamente bem fundada Universidade Federal do Espírito Santo UFES Centro Tecnológico CT Departamento de Informática DI Engenharia de Computação Disciplina: Projeto de Graduação INF02850 Orientador: Prof. Dr. Giancarlo Guizzardi

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é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

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

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

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

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

Desenvolvimento Orientado a Modelos

Desenvolvimento Orientado a Modelos Desenvolvimento Orientado a Modelos João Paulo A. Almeida (jpalmeida@ieee.org) http://nemo.inf.ufes.br Departamento de Informática / Programa de Pós-Graduação em Informática Universidade Federal do Espírito

Leia mais

Programa Analítico de Disciplina INF323 Engenharia de Software II

Programa Analítico de Disciplina INF323 Engenharia de Software II 0 Programa Analítico de Disciplina Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 0 Períodos

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

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

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

BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa

BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa BibIme - Um Software Gerenciador de Bibliotecas Produzido de Forma Cooperativa Dairton Bassi, Kelly Braghetto, Eduardo Colli, Fabio Kon, João Eduardo Ferreira Instituto de Matemática e Estatística Universidade

Leia mais

Desenvolvimento de Software Dirigido a Modelos

Desenvolvimento de Software Dirigido a Modelos 1 Capítulo 4 Desenvolvimento de Software Dirigido a Modelos Almir Buarque 1 O objetivo deste capítulo é apresentar o processo de desenvolvimento de software dirigido a modelos (MDD 2 ), padronizado pela

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

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

Marcelo Henrique dos Santos

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 Email:

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

! 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

Documento de Especificação de Projeto

Documento de Especificação de Projeto Documento de Especificação de Projeto Projeto: Biblioteca Central da UFES Versão:.0 Responsável: Ricardo de Almeida Falbo. Introdução Este documento apresenta a especificação de projeto para a informatização

Leia mais

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix

ALM Aplicações em Linguagem de Montagem. Introdução. A produção de Software é uma atividade build and fix. build. fix Introdução A produção de Software é uma atividade build and fix. 1 Introdução build 2 Introdução fix 3 1 Introdução 4 P s Só pessoas motivadas e comprometidas com o projeto garantem o respectivo sucesso;

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

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla UML 2.0 Método, Linguagem e Ferramenta Prof. Cesar Augusto Tacla Conteúdo do Curso MÉTODO RUP FERRAMENTA Visual Paradigm Enterprise Architect LINGUAGEM UML UML: Unified Modeling Language Linguagem padrão

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

INF1404 MODELAGEM DE SISTEMAS

INF1404 MODELAGEM DE SISTEMAS INF1404 MODELAGEM DE SISTEMAS Bacharelado em Sistemas de Informação Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 Princípios de Modelagem O Paradigma Funcional O Paradigma Orientado a Objetos

Leia mais

UTILIZAÇÃO DE MDA INTEGRADO AO PROCESSO UNIFICADO NA MODELAGEM DE UM SISTEMA DE GERENCIAMENTO DE COMUNICAÇÃO PARA VANTS

UTILIZAÇÃO DE MDA INTEGRADO AO PROCESSO UNIFICADO NA MODELAGEM DE UM SISTEMA DE GERENCIAMENTO DE COMUNICAÇÃO PARA VANTS UTILIZAÇÃO DE MDA INTEGRADO AO PROCESSO UNIFICADO NA MODELAGEM DE UM SISTEMA DE GERENCIAMENTO DE COMUNICAÇÃO PARA VANTS Christiane Barbieri De Pelegrin * Resumo Este artigo expõe a modelagem de um sistema

Leia mais

Paradigmas de Software

Paradigmas de Software Paradigmas de Software Objetivos Introdução aos paradigmas de software. Descrição de modelos genéricos e sua aplicabilidade. Descrição dos processos de requisitos, desenvolvimento, teste e evolução. Modelo

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

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

EMMANUEL DA COSTA GALO MODEL DRIVEN ARCHITECTURE-MDA E UM ESTUDO DE CASO

EMMANUEL DA COSTA GALO MODEL DRIVEN ARCHITECTURE-MDA E UM ESTUDO DE CASO EMMANUEL DA COSTA GALO MODEL DRIVEN ARCHITECTURE-MDA E UM ESTUDO DE CASO LONDRINA PR 2015 EMMANUEL DA COSTA GALO MODEL DRIVEN ARCHITECTURE-MDA E UM ESTUDO DE CASO Trabalho de Conclusão de Curso apresentado

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

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

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

6 Conclusão. 6.1 Trabalhos relacionados

6 Conclusão. 6.1 Trabalhos relacionados Conclusão 112 6 Conclusão 6.1 Trabalhos relacionados A primeira versão do método SHDM apresentada por Lima (2003) empregava um modelo orientado a objetos como a base estrutural do modelo conceitual de

Leia mais

Geração automática de código fonte para restrições de integridade topológicas utilizando o perfil UML GeoProfile

Geração automática de código fonte para restrições de integridade topológicas utilizando o perfil UML GeoProfile Geração automática de código fonte para restrições de integridade topológicas utilizando o perfil UML GeoProfile Vinícius Garcia Sperandio 1,3, Sérgio Murilo Stempliuc 1, Thiago Bicalho Ferreira², Jugurta

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

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

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

Ontologias: Definições e Tipos

Ontologias: Definições e Tipos Ontologias: Definições e Tipos Ricardo de Almeida Falbo Ontologias para Engenharia de Software Departamento de Informática Universidade Federal do Espírito Santo Agenda O que é uma ontologia Tipos de Ontologias

Leia mais

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

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos

Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos Captor-AO: Gerador de Aplicações apoiado pela Programação Orientada a Aspectos Carlos Alberto de Freitas Pereira Júnior 1 Paulo Cesar Masiero 1 Rosana Teresinha Vaccare Braga 1 1 Instituto de Ciências

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

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

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Curitiba PLANO DE ENSINO CURSO Bacharelado em Sistemas de Informação Engenharia de Computação? MATRIZ Vigente FUNDAMENTAÇÃO LEGAL

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

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução

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

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Marcelle Mussalli Cordeiro {mmussalli@gmail.com} Cordeiro Objetivo do Curso Fornecer ao profissional que pretende utilizar as técnicas da linguagem UML Uma visão clara 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

Estudo do processo de automatização de testes dirigidos por modelos

Estudo do processo de automatização de testes dirigidos por modelos Estudo do processo de automatização de testes dirigidos por modelos Daniel Frossard Costa 1, Jandira Guenka Palma 1 1 Departamento de Computação Universidade Estadual de Londrina (UEL) Caixa Postal 10.011

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

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais

Leia mais

Evolução do Método FrameWeb para o Projeto de Sistemas de Informação Web Utilizando uma Abordagem Dirigida a Modelos

Evolução do Método FrameWeb para o Projeto de Sistemas de Informação Web Utilizando uma Abordagem Dirigida a Modelos Beatriz Franco Martins Souza Evolução do Método FrameWeb para o Projeto de Sistemas de Informação Web Utilizando uma Abordagem Dirigida a Modelos Vitória, ES 2016 Beatriz Franco Martins Souza Evolução

Leia mais

Arquitetura de Software: Introdução

Arquitetura de Software: Introdução Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012 Conteúdo

Leia mais

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução UML: introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG UML: introdução 2 Bibliografia Rumbaugh, J.; Jacobson, I.; Booch, G., The

Leia mais

Composição de UML Profiles

Composição de UML Profiles Composição de UML Profiles Kleinner Silva Farias de Oliveira 1 Orientador: Toacy Cavalcante de Oliveira 1 1 Faculdade de Informática Pontifícia Universidade Católica do Rio Grande do Sul (PUC-RS) Av. Ipiranga

Leia mais

a determinadas condições de uso. Este mecanismo permite, ainda, a integração de domínios externos. A descrição da interface é feita de forma

a determinadas condições de uso. Este mecanismo permite, ainda, a integração de domínios externos. A descrição da interface é feita de forma 120 5 Conclusão Este trabalho propõe uma arquitetura para adaptação e meta-adaptação de Sistemas Hipermídia. Com a adaptação, a utilização de sistemas hipermídia se torna mais eficaz evitando que a quantidade

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

Arquitetura de Software: Documentação

Arquitetura de Software: Documentação Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Documentação SCE 526 Análise e Projeto Orientados a Objeto Profa. Elisa Yumi Nakagawa 2. Semestre de

Leia mais

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini   / Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br MATÉRIA: ENGENHARIA DE SOFTWARE Aula N : 05 Tema:

Leia mais

Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/ v0.1

Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/ v0.1 Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/2013 - v0.1 Orientação a objetos Classe Métodos Visibilidade Tipo de retorno Tipo dos parâmetros Atributos Tipo Visibilidade

Leia mais

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o

Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton nilton@comp.uems.br Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo

Leia mais

Rosana T.Vaccare Braga

Rosana T.Vaccare Braga Rosana T.Vaccare Braga Processo de remover detalhes físicos,espaciais ou temporais no estudo de objetos ou sistemas com o objetivo de focar em outros aspectos de interesse (Colburn) Similar ao processo

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

Uma Abordagem de Reengenharia de Software Orientado a Objetos para Componentes apoiada por Métricas

Uma Abordagem de Reengenharia de Software Orientado a Objetos para Componentes apoiada por Métricas Uma Abordagem de Reengenharia de Software Orientado a Objetos para Componentes apoiada por Métricas Ana Maria da Mota Moura Orientadoras: Cláudia Werner e Aline Vasconcelos Programa de Engenharia de Sistemas

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

Capítulo 5 Modelação do Sistema 1

Capítulo 5 Modelação do Sistema 1 Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos

Leia mais