Engenharia Reversa para Recuperação de Modelos de Sistemas Desenvolvidos em PL/SQL

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

Download "Engenharia Reversa para Recuperação de Modelos de Sistemas Desenvolvidos em PL/SQL"

Transcrição

1 Engenharia Reversa para Recuperação de Modelos de Sistemas Desenvolvidos em PL/SQL Rodnei Couto 1, Luana Lachtermacher 1, Soeli Fiorini 1, Akeo Tanabe 1, Gustavo Carvalho 1, Arndt von Staa 1, Ricardo Choren 2 1 Departamento de Informática PUC-Rio Rua Marquês de São Vicente Rio de Janeiro RJ Brasil 2 Seção de Engenharia de Computação IME/RJ Pça General Tibúrcio Rio de Janeiro RJ Brasil Abstract. Recovering a legacy system structure helps its maintenance. With the system structure it is possible to understand the system and to make an impact analysis about a change request. This paper shows an approach to recover the structural models of legacy systems, which were developed using PL/SQL. The structure recovery is based on search patterns that extract the dependencies between structural elements. This paper also presents a tool that supports the proposed approach. Resumo. A recuperação da documentação sobre a estrutura de um sistema legado visa apoiar sua manutenção. Com esta estrutura é possível entender o sistema e fazer uma análise de impacto de um pedido de mudança. Este artigo mostra uma abordagem para a recuperação de modelos de sistemas legados em PL/SQL. A recuperação se baseia em padrões de busca que extraem as dependências entre elementos estruturais. Este artigo também apresenta uma ferramenta de apoio à abordagem proposta. 1. Introdução Um sistema de software está sempre evoluindo para se adequar a modificações em práticas de negócio organizacionais. Após diversas modificações, o software e a sua documentação vão se tornando mais difíceis de entender. Quanto mais difícil é entender um sistema, mais os desenvolvedores se focam na modificação do software, diminuindo a confiabilidade da documentação existente e dificultando a tarefa de manutenção. Para fazer uma manutenção em um software, é importante que o desenvolvedor realize uma análise de impacto da mudança [Sommerville 2007]. Uma análise de impacto utiliza uma representação da estrutura do sistema para verificar se outras partes do software devem ser modificadas por conta de uma manutenção, buscando minimizar os efeitos colaterais de uma mudança [Wilde and Huitt 1992; Queille et al. 1994]. Porém, a documentação de um sistema legado (incluindo a documentação sobre sua estrutura) tende a perder a confiabilidade ao longo do tempo. Para contornar este problema, pode-se recuperar a estrutura do sistema utilizando engenharia reversa, que se 1

2 preocupa em recuperar a representação arquitetural do sistema a partir do código fonte, permitindo seu entendimento e modernização [Chikofsky and Cross 1990]. O processo de recuperação do modelo da estrutura de um sistema legado pode ser automatizado com uma combinação de ferramentas de análise de código. Porém, a análise de código fonte normalmente não abrange a análise de código que implementa regras de negócio diretamente em sistemas gerenciadores de banco de dados, como código escrito em PL/SQL. Este artigo tem como objetivo apresentar uma abordagem para a recuperação de modelos de sistemas legados em PL/SQL. A Seção 2 apresenta a abordagem, baseada em padrões para extrair informações do código. A Seção 3 mostra uma ferramenta que dá suporte à abordagem proposta. A Seção 4 descreve um exemplo de uso desta ferramenta. A Seção 5 apresenta um exemplo de como a proposta pode auxiliar o desenvolvedor na tarefa de análise de impacto. A Seção 6 apresenta alguns trabalhos relacionados e, finalmente, a Seção 7 apresenta as conclusões. 2. Recuperando a Estrutura de Software O processo de recuperação do modelo da estrutura de software proposto possui as seguintes etapas: (i) encontrar padrões para a extração de informações; (ii) gerar uma ferramenta para extrair do código fonte os padrões criados, e; (iii) gerar os modelos. Um padrão deve buscar uma característica no código e deve ter um objetivo específico no processo de recuperação da estrutura. Neste trabalho, a geração de padrões buscou encontrar os relacionamentos estruturais do sistema, se baseando em um exame da sintaxe da linguagem PL/SQL e nos comandos SQL padrão. No entanto, é importante salientar que o uso de convenções (padrões) de programação é importante para extração de conhecimento a partir de código-fonte. O código produzido utilizando convenções deve ser a marca da equipe, pois serve para que todos os desenvolvedores possam entender completamente o código produzido por qualquer um da equipe. Os padrões propostos por este trabalho, além de verificar a sintaxe PL/SQL e os comandos SQL, se vale de um conjunto de convenções de programação. Assim, foram criados quatro padrões: Padrão 1: padrão para mostrar o relacionamento entre procedimentos (procedures de PL/SQL). Para reconhecer tais relacionamentos é preciso descobrir todos os pacotes e procedimentos existentes no código PL/SQL. Assim, é necessário: (i) eliminar os comentários, expressos com /*... */ ou com --, e; (ii) buscar dados através dos seguintes padrões: PACKAGE/package, procedure e function. Após a identificação dos pacotes e dos procedimentos, as seguintes expressões (convenções de programação) são usadas para recuperar os relacionamentos entre procedimentos: _pkg.<nome_outro_proc>: representa um relacionamento entre um procedimento e o procedimento referenciado em _pkg.<nome_outro_proc>; pacote.procedure: cada palavra do código que atendesse a este padrão foi selecionada e procurada na listagem produzida em (iii). Se a palavra for encontrada na listagem, então um relacionamento entre o procedimento onde o padrão foi recuperado e o procedimento da listagem é adicionado. 2

