CHECKLIST PARA AUXILIAR NA DEFINIÇÃO DA ARQUITETURA DE BANCO DE DADOS

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

Download "CHECKLIST PARA AUXILIAR NA DEFINIÇÃO DA ARQUITETURA DE BANCO DE DADOS"

Transcrição

1 CHECKLIST PARA AUXILIAR NA DEFINIÇÃO DA ARQUITETURA DE BANCO DE DADOS Tiago Vanderlinde, Osmar Oliveira Braz Junior Universidade do Estado de Santa Catarina - UDESC tiago.vanderlinde@gmail.com, osmar.oliveira.braz@gmail.com Resumo Este trabalho apresenta a definição de um checklist que auxilia a escolha da arquitetura de banco de dados para uma determinada aplicação. Através deste checklist é possível determinar três arquiteturas de banco de dados diferentes: modelo relacional, NoSQL ou persistência poliglota, que utiliza o modelo relacional e NoSQL. A escolha de uma destas arquiteturas é feita através de alguns critérios, e para isso, são elencados as características de cada aplicação e posteriormente confrontados com estes critérios. Desta forma, é possível determinar qual é a arquitetura mais indicada para cada aplicação. Palavras-chave: Checklist. Arquitetura. Banco de Dados Abstract This work presents the definition of a checklist that assists the choice of database architecture for a given application. Through this checklist is to identify three architectures from different databases: relational model, NoSQL or polyglot persistence, which uses the relational model and NoSQL. The choice of these architectures is done by certain criteria, and so are the characteristics listed for each application and then confronted with these criteria. This way, you can determine which is the most suitable architecture for each application. Keywords: Checklist. Architecture. Database. 1. Introdução Atualmente está cada vez mais comum o surgimento de aplicações que possuem uma grande quantidade de dados. O Google, por exemplo, precisa lidar com grandes quantidades de dados diariamente. Estima-se que, no ano de 2009, cerca de 20 petabytes de informação era processado diariamente pela Google (HLIP apud ISSA, 2011). Outro caso onde o processamento de dados é elevado é no Ebay, a empresa americana de comércio eletrônico, possui um Data Warehouse de 5 petabytes, que é utilizado para armazenar dados sobre seus clientes, produtos e as transações realizadas em sua plataforma (TERADATA apud ISSA, 2011). Em casos como estes, existiu uma grande necessidade de construir sistemas distribuídos, devido essa grande massa de dados. Entretanto também existe uma grande dificuldade em manter sistemas deste porte utilizando uma arquitetura de banco de dados baseada no modelo relacional. Nestes exemplos as aplicações tiveram problemas com a utilização de bancos de dados relacionais e tiveram que mudar para outro modelo de persistência. Desta forma, começou a surgir outros tipos de bancos de dados denominados NoSQL (ISSA, 2010). O termo NoSQL foi utilizado pela primeira vez em 1998, por Carlo Strozzi, para identificar bancos de dados de código aberto que não possuíam interface SQL (NVRSDQEF apud ISSA, 2010). A partir deste momento começou a surgir um movimento para que os bancos de dados NoSQL fossem difundidos e utilizados no desenvolvimento de aplicações. Atualmente, este movimento vem crescendo bastante no ambiente de desenvolvimento de software, e a adoção e difusão de tecnologias NoSQL vem se tornando algo cada vez mais comum. Uma parte desta adoção vem sendo utilizada em locais onde os bancos de dados tradicionais ainda são fortemente dominantes como, por exemplo, instituições financeiras,

2 agências governamentais, e comércio de produtos de varejo. Isto pode ser explicado pelo fato que existe uma demanda muito grande para soluções que tenham alta flexibilidade, escalabilidade, performance, e suporte a diferentes modelos de dados complexos (VIEIRA et al, 2012). Entretanto, grande parte dos bancos de dados NoSQL que são considerados não relacionais foram desenvolvidos com a ideia de que, por melhor que um banco de dados seja, ele não servirá para todos os casos. Assim, dependendo da demanda exigida, os bancos de dados NoSQL podem ser uma alternativa eficiente ao modelo relacional. (LEITE, 2010). Outra arquitetura que vem ganhando espaço é a persistência poliglota (Polyglot Persistence). Nestes casos, uma aplicação pode ter mais de um banco de dados. Assim, a informação da aplicação fica particionada e acaba sendo armazenada em bancos de dados que utilizam tecnologias diferentes. Desta forma, podem-se tratar os problemas individualmente e utilizar o banco dados mais adequando para cada tipo de problema (FOWLER, 2011). Um problema com a utilização da persistência poliglota é a complexidade da aplicação, que acaba aumentando. Assim, acaba-se tornando necessária a quebra do código fonte em componentes separados que interagem entre si. Apesar de este modelo ter um custo de desenvolvimento maior, ele tem suas vantagens. Afinal enquanto os bancos de dados relacionais são usados de forma inadequada, este modelo acaba proporcionando maior flexibilidade na definição da arquitetura de banco de dados e auxiliando uma parte significativa do desempenho da aplicação (FOWLER, 2011). Conforme Leite (2010) e Fowler (2011), bancos de dados NoSQL foram desenvolvidos para atender situações específicas. Assim, começa a surgir alguns questionamentos: Quando utilizar banco de dados relacionais e quando utilizar banco de dados NoSQL? Quando é devemos utilizar os dois? Essas são as principais dúvidas que este trabalho pretende explorar. Para tanto, serão apresentados critérios para avaliação de aplicações, e posteriormente confrontados com as características de cada aplicação. Estes critérios vão auxiliar a tomada de decisão, escolhendo o modelo de persistência mais adequado para cada aplicação. Mesmo definindo a escolha de um banco de dados NoSQL ainda pode existir dúvidas de qual o tipo de banco de dados utilizar. Afinal, existem vários tipos de banco de dados NoSQL, por exemplo: orientado a documento, chave-valor, colunar, grafos. Diante disso, este trabalho vai apresentar conceitos de banco de dados NoSQL, critérios para avaliação do modelo de persistência a ser adotado nas aplicações e ainda aplicação prática destes critérios em um estudo de caso. 2. Objetivos Desenvolver um modelo que auxilie a tomada de decisão na definição da arquitetura da aplicação, escolhendo uma destas arquiteturas de banco de dados: modelo relacional, NoSQL ou persistência poliglota. Criar um checklist que contenha critérios de avaliação, para que seja possível auxiliar na definição da melhor arquitetura de banco de dados para cada aplicação. Efetuar a aplicação deste checklist em um estudo de caso, para verificar se o resultado obtido é aderente à aplicação. 3. Metodologia Para a realização deste projeto é fundamental a utilização de metodologia de pesquisa com a descrição dos procedimentos a serem utilizados. Neste tópico encontram-se as metodologias utilizadas neste projeto.

