Apontamentos, resumos, trabalhos, exames e problemas de Computação

Ordenar por
Matéria
Nível

Bancos de Dados: Distribuídos, Orientados a Objetos, Cliente-Servidor e Paralelismo

Classificado em Computação

Escrito em em português com um tamanho de 6,17 KB

Bancos de Dados Distribuídos

Bancos de dados distribuídos são sistemas compostos por múltiplos bancos de dados interligados, funcionando como um único banco lógico. Por exemplo, cada loja Walmart possui seu próprio banco de dados, mas a central tem acesso a todas as informações, visíveis em um único sistema. São independentes, mas operam de forma unificada.

Vantagens dos Bancos de Dados Distribuídos

Contingência: se a conexão de um servidor cai, ele continua operando e, ao restabelecer a conexão, sincroniza as informações.

Desvantagens

Complexidade, segurança, falta de padrões, inexperiência.

A distribuição é transparente: os usuários interagem com o sistema como se fosse um único. Isso se aplica ao desempenho, métodos... Continue a ler "Bancos de Dados: Distribuídos, Orientados a Objetos, Cliente-Servidor e Paralelismo" »

Guia Completo: Requisitos de Software e Padrões de Documentação

Classificado em Computação

Escrito em em português com um tamanho de 37,22 KB

O que é um Requisito de Sistema?

Um requisito pode ser definido como um atributo necessário em um sistema, que pode representar uma habilidade, uma característica ou um fator de qualidade do sistema, de tal forma que é útil para os clientes ou usuários finais.

Um requisito é uma descrição de uma condição ou capacidade que um sistema deve atender, seja derivado de uma necessidade do usuário identificada, ou parte de um contrato, padrão, especificação ou outro documento formalmente imposto no início do processo.

Tipos de Requisitos de Software

Requisitos de software podem ser divididos em duas categorias principais: requisitos funcionais e requisitos não-funcionais.

  • Requisitos Funcionais: São aqueles que definem as funções que
... Continue a ler "Guia Completo: Requisitos de Software e Padrões de Documentação" »

Hierarquia de Armazenamento, Protocolos e Segurança de Rede

Classificado em Computação

Escrito em em português com um tamanho de 8,98 KB

Cache: É a forma de armazenamento mais rápida e mais cara. A memória cache é pequena e gerenciada pelo sistema operacional ou por uma controladora específica. Não é necessário se preocupar com o gerenciamento do armazenamento em cache em um sistema de banco de dados.

Memória Principal: É a mídia de armazenamento utilizada para os dados disponíveis para serem processados. As instruções de máquina operam sobre a memória principal. O conteúdo desta memória pode ser perdido em caso de falta de energia ou falha no sistema.

Memória Flash: Conhecida como EEPROM (electrically erasable programmable read-only memory), é diferente da memória principal, pois sobrevive à falta de energia. A leitura de seus dados é tão rápida quanto... Continue a ler "Hierarquia de Armazenamento, Protocolos e Segurança de Rede" »

Exercícios de Estruturas de Dados e Algoritmos: Árvores, Grafos e C

Classificado em Computação

Escrito em em português com um tamanho de 4,21 KB

Questão 1: Árvore B*

Considere a seguinte Árvore B* de ordem m=2 (ou seja, os nós internos podem ter no mínimo dois elementos):

  1. a. Inserções na Árvore B*

    Esquematize como ficaria a árvore após as seguintes inserções: 72, 75, 95, 110 e 115.

  2. b. Remoções na Árvore B*

    Considerando as chaves do item (a) inseridas, esquematize como ficaria a árvore após as seguintes remoções: 60, 29, 45, 52 e 70.

Questão 2: Grafos e Busca em Largura (BFS)

Seja um grafo G cujos vértices são os inteiros de 1 a 8 e os vértices adjacentes a cada vértice são dados pela tabela abaixo:

Vértice | Vértice Adjacente
--------|------------------
1       | 4, 3 e 2
2       | 1, 3, 4 e 5
3       | 1, 2 e 4
...

Assuma que, em um caminhamento de G, os vértices... Continue a ler "Exercícios de Estruturas de Dados e Algoritmos: Árvores, Grafos e C" »

Scrum: Guia Completo do Framework Ágil para Projetos

Classificado em Computação

Escrito em em português com um tamanho de 14,9 KB

O que é Scrum?

Scrum surge da necessidade de aumentar o índice ou taxa de sucesso em projetos.

Scrum vs. Métodos Tradicionais

Enquanto métodos tradicionais focam no triângulo de escopo, custo e prazo, Scrum se destaca ao integrar a qualidade, visando gerar projetos ágeis e de alta qualidade.

A concentração exclusiva em escopo e requisitos pré-estabelecidos nem sempre resulta em valor.

Agilidade significa entregar resultados e valor de forma contínua.

Características da Agilidade

  • Método ágil para gerenciamento de projetos
  • Pequenos times auto-organizados
  • Flexibilidade - um "Framework"
  • Visibilidade e Adaptação

Manifesto Ágil

Criado em 2001, o Manifesto Ágil visa melhorar o desenvolvimento de software, priorizando:

  • Indivíduos e interações
