Anotações, resumos, trabalhos, provas e problemas de Computação

Análise de Sistemas: Fundamentos, Modelagem e Metodologias

Computação10,88 KB

Análise de Sistemas

Aspectos Relevantes

  • Ter conhecimento de todas as necessidades nos níveis estratégico, tático e operacional, não apenas nos sistemas atuais, mas também nos sistemas futuros, sejam eles automatizados ou não.
  • A inadequação dos sistemas é comum porque os profissionais de informática tendem, durante a fase de desenvolvimento, a dar maior atenção aos aspectos pertinentes à eficiência ou ao desempenho, em detrimento dos aspectos relativos à eficácia ou à adequação dos sistemas às necessidades dos usuários.
  • Construção de sistemas efetivos, que sejam úteis para os usuários e para a empresa de modo global.

Especificação

É o detalhamento do comportamento de uma funcionalidade do sistema.

Problemas Comuns no Desenvolvimento

...
Continue lendo "Análise de Sistemas: Fundamentos, Modelagem e Metodologias" »

Qual porção do endereço da camada de rede um roteador usa pára enviar pacotes?

Computação6,8 KB

WAN,rede formada pela ligação Sistema de Computadores localizados em regiões geograficamente distantes./Normalmente utilizam linhas de transm de dados oferecidos por empre de telecomunic/Redes com tecnologia Synchronous Digital Hurachy(SDH) em conjunto com Asynchronous transfer Mode(ATM),oferecem taxas de transf na ordem de 6202mbps ou +/redes de longa dist interligam redes locais(sub-redes)./tecnologia de acesso podem ser vistas como a camada fisica./X.25(protocolo de acesso):Protocolo de nível 3 utilizado no acesso a redes comutadas de pacotes,é um protocolo orientado,a conexão.Quando utilizado simultaneamente com IP,o X.25 funciona como protocolo de nível 2.Pode ser usado nas redes de SNA./High-Level Data Link Control(HDLC):Protocolo...

Continue lendo "Qual porção do endereço da camada de rede um roteador usa pára enviar pacotes?" »

Gerenciamento de Processos em Sistemas Operacionais

Computação5,32 KB

Conceito de Processo

Um Sistema Operacional (SO) executa uma variedade de programas:

  • Sistemas em batch (jobs)
  • Sistemas de tempo compartilhado (programas de usuário ou tarefas)

Os termos tarefa, job e processo são frequentemente usados como sinônimos.

Processo: Um programa em execução, cuja execução deve ser sequencial.

Um processo inclui:

  • Contador de programa
  • Pilha
  • Seção de dados

Diagrama de Estados de um Processo

À medida que o programa executa, seu estado muda:

  • Novo: O processo está sendo criado.
  • Em Execução: Instruções estão sendo executadas.
  • Em Espera (Bloqueado): O processo espera por um evento (ex: conclusão de I/O).
  • Pronto: O processo está esperando para ser atribuído a um processador (CPU).
  • Encerrado: O processo terminou sua execução.
...
Continue lendo "Gerenciamento de Processos em Sistemas Operacionais" »

Fundamentos de Java: Modificadores, Herança, Swing e Eventos

Computação7,21 KB

Modificadores de Acesso em Java

PUBLIC: O modificador public deixa a classe ou membro visível para todas as outras classes, subclasses e pacotes do projeto Java.

PRIVATE: O modificador private deixa o atributo visível apenas para a classe em que ele se encontra.

PROTECTED: O modificador protected deixa o atributo visível para todas as outras classes e subclasses que pertencem ao mesmo pacote. A principal diferença é que apenas as classes do mesmo pacote têm acesso ao membro. O pacote da subclasse não tem acesso ao membro.

PADRÃO (SEM MODIFICADOR): Por padrão, a linguagem Java permite acesso aos membros apenas ao pacote em que ele se encontra.

Métodos Getters e Setters

MÉTODO GETTER: É utilizado para recuperar informações, geralmente...

Continue lendo "Fundamentos de Java: Modificadores, Herança, Swing e Eventos" »

Guia de Subprogramas: Funções, Procedimentos e Recursão

Computação6,46 KB

Subprogramas: Definição: Ele pode realizar as mesmas ações que um programa: 1) aceitar dados; 2) realizar alguns cálculos; 3) devolver resultados. Entretanto, é utilizado pelos programas para um propósito específico: ele recebe dados do programa e devolve resultados. Tipos: Funções e procedimentos ou sub-rotinas.

Sub-Rotinas: As sub-rotinas são um conjunto de comandos que são agrupados e recebem, assim, um nome específico que irá identificá-las. Desta forma, podemos usar as sub-rotinas para realizar tarefas que se repetem várias vezes na execução de um mesmo programa. O uso de sub-rotinas permite que possamos criar PROGRAMAS MODULARES, deixando estes mais bem estruturados. O uso de sub-rotinas nos leva ao desenvolvimento de...