3 Padrão 2: padrão para mostrar o relacionamento entre procedimentos e tabelas. O padrão definido para extrair estes relacionamentos verifica os comandos que contém as expressões update, delete, select, join, insert e from. Padrão 3: padrão para mostrar o relacionamento entre as tabelas através de chaves estrangeiras. O padrão para extrair estes relacionamentos verifica os comandos que iniciam com alter table e que contém as expressões foreign key e references. Padrão 4: padrão para mostrar as entradas e as saídas dos procedimentos. Este padrão busca por: (i) sentenças PACKAGE/package; (ii) comandos iniciados com as palavras-chaves procedure ou function, e; (iii) comandos contendo as expressões in ou out. Depois da definição dos padrões, uma série de programas AWK [Aho et al. 1988] foi desenvolvida para extraí-los do código fonte. O AWK foi utilizado, pois conta com recursos para encontrar padrões (pattern matching) e para manipulação de expressões regulares. Tais recursos foram determinantes para o sucesso da mineração de relacionamentos descritos nos padrões. Com base no código (transformado em um arquivo de texto) e nos padrões estabelecidos, os programas AWK fazem a engenharia reversa, gerando os arquivos com os dados necessários para se recuperar o modelo da estrutura do sistema. Estes arquivos são organizados para que a ferramenta Dependencies Viewer (Seção 3) possa apresentar graficamente o modelo. 3. A Ferramenta Dependencies Viewer A ferramenta Dependencies Viewer (figura 1) foi desenvolvida para mostrar o modelo da estrutura do software (parte PL/SQL) a partir dos arquivos gerados pelos programas AWK. A ferramenta permite: (i) visualizar os procedimentos e seus relacionamentos (entre si e entre eles e as tabelas), partindo-se de um procedimento específico; (ii) visualizar as tabelas e seus relacionamentos, partindo-se de uma tabela específica, e; (iii) gerar uma imagem com a estrutura para o usuário imprimir. Figura 1. Tela para gerar diagramas de procedimentos. 3

4 A ferramenta oferece quatro opções de visualização do modelo da estrutura a partir da seleção de um procedimento (exemplo da figura 1) ou tabela escolhida pelo usuário: origem; destino; ver tabelas, e; todos os níveis. Marcando a opção Origem a busca dos relacionamentos será a partir do procedimento informado, mostrando um diagrama com as chamadas desta aos outros procedimentos. Marcando a opção Destino significa que o procedimento informado é destino e um diagrama mostrará todos os procedimentos que fazem chamadas a ele. Se a opção Ver Tabelas for selecionada serão apresentadas as tabelas relacionadas ao procedimento. Marcando a opção Todos os níveis, um diagrama, que apresenta o grafo em profundidade, é gerado, mostrando os relacionamentos diretos e indiretos do procedimento. Uma combinação destas opções pode ser realizada, dependendo do nível de detalhe que se busca. Estas opções também são válidas para diagramas de tabelas. A ferramenta possui um modelo bastante simplificado, que transforma a árvore de chamadas de procedimentos e de tabelas em um grafo. Isto facilita na hora de percorrê-lo e de selecionar os nós que devem ser exibidos. O uso de grafos é importante, pois permite a geração de sub-grafos a partir de uma raiz (procedimento) qualquer, selecionada pelo usuário. No exemplo do grafo da figura 2, um usuário pode gerar diversos sub-grafos. Figura 2. Exemplo de um grafo de modelo de estrutura Se o usuário desejar ver os relacionamentos existentes do nó C, ele pode optar por marcar Origem, o que mostrará o sub-grafo C D E. Caso seja escolhida a opção Destino, são selecionados os vértices A B C. Se as duas opções forem marcadas, será exibido o sub-grafo A B C D E. Note que o nó F nunca será adicionado no grafo de C, pois ele não pertence à árvore de chamadas deste nó. As regras apresentadas acima servem tanto para procedimentos como para tabelas, pois os dois são vistos do mesmo modo pela ferramenta. Embora a ferramenta consiga extrair a estrutura de forma simples, algumas dificuldades foram encontradas. Na extração do relacionamento entre procedimentos (padrão 1), dois procedimentos podem ter o mesmo nome e estar no mesmo pacote, sendo diferenciadas pela quantidade e pelos tipos de parâmetros. Neste caso, a ferramenta gera vários relacionamentos para um mesmo procedimento (em vez de gerar dois procedimentos diferentes com o mesmo nome). Outra dificuldade encontrada se refere à extração dos relacionamentos entre procedimentos e tabelas (padrão 2). Em PL/SQL, uma tabela pode estar definida como um tipo, que pode ser utilizado no código apenas como um nome de uma variável. Neste caso, a ferramenta não consegue reconhecer a tabela, perdendo seus relacionamentos. 4

