GERADOR DE APLICAÇÕES WEB BASEADO EM UMA LINGUAGEM DE PADRÕES DEFINIDA EM XML

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

Download "GERADOR DE APLICAÇÕES WEB BASEADO EM UMA LINGUAGEM DE PADRÕES DEFINIDA EM XML"

Transcrição

1 GERADOR DE APLICAÇÕES WEB BASEADO EM UMA LINGUAGEM DE PADRÕES DEFINIDA EM XML GENERATOR WEB APPLICATION BASED ON A PATTERN LANGUAGE DEFINED IN XML Prof. Me Anderson Pazin RESUMO Linguagens de padrões definem um domínio de forma a facilitar a modelagem de aplicações por desenvolvedores menos experientes. Com o uso de uma linguagem de padrões pode-se definir uma arquitetura genérica que permita automatizar o processo de desenvolvimento de novas aplicações por meio de frameworks ou geradores de aplicações. Essa arquitetura pode ser definida por meio de uma linguagem de modelagem de aplicações(lma), utilizando os conceitos de linha de produtos de software. A LMA permite definir uma aplicação fazendo especificações em alto nível. Dentro desse contexto, este artigo tem como objetivo apresentar um gerador de aplicações baseadas na Web para um domínio de clínicas de reabilitação física que permite instanciar aplicações usando uma LMA definida com base em uma linguagem de padrões. Palavras-chave: Linguagem de Padrões. Linhas de Produto de Software. Gerador de Aplicações. Reuso de Software. Linguagem de Modelagem da Aplicação. ABSTRACT Patterns language define a domain aiming at facilitating modeling of applications by less experienced developers. With the use of a patterns language it s possible to define a generic architecture that allows for automating the development process of new applications using frameworks or applications generator. This architecture was defined by an Application Modeling Language (AML), assist the software products line concepts. The AML allows the definition in high level specification of application. This paper presents a Web based systems applications generator for domain of physical rehabilitation clinic that use an AML defined based on a pattern language. Keywords: Pattern Language. Software Product-Line. Application Genarators. Software Reuse. Application Modeling Language INTRODUÇÃO Durante o processo de desenvolvimento de software, o reuso é uma das atividades mais realizadas pelo engenheiro de software, sendo que na maioria das vezes consiste de repetidas operações de cortar/colar/modificar. Quanto mais 292

2 adaptações são necessárias, maior é a possibilidade de se ter um produto final com baixa qualidade, uma vez que essas adaptações manuais favorecem a possíveis inserções de erros (FRANCA, 2000). Esses erros podem ser minimizados com a automatização das operações envolvidas no reuso. Pela automatização, as atividades de desenvolvimento de software são realizadas por meio de especificações, indicando de forma menos complexa, o que deve ser feito em uma aplicação. Geradores de aplicações são ferramentas de software que conseguem automatizar parte de um processo rotineiro da atividade de desenvolvimento de software, acelerando o processo de implementação e transformando especificações de alto nível em produtos da aplicação. Podem ser considerados como compiladores para uma linguagem de um domínio específico (SMARAGDAKIS & BATORY,1998). Essa linguagem pode ser elaborada a partir da análise de domínio e, por exemplo, ser representada por meio de uma linguagem de padrões. Outra forma para representar uma linguagem de domínio é usando uma Linguagem de Modelagem da Aplicação (LMA, originalmente AML Application Modeling Language) enfatizando que as especificações nelas escritas devem representar modelos. O gerador de aplicações criado dessa forma analisa as especificações escritas nessa LMA para a partir daí gerar o produto final (WEISS & LAI, 1999). Este trabalho apresenta um gerador de aplicações WEB para o domínio de clínicas de reabilitação que foi desenvolvido com base na linguagem de padrões para Sistemas de Gerenciamento de Clínicas de reabilitação, denominada SiGCli (PAZIN, 2004). O gerador, em sua interface, apresenta uma LMA desenvolvida com base na SiGCli para que o gerador especifique as aplicações em uma linguagem de muito alto nível. As aplicações são sistemas baseados na Web, escritas em Java e com arquitetura em três camadas. Este artigo está organizado da seguinte maneira: a seção 1 trata dos trabalhos relacionados que auxiliaram na definição desse gerador; a seção 2 apresenta o projeto do gerador. Na seção 3, a arquitetura do gerador e a estrutura das aplicações por ele geradas são mostradas; na seção 4, um exemplo de uso do gerador é ilustrado e por fim as considerações finais sobre o trabalho. 293