Continue lendo "Guia de Subprogramas: Funções, Procedimentos e Recursão" »

Redes LAN: Wireless, Servidores, Topologias e Equipamentos

Computação21,37 KB

Wireless LAN: Anexa um transmissor/receptor a um NIC especial na estação de trabalho ou laptop e um ponto de acesso. É essencialmente uma topologia estrela. É uma solução para warehouses, bolsa de valores, prédios históricos ou com concreto espesso, escritórios.

Para criar uma rede wireless:

  1. Dispositivo do usuário (estação wireless)
  2. Rede de área local cabeada
  3. Ponto de acesso (roteador wireless)

Basic Service Set (BSS): No centro da célula está o ponto de acesso. Todos os dispositivos de usuários comunicam-se com esse ponto de acesso e concorrem para o mesmo conjunto de frequências.

Extended Service Set (ESS): Múltiplas células são suportadas por múltiplos pontos de acesso. Dispositivos do usuário se comunicam com o ponto de...

Continue lendo "Redes LAN: Wireless, Servidores, Topologias e Equipamentos" »

Fundamentos da Comunicação de Dados e Arquitetura de Redes

Computação3,82 KB

1. Pioneiros da Computação e Teoria da Informação

  • Alan Turing é considerado o pai da computação e foi o idealizador da Máquina de Turing, que utilizava o conceito de dispor de dados de entrada, de um programa e de resultar em dados de saída.
  • Von Neumann criou a Arquitetura Von Neumann, onde os dados são armazenados na memória do computador e não em cartões perfurados. Também foi um dos principais responsáveis pela construção do ENIAC.
  • Shannon é considerado o pai da chamada Teoria da Informação, que envolve álgebra booleana e que relaciona bits com caracteres alfanuméricos.

História da Comunicação de Dados

A comunicação de dados começou com a invenção do telégrafo, por Morse, em 1838. Até 1844 já existiam cerca de...

Continue lendo "Fundamentos da Comunicação de Dados e Arquitetura de Redes" »

Glossário Essencial de Redes e Protocolos

Computação4,05 KB

Conceitos de Sistemas Operacionais

Processamento em Batch: O sistema operacional só processa uma tarefa após o término da outra.

Time Sharing (Compartilhamento de Tempo): Permite que o sistema operacional consiga executar mais de uma tarefa simultaneamente, alternando o uso da CPU.

História e Desenvolvimento de Redes

DARPA (Defense Advanced Research Projects Agency): O objetivo da DARPA era manter a superioridade tecnológica dos EUA e alertar contra possíveis avanços tecnológicos dos adversários.

RAND Corporation: Atendia às necessidades militares. Já apresentava um conceito de redes de PCs que se assemelha ao modelo de rede atual. (Contexto: Rede Militar)

NPL (National Physical Laboratory): Donald Davies propôs uma rede nacional de dados...

Continue lendo "Glossário Essencial de Redes e Protocolos" »

Estruturas de Dados e Algoritmos: Merge Sort, Quicksort, Busca Binária e Mais

Computação7,8 KB

Merge Sort

O merge sort, ou ordenação por mistura, é um exemplo de algoritmo de ordenação do tipo dividir-para-conquistar. Sua ideia básica consiste em:

  • Dividir: o problema em vários sub-problemas e resolver esses sub-problemas através da recursividade.
  • Conquistar: após todos os sub-problemas terem sido resolvidos, ocorre a conquista, que é a união das resoluções dos sub-problemas.

Como o algoritmo do Merge Sort usa a recursividade em alguns problemas, esta técnica pode não ser muito eficiente devido ao alto consumo de memória e tempo de execução.

Quicksort

O Quicksort ordena as duas sublistas de chaves menores e maiores recursivamente até que a lista completa se encontre ordenada. Os passos são:

  1. Escolha um elemento da lista, denominado
...
Continue lendo "Estruturas de Dados e Algoritmos: Merge Sort, Quicksort, Busca Binária e Mais" »

Práticas Ágeis, Requisitos e Modelagem de Software

Computação5,36 KB

Práticas Ágeis e Desenvolvimento de Software

Test-Driven Development (TDD)

  • TDD é a técnica que permite fazer testes contínuos e não apenas na conclusão do sistema, melhorando a qualidade técnica do produto.
  • Incrementos desenvolvidos em tempo reduzido: releases pequenos, entregando funcionalidades em meses ou semanas, ao invés de anos.
  • Utilização de refatoração: melhorando o código e tornando-o mais fácil de manter constantemente.
  • Integração Contínua: quando o incremento está pronto, ele é integrado ao sistema como um todo, ou seja, isto é feito diariamente.

Programação em Par (Pair Programming)

Vantagens da Programação em Par

  • Compartilhamento do conhecimento
  • Correção de falhas
  • Manutenibilidade

Desvantagens da Programação em

...
Continue lendo "Práticas Ágeis, Requisitos e Modelagem de Software" »