5 4. Prova de Conceito Para mostrar a aplicabilidade da abordagem, a ferramenta foi utilizada para extrair o modelo da estrutura de um sistema legado escrita em PL/SQL, que possui cerca de 150 KLOC e mais de 340 procedimentos. Abaixo, é mostrada a extração de relacionamentos entre procedimentos e entre procedimentos e tabelas e a geração do grafo. O código 1 mostra um trecho do código do procedimento update_scenarium que possui um relacionamento com uma tabela cenário. procedure UPDATE_SCENARIUM (...) is... begin Código 1. Trecho I do procedimento update_scenarium select ce.cena_nr_numero_cenario, ce.cena_dt_criacao into scena_cd_id, creation_date from cenario ce where ce.cena_nr_numero_cenario = to_number(scenarium_id.identifier);... end; O trecho marcado acima mostra o código que indica um relacionamento entre o procedimento e a tabela. A ferramenta encontra o código a partir do padrão 2 e gera o trecho mostrado na figura 3 no arquivo da estrutura. Figura 3. Trecho gerado pela aplicação do padrão 2 O código 2 mostra um trecho do código do procedimento update_scenarium que possui um relacionamento com outros procedimentos. procedure UPDATE_SCENARIUM (...) is... begin... Código 2. Trecho II do procedimento update_scenarium if open_stock.count > 0 then update_open_stock(open_stock); end if; if delivery.count > 0 then update_delivery(delivery); end if;... if fcc_processing.count > 0 then end; O trecho marcado no código 2 mostra o código que indica um relacionamento entre update_scenarium e update_open_stock e update_delivery. Estes trechos são 5

6 encontrados pela ferramenta a partir do padrão 1. O arquivo gerado (parcial) após o processamento do código está mostrado na figura 4 (se o procedimento é chamado várias vezes, há repetição; no entanto, isto é filtrado posteriormente). Figura 4. Trecho gerado pela aplicação do padrão 1 Atualmente um arquivo.jar pode ser criado para fazer todo o processo de geração dos arquivos extraídos do código de forma automática permitindo atualização rápida dos modelos de acordo com a evolução de versões do software. Depois de aplicar todos os padrões, a ferramenta gera o seguinte grafo de relacionamentos para o procedimento update_scenarium (figura 5). Figura 5. Modelo recuperado da estrutura do procedimento update_scenarium 5. Análise de Impacto A ferramenta Dependencies Viewer auxilia o desenvolvedor a fazer uma análise de impacto de um pedido de mudança. A figura 6 mostra um cenário de uso da ferramenta. Imagine que um desenvolvedor, atendendo a um pedido de mudança, saiba que será necessário modificar um procedimento (neste exemplo, chamada de get_scenarium). O desenvolvedor usa a ferramenta para saber se existem outros procedimentos que chamam o procedimento em questão, encontrando o procedimento open_scenarium (figura 6.1). Neste ponto, o desenvolvedor pode recuperar os procedimentos diretamente relacionados ao procedimento open_scenarium (figura 6.2). Caso seja necessário, o desenvolvedor pode verificar se existem outras chamadas em maiores níveis de profundidade opção Todos os níveis para open_scenarium (figura 6.3). Esta verificação apresenta diversos relacionamentos. O retângulo cinza representa o procedimento utilizado para a busca (na parte superior está o nome do pacote e na parte inferior o nome do procedimento). Além da análise dos relacionamentos entre procedimentos, é possível analisar as tabelas associadas a cada procedimento impactado. Estes diagramas mostram um mapa da implementação. Em alguns casos, pode haver muitos caminhos e, quando se tem pouco conhecimento sobre o software, o esforço para a análise é bem maior. Informações associadas a cada procedimento/tabela (semelhante a um Javadoc) ajudam no entendimento das funções de cada um destes elementos. 6