3 Um método de pesquisa utilizada nesse trabalho é a pesquisa bibliográfica. Para Severino (2007), este tipo de pesquisa constitui em informações extraídas a partir de um material já elaborado, composto principalmente de livros, artigos científicos e demais trabalhos. A principal vantagem deste tipo de pesquisa é que se pode pesquisar uma gama de assuntos bem maior do que pesquisar diretamente. Assim, a elaboração da fundamentação teórica deste trabalho terá como base principal bibliografias e artigos. No caso das definições dos critérios de avaliação das aplicações também serão utilizados como base bibliografias e artigos. Nestes casos, será necessário efetuar uma compilação das técnicas que foram utilizadas para a escolha de cada tipo de banco de dados, ou seja, os critérios que os autores utilizaram para definir arquitetura de um banco de dados servirão de base para a definição dos critérios que estarão no checklist desenvolvido neste trabalho. Com o checklist de avaliação definido, será efetuado um teste de conceito, ou seja, será utilizado este modelo para avaliação de um estudo de caso e verificar se resultado é coerente. 4. Justificativa Uma aplicação pode ter várias características, e somente uma arquitetura de banco de dados pode não atender a todas. Com o surgimento dos bancos de dados NoSQL e as suas várias frentes acabou aumentando bastante as possibilidades de atender essas situações específicas. O intuito deste trabalho é auxiliar esta tomada de decisão, apresentando critérios que irão categorizar cada uma das arquiteturas de banco de dados. Desta forma, ao final será possível utilizar o checklist desenvolvido neste trabalho para determinar qual é o modelo de dados mais indicado para cada aplicação. 5. Trabalhos correlatos Existem algumas publicações que já falam sobre NoSQL, teorema de CAP e efetuam uma análise comparativa entre os SGBDs relacionais e bancos de dados NoSQL. Um destes trabalhos chama-se Análise Comparativa do Teorema de CAP Entre Banco de Dados NoSQL e Banco de Dados Relacionais e foi desenvolvido por Gleidson Sobreira Leite. Este trabalho tem como foco apresentar um comparativo entre os bancos de dados NoSQL e relacional, baseado no teorema de CAP. Além disso, este trabalho apresenta uma análise mais especifica comparando características as características do teorema de CAP entre banco de dados PostgreSQL e CouchDB. Outro trabalho correlato é a Bancos de Dados NoSQL x SGBDs Relacionais: Análise Comparativa e foi desenvolvido por Ricardo W. Brito. Assim como o anterior este trabalho tem como foco apresentar um comparativo entre os bancos de dados NoSQL e relacional, baseado no teorema de CAP. Entretanto neste comparativo é apresentado de maneira mais específica como cada banco (SGBD relacional e NoSQL) reage no momento de testar as características do teorema CAP. Os dois trabalhos citados acima apresentam um comparativo entre SGBD relacional e NoSQL. Entretanto nenhum deles apresenta de maneira explícita em que momento deve-se utilizar um modelo ou outro. Outro fato é que os dois autores apresentam um comparativo e em nenhum momento sugerem um modelo híbrido, utilizando os dois modelos dentro de uma mesma aplicação. Desta forma, este trabalho pretende apresentar de maneira mais concreta como definir um modelo de persistência de dados para a aplicação. Considerando ainda a possibilidade de utilizar mais de um tipo de arquitetura de banco de dados em uma mesma aplicação.

