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

Ordenar por
Matéria
Nível

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

Conceitos Fundamentais da Programação Orientada a Objetos

Classificado em Computação

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

Conceitos Fundamentais da Programação Orientada a Objetos

Static

Quando for necessário que todos os objetos de uma mesma classe compartilhem uma única variável, podemos definir uma variável membro com o atributo static, que fará com que todos os objetos compartilhem uma única cópia da variável.

Classe

Uma classe é um tipo definido pelo usuário, semelhante a uma estrutura, com o adicional de que funções também podem ser inseridas. Estas funções (métodos) agem sobre os dados (atributos) da classe.

Encapsulamento

É a proteção dos dados contra alterações indevidas. O encapsulamento mantém escondidos dados e métodos do objeto. Pode-se declarar explicitamente o grau de visibilidade de atributos e métodos:

  • public: métodos e atributos
... Continue a ler "Conceitos Fundamentais da Programação Orientada a Objetos" »

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

Gerenciamento de Dispositivos de Entrada e Saída (E/S)

Classificado em Computação

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

Dispositivo de blocos: é aquele que armazena informação em blocos de tamanho fixo, cada um com seu próprio endereço; cada bloco pode ser lido ou escrito independentemente de todos os outros. Exemplos: CD-ROM, pendrive.

Dispositivo de caractere: envia ou recebe um fluxo de caracteres, sem considerar qualquer estrutura de blocos; ele não é endereçável e não dispõe de qualquer operação de posicionamento. Exemplos: impressora, mouse.

O mapeamento de E/S em memória utiliza a via de endereços para endereçar tanto a memória quanto os dispositivos de E/S, e as instruções da CPU usadas para acessar a memória também são usadas para acessar os dispositivos. Para acomodar os dispositivos de E/S, áreas do espaço endereçável da CPU... Continue a ler "Gerenciamento de Dispositivos de Entrada e Saída (E/S)" »

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