3 1 TRABALHOS RELACIONADOS Uma linguagem de padrões é uma coleção de padrões organizados, que se apoiam, para transformar requisitos e restrições numa arquitetura (COPLEIN, 1998) Os padrões que a constituem devem abranger todos os aspectos importantes de um determinado domínio e pelo menos um padrão deve estar disponível para cada aspecto da construção e implementação de um sistema de software. Ela auxilia na divisão de problemas gerais com soluções complexas em problemas menores e relacionados, de forma a facilitar a solução. Em uma linguagem de padrões cada padrão pode ser usado de forma isolada ou com alguns padrões relacionados dessa linguagem. Assim, um único padrão é considerado útil mesmo se a linguagem não for aplicada na sua totalidade. A linguagem de padrões para Gestão de Recursos de Negócio (GRN), proposta por Braga (1998 e 1999), tem objetivo de auxiliar desenvolvedores menos experientes na elaboração de aplicações que tratam de gestão de recursos de negócios. Ela é composta por quinze padrões, agrupados de acordo com o seu propósito. O primeiro grupo, Identificar o Recurso de Negócio, é constituído de três padrões que tratam da identificação e possível qualificação, quantificação e armazenagem dos recursos gerenciados pelo negócio. O segundo grupo, Transações de Negócio, trata dos padrões relacionados à manipulação dos recursos de negócio pelo sistema, sendo composto de sete padrões. O terceiro grupo, Detalhes da Transação de Negócio, possui cinco padrões que cuidam de detalhes das transações efetuadas com o recurso. Braga e Masiero (2002) definem um processo para a construção de frameworks com base em linguagens de padrões. A partir da linguagem GRN elaborou-se um framework, denominado GREN, definido em linguagem SmallTalk, que permite criar aplicações no domínio de sistemas de gestão de recursos de negócios. Para facilitar a instanciação de aplicações usando o framework, foi desenvolvido um Wizard para esse propósito, denominado GREN-Wizard. Assim, para a instanciação uma aplicação o desenvolvedor precisa apenas conhecer a linguagem de padrões GRN sem se preocupar com detalhes da programação SmallTalk. A partir do processo utilizado para a construção da linguagem de padrões 294

4 GRN, Ré (2002) elaborou uma linguagem de padrões para Leilão Virtual, denominada LV, para o desenvolvimento de sistemas para gestão de vendas por intermédio de leilões virtuais. Ela é uma extensão da GRN, pois trata de um tipo de transação não coberto por ela. A partir da LV e do processo definido por Braga e Masiero (2002) foi elaborado o Framework Qd+ (RÉ, 2002) que permite instanciar aplicações para o domínio de Leilões Virtuais. Franca e Staa (2001) propõem um processo evolutivo para a construção de geradores de aplicação (ou geradores de artefatos). O aperfeiçoamento do produto gerado ocorre em ciclos sucessivos, sendo que a cada nova versão do produto, o gerador de aplicações se torna mais completo e genérico. Os autores comparam esses geradores de aplicações com frameworks, considerando as semelhanças existentes entre eles. Em um framework existem partes fixas (frozen-spots), que não são alteradas durante a instanciação de uma aplicação, e partes variáveis (hotspots), que devem ser alteradas durante a instanciação de uma aplicação, por conterem características específicas dessa. Em um gerador de aplicações existem as partes que são comuns (fixas) para todas as aplicações, que são denominadas similaridades e existem as partes que são específicas para cada aplicação, que são denominadas variabilidades. Os conceitos de similaridades e variabilidades são encontrados em linhas de produto de software. Visam à criação de um conjunto de produtos de software com características similares, por meio da definição de uma infraestrutura comum aos itens que compõem os produtos e da parametrização das diferenças entre eles (GIMENES & TRAVASSOS, 2002). A LMA possibilita documentar a parametrização das diferenças entre os produtos a serem gerados, criando uma infraestrutura para a linha de produtos de software que seja capaz de analisar e gerar diferentes produtos por meio de uma especificação da LMA. Assim, tanto frameworks quanto geradores de aplicações podem ser usados como tecnologias que permitem a adaptação do produto final de acordo com as características específicas (WEISS & LAI, 1999). A elaboração da linguagem de padrões para o domínio de gerenciamento de clínicas de reabilitação (SiGCli) e o gerador de aplicações proposto para esse domínio, apresentados na seção seguinte, tiveram por base os trabalhos e assuntos discutidos nesta seção. 295

5 2 DESENVOLVIMENTO DO GERADOR DE APLICAÇÕES Grupo 1: Informações Básicas Identificar Pacientes (1) Definir Serviços (2) Grupo 2: Atendimentos Processar Guias (4) Realizar Vendas (3) Grupo 3: Controle de Transações Financeiras Controlar Faturamento (9) Agendar Atendimentos (5) Identificar Atendentes (6) Realizar Acompanhamento Realizar Compras (8) Fonte: PAZIN et.al., 2004 Figura 1. Grafo do fluxo de aplicação dos padrões da SiGCli. A primeira atividade para criar um gerador de aplicações é analisar qual domínio ele abrangerá. Neste trabalho, especificamente, o domínio de Sistemas de Gerenciamento de Clínicas de reabilitação física (SiGCli) é tratado. Esse domínio é expresso em uma linguagem de padrões denominada SiGCli (PAZIN et. al, 2004) A Figura 1 mostra o grafo de fluxo de aplicação dos padrões da SiGCli. Ela é constituída de 9 padrões, mas em uma aplicação nem todos precisam ser utilizados. Os padrões Identificar Pacientes(1) e Definir Serviços(2), devem ser obrigatoriamente aplicados em todos os sistemas. Em seguida, pode-se optar por Realizar Vendas(3) ou Processar Guias(4), seguido do padrão Agendar Atendimentos(5). Após realizado o agendamento dos atendimentos deve-se Identificar Atendente(6) e/ou Realizar Acompanhamento. Tanto o padrão 3 quanto o padrão 4 possibilitam a aplicação do padrão Controlar Faturamento(9), sendo que o padrão 3 ainda pode ter um padrão intermediário ao 9, que é o padrão Realizar Compras(8). 2.1 Especificação da LMA 296