4 6. Fundamentação teórica O resultado do checklist elaborado neste trabalho é a escolha entre três arquiteturas de bancos de dados diferentes: modelo relacional, NoSQL ou persistência poliglota. Desta forma, são apresentados conceitos de cada uma destas arquiteturas Modelo relacional O modelo relacional é hoje o principal modelo de dados utilizado em aplicações comerciais de processamento de dados. Ele conquistou este destaque devido sua simplicidade, pois, comparado aos modelos anteriores, ele facilita o trabalho no momento de desenvolver aplicações (SILBERSCHATZ, 2006). Segundo Silberschatz (2006), um banco de dados relacional consiste em um conjunto de tabelas, sendo que, cada uma tem um nome atribuído. Enquanto que uma linha de uma tabela representa uma relação entre um conjunto de valores, ou seja, uma tabela é um conjunto de entidades e uma linha é uma entidade. O modelo relacional tem como base a teoria dos conjuntos e álgebra relacional, e foi resultado de um estudo teórico realizado por Codd, que era investigador da IBM. Este modelo foi publicado em 1970, entretanto só foi implementado nos anos 80 e revelou-se ser o mais flexível e adequado ao solucionar os vários problemas que se colocam no nível da concepção e implementação da base de dados (TAKAI, 2005). Para Takai (2005), a estrutura fundamental do modelo relacional é a relação entre tabelas. Uma relação é constituída por um ou mais atributos de uma tabela. Este modelo implementa estruturas de dados organizadas em relações. Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos indesejáveis, como: Repetição de informação, incapacidade de representar parte da informação e perda de informação. Essas restrições são: integridade referencial, chaves e integridade de junções de relações NoSQL O NoSQL é um termo genérico usado para se referir a qualquer armazenamento de dados que não segue o modelo relacional especificamente, assim, estes bancos não utilizam o SQL como linguagem de consulta. Este termo normalmente é usado para se referir aos bancos de dados que tentam solucionar os problemas de como: escalabilidade e disponibilidade (VAISH, 2013). O objetivo dos bancos de dados NoSQL é de propor soluções alternativas ao uso do modelo relacional, tendo como um dos principais motivos à estrutura pouco flexível utilizada nos bancos de dados relacionais. Vários projetistas de bancos de dados de grandes organizações passaram a desenvolver novas maneiras de desenvolvimento onde seria possível flexibilizar certas estruturas e regras existentes nos bancos de dados relacionais. Desta forma, em 1998 surgiu o termo NoSQL (Not only SQL) a partir de uma solução de banco de dados que não disponibilizava uma interface SQL, e, posteriormente esse termo passou a representar soluções caracterizadas como uma alternativa ao já bastante utilizado e consolidado modelo relacional (BRITO apud LEITE, 2010). Uma das principais vantagens dos bancos de dados NoSQL sobre os bancos de dados relacionais é a questão do escalonamento. Basicamente pelo fato de que estes bancos foram criados para esse fim, enquanto os SGBDs relacionais possuem uma estruturação menos flexível e menos adaptada para cenários em que o escalonamento faz-se necessário (BRITO, 2013). Bancos de dados NoSQL são subdivididos pelo seu núcleo, ou seja, a maneira com que cada um lida com as informações que armazena. Brito apud Leite (2010) categoriza-os da seguinte forma:

5 Chave-valor; Orientados a documentos; Orientados a colunas; Baseados em grafos; A seguir é apresentado cada uma destas categorias Chave-Valor Dentre os modelos do NoSQL, os bancos de dados chave-valor são considerados os mais simples. Esta categoria é estruturada basicamente por um conjunto de chave-valor, ou seja, um HashMap na linguagem de programação Java. Desta forma, este modelo oferece uma grande eficiência no momento da busca dos dados (TIWARI, 2011). Leavitt apud Issa (2011), apresenta a implementação deste modelo na Amazon, utilizando o banco de dados SimpleDB. Este banco prove funções de indexação de informação e buscas na web 2.0. E ainda uma interface simples para persistência e acesso as dados. Figura 1 Tabela chave-valor (TERMEHCHY apud ISSA, 2011) A figura 1 apresenta um exemplo de tabela chave-valor. As chaves deste modelo são únicas e cada chave aponta para um conjunto de valores. Entretanto as consultas destes valores só podem ser efetuadas pela chave, ou seja, não é possível efetuar a busca de um registro utilizando um de seus valores (VAISH, 2013) Orientados a documentos Bancos de dados orientados a documentos tratam-se de modelos que organizam os dados em coleções. Sendo que estas coleções podem conter um conjunto diversificado de documentos. Isto significa que em uma coleção, os valores dos registros não são delimitados por colunas, dando mais liberdade que os modelos relacionais (TIWARI, 2011). A maioria dos bancos de dados deste modelo utiliza o XML, JSON, BSON ou YAML como maneira de acesso aos dados. Normalmente utilizando o protocolo HTTP com RESTful ou o protocolo Apache Thrift para que as linguagens de programação consigam acessar os dados (VAISH, 2013).

6 Figura 2 Exemplo de documento (VAISH, 2013) A figura 2 apresenta o exemplo de um documento. Neste caso, é apresentado um documento com informações de locais de trabalho. Assim temos o código e o nome do local e após informações sobre o seu endereço. Este modelo pode proporcionar uma alta flexibilidade, pois cada documento pode ter uma estrutura totalmente diferente (VAISH, 2013) Orientados a colunas Os bancos de dados orientados a coluna armazenam os dados em colunas em vez de linhas, como é o caso do modelo relacional. No modelo relacional os dados são apresentados em tabelas bidimensionais compreendendo de linhas e colunas, sendo que, este modelo recupera e processa os dados uma linha de cada vez. Enquanto que o modelo orientado a coluna armazena os dados em forma de colunas (VAISH, 2013). No modelo orientado a colunas, o valor de cada coluna (atributo) é armazenado em sequência, aumentando a performance da leitura de uma única coluna. Com este modelo de armazenamento, o banco de dados carrega em memória apenas os valores das colunas que serão utilizadas, evitando preencher a memória com dados que não serão utilizados (ISSA, 2011). Figura 3 Diferença entre dados no modelo relacional e orientado a colunas (Adaptado de VAISH, 2013)

