Anotações, resumos, trabalhos, provas e exercícios de Computação de Ensino Médio

Conceitos de Banco de Dados e Modelagem de Dados

Computação3,44 KB

  • Banco de Dados: Conjunto de dados que se relacionam entre si.
  • Sistema de Gerência de Banco de Dados (SGBD): Software que incorpora as funções de definição, recuperação e alteração de dados de um BD.
  • Modelos de Banco de Dados: Definição formal da estrutura de um BD. Sua finalidade é representar o conjunto de dados, sua estrutura, relacionamentos e restrições.
  • Modelo Conceitual: Modelo de dados abstrato que descreve a estrutura de um BD de forma independente de um SGBD particular.
  • Modelo Lógico: Modelo de dados que representa a estrutura de dados de um BD conforme vista pelo usuário do SGBD.
  • Entidade: Conjunto de objetos, concretos e abstratos, da realidade modelada sobre os quais se deseja manter informações no BD.
  • Ocorrência de
...
Continue lendo "Conceitos de Banco de Dados e Modelagem de Dados" »

Introdução à Programação Paralela e Distribuída

Computação5,21 KB

Lei de Amdahl

A Lei de Amdahl determina o potencial de aumento de velocidade a partir da porcentagem paralelizável de um programa.

A Lei de Amdahl é a lei que governa o speedup na utilização de processadores paralelos em relação ao uso de apenas um processador.

Numa aplicação, existe sempre uma parte que não pode ser paralelizada (ou seja, uma parte sequencial). Se s for a parte sequencial, (1 - s) será a parte possível de ser paralelizada. Mesmo que a parte paralela seja perfeitamente escalável, o desempenho (speedup) está limitado pela parte sequencial.

Speedup: o ganho de velocidade observado quando se executa um processo em x processadores em relação ao processado em 1 processador. Mostra que, para obter ganhos elevados, é necessário...

Continue lendo "Introdução à Programação Paralela e Distribuída" »

Protocolos de Rede Essenciais: TCP, UDP, DHCP, DNS e E-mail

Computação4,4 KB

TCP (Transmission Control Protocol)

O TCP é um modo de ligação mais complexo, que consome mais recursos. Possui controlo de fluxo e congestionamento, garantindo a fiabilidade (os pacotes chegam ao destino, por ordem e sem duplicações). Não permite broadcast e é full-duplex, ou seja, permite o controlo de fluxo concorrente de dados em ambos os sentidos da conexão.

  • Controlo de Fluxo: Adequação entre as taxas de envio e de receção.
  • Controlo de Congestionamento: Adequação às condições de débito do canal.

UDP (User Datagram Protocol)

O UDP é connectionless, mais leve (consome menos recursos), não possui controlo de fluxo, não garante fiabilidade e permite broadcast. Apenas acrescenta o porto de origem e o porto de destino.

Nomes dos

...
Continue lendo "Protocolos de Rede Essenciais: TCP, UDP, DHCP, DNS e E-mail" »

Análise Essencial: Modelo, Vantagens e Implementação

Computação5,47 KB

Análise Essencial

A Análise Essencial propõe o particionamento do sistema por eventos. Um sistema é construído para responder a estímulos com eficácia. Antes da implementação, é crucial entender sua essência, independente da tecnologia utilizada. O Modelo Essencial é formado por:

  • Modelo Ambiental: Define a fronteira entre o sistema e o mundo externo.
  • Modelo Comportamental: Define o comportamento interno para interagir com o ambiente.

Métodos Envolvidos: Modelagem de Dados e Modelagem Funcional.

Modelo Ambiental

O Modelo Ambiental define:

  • A fronteira e as interfaces do sistema com o ambiente externo.
  • Os eventos externos que exigem resposta do sistema.
  • Ferramentas para definição do ambiente.

Componentes:

  1. Declaração de Objetivos: Descrição
...
Continue lendo "Análise Essencial: Modelo, Vantagens e Implementação" »

Hierarquia de Armazenamento, Protocolos e Segurança de Rede

Computação8,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 lendo "Hierarquia de Armazenamento, Protocolos e Segurança de Rede" »