6 Uma Linguagem de Modelagem da Aplicação (LMA) visa documentar a parametrização das diferenças entre os produtos que serão gerados em uma linha de produto de software, possibilitando a criação uma infraestrutura capaz de analisar e gerar diferentes produtos (WEISS & LAI, 1999). A linguagem de padrões SiGCli foi usada para definir uma LMA que representasse as possíveis variações de instanciação de clínicas usando essa linguagem (PAZIN, 2004). Essas variações devem ser explicitadas na LMA para que uma aplicação possa ser gerada corretamente, conforme os seus requisitos. Para a elaboração da LMA foram usadas a seguintes diretrizes: 1) padrões aplicados sem variação (similaridade): para a LMA utiliza-se somente o nome do padrão da linguagem de padrões.. 2) padrões aplicados com variação (variabilidade): Duas características devem ser analisadas: 2.1) A variação é controlada pelo desenvolvedor: nesse caso identificase a variação atribuindo-lhe um nome que será usado na LMA. Cabe ao desenvolvedor optar ou não pelo uso de tal variação, podendo ela ser exclusiva (única variabilidade no padrão) ou múltipla (pode-se usar mais que uma variabilidade para o mesmo padrão). 2.2) A variação é controlada pela instanciação: nesse caso, ela é resultante da aplicação de outros padrões e os diferentes tipos de instanciações de aplicações devem ser gerenciados a partir dos padrões escolhidos anteriormente pelo desenvolvedor. O Quadro 1 apresenta os padrões da SiGCli e as variabilidades (Nome e Descrição) identificadas quando as diretrizes apresentadas anteriormente para a elaboração da LMA foram aplicadas. Quando não existir variabilidade a coluna Nome apresenta a sentença Não possui e a coluna Descrição tem um traço diagonal. Quando a variabilidade não for controlada pelo desenvolvedor a coluna Nome apresenta a sentença Não possui e a coluna Descrição apresenta a variabilidade que deve ser controlada pelo gerador. A Figura 2 exibe a LMA de acordo com o apresentado no Quadro

7 Nº Padrão Nome Variabilidade Nome Descrição 1 Identificar Pacientes Não possui 2 Definir Serviços Com Tipo Serviço 1. Uma clínica não precisa especificar os serviços prestados de forma detalhada 3 Realizar Vendas Com Produto 1. Uma clínica realiza a comercialização de serviços, mas nem sempre comercializa produtos 4 Processar Guias Não possui 1. Caso o padrão Controlar Faturamento tenha sido aplicado, deve-se acrescentar alguns atributos e métodos relacionados ao valor da Guia e dos atendimentos 5 Agendar Atendimentos Não possui 6 Identificar Atendente Com Atributos Atendentes 7 Realizar Acompanhamento Tipo Avaliação Educação Física Tipo Avaliação Fisioterapia Tipo Avaliação Terapia Ocupacional 1. O agendamento de sessões pode ser efetuado por meio de uma guia ou de uma venda. 1. Quando for necessário armazenar informações sobre o ganho e a especialidade do atendente. 1. Cada clínica possui avaliações específicas, conforme os tratamentos que realizam, com atributos específicos. Por exemplo, os atributos analisados em uma avaliação ortopédica para uma clínica de fisioterapia são diferentes dos atributos avaliados para uma clínica de educação física. 2. Cada avaliação pode possuir um conjunto de fatores que são variantes. Por exemplo, em uma avaliação o uso de medicamentos deve ser considerado; em outra alguns testes especiais devem ser realizados para a conclusão do tratamento. Esses fatores são considerados como Itens da Avaliação. (conclusão) 8 Realizar Compras Não possui 9 Controlar Faturamento Não possui 1. Depende da aplicação dos padrões Realizar Vendas, Processar Guias, Identificar Atendentes e Realizar Compras para definir quais classes devem ser usadas para o sistema Fonte: Elaborado pelo autor Quadro 1- Variabilidades identificadas entre os padrões da SiGCli. 298

