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 a.pazin@gmail.com 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

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

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

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

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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

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

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

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

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

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

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

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

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

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

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

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

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

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

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

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

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

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

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

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

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

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

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados 1021 X Salão de Iniciação Científica PUCRS Engenharia de Domínio baseada na Reengenharia de Sistemas Legados Cássia Zottis¹, Profa. Dra. Ana Paula Terra Bacelo 1 (orientadora) 1 Faculdade de Informática,

Leia mais

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

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

Leia mais

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado.

Casos de teste semânticos. Casos de teste valorados. Determinar resultados esperados. Gerar script de teste automatizado. 1 Introdução Testes são importantes técnicas de controle da qualidade do software. Entretanto, testes tendem a ser pouco eficazes devido à inadequação das ferramentas de teste existentes [NIST, 2002].

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

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

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

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

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

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

Instituto de Ciências Matemáticas e de Computação. MANUAL DE USO Sistema de Reserva de Salas INTRANET - ICMC-USP

Instituto de Ciências Matemáticas e de Computação. MANUAL DE USO Sistema de Reserva de Salas INTRANET - ICMC-USP Instituto de Ciências Matemáticas e de Computação ISSN - 0103-2569 MANUAL DE USO Sistema de Reserva de Salas INTRANET - ICMC-USP André Pimenta Freire Renata Pontin de M. Fortes N 0 213 RELATÓRIOS TÉCNICOS

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

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

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

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS PAULO ALBERTO BUGMANN ORIENTADOR: ALEXANDER ROBERTO VALDAMERI Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

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

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

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

Sumário. Uma visão mais clara da UML

Sumário. Uma visão mais clara da UML Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da

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

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado O NetPublisher é um sistema de gerenciamento de portais e websites corporativos (intranets ou extranets), apropriado para pequenas, médias e grandes empresas. O conteúdo do website pode ser atualizado

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Sistemas de Informação RENATO SULZBACH MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES

Leia mais

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 03 Profissões de TI Prof. MSc. Edilberto Silva edilms@yahoo.com http:// Papéis... Um papel é uma definição abstrata de um conjunto de atividades executadas e dos respectivos

Leia mais

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 5º MÓDULO AVALIAÇÃO A4 DATA 23/04/2009 ENGENHARIA DE SOFTWARE Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA

Leia mais

O Processo Unificado: Captura de requisitos

O Processo Unificado: Captura de requisitos O Processo Unificado: Captura de requisitos Itana Gimenes Graduação em Informática 2008 Captura de Requisitos Modelagem do negócio: Visão de negócios Modelo de objetos de negócio de negócio Especificação

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

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB Adriano Schulter Moenster 1, Tiago Piperno Bonetti 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil adrmoenster@gmail.com,

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

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

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

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

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

Projeto Arquitetural do IEmbedded

Projeto Arquitetural do IEmbedded Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Disciplina: Projeto I Professora: Francilene Garcia Equipe: Carolina Nogueira de

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

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

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

Anexo I Formulário para Proposta

Anexo I Formulário para Proposta PLATAFORMA CGI.br Solicitação de Propostas SP Anexo I Formulário para Proposta Data: 05/07/2013 Versão: 1.1 Plataforma CGI.br Solicitação de Propostas - SP Anexo I Formulário para Proposta 1. Estrutura

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

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

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

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

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

Serviços Web: Introdução

Serviços Web: Introdução Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

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

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC 1 Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC Edilberto Silva 1, André Luiz (1012545), Andreia Pereira da Silva (1012547) Carlos Alberto (1012206), Humberto César de Carvalho

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Modelos. Comunicação com clientes

Modelos. Comunicação com clientes Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas de Informação Brasília/DF

Leia mais

Documento de Projeto de Sistema

Documento de Projeto de Sistema Documento de Projeto de Sistema 1 IFES / Serra Projeto: Gerenciador de Pelada - Oasis Registro de Alterações: Versão Responsável Data Alterações 0.1 Eduardo Rigamonte, Geann Valfré, João Paulo Miranda,

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

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

2 a Lista de Exercícios

2 a Lista de Exercícios Projeto de Sistemas 2011/2 2 a Lista de Exercícios (1) Um importante aspecto do projeto da camada de Lógica de Negócio (LN) diz respeito à organização das classes e distribuição de responsabilidades entre

Leia mais

METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE DO MUSEU PARAENSE EMÍLIO GOELDI

METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE DO MUSEU PARAENSE EMÍLIO GOELDI METODOLOGIA DE DESENVOLVIMENTO DE SOFTWARE DO MUSEU PARAENSE EMÍLIO GOELDI HISTÓRICO DE REVISÕES Data Versão Descrição Autor 02/04/2014 1.0 Versão Inicial Ewertton Bravo 27/08/2014 1.1 Alteração da Imagem

Leia mais

Guia de Atualização TOTVS Segurança e Acesso 12.1

Guia de Atualização TOTVS Segurança e Acesso 12.1 06/2015 Sumário 1 Prefácio... 3 1.2 Finalidade... 3 1.3 Público Alvo... 3 1.4 Organização deste Guia... 3 1.5 Documentações Importantes... 3 2 Atualização... 4 2.1 Executando o Updater de Atualização...

Leia mais

Integração de sistemas utilizando Web Services do tipo REST

Integração de sistemas utilizando Web Services do tipo REST Integração de sistemas utilizando Web Services do tipo REST Jhonatan Wilson Aparecido Garbo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil jhowgarbo@gmail.com jaime@unipar.br

Leia mais

SUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO

SUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO SUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO SUMÁRIO 1. APRESENTAÇÃO... 1 1.1. ACESSO AO SISTEMA... 1 1.2. TELA INICIAL

Leia mais