Anotações, resumos, trabalhos, provas e exercícios de Computação de Universidade

Segundo bales os membros

Computação7,27 KB

Polimorfismo: é o princípió pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos.

Sobrecarga: são métodos declarados com o mesmo nome, mesmo tipo e diferem pelo número e/ou tipos de argumentos.

Sobrescrita:  são métodos declarados com o mesmo nome, mesmo tipo e igual pelo número e/ou tipos de argumentos

Função matemática:  é um mapeamento de membros de um conjunto, de um conjunto domínio pára outro conjunto imagem

Transparência referencial: é a execução de uma função sempre produz o mesmo resultado, quando dados os mesmos parâmetros.

Linguagem funcional: é umparadigma de programaçãoque trata a computação como...

Continue lendo "Segundo bales os membros" »

Processos, Threads, Virtualização e Segurança

Computação17,44 KB

Processos e Threads

Processos: programa em execução.

Threads: unidade de execução de um programa com contexto próprio, subprocesso permite a criação de fluxos de execução distintos que podem ser executados concorrentemente.

Vantagens das Threads:

  • Paralelismo
  • Exploração de processadores com vários núcleos
  • Rapidez na execução de programas (mais rápido criar uma thread do que um processo)
  • Ocultação de latência em comunicações via rede (a aplicação principal não “trava” enquanto é realizada uma solicitação na rede)

Processos vs Threads:

  • Custo da criação e utilização: as informações de contexto armazenadas pelas threads são menores do que as dos processos.
  • Compartilhamento de dados: threads compartilham dados facilmente,
...
Continue lendo "Processos, Threads, Virtualização e Segurança" »

Guia Completo sobre Sistemas Distribuídos

Computação6,18 KB

O que é um Sistema Distribuído

Um sistema distribuído é um conjunto de computadores independentes que parecem, para o usuário, como um único sistema. Dois aspectos são fundamentais:

  • Independência de Hardware: As máquinas são autônomas.
  • Independência de Software: Os usuários percebem o sistema como uma unidade única.

Objetivos de um SD

Deve conectar usuários a recursos, sendo que estes estão distribuídos através de uma rede.

Vantagens de um SD sobre um Sistema Centralizado

  • Economia: Microprocessadores oferecem uma relação custo/performance melhor que mainframes.
  • Velocidade: Pode ter mais poder de processamento que um mainframe.
  • Distribuição Espacial: Aplicações podem envolver separação espacial dos dados.
  • Confiabilidade: Se uma
...
Continue lendo "Guia Completo sobre Sistemas Distribuídos" »

Guia Completo de Validação de Requisitos de Software

Computação2,9 KB

Validação de Requisitos

A validação de requisitos consiste em certificar que o documento de requisitos é uma descrição aceitável do sistema a ser implementado. É necessário verificar propriedades como completude, consistência, conformidade com padrões, conflitos, erros técnicos e ambiguidades. Enquanto a análise trabalha com dados brutos elicitados dos stakeholders (temos os requisitos certos?), a validação utiliza a versão final negociada e acordada (os requisitos estão corretos?).

Entradas e Saídas da Validação

  • Entradas:
    • Documento de requisitos: versão completa, formatada e organizada.
    • Conhecimento organizacional: informações implícitas para julgar o realismo.
    • Padrões organizacionais: normas locais de documentação.
  • Saídas:
...
Continue lendo "Guia Completo de Validação de Requisitos de Software" »

Sistemas de Arquivos: conceitos, atributos e gerência

Computação11,6 KB

Agenda

  • Introdução
  • Arquivos
  • Uso de Arquivos
  • Organização de Volumes
  • Sistemas de Arquivos
  • Bibliografia

Bibliografia

  • TANENBAUM, Andrew. Sistemas Operacionais – Projeto e Implementação. 2ª ed., Bookman, 1999.
  • MACHADO, Francis B.; MAIA, Luiz Paulo. Arquitetura de Sistemas Operacionais. 4ª ed., LTC, 2007.
  • OLIVEIRA, Rômulo et al. Sistemas Operacionais. 3ª ed., Sagra Luzzatto, 2004.
  • TANENBAUM, Andrew. Sistemas Operacionais Modernos. 2ª ed., Prentice Hall do Brasil, 2003.
  • TANENBAUM et al. Sistemas Distribuídos, IBM Press, 2002.
  • DONDA, Daniel. Guia de certificação Windows Server 2003. 2ª ed. Rio de Janeiro: Brasport, 2006. 327 p. ISBN 85-7452-263-5.
  • BADDINI, Francisco. Windows Server 2003 em português: implementação e administração. 6ª ed. São
...
Continue lendo "Sistemas de Arquivos: conceitos, atributos e gerência" »

Engenharia de Requisitos: Guia Completo

Computação7,48 KB

Análise de Requisitos