7 Figura 6. Navegando nos diagramas para realizar a análise de impacto. 6. Trabalhos Relacionados Para a linguagem Java e a notação UML, existe um conjunto de ferramentas similares, como o Together [Borland 2009], e o Rational Software Architect [IBM 2009a]. Para a exibição do comportamento e chamadas da aplicação, normalmente o diagrama exibido é o diagrama de seqüência. Todas estas ferramentas possuem a opção de geração de diagramas a partir da análise estática de um código Java. No entanto, estas ferramentas não provêem suporte para outras linguagens. O mais próximo disto é a funcionalidade de importação de um XMI. Para produtos específicos para desenvolvimento focado em banco de dados, existe a ferramenta Rational Data Architect [IBM 2009b], que provê diversas funcionalidades de geração de diagramas a partir da estrutura do SGBD. Todas, porém, são focadas na organização das tabelas. Para desenvolvimento e manutenção de procedimentos, a única funcionalidade é o destaque com cor das palavras chaves. Outras ferramentas, específicas para determinados bancos, fornecem um suporte melhor. O SqlDeveloper [Oracle 2009] provê um editor que completa palavras e marca com cores as palavras chaves do procedimento. Assim, ele exibe quais os procedimentos chamados e as tabelas utilizadas textualmente a partir do procedimento que está sendo editado 7

8 naquele momento. Porém, apenas o primeiro nível é exibido, e não toda a árvore de chamadas, além de não existir a possibilidade de exibição e geração de um diagrama. 7. Conclusão A manutenção de um sistema legado pode ser facilitada quando se aplica algumas práticas de engenharia reversa. Uma delas é a recuperação do modelo de sua estrutura. Para recuperar o modelo da estrutura de um software legado, desenvolvido em PL/SQL, este trabalho propõe o uso de padrões para o reconhecimento de procedimentos, tabelas e seus relacionamentos no código fonte. Para dar suporte ao uso automatizado destes padrões, foi desenvolvida a ferramenta Dependencies Viewer que permite a recuperação do modelo da estrutura de um sistema legado para contribuir na tarefa de análise de impacto de uma mudança. Como trabalhos futuros, é preciso avaliar os padrões e a ferramenta em outros estudos de caso, com o intuito de aperfeiçoar a detecção dos padrões no código fonte. Além disso, seria interessante incrementar a ferramenta para permitir a visualização de outras informações como os parâmetros de entrada e saída dos procedimentos. Novos padrões podem ser desenvolvidos e tais padrões deverão ser incorporados à ferramenta. Neste sentido, já está em desenvolvimento um padrão para mostrar os comentários dos procedimentos. Este padrão extrai os comentários do código, buscando os caracteres de início e fim de comentário dentro do PL/SQL ( /* e */ ). Logo, o Dependencies Viewer poderá auxiliar o desenvolvedor, apresentado a documentação de um procedimento selecionado para ajudar na tarefa de análise de impacto de mudança. Referências Aho, A. V., Kernighan B. W. and Weinberger, P. J. (1988). The AWK Programming Language, Addison Wesley. Borland (2009). Borland Together. Disponível em: products/together/. Acessado em: 30 Mar Chikofsky, E. J. and Cross, J. H. (1990). Reverse engineering and design recovery: a taxonomy. IEEE Software 7(1), p IBM (2009a). Rational Software Architect. Disponível em: software/awdtools/architect/swarchitect/. Acessado em: 30 Mar IBM (2009b). Rational Data Architect. Disponível em: software/awdtools/modelbundle/. Acessado em: 30 Mar Oracle (2009). Oracle SQL Developer. Disponível em: technology/products/database/sql_developer/. Acessado em: 30 Mar Queille, J., Voidrot, J., Wilde, N. and Munro, M. (1994). The impact analysis task in software maintenance: a model and a case study. In: Proceedings of the International Conference on Software Maintenance, p Sommerville, I. (2007). Engenharia de Software, Pearson Education, 8th edition. Wilde, N. and Huitt, R. (1992). Maintenance support for object oriented programs. In: Proceedings of the International Conference on Software Maintenance, p

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl

Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl AVALIAÇÃO DA QUALIDADE DO CÓDIGO FONTE ESCRITO EM PL/SQL Acadêmica: Giselle Mafra Schlosser Orientador: Everaldo Artur Grahl Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

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

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE

FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE FERRAMENTA DE APOIO A REESTRUTURAÇÃO DE CÓDIGO FONTE EM LINGUAGEM PL/SQL BASEADO EM PADRÕES DE LEGIBILIDADE Formando: Dyckson Dyorgio Dolla Orientador: Prof. Everaldo Artur Grahl Julho / 2001 ROTEIRO DA

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

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

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

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

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 10 - PROCEDIMENTOS ARMAZENADOS - STORED PROCEDURES 1. INTRODUÇÃO Em muitas situações será necessário armazenar procedimentos escritos com a finalidade de se utilizar recursos como loop, estruturas

Leia mais

RYLY - Query Analizer: Ferramenta de Visualização e de Análise do Plano de Execução de Consultas ORACLE

RYLY - Query Analizer: Ferramenta de Visualização e de Análise do Plano de Execução de Consultas ORACLE RYLY - Query Analizer: Ferramenta de Visualização e de Análise do Plano de Execução de Consultas ORACLE Luzia A. Mendes 1, Rodrigo C. Barros 2, Bruno Visioli 1, Leandro Pompermaier 1 1 Faculdade de Informática

Leia mais

Logado no OracleXE vamos acessar a opção:

Logado no OracleXE vamos acessar a opção: Tutorial PL/SQL O PL/SQL é uma linguagem procedural que roda diretamente no núcleo do SGBD Oracle. O objetivo deste tutorial é mostrar a criação de funções e procedimentos em PL/SQL, interagindo com comandos

Leia mais

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

Geração Automática de Código Java a partir do Modelo de Dados

Geração Automática de Código Java a partir do Modelo de Dados Geração Automática de Código Java a partir do Modelo de Dados Jansser Ribeiro, Renato Lima Novais, Thiago Souto Mendes Grupo de Informática Aplicada - Instituto Federal da Bahia Campus Santo Amaro CEP

Leia mais

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Triggers. um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. Triggers um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser accionado imediatamente

Leia mais

APLICATIVO PARA CÁLCULO DE MÉTRICA DE SOFTWARE EM CÓDIGO-FONTE PL/SQL

APLICATIVO PARA CÁLCULO DE MÉTRICA DE SOFTWARE EM CÓDIGO-FONTE PL/SQL APLICATIVO PARA CÁLCULO DE MÉTRICA DE SOFTWARE EM CÓDIGO-FONTE PL/SQL Karine Trevisani Cunha Alexander Roberto Valdameri - Orientador Roteiro Introdução Objetivos Motivação Fundamentação Teórica Desenvolvimento

Leia mais

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 14 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. UML - Motivação - O que é um modelo? Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. O que é um modelo? O que é um modelo? O

Leia mais

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com

SQL Procedural. Josino Rodrigues Neto josinon@gmail.com SQL Procedural Josino Rodrigues Neto josinon@gmail.com SQL Procedural Agregada em SQL-92 As ferramentas têm nomes para suas linguagens SQL procedurais/embutidas Oracle : PL/SQL Postgres PL/Pgsql SQL Server

Leia mais

Marcelo Novaes Coutinho. Um Processo de Gerência de Estratégia de Rastreabilidade: Um Caso em Ambiente Oracle. Dissertação de Mestrado

Marcelo Novaes Coutinho. Um Processo de Gerência de Estratégia de Rastreabilidade: Um Caso em Ambiente Oracle. Dissertação de Mestrado Marcelo Novaes Coutinho Um Processo de Gerência de Estratégia de Rastreabilidade: Um Caso em Ambiente Oracle Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau

Leia mais

Geração automática de suíte de teste para GUI a partir de Rede de Petri

Geração automática de suíte de teste para GUI a partir de Rede de Petri Raquel Jauffret Guilhon Geração automática de suíte de teste para GUI a partir de Rede de Petri Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo

Leia mais

Documentação de um Produto de Software

Documentação de um Produto de Software Documentação de um Produto de Software Versão 3.0 Autora: Profª Ana Paula Gonçalves Serra Revisor: Prof. Fernando Giorno 2005 ÍNDICE DETALHADO PREFÁCIO... 4 1. INTRODUÇÃO AO DOCUMENTO... 6 1.1. TEMA...

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

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

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

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

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

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

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL PL/SQL Laboratório de Bases de Dados PL/SQL Program Language SQL linguagem de programação da Oracle que permite processar dados armazenados no banco de dados Exemplos de operações permitidas alterar, remover,

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

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

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

