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

Ordenar por
Matéria
Nível

Arquitetura e Teste de Software: Fundamentos Essenciais para Qualidade

Enviado por felipestory1 e classificado em Computação

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

Projeto de Arquitetura e Teste de Software

Importância do Projeto de Arquitetura

Qual a importância do projeto de arquitetura para o desenvolvimento de um software de qualidade? O projeto de arquitetura ajuda na seleção de alternativas de projeto, escalabilidade e desempenho, organização e estrutura de controle, protocolo de comunicação, sincronização e distribuição de funcionalidade a componentes.

Ao descrever um sistema, explique por que você pode precisar projetar sua arquitetura antes de a especificação de requisitos estar completa? O projeto de arquitetura força a pessoa a considerar aspectos principais do projeto logo no início. Assim, a arquitetura de software pode servir como um plano de projeto, usado para negociar requisitos... Continue a ler "Arquitetura e Teste de Software: Fundamentos Essenciais para Qualidade" »

Guia de Estruturas de Repetição e Dados em Pascal

Classificado em Computação

Escrito em em português com um tamanho de 3,57 KB

Comando repeat-until

repeat Comando until Expressão Lógica (EL);

O comando Repeat Until (Repita Até Que) realiza a execução dos comandos que estão no laço repetitivo no mínimo uma vez, para então analisar a condição. Após o resultado da mesma, executa ou não os comandos do laço repetitivo novamente. Ou seja, primeiramente executa os comandos que estão no laço repetitivo ao menos uma vez e, ao final do processo, analisa a condição. Isto implica dizer que os comandos do laço são executados no mínimo uma vez e, caso a condição seja falsa, continua a executá-los; logo, quando verdadeira, estes comandos deixam de ser repetidos. A estrutura Repeat Until, por tratar a condição de entrada no loop a posteriori, sempre terá seus... Continue a ler "Guia de Estruturas de Repetição e Dados em Pascal" »

Fundamentos da Programação Orientada a Objetos (OOP)

Classificado em Computação

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

O Paradigma da Programação Orientada a Objetos (OOP)

O Paradigma OOP inverte a ordem tradicional de programação. O foco principal está nos dados e, em seguida, nos algoritmos que operam sobre esses dados. A implementação da funcionalidade é, em geral, escondida dos usuários.

O que é OOP?

OOP é um conjunto de objetos que trocam mensagens para, ao final do processamento, resolver o problema do usuário. Cada objeto possui uma funcionalidade que é exposta aos usuários (interface), enquanto sua implementação é, em geral, escondida (encapsulamento).

Classes e Objetos

  • Uma Classe é um modelo, uma especificação, um molde, a partir do qual se criam objetos.
  • A Superclasse Base: Na plataforma Java, existe uma superclasse chamada Object, da
... Continue a ler "Fundamentos da Programação Orientada a Objetos (OOP)" »

Questões Resolvidas: Compiladores e Linguagens de Programação

Classificado em Computação

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

Questões de Concurso: Compiladores e Linguagens

Exercício 1: Software Tradutor e Velocidade de Execução

[ENADE 2008] Qual tipo de software tradutor deve ser utilizado para programas em geral, quando a velocidade de execução é uma exigência de alta prioridade?
A) Compiladores.

Exercício 2: Classificação de Linguagens de Programação

As linguagens de programação podem ser classificadas grosseiramente em dois grupos: linguagens de alto nível e linguagens de baixo nível. O critério para definir em que categoria uma determinada linguagem se encaixa está associado ao grau de abstração que ela confere a seus utilizadores, ou seja, se apresentar características linguísticas que se assemelham mais à nossa linguagem, é dita de alto... Continue a ler "Questões Resolvidas: Compiladores e Linguagens de Programação" »

Gerenciamento de Memória e Sistemas de Arquivos

Classificado em Computação

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

Gerenciamento de Memória

Dentre outras tarefas, o gerenciador de memória monitora quais partes da memória estão em uso e quais estão disponíveis; aloca e libera memória para os processos; e gerencia a permuta de processos entre memória principal e secundária (quando a memória principal não é capaz de abrigar todos os processos).

Espaço de Endereçamento

Um espaço de endereçamento é uma faixa de endereços discretos, cada um dos quais pode corresponder a um registrador físico ou virtual, um nodo de rede, dispositivo periférico, setor de disco ou outra entidade lógica ou física.

Memória Virtual

É uma técnica que usa a memória secundária como uma cache para armazenamento secundário. Houve duas motivações principais: permitir... Continue a ler "Gerenciamento de Memória e Sistemas de Arquivos" »

Padrões de Projeto — Resumo e Quando Usar

Classificado em Computação

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