7 A figura 3 apresenta um exemplo de organização dos dados no modelo relacional e no modelo orientado a colunas. Neste exemplo pode-se perceber que os dados são armazenados em colunas e não em linhas como é no modelo relacional Baseados em grafos Bancos de dados baseados em grafos representam uma categoria especial de bancos de dados do NoSQL, onde as relações são representadas na forma de grafos. Neste modelo, pode haver várias ligações entre os dois nós em um grafo, representando as múltiplas relações que os dois nós compartilham. As relações representadas podem incluir as relações sociais entre as pessoas, ligações de transporte entre lugares, ou topologias de rede entre sistemas conectados (VAISH, 2013). Figura 4 Exemplo de grafo (VAISH, 2013) A figura 4 apresenta um exemplo de grafo. Neste modelo os relacionamentos dos nós são organizados em uma estrutura arbitrária, permitindo um grafo se assemelhar a uma lista, uma árvore, um mapa ou uma entidade composta. Bancos de dados baseados em grafos são bastantes novos no mercado, com apenas algumas soluções comprovadas: Neo4j e FlockDB (utilizado pelo Twitter) (VAISH, 2013) Persistência Poliglota (Poliglot Persistence) A persistência poliglota ou Poliglot Persistence representa uma aplicação que pode ter mais de um banco de dados. Desta forma, durante o seu desenvolvimento foi utilizada mais de uma tecnologia para a persistência dos dados da aplicação. Com isso, podem-se tratar problemas individualmente e utilizar o banco dados mais adequando para cada tipo de situação (FOWLER, 2011). Neste caso a arquitetura de banco de dados pode ficar mais complexa, pois, em uma mesma aplicação podem-se encontrar os vários modelos de bancos de dados NoSQL juntamente com um modelo relacional. Assim, torna-se necessária a quebra do código fonte em componentes separados que interagem entre si. Apesar destes custos este modelo acaba tornando-se viável, pois quando os bancos de dados relacionais são usados de forma inadequada, eles acabam consumindo uma parte significativa do desempenho da aplicação (FOWLER, 2011).

8 Figura 5 Exemplo do modelo híbrido (MCMURTRY et al., 2013) A figura 5 apresenta um exemplo de utilização deste modelo. Neste exemplo é utilizada uma técnica de implementação comum, onde é disponibilizado um serviço de web como uma fachada. O serviço web fornece uma interface que expõe as operações de negócios e as converte em operações que se comunicar com o banco de dados apropriado (MCMURTRY et al, 2013). 7. Checklist Neste tópico será abordada a definição do checklist que auxiliará na tomada de decisão no momento da escolha da arquitetura de banco de dados de uma aplicação. O modelo definido neste tópico apresenta como saída uma das arquiteturas apresentada anteriormente: modelo relacional, NoSQL (chave-valor, orientado a colunas, orientado a documentos, baseado em grafos) ou persistência poliglota. Para tanto, este checklist terá critérios que serão definidos com base em algumas referências bibliográficas. Assim, o primeiro critério que será levado em consideração é o teorema de CAP. Eric Brewer desenvolveu o teorema de CAP (Consistency, Availability e Partition Tolerance), onde ele afirma que é impossível uma aplicação com banco de dados distribuído garantir, de forma simultânea, consistência, disponibilidade e tolerância a partições. Segundo esse teorema, um sistema distribuído pode garantir apenas duas dessas três características simultaneamente (BRITO, 2013). Este conceito surgiu devido às aplicações estarem cada vez maiores, e, com suas bases de dados crescendo exponencialmente, começou a surgir à necessidade de escalar o banco de dados. Entretanto escalar um banco de dados relacional pode ser bastante custoso e/ou complexo. Diversas alternativas ao modelo relacional surgiram para suprir as restrições relativas à complexidade ao realizar a distribuição de dados, das quais a que mais ganhou destaque foi o paradigma NoSQL (Not only SQL) (LEITE, 2010). Segundo Redmond et al (2012), o teorema de CAP prova que somente é possível criar um sistema com banco de dados distribuído consistente e tolerante a partições ou um sistema que está disponível e tolerante a partições ou então um sistema que consistente e disponível. Desta

9 forma, não é possível criar uma aplicação que é consistente, tolerante a partições e disponível (Vide figura 6). Figura 6 Teorema de CAP (Adaptado de VAISH, 2013) Veira et al (2012), apresenta o significado de cada uma destas características do teorema de CAP: Consistência: objetivo é permitir que transações distribuídas em vários nós, que agem com a semântica de tudo-ou-nada. Quando existir réplicas, elas devem estar sempre em um estado consistente; Disponibilidade: objetivo é manter o sistema sempre disponível, e em caso de falha o sistema deve continuar funcionando com alguma réplica dos recursos indisponíveis; Tolerância a partições: objetivo é manter o sistema operando mesmo no caso de falhas de rede, para isso é dividido o processamento dos nós em grupos que não se comunicam. Desta forma, o teorema de CAP é pertinente quando decidir utilizar um banco de dados distribuído. Baseado neste teorema será identificado os primeiros critérios que irão compor o checklist. Sendo o primeiro, identificar se a aplicação necessita de um ambiente distribuído. Caso exista esta necessidade, é necessário que o questionar quais as características desejadas para esta aplicação: Consistência e tolerância a partições; Disponível e tolerância a partições; ou Consistência e disponível. Conforme apresentado na figura 6, nos casos onde a exigência ocorre para que a aplicação esteja disponível e tenha tolerância a partições o indicado são os bancos de dados NoSQL. Nos casos onde a aplicação exige consistência e tolerância a partições é o mais indicado também são os bancos de dados NoSQL. Enquanto que nos casos onde a consistência e a disponibilidade é o mais importante para a aplicação, o mais indicado são os bancos de dados relacionais. Para os casos de consistência e tolerância a partições e disponível e tolerância a partições é indicado o uso de um banco de dados NoSQL. Entretanto não é definida qual a categoria mais indicada (orientado a documentos, orientado a colunas, baseado em grafos ou chave-valor).

