NextFlow: Um Framework para Mapeamento de Processos de Negócio e Objetos
|
|
|
- Ronaldo Malheiro Castelo
- 9 Há anos
- Visualizações:
Transcrição
1 NextFlow: Um Framework para Mapeamento de Processos de Negócio e Objetos Rógel Garcia de Oliveira, Marco Túlio Valente 1 Universidade Federal de Minas Gerais (UFMG) Belo Horizonte MG Brasil {rogelgarcia,mtov}@dcc.ufmg.br Abstract. Business Process Management Systems (BPMS) and Information Systems usually follow different programming and architectural paradigms. As a consequence, developers face important challenges when integrating both systems. In this tool paper we describe NextFlow, an Object-Business Process mapping framework designed to ease and to foster the use of BPMS by conventional information systems. NextFlow s design is inspired by the object-relational mapping (ORM) frameworks that are widely used to integrate information systems with relational database management systems. Resumo. Sistemas Gerenciadores de Processos de Negócio (BPMS) e Sistemas de Informação geralmente seguem paradigmas diferentes de programação e arquitetura. Como consequência, desenvolvedores enfrentam desafios importantes quando tem que integrá-los. Nesse artigo nós descrevemos o NextFlow, um framework de mapeamento Objetos-Processos de Negócio criado para facilitar e incentivar a utilização de BPMSs por sistemas de informação convencionais. O projeto do NextFlow foi inspirado pelos frameworks objeto-relacionais (ORM) que são amplamente utilizados para integrar sistemas de informação com sistemas gerenciadores de bancos de dados relacionais. 1. Introdução BPMS (Business Process Management Systems) são sistemas que permitem a definição e execução de processos de negócio [Aalst et al. 2003]. Utilizando esse tipo de software é possível aliviar parte dos requisitos que deveriam ser implementados em sistemas de informação (SI). BPMSs geralmente proveem linguagens gráficas, que facilitam a participação de analistas de negócio na criação dos fluxos e ainda possuem ferramentas para gerenciamento e testes de processos. No entanto, para aproveitar as funcionalidades oferecidas pelos BPMSs é necessário que exista uma camada de integração com o sistema de informação. Porém, essa integração apresenta pelo menos os seguintes desafios: Diferença de paradigma entre BPMSs e SIs [Cardoso et al. 2004]. Mais especificamente, arquiteturas de BPMS não foram desenhadas para integração com sistemas de informação. Ao invés disso, elas tentam incorporar funcionalidades como interface com o usuário e persistência de dados presentes no sistema de informação [Manolescu 2001, Cardoso et al. 2004, Youakim 2008]. Falta de padronização. BPMSs se valem de uma gama variada de conceitos e APIs que dificultam a integração com sistemas de informação. Como resultado, a integração com um BPMS é única, e não pode ser reaproveitada em outros sistemas [Aalst et al. 2003, Wohed et al. 2009].
2 Com o objetivo de tratar os problemas de integração entre BPMSs e sistemas de informação, apresentamos nesse artigo a ferramenta NextFlow. Basicamente, NextFlow é um framework que permite o mapeamento de elementos de processos de negócio em elementos orientados a objetos. Com isso, é possível acessar processos através de estruturas OO tradicionais. 2. Solução Proposta O framework NextFlow permite a associação entre elementos típicos de sistemas orientados a objetos e processos de negócio. Em tempo de execução, o NextFlow traduz a semântica de um domínio em outro utilizando um conjunto de regras de mapeamento pré-estabelecidas. A Figura 1 resume o processo de utilização do NextFlow. Com base no processo de negócio, o desenvolvedor implementa no sistema de informação classes e métodos que refletem sua estrutura (passo 1). Em tempo de execução, o sistema de informação utiliza os elementos mapeados (passo 2). O NextFlow intercepta as chamadas de métodos (passo 3), que são traduzidas em tarefas a ser executadas no BPMS (passo 4). Figura 1. Uso do NextFlow para integração entre SIs e BPMSs 2.1. Modelos de Processos de Negócio O modelo de processo de negócio utilizado no NextFlow possui apenas elementos genéricos que conseguem representar uma grande variedade de elementos específicos fornecidos pelos BPMSs. A Figura 2 mostra os elementos do modelo utilizado pelo Next- Flow. Esse modelo possui dois elementos para representar o início e o final do fluxo (start, end), elementos para representar paralelismo e sincronização (split, join), e elementos para representar tarefas (tasks). Figura 2. Modelo de processo de negócio
3 2.2. Regras de Mapeamento O NextFlow permite o mapeamento dos seguintes artefatos OO para um dado processo de negócio: 1) interfaces de processo, que permitem ao sistema de informação executar tarefas do processo de negócio; 2) classes de dados, que permitem o intercâmbio de informações entre sistemas de informação e BPMSs; e 3) classes de callback, que permitem que o BPMS execute operações no sistema de informação. Interface de Processo. A Figura 3 mostra um exemplo de mapeamento de um processo em uma interface OO. Cada método da interface representa uma tarefa do processo. De posse de um objeto de uma classe que implementa essa interface, basta chamar o método approvetransaction() para que a respectiva tarefa seja executada no BPMS. Figura 3. Mapeamento entre processo de negócio e interface de processo Classe de dados. Um processo de negócio possui um conjunto de informações que são representadas como variáveis globais. Para acessar essas informações, é necessário criar uma classe de dados. Cada atributo dessa classe representa uma variável global do processo. A Listagem 1 representa uma possível classe de dados para o processo mencionado anteriormente. 1 class LoanData { 2 String clientid; 3 String getclientid(){return clientid;} 4 void setclientid(string id){clientid = id;} 5 } Listagem 1. Classe representando os dados do processo Um método de acesso (com prefixo get) pode ser adicionado a uma interface de processo para fornecer acesso a objetos de uma classe de dados, como mostrado na Listagem 2 (linha 2). 1 interface LoanProcess { 2 LoanData getloandata(); 3 void approvetransaction(); 4 } Listagem 2. Método getloandata para acessar dados do processo Uma chamada loanprocess.getloandata().getclientid() retornará o valor armazenado no processo gerenciado pelo BPMS. O NextFlow coordena toda a comunicação com o BPMS. Da mesma forma, uma chamada ao método setclientid atualiza o valor da variável no BPMS. Callbacks. Callbacks são classes que complementam a funcionalidade padrão de uma tarefa. A Listagem 3 mostra uma classe de callback para o processo de exemplo. Sempre que a tarefa approve transaction for disparada no BPMS, o método approvetransaction dessa classe é executado (linha 3). Uma classe de callback pode ainda acessar objetos de classes de dados através de atributos (linha 2).
4 1 class LoanProcessCallback { 2 LoanData data; 3 void approvetransaction() { 4 // código que executa a transação 5 } 6 } Listagem 3. Classe de callback 3. Arquitetura do NextFlow Os objetivos do NextFlow podem ser divididos em duas partes. Primeiro, garantir independência de BPMSs. Segundo, disponibilizar um mapeamento entre elementos do processo (de mais baixo nível) em elementos orientados a objetos (de mais alto nível). Esses dois objetivos são refletidos na arquitetura do NextFlow que possui duas camadas: Workflow Connectivity e Object-Workflow Mapping. A primeira camada oferece uma interface genérica capaz de representar processos de negócio. A segunda camada utiliza essa interface genérica e permite que elementos OO sejam associados a processos de negócio. A Figura 4 mostra como a arquitetura do NextFlow é organizada. Figura 4. Arquitetura do NextFlow Em analogia com sistemas gerenciadores de banco de dados, a solução do Next- Flow é semelhante aos sistemas JDBC e Hibernate, bastante populares em programas Java. A camada Workflow Connectivity fornece independência da implementação do BPMS (sendo, portanto, equivalente a JDBC) e a camada Object-Worflow Mapping permite o mapeamento OO (sendo, portanto, equivalente a um framework para mapeamento entre objetos e banco de dados relacionais, como o Hibernate). Essas duas camadas são brevemente descritas nas próximas subseções Workflow Connectivity A camada Workflow Connectivity (WFC) provê interfaces genéricas para representar os elementos de um processo de negócio. Portanto, elas não estão associadas a nenhum BPMS específico. A Listagem 4 mostra um exemplo de utilização dessa API onde uma instância de processo é criada (linha 2) e sua atividade task1 executada (linhas 3-4). 1 Session s = WorkflowManager.getSession("jwfc:bpmsX:resources"); 2 ProcessInstance pi = s.createprocessinstance("processa"); 3 ActivityInstance ai = pi.getactivitybyname("task1"); 4 ai.complete(); Listagem 4. Executando uma tarefa com a API WFC
5 A implementação das interfaces WFC é fornecida por drivers. Cada driver implementa as interfaces do WFC para um BPMS específico. O método getsession procura pelos drivers disponíveis na aplicação e instancia uma sessão específica para o BPMS solicitado. Esse sistema de drivers também é utilizado no JDBC e segue o padrão de projeto Adapter [Gamma et al. 1995] Object-Workflow Mapping A segunda camada do NextFlow, chamada Object-Workflow Mapping (OWM), cria implementações em tempo de execução para interfaces mapeadas para processos de negócio. Uma implementação para o processo da Figura 3 é mostrada na Listagem 5. 1 class LoanProcessImpl implements LoanProcess { 2 //ProcessInstance is a type provided by the WFC layer 3 ProcessInstance pi; 4 void setprocessinstance(processinstance pi){ 5 this.pi = pi; 6 } 7 //methods defined in the LoanProcess interface 8 void approvetransaction(){ 9 pi.getactivitybyname("approvetransaction").complete(); 10 } 11 void taskb(){ 12 pi.getactivitybyname("taskb").complete(); 13 } 14 } Listagem 5. Exemplo de implementação de interface Para conseguir uma instancia de processos, o OWM provê uma API. Um exemplo típico de utilização dessa API é mostrado na Listagem 6. Primeiro, é necessário fazer a configuração do framework (linhas 2-3), o que resulta na criação de um objeto WorkflowObjectFactory. Então, por meio dessa fábrica, é possível instanciar processos de negócio que são representados pela interface mapeada (linha 5). 1 //configuração 2 Configuration config = new Configuration("jwfc:bpmsX:resources"); 3 WorkflowObjectFactory factory = config.createfactory(); 4 //acesso ao processo 5 LoanProcess loanprocess = factory.start(loanprocess.class); 6 loanprocess.approvetransaction(); Listagem 6. Utilização da API da camada OWM Internamente, o método approvetransaction (linha 6) acessa o WFC que por sua vez, por meio de um driver, delega a operação ao BPMS. 4. Trabalhos Relacionados Com o objetivo de diminuir a distância entre sistemas de informação e BPMSs outros trabalhos também propõem a utilização de componentes orientados a objetos. Dois exemplos são os sistemas MicroWorkflow [Manolescu 2001] e WebWorkFlow [Hemel et al. 2008]. O MicroWorflow enfatiza a utilização de componentes OO, que podem ser associados para criar um sistema de processos de negócio. Apesar de prover uma arquitetura mais amigável para sistemas de informação, essa solução não oferece vantagens típicas de um BPMS, como linguagens gráficas e um engine pronto para
6 utilização. O WebWorkFlow também propõe a utilização de linguagens OO para criação de processos, porém, a linguagem principal do sistema de informação deve ser alterada. O NextFlow difere dessas duas soluções pois é compatível com linguagens OO tradicionais e BPMSs já estabelecidos e apenas constitui uma camada de integração entre os dois paradigmas. 5. Conclusões Neste artigo foi apresentado o framework NextFlow que permite a integração entre sistemas de informação e BPMSs através de mapeamento dos elementos de processos de negócio em elementos orientados a objetos. O NextFlow oferece uma especificação e uma implementação de regras de associação OO-Processos de Negócio. A abordagem utilizada segue padrões de projetos e características de soluções amplamente utilizadas em sistemas de banco de dados (JDBC e Hibernate). Diferentemente de outras soluções encontradas na literatura, o NextFlow reaproveita linguagens e BPMSs existentes, tratando apenas do ponto de maior dificuldade, que é a integração entre os dois tipos de sistema. Já foi realizada uma avaliação do NextFlow com duas implementações de um sistema de informação: (a) uma implementação usando o NextFlow; e (b) uma implementação usando a API nativa do sistema jbpm, um dos BPMS mais populares. Os resultados mostraram que o sistema NextFlow oferece uma solução de integração mais simples (redução de 90% do acoplamento com bibliotecas externas), que requer menos esforço de codificação (redução de 75% de código) e que se baseia em abstrações de mais alto nível, tais como interfaces de processo, classes de dados e classes de callback. O NextFlow está disponível publicamente para download em: Agradecemos a FAPEMIG e CNPQ pelo apoio ao trabalho. Referências Aalst, W., Hofstede, A., and Weske, M. (2003). Business process management: A survey. In 1st International Conference on Business Process Management (BPM), pages Cardoso, J., Bostrom, R. P., and Sheth, A. (2004). Workflow management systems and ERP systems: Differences, commonalities, and applications. Information Technology and Management, 5(3): Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software. Addison-Wesley. Hemel, Z., Verhaaf, R., and Visser, E. (2008). WebWorkFlow: an object-oriented workflow modeling language for web applications. In 11th Model Driven Engineering Languages and Systems (MODELS), pages Manolescu, D. (2001). Micro-workflow: A Workflow Architecture Supporting Compositional Object-Oriented Software Development. PhD thesis, University of Illinois. Wohed, P., Russell, N., Hofstede, A., Andersson, B., and Aalst, W. (2009). Patterns-based evaluation of open source BPM systems: The cases of jbpm, OpenWFE, and Enhydra Shark. Information and Software Technology, 51(8): Youakim, B. (2008). Service-oriented workflow. Journal of Digital Information Management, 6(1):
Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB
Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Bruno Costa Silva 1, Ricardo Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected],
Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003
Arquitetura de Aplicações J2EE Jorge Fernandes Outubro de 2003 J2EE O que é Como se organiza Como funciona Elementos Arquitetura Típica Componentes de Software Reuso é um processo Publicar interfaces Distribuir
Refatoração de Software
Refatoração de Software O que é? Atividade em que a estrutura interna de um software é modificada de modo que seu comportamento externo seja preservado; O objetivo é melhorar a qualidade do software; Cada
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias
POO Programação Orientada a Objetos
POO Programação Orientada a Objetos Mãos à Obra Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 O sistema Nossa empresa foi contratada por uma pequena gravadora de música que deseja entrar
Desenvolvimento Web com Java. Sérgio Lopes Caelum -
Desenvolvimento Web com Java Sérgio Lopes Caelum - http://www.caelum.com.br [email protected] Sérgio Lopes Desenvolvedor Java desde 2002 Instrutor de Java pela Caelum Trabalho com Web e Celulares
Modelo de Componentes CORBA
Modelo de Componentes CORBA Cláudia Brito L. N. da Silva [email protected] Roteiro 1. Visão geral 2.! Definindo componentes! Implementando componentes! Empacotando componentes! Instalando componentes!
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
Estruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Mapeamento Objeto-Relacional
Mapeamento Objeto-Relacional Persistência de dados com Java Persistence API - Hibernate Jefferson S Silva Mapeamento objeto-relacional Mas como? SQL + JDBC!? 1 Para quê serve MOR? O uso de uma solução
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 [email protected] Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo
Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé
Análise e Projeto Orientado a Objetos Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé O que veremos hoje? Análise e Projeto Definição Comparação Análise e Projeto OO Definição
Desenvolvimento de Software
PODER JUDICIÁRIO JUSTIÇA DO TRABALHO TRIBUNAL REGIONAL DO TRABALHO DA 15ª REGIÃO Secretaria de Tecnologia da Informação e Comunicações Total de Páginas:16 Versão: 1.0 Última Atualização: 26/07/2013 Índice
Módulo de Ampliação de Expressividade para a Ferramenta jbpm. Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida
Módulo de Ampliação de Expressividade para a Ferramenta jbpm Aluno: Diorbert Corrêa Pereira Orientador: João Paulo A. Almeida o o o o o o Processos de Negócio Visão geral: Workflow Resource Patterns A
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
Orientação a Objetos - Programação em C++
OO- Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) Exemplificado em Microsoft Visual
2.1 NesC Seguem alguns dos principais desafios impostos à linguagem NesC:
2 TinyOS e NesC O framework de programação mais utilizado em redes de sensores sem fio é composto pelo sistema operacional TinyOS [11] e pela linguagem de programação NesC [12]. A linguagem NesC foi definida
APLICANDO A INTEGRAÇÃO DE PORTAIS EDUCACIONAIS COM APLICAÇÕES MÓVEIS ATRAVÉS DA INFRAESTRUTURA SAAS-RD.
APLICANDO A INTEGRAÇÃO DE PORTAIS EDUCACIONAIS COM APLICAÇÕES MÓVEIS ATRAVÉS DA INFRAESTRUTURA SAAS-RD. Álvaro Álvares de Carvalho Cesar Sobrinho Centro Universitário - CESMAC Apresentador Leonardo Melo
INF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho [email protected] Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
Principais conceitos de CORBA
Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem
Modelando sistemas Multiagentes Analisando Metodologias
Modelando sistemas Multiagentes Analisando Metodologias Ricardo Almeida Venieris [email protected] Modelagem e Implementação OO de Sistemas Multi-Agentes Dissertação apresentada ao Departamento
Visão Geral do RUP.
Visão Geral do RUP [email protected] Objetivos Apresentar as características RUP Discutir os conceitos da metodologia: fases, fluxos de atividades (workflows), iterações, responsáveis, atividades e artefatos
MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB
MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB Miguel Gustavo Miiller¹, Tiago Piperno Bonetti 1. 1 Universidade Paranaense (UNIPAR) Paranavaí -Paraná- Brasil [email protected], [email protected]
Introdução à Gestão de Processos de Negócios
Introdução à Gestão de Processos de Negócios Profa. Dra. Elisa Yumi Nakagawa 2. Semestre de 2016 SSC0531 - Gestão de Sistemas de Informação Slides inicialmente preparados por Roberto Rocha e Prof. João
Engenharia de Software II
Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software
Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:
Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos
DOCUMENTAÇÃO SISTEMA DE ADMINISTRAÇÃO DE CONSULTÓRIO MÉDICO
DOCUMENTAÇÃO SISTEMA DE ADMINISTRAÇÃO DE CONSULTÓRIO MÉDICO SUMÁRIO Parte I Modelagem do Software Documento de Requisitos 1. Introdução 2. Descrição Geral do Sistema 3. Requisitos Funcionais 4. Requisitos
Aula 17 Introdução ao jquery
Aula 17 Introdução ao jquery jquery é uma biblioteca JavaScript criada por John Resig e disponibilizada como software livre e aberto, ou seja, de emprego e uso regido segundo licença conforme as regras
PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 9- Introdução ao JDBC
Aula 9- Introdução ao JDBC Conteúdo Programático desta aula Compreender o funcionamento das ferramentas de mapeamento de acesso aos bancos de dados Utilizar componentes para acesso a dados em banco de
Extração de Aspectos. PUC Minas Instituto de Informática. Mestrado em Informática. Aluno: Marcelo Nassau Malta
Transformações de Código C para Extração de Aspectos PUC Minas Instituto de Informática Mestrado em Informática Aluno: Marcelo Nassau Malta Orientador: Prof. Marco Túlio de Oliveira Valente Sumário Motivação
Aula 01: Apresentação. Revisão para Prova 1. Aula 02: Técnicas de Reuso. Panorama de Reuso. Aula 03: POO e Padrões. Bibliografia da Aula 02
Reutilização de Software Aula 13 Aula 01: Apresentação Revisão para Prova 1 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 23 Setembro 2013 Bibliografia Método de avaliação
Modelagem De Sistemas
Modelagem De Sistemas UNIP Tatuapé - SP Aplicações em Linguagem de Programação Prof.Marcelo Nogueira Uma empresa de software de sucesso é aquela que consistentemente produz software de qualidade que vai
Computação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Interfaces Uma interface é uma forma abstrata de descrever um objeto A classe fixa a forma de um objeto
Vamos falar de Hibernate?
Vamos falar de Hibernate? Hibernate é um framework ORM (Object-Relationship Management) muito bacana que nos permite ter muita produtividade na manipulação de objetos a serem persistidos no banco de dados.
Drools Desacoplando as regras de negócio do código da aplicação. Raphael Duarte Paiva
Drools Desacoplando as regras de negócio do código da aplicação Raphael Duarte Paiva Agenda Motivação Alguns Problemas Acoplamento Dificuldade de acesso O Motor de Regras Como Funciona? Alguns Conceitos
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
Conceitos de Sistemas de Banco de Dados INE 5323
Conceitos de Sistemas de Banco de Dados INE 5323 Prof. Mario Dantas Introdução Por quê Sistemas de Banco de Dados Visão dos Dados Modelos de Dados Linguagem de Definição de Dados (DDL) Linguagem de Manipulação
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
Módulo II Arquitetura em Camadas
Módulo II Arquitetura em Camadas Prof. Ismael H F Santos April 08 Prof. Ismael H. F. Santos - [email protected] 1 Ementa Arquitetura de camadas de Software Arquiteturas em Camadas Padrões para
Projeto de software Estrutura do software e arquitetura SWEBOK
Projeto de software Estrutura do software e arquitetura SWEBOK SWEBOK Design Patterns Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas da engenharia Design
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
Júlio César Falbo da Silveira
Júlio César Falbo da Silveira www.juliofalbo.tech Brasileiro, casado, 24 anos Tijuca Rio de Janeiro RJ Telefone: (21) 98867-9866 / E-mail: [email protected] OBJETIVO Atuar como líder técnico ou
Programação Orientada a Objetos
Ciência da Computação Prof. Elias Ferreira Elaborador por: Ana Claudia Bastos Loureiro Monção JUNIT Teste de Software Processo de Software Um processo de software pode ser visto como o conjunto de atividades,
Orientação a Objetos - Programação em C++
OO Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 9: Programação ou Implementação: uma fase da engenharia de software. Projeto (UML) e Programação (C++,...) Prof. Dr. Jean Marcelo
Análise e Projeto. Padrões de Análise, Arquitetura e Projeto
Análise e Projeto Padrões de Análise, Arquitetura e Projeto 33 Padrões de Arquitetura Padrões Nome do padrão Problema: quando aplicar o padrão? Descreve o problema e seu contexto. Solução: elementos que
Model Driven Development (MDD)
Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros [email protected] Sumário Introdução Desenvolvimento de Software
Diagrama de Componentes e Implantação
Diagrama de Componentes e Implantação 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
Arquitetura em Camadas
Arquitetura em Camadas 1 Introdução Em aplicações OO de médio e grande porte, diversos aspectos devem ser considerados: Apresentação Lógica da aplicação Lógica do negócio Persistência de Objetos Camada
Abordagem Teórico-Prática
Abordagem Teórico-Prática Prof. Giuliano Prado M. Giglio, M.Sc Desenvolvimento de Aplicações Distribuídas - WEB Agenda Padrão MVC Objetivo Características Problemas e se aplicar o MVC Sistema Exemplo Aplicação