Resumo dos principais padrões de projeto (design patterns), com motivação, uso e exemplos práticos para facilitar a tomada de decisão na arquitetura de software.

Abstract Factory

Proporciona uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

Quando utilizar

  • O sistema deve ser configurado com uma de múltiplas famílias de produtos.
  • Estes produtos relacionados são projetados para ser utilizados juntos, e você quer garantir essa restrição.

Exemplo

Montar uma interface gráfica para vários sistemas operacionais; família de componentes gráficos:

  • Windows
  • Linux

Builder

Separa a construção de um objeto complexo da sua representação, permitindo diferentes tipos de representação... Continue a ler "Padrões de Projeto — Resumo e Quando Usar" »

Guia de Estudo: Camada de Enlace e Protocolos Ethernet

Classificado em Computação

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

Questões sobre Camada de Enlace e Protocolos de Rede

Quais são os três fatores que devem ser considerados na implementação de um protocolo de Camada 2 em uma rede? (Escolha três.)

  • O escopo geográfico da rede;
  • A implementação da camada física;
  • O número de servidores a serem interligados.

Consulte a imagem. Supondo que a rede seja convergente (ou seja, as tabelas de roteamento e tabelas ARP estão completas), qual endereço MAC ocupará o campo de endereço de destino dos quadros Ethernet destinados ao servidor web?

  • 00-0c-85-cf-65-c0

Quais opções são propriedades do acesso ao meio baseado em contenção em mídias compartilhadas? (Escolha três.)

  • Não-determinístico;
  • Menos sobrecarga;
  • Existência de colisões.

O que é correto afirmar sobre

... Continue a ler "Guia de Estudo: Camada de Enlace e Protocolos Ethernet" »

Estados, Criação e Término de Processos

Classificado em Computação

Escrito em em português com um tamanho de 3,78 KB

Estados dos Processos

1. Em execução: Realmente usando a CPU naquele momento.

2. Pronto: Executável, temporariamente parada para dar lugar a outro processo.

3. Bloqueado: Incapaz de executar enquanto não ocorre um evento externo.

Casos de Transição de Estado

Caso 1: O sistema operacional descobre que um processo não pode prosseguir.

Casos 2 e 3: Causados pelo escalonador, sem que o sistema saiba:

  • Caso 2: O escalonador decide que o processo já teve tempo suficiente de CPU e aloca o tempo de CPU para outro processo.
  • Caso 3: Ocorre quando todos os processos já obtiveram o tempo de CPU de maneira justa, e é hora de voltar para o 1º processo.

Caso 4: Evento externo (como chegada de uma entrada). Se nenhum processo estiver executando neste momento,... Continue a ler "Estados, Criação e Término de Processos" »

Gestão de Memória e Sistemas de Arquivos

Classificado em Computação

Escrito em em português com um tamanho de 13,74 KB

Endereçamento e Swapping

Endereçamento absoluto ou relativo - O programa pode ser executado em qualquer partição ou processo da memória.

Swapping - "troca" de armazenamento entre memória principal e secundária; consiste em retirar o programa inteiro da memória enquanto ele não estiver sendo executado. Em seguida, ele é armazenado no disco rígido (HD).

Problemas - Ineficiência em função do tempo gasto em cada carregamento.

Solução - Implementação no hardware dos computadores para permitir que a relocação seja realizada durante a execução do programa.

Vantagens e desvantagens do Swapping

  • Vantagens:
    • Maior compartilhamento da memória;
    • Maior throughput;
    • Eficiência (quando bem implementado).
  • Desvantagens:
    • Elevados custos das operações
... Continue a ler "Gestão de Memória e Sistemas de Arquivos" »

Algoritmos de Busca e Ordenação em Estruturas de Dados

Classificado em Computação

Escrito em em português com um tamanho de 3,61 KB

Algoritmos de Busca

Busca Sequencial

  • Percorre cada item do vetor até encontrar a informação solicitada.
  • Apresenta baixo desempenho quando se tem uma grande quantidade de registros.
  • Melhor desempenho quando os dados estão ordenados.

Busca Binária

  • Divide o vetor ao meio e compara o elemento central com o procurado.
  • Se o elemento procurado for menor, repete o processo no lado esquerdo; se for maior, repete no lado direito.
  • Os elementos devem estar ordenados.
  • Desempenho melhor que a busca sequencial.

Busca por Interpolação

  • É uma variação da busca binária.
  • Escolhe a próxima posição pesquisada com base em uma estimativa sobre a posição do elemento procurado em relação ao restante do vetor.
  • Pode ser mais eficiente do que a pesquisa binária,
... Continue a ler "Algoritmos de Busca e Ordenação em Estruturas de Dados" »