Leia mais

Tuning em queries em Banco de Dados

Tuning em queries em Banco de Dados Tuning em queries em Banco de Dados Alison K. L. Leite 1, Izabella C. A. M. S. Bosco 1, Juliana M. Massoni 1, Patrícia B. Ribeiro 1 1 Curso de Tecnologia em Banco de Dados - Faculdade de Tecnologia de

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela

SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela SQL Server Triggers Aprenda a utilizar triggers em views e auditar as colunas atualizadas em uma tabela Certamente você já ouviu falar muito sobre triggers. Mas o quê são triggers? Quando e como utilizá-las?

Leia mais

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura

Leia mais

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

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

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

FAD: UMA FERRAMENTA CASE PARA ENGENHARIA REVERSA 1

FAD: UMA FERRAMENTA CASE PARA ENGENHARIA REVERSA 1 FAD: UMA FERRAMENTA CASE PARA ENGENHARIA REVERSA 1 Maikon Adiles Fernandez BUENO 2, Renato Bobsin MACHADO 3, Huei Diana LEE 4, Feng Chung WU 5 Escrito para apresentação na II JORNADA CIENTÍFICA DA UNIOESTE

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

Ferramenta de Análise Código Fonte em Delphi. Aluno - Roque César Possamai Orientador - Everaldo Artur Grahl

Ferramenta de Análise Código Fonte em Delphi. Aluno - Roque César Possamai Orientador - Everaldo Artur Grahl Ferramenta de Análise Código Fonte em Delphi Aluno - Roque César Possamai Orientador - Everaldo Artur Grahl Roteiro Introdução Fundamentação Teórica Conceitos Básicos Métricas de Software Métricas de Software

Leia mais

Prof. Omero, pág. 63. Banco de Dados InterBase.

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 15 2 Trabalhos Relacionados Este capítulo apresenta um estudo sobre algumas soluções, abordagens e técnicas existentes na literatura para a geração de um diagrama comportamental para linguagens estruturadas.

Leia mais

Oracle 10g: SQL e PL/SQL

Oracle 10g: SQL e PL/SQL Oracle 10g: SQL e PL/SQL PL/SQL: Visão Geral Enzo Seraphim Visão Geral Vantagens de PL/SQL Suporte total à linguagem SQL Total integração com o Oracle Performance Redução da comunicação entre a aplicação

Leia mais

UNIVERSIDADE FEDERAL DO PARANA CRISTIANE VIEIRA PROENÇA MIAMOTO

UNIVERSIDADE FEDERAL DO PARANA CRISTIANE VIEIRA PROENÇA MIAMOTO UNIVERSIDADE FEDERAL DO PARANA CRISTIANE VIEIRA PROENÇA MIAMOTO REFINAMENTO DE UM DIAGRAMA ENTIDADE-RELACIONAMENTO: ESTUDO DE CASO EM UM SISTEMA ERP CURITIBA 2012 CRISTIANE VIEIRA PROENÇA MIAMOTO REFINAMENTO

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Store Procedure e Trigger a tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

Extração da Métrica WMC a partir de Código Java

Extração da Métrica WMC a partir de Código Java 228 Extração da Métrica WMC a partir de Código Java Luana V. Martinez, Maurício S. R. Arrieira, Carlos M. Betemps Engenharia de Computação Universidade Federal do Pampa (UNIPAMPA) Campus Bagé RS Brasil

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Diagrama de Caso de Uso e Diagrama de Sequência

Diagrama de Caso de Uso e Diagrama de Sequência Diagrama de Caso de Uso e Diagrama de Sequência Milena Alexandre dos Santos Baesso (Mestranda em Engenharia Elétrica) Agenda Ciclo de Vida de um Sistema A Fase de Análise Análise Orientada à Objetos Diagramas

Leia mais

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco

Leia mais

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET Átila Correia Cunha 1, 2, Glaucon Henrique Mauricio Maia 1, 2, Waner Ferreira Tavares 1, 2, Jorge Bergson¹, Rui Gomes Patrício 3

Leia mais

Banco de Dados Avançados Banco de Dados Ativo

Banco de Dados Avançados Banco de Dados Ativo Universidade Federal de Pernambuco Centro de Informática Banco de Dados Avançados Banco de Dados Ativo Equipe: Felipe Cavalcante Fernando Kakimoto Marcos Corrêa Sumário 1. Mini-Mundo... 3 1.1 Entidades...