Modelos de Qualidade de Software: Normas, Métricas e Avaliação

Computação12,74 KB

Modelo de Qualidade de Software

A qualidade de um sistema de software pode ser entendida de diversas formas e utilizando diferentes abordagens.

A norma ISO/IEC 9126, ou conjunto de normas que tratam deste assunto no âmbito da ISO, estabelece um modelo de qualidade com os seguintes componentes:

  • Processo de desenvolvimento, cuja qualidade afeta a qualidade do produto de software gerado e é influenciado pela natureza do produto desenvolvido;
  • Produto, compreendendo os atributos de qualidade do produto (sistema) de software. Estes atributos de qualidade podem ser divididos entre atributos internos e externos. Estes se diferenciam pela forma como são aferidos (interna ou externamente ao produto de software) e em conjunto compõem a qualidade do produto
...
Continue lendo "Modelos de Qualidade de Software: Normas, Métricas e Avaliação" »

Tecnologias Java EE: JDBC, Servlets, JSP e EJB

Computação14,02 KB

Tecnologias Java EE e Conectividade

  • JDBC (Java Database Connectivity): Utilizado no acesso a bancos de dados.
  • Servlets: Utilizados para o desenvolvimento de aplicações Web com conteúdo dinâmico.
  • JSP (Java Server Pages): Uma especialização do servlet que permite que conteúdo dinâmico seja facilmente desenvolvido.
  • JTA (Java Transaction API): Uma API que padroniza o tratamento de transações dentro de uma aplicação Java.
  • EJBs (Enterprise Java Beans): Utilizados no desenvolvimento de componentes de software. Eles permitem que o programador se concentre nas necessidades do negócio do cliente.
  • JCA (Java Connector Architecture): Uma API que padroniza a ligação a aplicações legadas.
  • JPA (Java Persistence API): Uma API que padroniza o acesso
...
Continue lendo "Tecnologias Java EE: JDBC, Servlets, JSP e EJB" »

Gerenciamento de Comunicações do Projeto: Passo a Passo

Computação8,77 KB

Gerenciamento das Comunicações do Projeto

Garantir a geração, coleta, distribuição, armazenamento, recuperação e destinação final das informações sobre o projeto.

1) Identificar as Partes Interessadas

Determinação das partes interessadas no projeto: pessoas e organizações que afetam, influenciam ou contribuem para o sucesso do projeto. Essa identificação busca reconhecer no público, clientes, patrocinadores, legisladores e a organização executora, fontes de auxílio ou combate ao projeto, permitindo estabelecer prioridades e os relacionamentos indispensáveis para o sucesso do projeto.

  • Entradas:
    • Termo de abertura do projeto.
    • Documentos de aquisição (contratos).
    • Fatores ambientais da empresa.
    • Ativos de processos organizacionais.
...
Continue lendo "Gerenciamento de Comunicações do Projeto: Passo a Passo" »

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

Computação6,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 lendo "Bancos de Dados: Distribuídos, Orientados a Objetos, Cliente-Servidor e Paralelismo" »

Conceitos Chave de Gestão de TI e Negócios

Computação3,47 KB

Custos de Capital (Capex) e Operacionais (Opex)

Custos de Capital (Capex): São os custos de aquisição de algo que se tornará um ativo financeiro, por exemplo, equipamentos e imóveis.

Custos Operacionais (Opex): São os custos resultantes da execução dos serviços de TI, que muitas vezes envolvem pagamentos repetidos, por exemplo, custos com pessoal, manutenção de hardware e eletricidade.

Tipos de Custos

  • Custo Indireto (Overhead): Não é alocado diretamente para um usuário, setor, projeto, etc. (geralmente o primeiro a ser cortado).
  • Custo Direto: É alocado diretamente para uma pessoa, setor ou projeto.
  • Custo Fixo: Valores que não variam, como IPTU ou servidor.
  • Custo Variável: Varia conforme os meses, por exemplo, água, luz, combustível.
...
Continue lendo "Conceitos Chave de Gestão de TI e Negócios" »