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

Ordenar por
Matéria
Nível

Fundamentos de Software: Ciclo de Vida e Mitos

Classificado em Computação

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

Fundamentos de Software e Desenvolvimento

Software inclui código-fonte, executável e documentação (plantas).

Desenvolvimento envolve: requisitos, análise, projeto, implementação, teste e manutenção.

Software é uma entidade lógica; não se desgasta com o tempo como o hardware. Após corrigido, seu índice de falha estabiliza-se. O software fica obsoleto porque as regras de negócio mudam.

Mitos Comuns no Desenvolvimento de Software

Mito da Administração

Mito: Existe um manual repleto de padrões e procedimentos para a construção do software, e isso é o suficiente?

Resposta: Será que ele é usado? Reflete a prática moderna?

Mito: Se estamos atrasados no prazo, podemos adicionar novos programadores?

Resposta: Como não é um processo... Continue a ler "Fundamentos de Software: Ciclo de Vida e Mitos" »

Estruturas de Dados: Conceitos, TADs e Implementações

Classificado em Computação

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

Tipos de Dados e Abstratos

Tipo de Dado

Define o conjunto de valores que uma variável pode assumir e as operações sobre esses valores. Ex.: Int, Double, Char.

Tipo Abstrato de Dados (TAD)

Define o conjunto de valores e as operações sobre os valores, mas não define sua implementação. Ex.: Lista, Pilha, Fila e Árvore.

Exemplos de Tipos Abstratos de Dados (TADs)

  • Lista: Conjunto de itens interligados cujas operações de inserção e remoção podem ser feitas em qualquer parte da lista.
  • Pilha: Conjunto de itens interligados cujas operações de inserção e remoção só podem ser feitas no topo da pilha (LIFO - Last In, First Out).
  • Fila: Conjunto de itens interligados cuja operação de inserção é feita no final da fila e a operação de
... Continue a ler "Estruturas de Dados: Conceitos, TADs e Implementações" »

Conceitos Essenciais: Dados, Informação, Segurança e Indústria 4.0

Classificado em Computação

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

Dados: Para Laudon e Laudon (2004), dados são fatos brutos que representam eventos que estão ocorrendo nas organizações ou no ambiente físico antes de terem sido organizados e arranjados de uma forma que as pessoas possam entendê-los e usá-los.

Informação: É um conjunto de dados que sofrem algum tipo de processamento e passa a ser algo significativo para o ser humano na tomada de decisão.

Conhecimento: São os dados trabalhados e analisados.

Sistema: Conjunto de elementos que de alguma forma interagem entre si para cumprir um objetivo comum.

Sistema de Informação: Conjuntos de componentes que coletam e processam informações para ajudar na tomada de decisão e controle.

Processos Organizacionais: Maneira como as atitudes diárias das... Continue a ler "Conceitos Essenciais: Dados, Informação, Segurança e Indústria 4.0" »

Revisão Essencial: Conceitos de Sistemas Operacionais

Classificado em Computação

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

1. Um sistema operacional pode ser visto como um gerenciador de recursos?

(x) Certo ( ) Errado

2. Quais são os possíveis estados de um processo?

Novo, pronto, execução, terminado e em espera.

3. O que é uma troca de contexto?

É uma substituição de um processo que está em execução por um que aguarda no estado de pronto.

4. O que são threads e qual a diferença para um processo convencional?

Um fluxo de execução dentro de um processo. Cada thread tem um ID, um PC (Program Counter), um conjunto de registradores e variáveis locais.

5. Qual a diferença entre escalonamento preemptivo e não preemptivo?

  • Preemptivo: Pode ser interrompido (troca de contexto).
  • Não Preemptivo: Um processo, uma vez iniciado, executa até o fim.

6. Explique o que

... Continue a ler "Revisão Essencial: Conceitos de Sistemas Operacionais" »

Camada de Controle e Provisionamento em Nuvem

Classificado em Computação

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

Camada de Controle: Inclui softwares responsáveis pelo gerenciamento e controle das camadas de infraestrutura de nuvem. Recebe solicitações das camadas de serviço e instrumentação.

Implementação: Pode ser implementada em cima da camada virtual ou da camada física.

Funções da camada de controle: Configuração, provisionamento e monitoramento de recursos.

Software de Controle: Vincula os recursos subjacentes e trabalha em conjunto com o software de virtualização, permitindo:

  • Agrupamento de recursos;
  • Alocação de recursos para serviços;
  • Otimização da utilização de recursos.

Características: Gerenciador de Elemento e Unificado:

  • Element Manager: Permite gerenciar componentes de infraestrutura independentemente.
  • Unified Manager: Fornece