10 Assim, será necessário analisar mais alguns critérios para definir qual a arquitetura de banco de dados mais indicada. Fowler et al (2012), apresenta um exemplo que auxilia a diferenciar qual a arquitetura de bancos de dados é a mais indicada baseada no tipo da aplicação. Figura 7 Banco de dados indicado para cada tipo de aplicação (Adaptado de FOLWER et al, 2012) A figura 7 apresenta qual o modelo de persistência mais indicada para cada tipo de aplicação segundo Fowler et al (2012). Segundo ele, o modelo chave-valor é indicado para os casos onde se deseja ter um acesso rápido na escrita e leitura dos dados. Entretanto não existe a necessidade dos dados serem duráveis ou existir a integridade dos dados. Esta ideia também é apresentada por Finley (2010), pois, segundo ele, quando a latência é importante, é difícil efetuar uma busca ou escrita de dados mais rápida que banco de dados chave-valor. Um ponto negativo deste banco de dados é a necessidade de uma quantidade de memória primária maior, por oferecer o recurso de cache de dados. Para Fowler et al (2012), os bancos de dados relacionais são mais indicados para aplicações que precisam lidar com transações, ou em casos onde a modelagem tabular se encaixa perfeitamente na arquitetura da aplicação. Fowler el al (2012) destaca ainda, que as aplicações que necessitam de muitos relatórios também é indicado o uso de bancos de dados relacionais. O principal motivo destacado por ele é a facilidade de integração que as ferramentas de criação de relatórios possuem com a linguagem SQL. Os bancos de dados orientados a documentos são indicados nos casos onde existe uma grande quantidade de leitura e escrita de dados (FOWLER et al, 2012). Além disso, este tipo de banco de dados é indicado para aplicações onde pode existir uma mudança constante na estrutura dos dados, por exemplo: número de variáveis do objeto, coleções de objetos agrupados. Assim, este tipo de banco de dados pode lidar com mudanças de esquema ao longo do tempo (FINLEY, 2010). Fowler et al (2012), indica o uso de bancos de dados orientados a coluna nos casos onde é necessário efetuar análises em grande escala sobre um grande aglomerado de dados. Este tipo de banco de dados também é indicado em casos onde existe uma grande necessidade de escrita de dados. Bancos de dados baseados em grafos são indicados para os casos onde existe a estrutura de dados da aplicação representa um grafo, por exemplo: relacionamentos entre pessoas, locais, etc. (FOWLER et al, 2012). Considerando as características de cada banco de dados é possível elencar critérios e baseado neles é possível definir um checklist que pode auxiliar na escolha da arquitetura de banco de dados, vide quadro 1.

11 Critério Relacional Documental Chave/Valor Colunar Grafo Necessita de ambiente x x x x distribuído Deve ser tolerante a x x x x partições Integridade dos dados é x x obrigatória Relatórios gerenciais são x importantes Estrutura de dados é em x forma tabular Atributos podem variar x x x x constantemente Utilizo algoritmo baseado x no relacionamento entre minhas entidades Persistência dos dados x x x x sempre deve ser garantida Persistência dos dados não x é vital Necessito de alto x desempenho na escrita e leitura de dados Relacionamentos entre as x x x entidades são muito complexos Integridade referencial é x necessária Redundância de dados é um x problema Memória primária é x x x x problema A maioria das pesquisas é x x x x feita pelo atributo A maioria das pesquisas é x feita pelo identificador Quadro 1 Checklist para auxilio na escolha da arquitetura de banco de dados (Autor, 2014) A primeira coluna do checklist apresentado no quadro 1 representa um critério. As demais colunas representam arquitetura de banco de dados, relacional e os tipos de bancos de dados NoSQL. Os registros marcados com x representam que aquele tipo de banco de dados atende aquele critério. Por exemplo: O critério Integridade dos dados é obrigatória é atendido pelos bancos de dados relacionais e orientados a documentos. Para utilizar o checklist apresentado no quadro 1 basta verificar se o critério apresentado na primeira coluna é relevante para a aplicação. Feito isso, é preciso verificar qual ou quais arquiteturas se encaixam neste critério. Ao final é preciso verificar quais foram as arquiteturas indicadas pelo checklist, para os casos onde for mais de uma arquitetura significa que o modelo mais indicado é o híbrido. Existem critérios neste modelo que são atendidos por mais de uma arquitetura. Desta forma, é preciso ter atenção para não adicionar arquiteturas de banco de dados