8 Identificar Pacientes; 1 Definir Serviços; 2 Com tipos serviços Realizar Vendas; 2 Com Produtos Processar Guias; 3 Agendar Atendimentos; 3 Identificar Atendentes; 2 Com Atributos Atendentes Realizar Acompanhamentos 2 Avaliação Educação Física; Avaliação Fisioterapia; Avaliação Terapia Ocupacional; Realizar Compras; 1 Controlar Faturamento; 3 Legenda: 1- Padrões aplicados sem variação 2- Variação controlada pelo desenvolvedor 3- Variação controlada pela instanciação Fonte: Elaborado pelo Autor Figura 2. LMA definida para a linguagem de padrões SiGCli. 3 ARQUITETURA DO GERADOR E DAS APLICAÇÕES GERADAS O Gerador de Aplicações Web para Sistemas de Gestão de Clínicas de Reabilitação (GAwCRE), é apresentado na Figura 3. Ele usa as definições da linguagem de padrões e da LMA armazenadas em XML e gera: A interface para que o desenvolvedor instancie sua aplicação: o gerador lê as definições do arquivo XML e apresenta o conjunto de padrões e variantes para que o desenvolvedor escolha o que será utilizado para instanciar as novas aplicações. Essas informações são apresentadas conforme a definição da LMA e, sempre que uma opção da LMA for escolhida, essa é gravada em um banco de dados constituindo um conjunto de informações que pode ser recuperado na fase de geração da aplicação. Esse módulo é denominado Instanciador da LMA; Os scripts para a criação da base de dados: as informações da aplicação armazenadas no banco de dados, conforme a especificação da LMA,são comparadas com as definições do arquivo XML para que sejam criados as tabelas, as chaves e os relacionamentos que satisfazem os requisitos da aplicação. Esse é o módulo denominado como Gerador de Script SQL; As classes Java que serão os Beans da aplicação: as informações da 299

9 aplicação armazenadas no banco de dados, conforme a especificação da LMA, são comparadas com as definições do arquivo XML para que sejam criadas as classes e as associações que satisfazem os requisitos da aplicação. Os métodos mais simples como os de atribuição (set) ou os de recuperação (get) são gerados dinamicamente. Já os métodos que tratam de funcionalidades específicas de cada classe, devem estar definidos no arquivo XML. Esse é o módulo denominado Gerador das Classes Java ;As interfaces JSP da aplicação: as informações da aplicação armazenadas no banco de dados, conforme a especificação da LMA, são comparadas com as definições do arquivo XML para que sejam criados os tipos de interfaces. Após a criação dessas interfaces elas devem ser disponibilizadas em um servidor WEB que seja capaz de interpretar o código JSP. Esse é o módulo denominado Gerador das Interfaces JSP. Segundo Franca & Staa (2001), artefato é qualquer item criado como parte da definição, manutenção, ou utilização de um processo de software, podendo ou não ser entregues a um cliente ou usuário final. Por essa definição todos os produtos gerados pelo gerador, desde os scripts de criação do banco de dados até a aplicação final podem ser considerados artefatos. Os artefatos são criados com base na definição dos gabaritos (templates) préexistentes no gerador que são definidos após a análise dos pontos variáveis e similares de um produto desejado. Para que a linguagem Java possa ter acesso e manipular as informações existentes em um arquivo XML, utiliza-se de um padrão da W3C (World Wide Web Consortium) denominado DOM (Document Object Model) que possibilita a navegação entre as tags do arquivo XML. Dessa forma, basta substituir os pontos variáveis do produto a ser gerado pelos valores definidos na tag XML para que o produto desejado seja gerado 300

