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

Engenharia de Software: Conceitos, Processos e Modelos

Computação9,98 KB

O que é Software?

É um produto que profissionais de software desenvolvem e ao qual dão suporte ao **longo** do prazo.

Definição de Software

Software consiste em:

  • Instruções que, quando executadas, fornecem características, funções e desempenho desejados;
  • Estruturas de dados que possibilitam aos programas manipular informações adequadamente;
  • Informações descritivas, tanto na forma impressa como na virtual, descrevendo a operação e o uso dos programas.

3 Princípios Básicos do Software

  1. Software desenvolvido sempre passa por um processo de engenharia;
  2. Software não se desgasta;
  3. Embora os softwares sejam construídos com base em componentes, a maioria continua sendo construída de forma personalizada (sob encomenda).

O que é Engenharia de

...
Continue lendo "Engenharia de Software: Conceitos, Processos e Modelos" »

Tipos de Diagramas UML: Estruturais e Comportamentais

Computação3,38 KB

A UML (Unified Modeling Language) oferece diversos diagramas para modelar sistemas de software, divididos em categorias estruturais e comportamentais. Abaixo, apresentamos os principais tipos e suas características:

Diagrama de Caso de Uso (Comportamental – Lógica)

  • Mais geral e informal, usado nas fases de levantamento e análise.
  • É consultado durante todo o processo de modelagem.
  • Serve de base para os demais diagramas.
  • O usuário obtém uma ideia geral do sistema, suas funcionalidades e serviços possíveis.

Diagrama de Classes (Estrutural – Física)

  • O diagrama mais usado e importante.
  • Serve de apoio para a maioria dos diagramas.
  • Determina atributos e métodos.
  • Mostra como as classes se relacionam e trocam informações.