12 desnecessariamente, pois cada quanto maior o número de arquiteturas maior é o nível de complexidade da aplicação. No tópico a seguir é apresentada a utilização deste checklist em alguns estudos de casos. 8. Aplicação do checklist Neste tópico será apresentada a arquitetura de banco de dados encontrada por outro autor para uma determinada aplicação. O intuito é aplicar este o checklist apresentado no tópico anterior neste mesmo estudo de caso, após será comparada a arquitetura apresentada no estudo de caso com a arquitetura de banco de dados que o checklist sugerir. O estudo de caso abordado será uma solução apresentada por Nance et al (2013), onde é definida a arquitetura de banco de dados para um e-commerce em sistema distribuído. Segundo Nance et al (2013), uma aplicação e-commerce tem uma grande quantidade de dados temporários que não pertencem a estrutura de um banco de dados relacional. Por exemplo, carrinho de compras, sessão com os dados do usuário, etc. Além disso, os comentários dos clientes e os seus relacionamentos nas redes sociais tendem a ter uma melhor aderência em bancos de dados NoSQL. Assim, numa plataforma e-commerce os dados do carrinho de compras precisam ser escritos e lidos no banco de dados rapidamente, mas não é necessário garantir que estes dados sejam persistidos antes da finalização da compra. Os dados pertinentes aos produtos, categorias, preços, etc. possuem uma estrutura tabular. Enquanto que, os históricos dos pedidos não se enquadram nesta categoria. Já as sugestões de clientes, avaliações de produtos ou recomendações possuem uma estrutura baseada em grafos (NANCE et al, 2013). Para solucionar este problema Nance et al (2013) apresenta uma arquitetura poliglota, sendo que, a aplicação teria quatro tipos de bancos de dados diferentes (vide figura 8). Figura 8 Arquitetura de banco de banco de dados para e-commerce (NANCE et al, 2013) Conforme apresentado na figura 8, cada parte da aplicação possui um banco de dados diferente, tornando uma aplicação com persistência poliglota. Baseado nas informações apresentadas por Nance et al (2013), é possível aplicar estes dados no checklist criado anteriormente. A seguir são apresentados os critérios do checklist se enquadram nesta aplicação e-commerce: Necessita de ambiente distribuído Estrutura de dados é em forma tabular Atributos podem variar constantemente

13 Persistência dos dados sempre deve ser garantida Persistência dos dados não é vital Utilizo algoritmo baseado no relacionamento entre minhas entidades Necessito de alto desempenho na escrita e leitura de dados Pode-se perceber que alguns dos critérios são divergentes, por exemplo: Persistência dos dados sempre deve ser garantida e Persistência dos dados não é vital. Isto ocorreu, pois a aplicação tem estruturas de dados diferentes que devem ser analisadas de perspectivas diferentes. No caso do carrinho de compras a persistência não precisa ser garantida, enquanto que nos casos demais casos sempre é necessário garantir a persistência dos dados. Os critérios relacionados a hardware não foram considerados devido não estarem especificados do trabalho de Nance et al (2013). Avaliando os critérios que se enquadram para esta aplicação pode-se perceber que a arquitetura sugerida pelo checklist é a persistência poliglota, sendo que os tipos de banco de dados indicados são: modelo relacional, chave-valor, grafo e documental. Assim, a arquitetura de banco de dados sugerida acaba ficando parecida com a proposta por Nance et al (2013). 9. Considerações finais Atualmente, está cada vez mais comum a necessidade de lidar com uma grande quantidade de dados e mesmo assim garantir um bom desempenho para a aplicação. A definição da arquitetura de banco de dados está totalmente atrelada a este problema. Para auxiliar na solução deste problema este trabalho propôs a criação de um checklist que auxilia na definição da arquitetura de banco de dados. Para determinar os critérios elencados para fazer parte do checklist foram consideradas as características principais de cada tipo de banco de dados. Entretanto algumas situações podem apresentar a necessidade de critérios mais específicos e que não foram catalogados neste checklist podendo ocasionar divergências entre a arquitetura recomendada e a arquitetura ideal para a aplicação. A aplicação do checklist em um estudo de caso mostrou que os critérios elencados para este estudo de caso foram aderentes. A utilização deste checklist pode se tornar um pouco confusa, pois uma mesma aplicação pode ter características totalmente divergentes. No momento de efetuar a avaliação de uma aplicação pode ser necessário considerar apenas uma parte da aplicação. A utilização deste checklist acaba tornando-se desnecessária para os casos onde a pessoa já possui o conhecimento e experiência em várias arquiteturas de banco de dados. Entretanto pode ser utilizada por pessoas que ainda não possuem um conhecimento mais avançado nas várias arquiteturas de banco de dados existentes. Portanto, todos os objetivos propostos neste trabalho foram atendidos, pois foi criado um checklist que auxilia na definição da arquitetura de banco de dados, que posteriormente foi aplicado em um estudo de caso. Referências BRITO, Ricardo W. Bancos de Dados NoSQL x SGBDs Relacionais:Análise Comparativa. Disponível em: < Bancos%20de%20Dados%20NoSQL.pdf>, Acessado em: 03/06/2013.