10 <padrao numero="2" nome="definir Serviços"> <classe nome="servico" interface="1"> <atributo> codigoid </atributo> <atributo> descrição </atributo> <atributo>valor</atributo> <atributo>situacao</atributo> <associacao>tpservico</associacao> </classe> <variante nome="com tipo serviço"> <classe nome="tipo_servico"> <atributo> codigoid </atributo> <atributo> descrição</atributo> </classe> </variante> </padrao> Lê as definições XML- SiGCli Gerador GAwCRe Interface Instanciador da LMA (Gerador de aplicações) Gabaritos de Código Armazena e recupera os dados das especificações LMA para cada aplicação Documento XML Gerador de scripts SQL Gerador das Classes Java Gerador de Interfaces Web CREATE TABLE SERVICO ( CODIGOID NUMBER(4) NULL, DESCRICAO VARCHAR2(25) NULL); ALTER TABLE SERVICO MODIFY CODIGOID NUMBER(4) NOT NULL; Script de criação da Base de Dados package ClinicaFisio; public class Servico implements PersistentObject { // Atributos da classe private int codigoid; private String descricao; public Servico(){ } } Classes Java Especificação LMA para uma Aplicação Base de Dados do Gerador Bibliotecas Interface Web Fonte: Elaborado pelo Autor. Figura 3. Esquema de funcionamento do gerador GAwCRe e os artefatos por ele gerado. 3.1 Arquitetura do Gerador A Figura 4 exibe o modelo de classes (em alto nível) do gerador de aplicação de Sistemas de Gestão de Clínicas. A classe FrameGerador é responsável por definir a interface com o desenvolvedor por meio de um objeto do tipo frame, construído dinamicamente com base nas informações existentes no arquivo XML 301

11 sobre a especificação da LMA. As classes Gerador e XMLManager (Figura 4) importam as bibliotecas responsáveis pela manipulação do arquivo XML, a interface DOM. Todas as informações sobre os padrões aplicados são armazenadas em um banco de dados relacional utilizando o padrão Persistence Layer (YODER et.al,1998), que também é usado para persistência dos dados das aplicações geradas pelo gerador. Para a geração dos artefatos da aplicação tem-se: o gerador de código Java, representado pela classe GeradorCodigo; o gerador de scripts SQL, representado pela classe GeradorSQL, e o gerador de interfaces com o usuário, representada pela classe GeradorJSP, que são módulos independentes do gerador facilitando assim a geração de partes da aplicação. As classes AplPadrao e AplVariante representam os padrões e as variantes aplicadas, respectivamente, para cada aplicação instanciada pelo gerador. Persistence Layer Aplicação AplPadrao AplVariante 1..* 0..* 0..* FrameGerador r Gerador XMLManager Parser DOM GeradorJSP GeradorCodigo GeradorSQL Fonte: Elaborado pelo Autor Figura 4. Modelo de classes do GAwCRe. 3.2 Arquitetura das Aplicações Geradas A Figura 5 apresenta a arquitetura das aplicações geradas pelo gerador que são sistemas em três camadas. A cada solicitação do usuário as páginas são geradas pela camada de aplicação e apresentadas ao usuário por meio de um 302

12 browser. Sempre que o usuário necessita armazenar ou recuperar informações no sistema, a solicitação feita na camada de apresentação é passada para a camada de aplicação que se comunica com a camada de persistência com o objetivo de realizar as operações solicitadas. Camada de Apresentação Contém todas as classes de interface e é a única camada visível aos usuários. Faz a interface das solicitações do usuário com a camada de aplicação Camada de Aplicação Arquivos JSP Beans Aplicação É responsável pela lógica do negócio, o que inclui algoritmos e regras procedimentais, e define o comportamento do sistema. Camada de Persistência Persitence Layer Banco de dados É responsável pela lógica de manipulação de dados e de conexão com o SGBD e é responsável pelo armazenamento físico dos objetos. Fonte: Elaborado pelo Autor Figura 4. Arquitetura da aplicação gerada pelo GAwCRe. 4 EXEMPLO DE USO Para exemplificar a instanciação de uma aplicação usando o gerador de aplicações da SiGCli, optou-se pela clínica de fisioterapia existente nas Faculdades Salesianas de Lins, no Centro de Reabilitação Física Dom Bosco. Essa clínica controla todos os atendimentos realizados em seus pacientes e o seu objetivo principal é armazenar os acompanhamentos e avaliações realizadas pelos atendentes. Esses atendentes são alunos do curso de Fisioterapia e devem ser avaliados na disciplina de estágio supervisionado, existente em sua grade curricular. Esses atendentes não são remunerados e o controle do faturamento da clínica também não é de interesse nesse sistema. O modelo de classes do sistema é apresentado na Figura 6, sendo resultado da aplicação dos padrões (1) Identificar Pacientes, (2) Definir Serviços, (4) Processar Guias, (5) Agendar Atendimentos, (6) Identificar Atendentes e Realizar Acompanhamento da linguagem de padrões 303

13 SiGCli. Cada classe possui um número, no canto superior esquerdo, que define a qual padrão ela pertence conforme a numeração definida no grafo de fluxo de aplicação dos padrões da SiGCli (Figura 1). (1) Cidade (1) (4), (5) (4) Paciente Guia Patologia (1) Profissão (6) Atendente (5), (6), Atendimento (4) Convênio Teste Especiais (2), (5) Serviço Dados Clínicos Avaliações Medicamentos (5) Horário Atendimento Neuro Adulto Ortopédica Cardiologica Neuro Infantil Pneumologica Diária Fonte: Elaborado pelo Autor Figura 5. Modelo de classes obtido após a aplicação da SiGCli.. A Figura 7 mostra a especificação da LMA, com os padrões e variantes usados para instanciar a aplicação desejada. A instanciação da LMA no gerador acontece por meio de seleção de checkboxs existentes na interface. Sempre que uma opção oferecida for desejada na aplicação, deve-se selecionar a caixa. Identificar Pacientes; Definir Serviços; Processar Guias; Agendar Atendimentos; Identificar Pacientes; Realizar Acompanhamentos com Avaliações de Fisioterapia; Fonte: Elaborado pelo Autor Figura 3. Especificação da LMA para o sistema exemplo. 304

14 CONCLUSÃO Neste trabalho é apresentado um gerador de aplicações baseado em uma linguagem de padrões para o domínio de sistemas de gerenciamento de clínicas de reabilitação, denominado SiGCli. Esse domínio foi definido por meio de um processo de engenharia reversa auxiliado por apoios computacionais desenvolvidos para esse propósito, com o intuito de facilitar a execução dessa atividade. A linguagem de padrões SiGCli, que é a base do gerador de aplicações proposto, foi elaborada com base nos padrões da linguagem de padrões GRN, uma vez que alguns padrões da SiGCli são similares aos já definidos pela GRN, principalmente os que tratam da transação de negócios. Para facilitar a geração de novas aplicações, com o uso do gerador, foi elaborada uma Linguagem de Modelagem da Aplicação (LMA) que permite instanciar aplicações por meio de especificações em alto nível. Portanto, esse gerador possui como elemento diferenciador o fato de ter uma linguagem de padrões usada para representar o domínio e especificar a LMA, bem como para apoiar o processo de geração. Deve-se notar que o processo apresentado é geral e pode ser reusado para outros domínios. A estrutura do gerador permanecerá basicamente a mesma, mudando-se a LMA e os gabaritos de código. O uso de XML para armazenar a especificação dos padrões também facilita o reuso. O gerador apresentado define uma família de produtos de software que é a de sistemas de gestão de clínicas de reabilitação. Considerando as variabilidades presentes nos padrões e representadas na LMA, é possível gerar um conjunto de aplicações diferentes. REFERÊNCIAS BRAGA, R. T. V.; GERMANO, F. S. R.; MASIERO, P. C. A family of patterns for business resource management. In: 5th Annual Conference on Pattern Languages of Programs (PLOP 98), Washington University in St. Louis Missouri, USA, on- Line. Disponível em Consultado em 31/01/ BRAGA, R. T. V.; GERMANO, F. S. R.; MASIERO, P. C. A pattern language for business resource management. In: 6th Pattern Languages of Programs 305

15 Conference (PLoP 99), Monticello IL, USA, 1999 BRAGA, R. T. V.; MASIERO, P. C. A process for framework construction based on a pattern language. In: 26th Annual International Computer Software and Applications Conference (COMPSAC 2002), Oxford England, BRAGA, R. T. V. Um Processo para a Construção e Instanciação de Frameworks baseado em uma Linguagem de Padrões para um Domínio Específico. Tese de Doutorado, ICMC/USP, São Carlos-SP, 2003 COPLIEN, J. O. Software design patterns: Common questions and answers in L. Rising The Patterns Handbook: Techniques, Strategies, and Applications, Cambridge University Press, p , 1998 FRANCA, L. P. A Um processo para construção de geradores de artefatos. Tese de Doutorado - Departamento de Informática - Pontifica Universidade Católica do Rio de Janeiro, Rio de Janeiro RJ, FRANCA, L. P. A.; STAA, A. V. Geradores de Artefatos: Implementação e Instanciação de Frameworks. In: Anais do XV SBES Simpósio Brasileiro de Engenharia de Software. Rio de Janeiro. pp , 2001 GIMENES, I. M. S.; TRAVASSOS, G. H. O enfoque de linha de produto para desenvolvimento de software. In: Anais do XXII Congresso da Sociedade Brasileira de Computação - Tutoriais, PAZIN, A. Um Gerador de Aplicações para o Domínio de Clínicas de Reabilitação. Dissertação de Mestrado Programa de Pós Graduação em Ciência da Computação Universidade Federal de São Carlos, São Carlos SP, agosto/2004. PAZIN, A., PENTEADO, R. A. D., MASIERO, P. C. SiGCli: A Pattern Language for Rehabilitation Clinics Management. : 4ª Conferencia Latino-Americana em Linguagem de Padrões para Programação (SugarLoafPlop), Porto das Dunas CE, Brasil, 2004 RÉ, R. Um processo para construção de frameworks a partir da engenharia reversa de sistemas de informação baseados na Web: Aplicação ao domínio dos leilões virtuais. Dissertação de Mestrado, ICMC/USP, São Carlos SP, SMARAGDAKIS, Y.; BATORY, D. Application Generators. Department of Computer Sciences. The University of Texas at Austin. Artigo retirado da página pessoal URL: Último acesso em 27 de Março de 2011 na, YODER, J.W.; JOHNSON, R.E.; WILSON, Q.D. - Connecting Business Objects to Relational Databases. In: Conference on the Pattern Languages of Programs, 5, Monticello-IL, EUA. Proceedings,

16 WEISS, D., LAI, C. T. R. Software Product-Line Engineering: a family-based software development process. Ed. Addison Wesley, p. 307

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

RESUMO. Palavras-chave: AlphaWEB. Gerador de Artefatos. Aplicações. Software. ABSTRACT

RESUMO. Palavras-chave: AlphaWEB. Gerador de Artefatos. Aplicações. Software. ABSTRACT GERADOR DE ARTEFATOS PARA APLICAÇÕES WEB GENERATOR ARTIFACTS FOR WEB APPLICATIONS Juliane Rosário juh_rosario@yahoo.com.br Murillo da Silva Casa Grande murilloscg@yahoo.com.br Prof. M. Sc. Anderson Pazin

Leia mais

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Um processo para construção de software mais transparente

Um processo para construção de software mais transparente Um processo para construção de software mais transparente Eduardo Almentero 1, and Julio Cesar Sampaio do Prado Leite 1 1 Pontifícia Universidade Católica do Rio de Janeiro, PUC - Rio, Brasil {ealmentero,

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

Plano de Ensino. Apresentação da Unidade Curricular

Plano de Ensino. Apresentação da Unidade Curricular Plano de Ensino Plano de Ensino Apresentação da Unidade Curricular o Funcionamento, arquitetura e conceitos fundamentais dos bancos de dados relacionais e objeto relacionais. Utilização de linguagem DDL

Leia mais

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web } Com o forte crescimento do comércio eletrônico por

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow

Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Uma Arquitetura de Linha de Produto Baseada em Componentes para Sistemas de Gerenciamento de Workflow Itana M. S. Gimenes 1 itana@din.uem.br Fabrício R. Lazilha 2 fabricio@cesumar.br Edson A. O. Junior

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about.

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about. PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução Compatibilidade Principais características

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE Tathiana da Silva Barrére Antonio Francisco do Prado Vitor César Bonafe E-mail: (tathiana,prado,bonafe)@dc.ufscar.br

Leia mais

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR Jeferson J. S. Boesing 1 ; Manassés Ribeiro 2 1.Aluno do Curso

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software Ciência da Computação ENGENHARIA DE SOFTWARE Análise dos Requisitos de Software Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Roteiro Introdução Tipos de requisitos Atividades Princípios da

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)? Roteiro BCC321 - Banco de Dados I Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz Conceitos Básicos Banco

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE

PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE PADRÕES DE PROJETO E FRAMEWORK NO DESENVOLVIMENTO DE SOFTWARE Nelson Ribeiro de Carvalho Júnior 1 RESUMO Atualmente o cenário mundial cuja dependência do software está cada vez mais evidente requer que

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software Juliano Dantas Santos Universidade Federal do Rio de Janeiro COPPE - Instituto Alberto Luiz Coimbra de Pós-Graduação e Pesquisa

Leia mais

JDBC Java Database Connectivity

JDBC Java Database Connectivity 5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes

Leia mais

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS

DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL DEPARTAMENTO DE COMPUTAÇÃO E ESTATÍSTICA DESENVOLVENDO APLICAÇÕES WEB UTILIZANDO A FERRAMENTA WEBSCHARTS LÍCIO SÉRGIO FERRAZ DE BRITO MARCELO AUGUSTO SANTOS TURINE

Leia mais

Sistemas para internet e software livre

Sistemas para internet e software livre Sistemas para internet e software livre Metodologia de modelagem de aplicações WEB Image: FreeDigitalPhotos.net Domínio: Elementos de aplicação WEB Páginas Web Scripts Formulários Applets e ActiveX Motivação

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java

MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java MOR: Uma Ferramenta para o Mapeamento Objeto-Relacional em Java Leonardo Gresta Paulino Murta Gustavo Olanda Veronese Cláudia Maria Lima Werner {murta, veronese, werner}@cos.ufrj.br COPPE/UFRJ Programa