Diagrama de Objetos (Estrutural

...
Continue lendo "Tipos de Diagramas UML: Estruturais e Comportamentais" »

Fundamentos de Microprocessadores e Componentes de Hardware

Computação5,14 KB

O Microprocessador: O Cérebro do Computador

O microprocessador é um circuito integrado essencial para o cálculo e a tomada de decisão, sendo considerado o cérebro do computador inteligente.

Ele incorpora as funções da CPU (Unidade Central de Processamento) em um único circuito integrado. É multifuncional e programável, recebendo dados digitais como entrada, processando instruções armazenadas em sua memória e gerando resultados como saída. Opera fundamentalmente com números e símbolos binários.

Software e Hardware

Software são as instruções escritas e interpretadas por um computador para executar tarefas específicas. É a parte lógica cuja função é fornecer instruções para o hardware.

Terminologia de Processamento

  • Single
...
Continue lendo "Fundamentos de Microprocessadores e Componentes de Hardware" »

Redes P2P, HTTP, UDP e Cache Web

Computação3,14 KB

Requisição e Busca de Interesse *Peer-to-Peer*

Para localizar um determinado arquivo de interesse, um usuário deve fazer uma consulta ao servidor de diretório centralizado. Isso porque todo usuário do sistema, ao entrar na rede peer-to-peer, deve informar ao servidor seu endereço IP atual e a lista de conteúdo que está disponibilizando. Assim, o servidor sabe quais usuários disponibilizam um dado arquivo e retorna o endereço de um desses usuários para aquele que iniciou a busca. De posse desse endereço, é possível solicitar diretamente o arquivo para o usuário que o disponibiliza, sem que a comunicação passe pelo servidor.

A confiabilidade desta aplicação é fortemente baseada na operação do servidor, que é um ponto único

...
Continue lendo "Redes P2P, HTTP, UDP e Cache Web" »

Redes de Computadores: Conceitos Essenciais

Computação3,72 KB

Comutação de Circuitos x Comutação de Pacotes

Na comutação de circuitos, antes do envio dos dados, é necessário estabelecer uma conexão. Através do envio de pacotes de sinalização, recursos são reservados e, assim, constrói-se um canal dedicado para a comunicação. Uma vez estabelecido o canal, a comunicação de dados é efetuada sem risco de congestionamento e sem a necessidade de armazenar e reencaminhar os dados a cada elemento intermediário no caminho entre origem e destino. Dessa forma, os dados da conexão seguem o mesmo caminho.

Por outro lado, na comutação de pacotes, cada fluxo de dados fim-a-fim é dividido em pacotes e não é necessário estabelecer previamente uma conexão. Assim, não há reserva de recursos e

...

Continue lendo "Redes de Computadores: Conceitos Essenciais" »

Protocolos e Serviços de Transporte: TCP, UDP e RDT

Computação3,94 KB

Protocolos e Serviços de Transporte

Fornecem comunicação lógica entre processos de aplicação em diferentes hospedeiros.

Os protocolos de transporte são executados nos sistemas finais:

  • Lado emissor: quebra mensagens da aplicação em segmentos e envia para a camada de rede.
  • Lado receptor: remonta os segmentos em mensagens e passa para a camada de aplicação.

Camada de Transporte vs. Camada de Rede

  • Camada de Transporte: Comunicação lógica entre os processos; depende dos serviços da camada de rede (para garantir a entrega).
  • Camada de Rede: Comunicação lógica entre os hospedeiros.

Protocolos Principais

  • TCP (Transmission Control Protocol): Confiável, garante ordem de entrega (inclui controle de congestionamento, controle de fluxo e é orientado
...
Continue lendo "Protocolos e Serviços de Transporte: TCP, UDP e RDT" »

Processos PMBOK: Cronograma, RH e Custos

Computação6,38 KB

Gerenciamento do Cronograma do Projeto

6.1 Plan Schedule Management (Planejar o Gerenciamento do Cronograma)
Estabelecer políticas, procedimentos e documentação para planejamento, desenvolvimento, gerenciamento, execução e controle do cronograma do projeto.

6.2 Define Activities (Definir as Atividades)
Identificar e documentar ações específicas a serem realizadas para gerar as entregas do projeto.

6.3 Sequence Activities (Sequenciar as Atividades)
Identificar e documentar relacionamentos entre as atividades do projeto.

6.4 Estimate Activity Resources (Estimar os Recursos das Atividades)
Estimar o tipo e quantidades de material, pessoas, equipamentos e suprimentos necessários para cada atividade.

6.5 Estimate Activity Durations (Estimar

...
Continue lendo "Processos PMBOK: Cronograma, RH e Custos" »

Guia de Governança de TI e Fundamentos do COBIT

Computação4,76 KB

Fundamentos do COBIT e Governança de TI

Governança de TI: É uma estrutura de relacionamentos e processos para dirigir, controlar e alcançar as metas da organização pela adição de valor, enquanto existe equilíbrio entre risco e retorno sobre processos de TI.

Objetivos de Negócio

A informação deve seguir critérios definidos pelo COBIT como requisitos do negócio para a organização.

Modelos de Referência:

  • Requisitos de qualidade: Qualidade, custo e entrega;
  • Requisitos de confiança: Eficácia e eficiência nas operações, conformidade com leis, regulamentos e confiabilidade da informação;
  • Requisitos de segurança: Disponibilidade, integridade e confidencialidade.

Governança Corporativa

Focada nos objetivos do negócio e na redução...

Continue lendo "Guia de Governança de TI e Fundamentos do COBIT" »

Fundamentos da Arquitetura de Computadores e Memória

Computação3,94 KB

Hierarquia de Memória e Armazenamento

A solução tradicional para armazenar grandes quantidades de dados é uma hierarquia de memória. No topo, estão os Registradores da CPU, que podem ser acessados à velocidade do processador. Em seguida, vem a Memória Cache, que atualmente está na faixa de 32 KB a alguns MB. A Memória Principal (RAM) vem logo após, hoje com tamanhos que vão de 16 MB para sistemas básicos até dezenas de gigabytes na extremidade mais alta.

Os dispositivos de armazenamento permanente incluem:

  • Discos Magnéticos: Atuais dispositivos de armazenamento permanente.
  • Fitas Magnéticas e Discos Óticos: Utilizados para armazenagem de arquivos.

Tipos de Memória RAM: SRAM e DRAM

Memórias Estáticas (SRAM)

As Memórias Estáticas

...
Continue lendo "Fundamentos da Arquitetura de Computadores e Memória" »

h2 Shell Script: Guia Completo e Exemplos Práticos

Computação3,03 KB

Teste

Podemos associar a estrutura de decisão com as opções do comando test:

OPERAÇÕES COM STRING:

  • -n string: se o comprimento da string é maior que zero
  • -z string: se o comprimento da string é igual a zero

OPERAÇÕES COM INTEIROS:

  • n1 -eq n2: igual
  • n1 -gt n2: maior
  • n1 -lt n2: menor
  • n1 -le n2: menor ou igual
  • n1 -ge n2: maior ou igual

Shell Script

Shell é uma interface textual que interpreta os comandos existentes em um sistema operacional e os envia ao kernel, imprimindo posteriormente o resultado do processamento na tela. Embora haja ferramentas GUI disponíveis para gerenciar praticamente tudo em um sistema GNU/Linux, é importante ter conhecimento sólido sobre utilitários de linha de comando para se preparar melhor para trabalhar com qualquer...

Continue lendo "h2 Shell Script: Guia Completo e Exemplos Práticos" »