... Continue a ler "Camada de Controle e Provisionamento em Nuvem" »

Guia Completo de Testes de Software e Metodologia TDD

Classificado em Computação

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

Teste de Componentes

Componentes de software são complexos e compostos por vários objetos que interagem entre si. O acesso à sua funcionalidade é feito através de interfaces bem definidas.

  • Teste de componentes: Foca em demonstrar que a interface do componente se comporta de acordo com as especificações (assume-se que os testes unitários internos estão completos).

Erros de Interfaces

  • Uso errado da interface: O componente chama outro de forma incorreta (ex: ordem errada de parâmetros).
  • Percepção errada da interface: O componente chamador assume um funcionamento incorreto do componente chamado.
  • Erros de sincronização: Componentes funcionam a velocidades diferentes, causando acesso a informações desatualizadas.

Guia de Testes de Interface

  • Testar
... Continue a ler "Guia Completo de Testes de Software e Metodologia TDD" »

Refatoração, POO e Boas Práticas de Código

Classificado em Computação

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

  1. Pacotes

    Pacotes são criados para organizar o código e evitar conflitos entre classes com o mesmo nome, facilitando a localização do código.

  2. Característica usada

    Pergunta: Principalmente qual característica do paradigma Orientado a Objetos foi usada nesse exemplo?

    Resposta: O uso de interface: um contrato que define como a classe deve se comportar. As classes que implementam uma interface são obrigadas a implementar os métodos declarados na interface.

  3. Programar para interfaces x classes

    Pergunta: Qual é a diferença entre programar para interfaces e programar para classes concretas? Há algum princípio de projeto aplicado nesse contexto?

    Resposta: Programar para interfaces significa depender de contratos em vez de implementações concretas.

... Continue a ler "Refatoração, POO e Boas Práticas de Código" »

Algoritmos Evolutivos e Aprendizado de Máquina

Classificado em Computação

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

Algoritmos Evolutivos são algoritmos baseados em uma gama de mecanismos da evolução biológica e serviram para originar conceitos mais recentes, como os Algoritmos Genéticos. Os Algoritmos Evolutivos buscam tratar estruturas de objetos abstratos de uma população — por exemplo, variáveis de um problema de otimização — que são manipuladas por operadores inspirados na evolução biológica. Esses operadores objetivam a busca pela solução de um problema; são comumente chamados de operadores genéticos.

1 — Cite 3 exemplos de algoritmos evolucionários

Resposta:

  • Algoritmos Genéticos
  • Programação Genética
  • Neuro-evolução
  • Evolução Diferencial

2 — Cite 2 exemplos de operadores genéticos que podem ser aplicados na construção de

... Continue a ler "Algoritmos Evolutivos e Aprendizado de Máquina" »

Redes de Computadores: Dispositivos, Endereçamento e Protocolos

Classificado em Computação

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

Roteadores

Principais Características

  • Permitem o roteamento entre diferentes localidades ou VLANs diferentes;
  • Trabalham na camada de Rede;
  • Responsáveis pela comutação de pacotes;
  • Largamente utilizados em redes de Longa Distância e na Internet;
  • Mantêm as tabelas de roteamento;
  • Controlam processos de roteamento dinâmicos.

Protocolos de Rede

Definem as regras (padrão) de comunicação em uma rede de computadores.

Protocolo SNMP

Transporta informações de objeto e comandos entre gerenciador e gerenciado.

Qualidade de Serviço (QoS)

É o requisito das aplicações, onde se exige que determinados parâmetros estejam dentro dos limites definidos.

Controle de Congestionamento e Características de QoS

  • Exigência das aplicações;
  • Característica do tráfego;
... Continue a ler "Redes de Computadores: Dispositivos, Endereçamento e Protocolos" »

Guia de Refatoração, Métricas e Testes Unitários com JUnit

Classificado em Computação

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

Refatoração e Qualidade de Código

  1. Foi feita refatoração para impedir o bad smell de mapeamento mental? Justifique. Sim. Por padrão, utilizavam-se sempre as variáveis i ou j em laços for. O código foi alterado para tornar a leitura mais clara e intuitiva.
  2. Ocorreram refatorações de comentários? Quais? Sim. Comentários desnecessários no método VerificaPorDestino foram removidos para limpar o código.
  3. Foi necessária alguma refatoração de extração de método? Sim. O código foi otimizado através da criação de dois métodos para substituir trechos repetidos: mostrarTodosOsVoos e verificarOrigem.

Métricas de Software e Complexidade Ciclomática

  1. O que são métricas? São medidas utilizadas como base para a criação de indicadores
... Continue a ler "Guia de Refatoração, Métricas e Testes Unitários com JUnit" »