Leia mais

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011 Banco de Dados Aula 1 - Prof. Bruno Moreno 16/08/2011 Roteiro Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza autodescritiva

Leia mais

UTILIZAÇÃO DE GERADORES DE APLICAÇÃO EM PROCESSOS ÁGEIS DE REENGENHARIA

UTILIZAÇÃO DE GERADORES DE APLICAÇÃO EM PROCESSOS ÁGEIS DE REENGENHARIA UNIVERSIDADE FEDERAL DE SÃO CARLOS CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO UTILIZAÇÃO DE GERADORES DE APLICAÇÃO EM PROCESSOS ÁGEIS DE REENGENHARIA RAQUEL

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC)

Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC) Projeto SIAC 2.0: Uma aplicação do framework Demoiselle para o desenvolvimento de Sistema de Informações Acadêmicas da UFBA (SIAC) André Luís Monteiro P. dos Santos 1, Fernando Cezar Borges 1, Leandro

Leia mais

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ Agenda Caché Server Pages Uma Aplicação Banco de Dados Fernando Fonseca Ana Carolina Salgado Mestrado Profissional 2 SGBD de alto desempenho e escalabilidade Servidor de dados multidimensional Arquitetura

Leia mais

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00

www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 www.f2b.com.br 18/04/2006 Micropagamento F2b Web Services Web rev 00 Controle de Revisões Micropagamento F2b Web Services/Web 18/04/2006 Revisão Data Descrição 00 17/04/2006 Emissão inicial. www.f2b.com.br

Leia mais

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow

Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Um Simulador para Avaliação da Antecipação de Tarefas em Sistemas Gerenciadores de Workflow Resumo. A fim de flexibilizar o fluxo de controle e o fluxo de dados em Sistemas Gerenciadores de Workflow (SGWf),

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

Um Arcabouço open source em Python para DBC com

Um Arcabouço open source em Python para DBC com Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Uma Abordagem para Tratamento de Regras de Negócio nas Fases Iniciais do Desenvolvimento

Uma Abordagem para Tratamento de Regras de Negócio nas Fases Iniciais do Desenvolvimento Uma Abordagem para Tratamento de Regras de Negócio nas Fases Iniciais do Desenvolvimento Marco Antonio De Grandi, Valter Vieira de Camargo, Edmundo Sérgio Spoto Centro Universitário Eurípides de Marília

Leia mais

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Oficina. Praça das Três Caixas d Água Porto Velho - RO Oficina Praça das Três Caixas d Água Porto Velho - RO Oficina Ministrante: Marcel Leite Rios Apresentação Pessoal Marcel Leite Rios Prof. de Informática IFRO Graduado: Sistemas de Informação - ULBRA MBA

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

WebApps em Java com uso de Frameworks

WebApps em Java com uso de Frameworks WebApps em Java com uso de Frameworks Fred Lopes Índice O que são frameworks? Arquitetura em camadas Arquitetura de sistemas WEB (WebApps) Listagem resumida de frameworks Java Hibernate O que são frameworks?

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

APLICATIVO PARA GERENCIAMENTO DE FORÇA DE TRABALHO EM EMPRESAS DE TELEFONIA MÓVEL