14 FINLEY, K. What the heck are you actually using NoSQL for?. Disponível em:< Acessado em: 15/11/2013. FOWLER, Martin. Polyglot Persistence. Disponível em: < >, Acessado em: 03/06/2013. FOWLER, Martin et al. The future is: Polyglot Persistence. Disponível em: < Acessado em: 15/11/2013. ISSA, Felipe G. S. Estudo comparativo entre banco de dados relacionais e banco de dados NoSQL na utilização por aplicações de business intelligence. Disponível em: < Gradua%C3%A7%C3%A3o-Felipe-G.-S.-Issa.pdf>, Acessado em: 03/06/2013. LEITE, Gleidson. S. Análise Comparativa do Teorema de CAP Entre Banco de Dados NoSQL e Banco de Dados Relacionais. Disponível em: < >, Acessado em: 03/06/2013. MCMURTRY, Douglas et al. Data Access for Highly-Scalable Solutions: Using SQL, NoSQL and Polyglot Percistence. Disponível em: < >, Acessado em: 15/11/2013. NANCE C. et al. NoSQL vs RDBMS Why there is room for both. Disponível em: < Acessado em 20/11/2013. REDMOND, Eric et al. Seven Databases in Seven Weeks. p1..0. Texas: Pragmatic Programmers, p. SEVERINO, Antonio Joaquim. Metodologia do trabalho científico. 23 ed. São Paulo: Cortez, SILBERSCHATZ, Abraham. Sistema de banco de dados. 5. ed. Rio de Janeiro: Elsevier, p. TAKAI, O. K. Introdução a banco de dados. Disponível em: < Acessado em: 11/10/2013. TIWARI, Shashank. Professional NoSQL. Indianapolis: John Wiley & Sons, p. VAISH, Gaurav. Getting Started with NoSQL. Birmingham: Packt Publishing, p. VIEIRA, M. R et al. Bancos de Dados NoSQL: Conceitos, Ferramentas, Linguagens e Estudos de Casos no Contexto de Big Data. Disponível em: < >, Acessado em: 03/06/2013.

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. 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 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

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

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Prof. Daniela Barreiro Claro Volume de dados muito grande Principais problemas em relação aos SGBD Relacionais é conciliar o tipo de modelo com a demanda da escalabilidade. Exemplo -Facebook Um crescimento

Leia mais

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

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

Disciplina: Unidade III: Prof.: E-mail: Período:

Disciplina: Unidade III: Prof.: E-mail: Período: Encontro 08 Disciplina: Sistemas de Banco de Dados Unidade III: Modelagem Lógico de Dados Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM Relembrando... Necessidade de Dados Projeto

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

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

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Prof. Daniela Barreiro Claro Volume de dados muito grande Principais problemas em relacao aos SGBD Relacionais é conciliar o tipo de modelo com a demanda da escalabilidade. Exemplo -Facebook Um crescimento

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

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II Pollyanna Gonçalves Seminário da disciplina Banco de Dados II Web 2.0 vem gerando grande volume de dados Conteúdo gerado por redes sociais, sensores inteligentes, tecnologias de colaboração, etc. Novas

Leia mais

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

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

Introdução Banco de Dados

Introdução Banco de Dados Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

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

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

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

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

AVALIAÇÃO DE INTERFACES UTILIZANDO O MÉTODO DE AVALIAÇÃO HEURÍSTICA E SUA IMPORTÂNCIA PARA AUDITORIA DE SISTEMAS DE INFORMAÇÕES

AVALIAÇÃO DE INTERFACES UTILIZANDO O MÉTODO DE AVALIAÇÃO HEURÍSTICA E SUA IMPORTÂNCIA PARA AUDITORIA DE SISTEMAS DE INFORMAÇÕES AVALIAÇÃO DE INTERFACES UTILIZANDO O MÉTODO DE AVALIAÇÃO HEURÍSTICA E SUA IMPORTÂNCIA PARA AUDITORIA DE SISTEMAS DE INFORMAÇÕES Rafael Milani do Nascimento, Claudete Werner Universidade Paranaense (Unipar)

Leia mais

Microsoft Access XP Módulo Um

Microsoft Access XP Módulo Um Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo

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

Modelo para Documento de. Especificação de Requisitos de Software

Modelo para Documento de. Especificação de Requisitos de Software Modelo para Documento de Especificação de Requisitos de Software Prof. Dr. Juliano Lopes de Oliveira (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications)

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

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

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

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

E N AT O M O L I N A T O T H

E N AT O M O L I N A T O T H no:sql Not only SQL Renato Molina Toth ww.renatomolina.in R E N AT O M O L I N A T O T H O que é? O que é? Não é uma nova tecnologia, é uma nova abordagem Propõe um modelo alternativo de banco de dados

Leia mais

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

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

Leia mais

Modelo para Documento de. Especificação de Requisitos de Software

Modelo para Documento de. Especificação de Requisitos de Software Modelo para Documento de Especificação de Requisitos de Software (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications) A boa organização lógica do documento

Leia mais

Revisão de Banco de Dados

Revisão de Banco de Dados Revisão de Banco de Dados Fabiano Baldo 1 Sistema de Processamento de Arquivos Antes da concepção dos BDs o registro das informações eram feitos através de arquivos. Desvantagens: Redundância e Inconsistência

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

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária

Leia mais

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com. Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel

Leia mais

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares

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

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

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

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS

MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Banco de Dados I Introdução

Banco de Dados I Introdução Banco de Dados I Introdução Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) IFSul Campus Charqueadas Sumário da aula Avaliações Visão geral da disciplina Introdução Histórico Porque

Leia mais

Roteiro 2 Conceitos Gerais

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

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema 3 Arquitetura do Sistema Este capítulo irá descrever a arquitetura geral do sistema, justificando as decisões de implementação tomadas. Na primeira seção iremos considerar um conjunto de nós interagindo

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Análise de Sistemas Visão Geral: Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN

Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN Análise e Projeto Orientados a Objetos Aula IV Requisitos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Etapa relacionada a descoberta e descrição das funcionalidades do sistema Parte significativa da fase

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

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014 NoSQL Cintia Freitas de Moura BCC 441 Banco de Dados II / 2014 Origem: O termo NoSQL foi usado pela primeira vez em 1998, como o nome de um banco de dados relacional de código aberto que não possuía um

Leia mais

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre Banco de Dados CursoTécnico em Informática Modalidade Integrado Instituto Federal do Sul de Minas, câmpus PousoAlegre Professora Michelle Nery Conteúdo Programático Introdução O que é Banco de Dados O