Leia mais

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS LINGUAGEM SQL PARA CSULTAS EM MICROSOFT ACCESS Objetivos: Neste tutorial serão apresentados os principais elementos da linguagem SQL (Structured Query Language). Serão apresentados diversos exemplos práticos

Leia mais

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

Leia mais

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais Universidade Federal do Estado do Rio de Janeiro UNIRIO Programa de Pós-Graduação em Informática Guia para criação do banco de dados de redes sociais Edvaldo Artmann de Oliveira edvaldo.oliveira@uniriotec.br

Leia mais

Automação do Processo de Instalação de Softwares

Automação do Processo de Instalação de Softwares Automação do Processo de Instalação de Softwares Aislan Nogueira Diogo Avelino João Rafael Azevedo Milene Moreira Companhia Siderúrgica Nacional - CSN RESUMO Este artigo tem como finalidade apresentar

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

Aplicação de Métodos baseado em Processos de Negócio para Desenvolvimento de Serviços

Aplicação de Métodos baseado em Processos de Negócio para Desenvolvimento de Serviços Aplicação de Métodos baseado em Processos de Negócio para Desenvolvimento de Serviços Luan Lima 1, Ricardo Diniz Sul 1,2, Leonardo Guerreiro Azevedo 1,2,3 1 Departamento de Informática Aplicada (DIA) Universidade

Leia mais

Transformação de modelos em processos de desenvolvimento de software

Transformação de modelos em processos de desenvolvimento de software 1068 X Salão de Iniciação Científica PUCRS Transformação de modelos em processos de desenvolvimento de software Vinycio de Correa Lunelli 1, Profa. Dra. Ana Paula Terra Bacelo 1 1 Faculdade de Informática,

Leia mais

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01

Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 Gabarito - Banco de Dados SQL - 30/07/2013 AULA 01 1 1- Bancos de dados compreendem desde agendas telefônicas até sistemas computadorizados. (Sim) 2- Só podemos instalar o SQL Server Express se tivermos

Leia mais

White Paper. Bill Smith, Model Driven Development, IBM Rational Software

White Paper. Bill Smith, Model Driven Development, IBM Rational Software Diretrizes da Estrutura do Modelo Para Rational Software Modeler, Rational Systems Developer e Rational Software Architect (Orientação RUP Tradicional ) White Paper Bill Smith, Model Driven Development,

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

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes

Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Especificação de um Sistema Gerenciador de Workflow de Acordo com a Abordagem de Desenvolvimento Baseado em Componentes Edson Alves de Oliveira Junior 1, Itana Maria de Souza Gimenes 1 1 Departamento de

Leia mais

Software Architecture Recovery based on Dynamic Analysis. Aline Vasconcelos Cláudia Werner

Software Architecture Recovery based on Dynamic Analysis. Aline Vasconcelos Cláudia Werner Software Architecture Recovery based on Dynamic Analysis Aline Vasconcelos Cláudia Werner Agenda Contexto e Motivações Trabalhos Relacionados Processo Proposto Estudo de Caso Conclusões Contexto Engenharia

Leia mais

Palavras-Chaves: engenharia de requisitos, modelagem, UML.

Palavras-Chaves: engenharia de requisitos, modelagem, UML. APLICAÇÃO DA ENGENHARIA DE REQUISITOS PARA COMPREENSÃO DE DOMÍNIO DO PROBLEMA PARA SISTEMA DE CONTROLE COMERCIAL LEONARDO DE PAULA SANCHES Discente da AEMS Faculdades Integradas de Três Lagoas RENAN HENRIQUE

Leia mais

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br Engenharia de Software 01 - Introdução Márcio Daniel Puntel marciopuntel@ulbra.edu.br Engenharia de Software Nações desenvolvidas dependem de software; Cada vez mais sistemas são controlados por software;

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

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

15 Conceitos de Bancos de Dados com o LibreOffice Base

15 Conceitos de Bancos de Dados com o LibreOffice Base Introdução a Informática - 1º semestre AULA 14 Prof. André Moraes Objetivos desta aula: Explorar as propriedades na criação de bancos de dados no LibreOffice Base; Criar e explorar tabelas; Criar e explorar

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

Leia mais

Transformação de um Modelo de Empresa em Requisitos de Software

Transformação de um Modelo de Empresa em Requisitos de Software Transformação de um Modelo de Empresa em Requisitos de Software Fábio Levy Siqueira 1 and Paulo Sérgio Muniz Silva 2 1 Programa de Educação Continuada da Poli-USP, São Paulo, Brazil 2 Escola Politécnica

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

Leia mais

Linguagens de Programação. Linguagens de Script. Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp

Linguagens de Programação. Linguagens de Script. Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Linguagens de Programação Linguagens de Script Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Motivação Linguagens de programação, usualmente, são projetadas para criação de aplicações

Leia mais

Aplicação do Padrão Data Access Object (DAO) em Projetos Desenvolvidos com Delphi

Aplicação do Padrão Data Access Object (DAO) em Projetos Desenvolvidos com Delphi Aplicação do Padrão Data Access Object (DAO) em Projetos Desenvolvidos com Delphi Marcelo Sardagna 1, Adilson Vahldick 1 1 Departamento de Sistemas e Computação Universidade Regional de Blumenau (FURB)

Leia mais

Introdução à linguagem SQL

Introdução à linguagem SQL Introdução à linguagem SQL 1 Histórico A linguagem de consulta estruturada (SQL - Structured Query Language) foi desenvolvida pela empresa IBM, no final dos anos 70. O primeiro banco de dados comercial

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

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

Utilizando TimeDB na implementação de bancos de dados temporais

Utilizando TimeDB na implementação de bancos de dados temporais Utilizando TimeDB na implementação de bancos de dados temporais Carlos Eduardo Santin 1, Willian Bruno Gomes Alves 1 1 Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal

Leia mais

Arquitetura de Workflow em Plone e Web Services

Arquitetura de Workflow em Plone e Web Services Arquitetura de Workflow em Plone e Web Services Elisandra Fidler Pez, Heitor Strogulski Núcleo de Processamento de Dados Universidade de Caxias do Sul (UCS) Caxias do Sul, RS Brasil {efidler, hstrogul}@ucs.br

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

IBM Software Demos Rational Software Delivery Platform - Recursos de desenvolvimento e construção

IBM Software Demos Rational Software Delivery Platform - Recursos de desenvolvimento e construção Alex, o desenvolvedor chefe, usa o Rational Software Architect para implementar rapidamente o novo recurso. Ele usa a janela de navegação do site para adicionar uma nova página de confirmação de

Leia mais

Ferramentas de apoio à UML: um modelo para avaliação baseado em requisitos funcionais e não-funcionais

Ferramentas de apoio à UML: um modelo para avaliação baseado em requisitos funcionais e não-funcionais Ferramentas de apoio à UML: um modelo para avaliação baseado em requisitos funcionais e não-funcionais JULIANE FORESTI 1, LIS ÂNGELA DE BORTOLI 1 1 Instituto de Ciências Exatas e Geociências Universidade

Leia mais

Um Armazém de Dados para o arquivo e pesquisa de informação sobre uma Universidade. Marco Nunes marco@fe.up.pt Supervisor: Gabriel David gtd@fe.up.

Um Armazém de Dados para o arquivo e pesquisa de informação sobre uma Universidade. Marco Nunes marco@fe.up.pt Supervisor: Gabriel David gtd@fe.up. Um Armazém de Dados para o arquivo e pesquisa de informação sobre uma Universidade Marco Nunes marco@fe.up.pt Supervisor: Gabriel David gtd@fe.up.pt Índice Objectivos Matriz de data marts vs dimensões

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

DOCUMENTO DE REQUISITOS

DOCUMENTO DE REQUISITOS DOCUMENTO DE REQUISITOS ID documento: Data: / / Versão : Responsável pelo documento: ID Projeto: HISTÓRICO DE REVISÕES Data de criação/ atualização Descrição da(s) Mudança(s) Ocorrida(s) Autor Versão do

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

SQL. Jacir de Oliveira, José Alencar Philereno. Faculdade de Informática de Taquara. Igrejinha - RS Brazil

SQL. Jacir de Oliveira, José Alencar Philereno. Faculdade de Informática de Taquara. Igrejinha - RS Brazil SQL Jacir de Oliveira, José Alencar Philereno Faculdade de Informática de Taquara Igrejinha - RS Brazil jacirdeoliveira@faccat.br, alencar@philler.com.br Resumo. Este artigo irá descrever a linguagem de

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

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

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

Leia mais

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza PHP e Banco de Dados progweb2@thiagomiranda.net Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net PHP e Banco de Dados É praticamente impossível

Leia mais

VISÃO GERAL DE UMA FERRAMENTA PARA GERAÇÃO DE APLICAÇÕES: O MOLA FRAMEWORK

VISÃO GERAL DE UMA FERRAMENTA PARA GERAÇÃO DE APLICAÇÕES: O MOLA FRAMEWORK Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 5, JUL/DEZ 2008 VISÃO GERAL DE UMA FERRAMENTA PARA GERAÇÃO DE APLICAÇÕES:

Leia mais