APLICATIVO PARA GERENCIAMENTO DE FORÇA DE TRABALHO EM EMPRESAS DE TELEFONIA MÓVEL APLICATIVO PARA GERENCIAMENTO DE FORÇA DE TRABALHO EM EMPRESAS DE TELEFONIA MÓVEL Tatiana Bogo Fujii Prof. Wilson Pedro Carli Orientador Introdução; Telefonia Celular; Internet; ASP; Inteligência Artificial;

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Banco de Dados I Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Dados

Leia mais

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software Ricardo Terra 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG) Campus da Pampulha 31.270-010

Leia mais

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

MODELAGEM DE UM SUBSISTEMA IMOBILIÁRIO UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE MODELING A REAL ESTATE SUBSYSTEM USING SOFTWARE PRODUCT LINES

MODELAGEM DE UM SUBSISTEMA IMOBILIÁRIO UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE MODELING A REAL ESTATE SUBSYSTEM USING SOFTWARE PRODUCT LINES MODELAGEM DE UM SUBSISTEMA IMOBILIÁRIO UTILIZANDO LINHAS DE PRODUTO DE SOFTWARE MODELING A REAL ESTATE SUBSYSTEM USING SOFTWARE PRODUCT LINES Silvia Ribeiro Mantuani 1 ; Fernando Henrique Campos 2 ; Vinícius

Leia mais

Agenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor

Agenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor Reuso de Software Aula 05 Agenda da Aula Linha de Produtos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 19 Março 2012 Padrões arquiteturais Cliente-Servidor

Leia mais

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO INSTITUTO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA PROJETO SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO ALUNO RICARDO CARDOSO TERZELLA

Leia mais

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD Acadêmico: Maicon Klug Orientadora: Joyce Martins Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento do trabalho Conclusão Extensões

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados - Banco de Dados Aula 02 Modelagem de Dados Roteiro Definição Evolução Projeto de BD Abstração Esquema e Instância Definição É uma representação, normalmente gráfica, de estruturas de dados reais. Auxilia

Leia mais

Prototipação de Software

Prototipação de Software UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Prototipação de Software Engenharia de Software 2o. Semestre de 2005

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais. Tales Henrique José MOREIRA 1 ; Gabriel da SILVA 2 ; 1 Estudante de Tecnologia em Sistemas para

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados 1. Conceitos Básicos No contexto de sistemas de banco de dados as palavras dado e informação possuem o mesmo significado, representando uma

Leia mais

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum Audrey B. Vasconcelos, Iuri Santos Souza, Ivonei F. da Silva, Keldjan Alves Centro de Informática Universidade

Leia mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,

Leia mais

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

Leia mais

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Atividades da Engenharia de Software. Processo de Desenvolvimento de

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Atividades da Engenharia de Software. Processo de Desenvolvimento de SCE186-ENGENHARIA DE SOFTWARE Módulo 1 Atividades da Engenharia de GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE Profª Rosely Sanches rsanches@icmc.usp.br 2003 DEFINIÇÃO CONSTRUÇÃO SOFTWARE PRODUTO MANUTENÇÃO

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

Curso - Padrões de Projeto Módulo 5: Model-View- Controller

Curso - Padrões de Projeto Módulo 5: Model-View- Controller Curso - Padrões de Projeto Módulo 5: Model-View- Controller Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java:

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e JEANE MENDES DA SILVA SANTOS Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e Plano de Trabalho de Conclusão de Curso apresentado à Universidade Federal de

Leia mais

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas.

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas. UTILIZAÇÃO DA UML NO DESENVOLVIMENTO DE SISTEMA DE CONTROLE DE VENDAS E ESTOQUE GILBERTO FRANCISCO PACHECO DOS SANTOS Discente da AEMS Faculdades Integradas de Três Lagoas JACKSON LUIZ ARROSTI Discente

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software

Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Spider-PM: Uma Ferramenta de Apoio à Modelagem de Processos de Software Renan Sales Barros 1, Sandro Ronaldo Bezerra Oliveira 1 1 Faculdade de Computação Instituto de Ciências Exatas e Naturais (ICEN)

Leia mais

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s

DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s DDL, Lidando com as diferenças das instruções SQL nos diferentes SGBD s Dio Rafael Jacobs 1, Juliano Varella de Carvalho 1 1 Centro Universitário Feevale Instituto de Ciência Exatas e Tecnológicas Novo

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso

Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso Geração do Portal CPCX - UFMS pelo UNION: Um Estudo de Caso Lourival dos Santos Pires Júnior, Tony Carlos Bignardi dos Santos, Amaury Antônio de Castro Junior, Carlos Alberto da Silva, Leila Lisiane Rossi

Leia mais

3 Ferramenta de Simulação

3 Ferramenta de Simulação 3 Ferramenta de Simulação Para definir a ferramenta de simulação a ser utilizada para implementação do protocolo HIP e para coleta dos resultados de simulação com uso desse protocolo, realizou-se um estudo

Leia mais

Ferramenta para instanciação de processos de software que permite o gerenciamento de projetos de desenvolvimento distribuído

Ferramenta para instanciação de processos de software que permite o gerenciamento de projetos de desenvolvimento distribuído Ferramenta para instanciação de processos de software que permite o gerenciamento de projetos de desenvolvimento distribuído Ana Paula Chaves 1, Jocimara Segantini Ferranti 1, Alexandre L Erário 1, Rogério

Leia mais