... Continue a ler "Scrum: Guia Completo do Framework Ágil para Projetos" »

Questões Essenciais de Engenharia de Software: ISO 25000, Paradigmas e Testes

Classificado em Computação

Escrito em em português com um tamanho de 5,17 KB

Atributos ISO/IEC 25000 em Cenários de Software

Para cada uma das histórias abaixo, enumere e justifique os atributos aplicáveis (Grupo/Atributo, Ex: Funcionalidade/Acurácia):

  1. O sistema X possui um programa de instalação no Windows, porém, para instalar no Linux, o usuário precisa recorrer a um processo manual - Portabilidade/Capacidade para ser Instalado.
  2. Quando temos que efetuar alguma manutenção no software Y, em função da arquitetura ruim e do alto acoplamento entre os módulos, qualquer alteração no código pode facilmente contaminar negativamente uma série de funcionalidades presentes em diferentes módulos - Manutenibilidade/Estabilidade.
  3. O sistema Z permanece estável durante o tempo médio de uma semana, sendo observado
... Continue a ler "Questões Essenciais de Engenharia de Software: ISO 25000, Paradigmas e Testes" »

Lei de Amdahl e Camadas de Programação em Grid

Enviado por nath e classificado em Computação

Escrito em em português com um tamanho de 2,36 KB

Lei de Amdahl

A Lei de Amdahl, nomeada em homenagem ao arquiteto de computadores Gene Amdahl, é a lei que governa o speedup (ganho de velocidade) na utilização de processadores paralelos em relação ao uso de apenas um processador. Ela determina o potencial de aumento de velocidade a partir da percentagem paralelizável de um programa.

O ganho de desempenho que pode ser obtido ao melhorar uma determinada parte do sistema é limitado pela fração de tempo que essa parte é utilizada. Este ganho depende de dois fatores:

  • Fração de melhoria (Fm): Fração do tempo de computação que pode tirar proveito da melhoria feita. Esta fração é sempre menor ou igual a 1.
  • Ganho de execução (Ge): Ganho obtido com a melhoria na parte específica modificada
... Continue a ler "Lei de Amdahl e Camadas de Programação em Grid" »

Conceitos Fundamentais de Java e JVM

Classificado em Computação

Escrito em em português com um tamanho de 8,2 KB

Conceitos Fundamentais de Java: JVM, Garbage Collector, JIT e HotSpot

1. Explique o que é a JVM (Java Virtual Machine), Garbage Collector, JIT e HotSpot.

  • JVM (Java Virtual Machine): É um programa que carrega e executa aplicativos Java, convertendo bytecodes em código executável de máquina. A JVM gerencia os aplicativos durante a execução. Graças à JVM, programas Java podem funcionar em qualquer plataforma (hardware e software) que possua uma versão da JVM, tornando-os independentes da plataforma.
  • Garbage Collector: Responsável por liberar espaço na memória, removendo objetos que não estão mais sendo utilizados.
  • JIT (Just-In-Time Compiler): Técnica utilizada para otimizar o desempenho da JVM, atuando como um compilador em tempo de
... Continue a ler "Conceitos Fundamentais de Java e JVM" »

Protocolos de Comunicação em Redes ATM e SDH

Classificado em Computação

Escrito em em português com um tamanho de 5,31 KB

Protocolo H.245

Permite que os terminais negociem o algoritmo que vão usar em ordem dos diversos algoritmos de compactação. Ele também negocia outros aspectos da conexão, como a taxa de bits.

Protocolo H.225 (Q.931)

Protocolo para estabelecer e encerrar conexões, fornecer tons de discagem, gerar sons de chamada e o restante da telefonia padrão.

Protocolo H.225 (RAS)

Comunicação dos terminais com o gatekeeper. O canal do PC para o gatekeeper que ele gerencia é chamado canal RAS (Registration/Admission/Status). Esse canal permite que os terminais entrem e saiam da zona, solicitem e retornem a largura de banda e forneçam atualizações de status.

Protocolo RTP

O RTCP (Protocolo de Controle de Transporte em Tempo Real) é necessário para controlar... Continue a ler "Protocolos de Comunicação em Redes ATM e SDH" »

JPA: O que é, Implementações e Mapeamento Objeto-Relacional

Classificado em Computação

Escrito em em português com um tamanho de 4,06 KB

JPA: O que é e Como Funciona

JPA é um framework leve, baseado em POJOs (Plain Old Java Objects) para persistir objetos Java. Desenvolvido para a EJB 3.0, como parte da especificação JSR 220, mas não é limitado a EJB. JAVA > JPA > BANCO DE DADOS.

Implementações do JPA

Implementações: Hibernate, Toplink, EclipseLink.

EclipseLink é a implementação no GlassFish Server.

JPA 2.1: Novas Funcionalidades

JPA 2.1 incluiu a capacidade adicional de mapeamento, expansões para a Java Persistence Query Language (JPQL), a API Criteria para criação de consultas dinâmicas, entre outras características.

POJOs Persistentes

POJOs Persistentes: (Plain Old Java Object ou Velho e Simples Objeto Java), significando que os objetos possuem design simples... Continue a ler "JPA: O que é, Implementações e Mapeamento Objeto-Relacional" »