Leia mais

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Casos de Uso de Alto Nível Prof. Raul Sidnei Wazlawick UFSC-CTC-INE 2010 Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Contexto Na fase de concepção

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

Análise comparativa sobre bases de dados para armazenamento e consulta de dados não estruturados no formato JSON.

Análise comparativa sobre bases de dados para armazenamento e consulta de dados não estruturados no formato JSON. UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA Análise comparativa sobre bases de dados para armazenamento e consulta de dados não estruturados no formato JSON. Proposta de Trabalho de Graduação

Leia mais

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015 NA AULA PASSADA... 1. Apresentamos a proposta de ementa para a disciplina; 2. Discutimos quais as ferramentas computacionais

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie 1 INTRODUÇÃO 1.1 ORGANIZAÇÃO E PROCESSOS A administração está diretamente ligada às organizações e aos processos existentes nas mesmas. Portanto, para a melhor compreensão da Administração e sua importância

Leia mais

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior

Universidade Federal de Goiás UFG Campus Catalão CAC Departamento de Engenharia de Produção. Sistemas ERP. PCP 3 - Professor Muris Lage Junior Sistemas ERP Introdução Sucesso para algumas empresas: acessar informações de forma rápida e confiável responder eficientemente ao mercado consumidor Conseguir não é tarefa simples Isso se deve ao fato

Leia mais

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes

Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes Grécia Um Framework para gerenciamento de eventos científicos acadêmicos utilizando componentes Resumo Este trabalho apresenta uma infra-estrutura para gerenciamento de eventos científicos acadêmicos na

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

Engenharia de software 2011A. Trabalho sobre

Engenharia de software 2011A. Trabalho sobre Engenharia de software 2011A Trabalho sobre NOSQL Not only SQL NoSQL Not only SQL GRUPO - 9 Cléverton Heming Jardel Palagi Jonatam Gebing Marcos Wassem NOSQL O Termo NoSQL, foi utilizado pela primeira

Leia mais

Introdução ao GED Simone de Abreu

Introdução ao GED Simone de Abreu Introdução ao GED Simone de Abreu GED O que é isso? O conhecimento teve, ao longo da história, diferentes significados e funções. No tempo das cavernas nossos antepassados transmitiam aos seus descendentes

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

Como Processos Criam Valor?

Como Processos Criam Valor? Como Processos Criam Valor? Eu comecei este Advisor há um mês. Li um artigo sobre processos e valor que pensei estar inadequado e decidi ver se eu poderia disponibilizar uma descrição mais clara e compreensível.

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

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade 4 e 5 de novembro de 2014.

SETIS- III Seminário de Tecnologia Inovação e Sustentabilidade 4 e 5 de novembro de 2014. A importância da comunicação no gerenciamento de projetos de softwares: reflexões teóricas Lucas Krüger lucas_kruger-@hotmail.com Resumo: Esse artigo objetiva estudar a comunicação entre cliente e desenvolvedor

Leia mais

DATA WAREHOUSE. Introdução

DATA WAREHOUSE. Introdução DATA WAREHOUSE Introdução O grande crescimento do ambiente de negócios, médias e grandes empresas armazenam também um alto volume de informações, onde que juntamente com a tecnologia da informação, a correta

Leia mais

AGENDA. O Portal Corporativo. Arquitetura da Informação. Metodologia de Levantamento. Instrumentos Utilizados. Ferramentas

AGENDA. O Portal Corporativo. Arquitetura da Informação. Metodologia de Levantamento. Instrumentos Utilizados. Ferramentas AGENDA O Portal Corporativo Arquitetura da Informação Metodologia de Levantamento Instrumentos Utilizados Ferramentas PORTAL CORPORATIVO Na sociedade da informação é cada vez mais presente a necessidade

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

DATA WAREHOUSE. Rafael Ervin Hass Raphael Laércio Zago

DATA WAREHOUSE. Rafael Ervin Hass Raphael Laércio Zago DATA WAREHOUSE Rafael Ervin Hass Raphael Laércio Zago Roteiro Introdução Aplicações Arquitetura Características Desenvolvimento Estudo de Caso Conclusão Introdução O conceito de "data warehousing" data

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP

1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP 1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

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 - 6º MÓDULO AVALIAÇÃO A1 DATA 28/05/2009 SISTEMAS EMPRESARIAIS Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA

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

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

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Engenharia de Software Parte I Introdução Metodologias para o Desenvolvimento de Sistemas DAS 5312 1 Mitos do Desenvolvimento de Software A declaração de objetivos é suficiente para se construir um software.

Leia mais

PAMIN PATRIMÔNIO, MEMÓRIA E INTERATIVIDADE

PAMIN PATRIMÔNIO, MEMÓRIA E INTERATIVIDADE PAMIN PATRIMÔNIO, MEMÓRIA E INTERATIVIDADE Resumo: Autores: LOURENÇO, Cláudio Djohnnatha Duarte (UFPB Discente Bolsista) cdjohnnatha@gmaill.com QUEIROGA, Eduardo Vieira (UFPB Discente Bolsista) eduardo.queiroga@lavid.ufpb.br

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

FLUXOGRAMA DA PESQUISA

FLUXOGRAMA DA PESQUISA FLUXOGRAMA DA PESQUISA Desde a preparação até a apresentação de um relatório de pesquisa estão envolvidas diferentes etapas. Algumas delas são concomitantes; outras são interpostas. O fluxo que ora se

Leia mais