A Análise de Requisitos é o processo de descobrir, analisar, documentar e verificar os serviços requeridos para um sistema, bem como suas restrições operacionais.

O que é um Requisito?

Um requisito pode variar de uma declaração abstrata de alto nível de um serviço ou de uma restrição do sistema a uma especificação matemática funcional detalhada. Ele serve como base para o desenvolvimento do sistema.

Tipos de Requisitos

  • Requisitos de Usuário: Declarações em linguagem natural, complementadas por diagramas, que descrevem os serviços que o sistema fornece e suas restrições operacionais. São escritos para os usuários.
  • Requisitos de Sistema: Um documento estruturado que apresenta descrições detalhadas das
...
Continue lendo "Engenharia de Requisitos: Guia Completo" »

Sistemas de Banco de Dados: Guia de SGBD e Linguagem SQL

Computação11,39 KB

Sistemas de Banco de Dados

Um sistema de banco de dados consiste em:

  • Banco de dados: uma coleção de dados inter-relacionados. Um sistema consiste de:
    • Dicionário de Dados: contém uma descrição da estrutura do BD, os "metadados".
    • Dados
  • Sistema de Gerenciamento de Banco de Dados (SGBD): um conjunto de programas que permite definir, criar, manipular e controlar o acesso ao banco de dados.
  • Usuários: administradores, designers, usuários finais, entre outros.

Vantagens da utilização de SGBD

  • Redução e controle de redundância.
  • Evitar inconsistências (cópias diferentes do original).
  • Manter a integridade (garantir que as informações armazenadas estejam corretas). Para isso, utilizam-se as chamadas restrições de integridade (tipo de dados, comprimento,
...
Continue lendo "Sistemas de Banco de Dados: Guia de SGBD e Linguagem SQL" »

Arquitetura de Software: Conceitos, Princípios e Estilos Essenciais

Computação9,71 KB

Princípios Fundamentais da Arquitetura de Software

  • Abstração
  • Encapsulamento
  • Separação de Responsabilidades
  • Acoplamento e Coesão
  • Não Duplicação
  • Parametrização e Configurabilidade
  • Clareza e Simplicidade
  • Separação de Interface e Implementação

Benefícios da Arquitetura de Software

A arquitetura de software permite-nos raciocinar e planejar para:

  • Confiabilidade do Sistema
  • Evolução
  • Reuso
  • Eficiência
  • Melhor Manutenção
  • Etc.

Vantagem de Estudar Arquitetura de Software

Entender os detalhes da arquitetura selecionada, favorecendo as melhores alternativas de design.

Problemas Causados pela Falta de Arquitetura

  • Baixo desempenho
  • Altos custos de manutenção
  • Dificuldade de evolução
  • Reuso limitado
  • Projetos ineficientes

O que é Arquitetura de Software?

  • Visão
...
Continue lendo "Arquitetura de Software: Conceitos, Princípios e Estilos Essenciais" »

Guia Completo de Redes: TCP/IP, Roteamento e Segurança

Computação19,29 KB

Modelo de Referência TCP/IP

  • 5 - Camada de Aplicação
  • 4 - Camada de Transporte
  • 3 - Camada de Rede
  • 2 - Camada de Enlace de Dados
  • 1 - Camada Física

Camada de Rede - Funções Principais

  • Prestar serviços à Camada de Transporte.
  • Estabelecer rotas da origem ao destino.
  • Selecionar rotas menos congestionadas.
  • Compatibilizar problemas de comunicação em rotas que atravessem redes diferentes.

Prestação de Serviços à Camada de Transporte

Devem ser independentes da tecnologia da sub-rede. Para a Camada de Transporte, não interessa o número, tipo e topologia das sub-redes utilizadas. Os endereços da rede devem ser uniformes.

Circuitos Virtuais – Características

  • Os roteadores devem lembrar para onde enviar os pacotes de cada circuito virtual aberto que
...
Continue lendo "Guia Completo de Redes: TCP/IP, Roteamento e Segurança" »

h2 Design de Bancos de Dados Relacionais e Normalização

Computação2,8 KB

Design de Bancos de Dados Relacionais

O primeiro passo para criar um banco de dados é planejar o tipo de informação a ser armazenada, tendo em conta dois aspectos: as informações disponíveis e as informações que precisamos. O planejamento da estrutura do banco de dados, incluindo tabelas, é vital para a gestão eficaz do mesmo. O design da estrutura de uma tabela é uma descrição de cada um dos campos que compõem o registro e os valores ou dados contendo cada um desses campos.

Os campos são os diferentes tipos de dados que compõem a tabela, por exemplo: nome, sobrenome, endereço. A definição de um campo requer: o nome do campo, tipo de campo, largura do campo, etc. Os registros fornecem as informações que devem constar nos...

Continue lendo "h2 Design de Bancos de Dados Relacionais e Normalização" »