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

UML: Modelagem de Software Orientada a Objetos

Computação4,58 KB

UML: É uma linguagem visual utilizada para modelar softwares baseados no paradigma de orientação a objetos. É uma linguagem de modelagem de propósito geral que pode ser aplicada a todos os domínios. (Ela não é uma linguagem de programação, e sim uma linguagem de modelagem, uma notação, cujo objetivo é auxiliar engenheiros de software a definirem as características do sistema).

Modelo de Software: Captura uma visão de um sistema físico, é uma abstração do sistema com um certo propósito, como descrever aspectos estruturais ou comportamentais do software.

Levantamento e Análise de Requisitos: As fases de um processo de desenvolvimento de software são: levantamento de requisitos, análise de requisitos, projeto, modelagem, codificação,...

Continue lendo "UML: Modelagem de Software Orientada a Objetos" »

Modelos, Processos e Ferramentas em Engenharia de Software

Computação8,11 KB

O Processo de Software

Um conjunto estruturado de atividades necessárias para o desenvolvimento de um sistema de software, incluindo:

  • Especificação
  • Projeto
  • Validação
  • Evolução

Modelos de Processo de Software

Modelo Cascata

Fases do Modelo Cascata:

  • Análise e Definição de Requisitos
  • Projeto de Sistema de Software
  • Implementação e Teste de Unidade
  • Integração e Teste de Sistema
  • Operação e Manutenção

Problemas do Modelo Cascata:

Praticamente inflexível, o projeto em estágios distintos dificulta a resposta aos requisitos em constante mudança do cliente.

Desenvolvimento Exploratório

O objetivo é trabalhar com os clientes e desenvolver um sistema final a partir de uma especificação inicial.

Prototipagem Throwaway

O objetivo é compreender os requisitos...

Continue lendo "Modelos, Processos e Ferramentas em Engenharia de Software" »

Práticas de Extreme Programming e Engenharia de Requisitos

Computação5,89 KB

1- Cite e explique brevemente duas práticas utilizadas em Extreme Programming

Planejamento Incremental:

Os requisitos são registrados em cartões de estória e as estórias que serão incluídas em um release são determinadas pelo tempo disponível e sua prioridade. Os desenvolvedores dividem essas estórias em tarefas.

Pequenos Releases:

Em primeiro lugar, desenvolve-se um conjunto mínimo de funcionalidades útil, que fornece valor ao negócio. Releases do sistema são frequentes e gradualmente adicionam funcionalidades ao primeiro release.

Projeto Simples:

Cada projeto é realizado para atender às necessidades atuais, e nada mais.

Desenvolvimento Test-First:

Um framework de testes iniciais automatizados é usado para escrever os testes para...

Continue lendo "Práticas de Extreme Programming e Engenharia de Requisitos" »

Guia Completo de Algoritmos de Machine Learning: KNN, SVM e K-means

Computação2,68 KB

O que é o KNN?

É um dos algoritmos de classificação clássicos e bem simples. Usado para classificar objetos com base em exemplos de treinamento que estão mais próximos no espaço de características.

Como o KNN funciona?

  1. Tenha um conjunto de exemplos de treinamento.
  2. Defina uma métrica para calcular a distância entre os exemplos de treinamento.
  3. Defina o valor de K (o número de vizinhos mais próximos que serão considerados pelo algoritmo).

Pontos Positivos e Negativos do KNN

Vantagens:

  • Técnica simples e facilmente implementada.
  • Bastante flexível.
  • Em alguns casos apresenta ótimos resultados.

Desvantagens:

  • Classificar um exemplo desconhecido pode ser um processo computacionalmente complexo. Requer um cálculo de distância para cada exemplo
...
Continue lendo "Guia Completo de Algoritmos de Machine Learning: KNN, SVM e K-means" »

Perguntas e Respostas sobre RIP e EIGRP

Computação8,55 KB

Qual das seguintes é considerada uma limitação do RIP v1? RIP v1 não envia as informações de máscara em suas atualizações.

Quais são as três características do protocolo de roteamento RIPv1? (Escolha três.)

  • Usa a contagem de saltos como uma métrica.
  • Considera uma métrica de 16 como infinito.
  • Calcula as métricas utilizando o algoritmo de Bellman-Ford.

Qual é o período de atualização padrão, em segundos, para o protocolo de roteamento RIP?

30

Qual dos seguintes é encontrado nas atualizações de roteamento de protocolos de roteamento sem classes? (Escolha dois.)

  • Endereço de 32 bits.
  • Máscara de sub-rede.

Como a VLSM ajuda a aliviar?

A escassez de endereços IP.

Qual dos seguintes tipos de rotas são indicadas por entradas EX na tabela...

Continue lendo "Perguntas e Respostas sobre RIP e EIGRP" »

Guia Essencial de Expressões Regulares (RegEx)

Computação6,61 KB

O que são Expressões Regulares?

  • Uma expressão regular é uma sequência de caracteres que são interpretados por um algoritmo para identificar palavras, cruzar padrões e manipular texto.
  • As expressões regulares permitem: Extrair, editar, substituir e excluir palavras em uma frase. Adicionar partes de texto em uma coleção para geração de relatórios.
  • São muito utilizadas em aplicações .NET, Java, Python, Perl, PHP, JavaScript, e muitas outras linguagens de programação.

Por que Estudar Expressões Regulares?

  • Computadores são muito bons para se trabalhar com estrutura de dados, mas ainda têm dificuldades de entender textos tão bem como as pessoas. Expressões Regulares buscam entender padrões em textos para que possamos identificar
...
Continue lendo "Guia Essencial de Expressões Regulares (RegEx)" »

Configuração Essencial de Serviços e Administração Linux

Computação4,1 KB

Gestão de Acesso Root

A conta root (superusuário) é essencial para tarefas de administração e instalação que requerem privilégios elevados. Por questões de segurança, ela deve ser mantida desabilitada, a menos que seja estritamente necessária.

  • Mudar Senha do Root: sudo passwd root
  • Ativar Root: su root
  • Desabilitar Root: sudo passwd -l root

Configuração de Interfaces de Rede (Host-Only)

Para garantir a conectividade com os servidores/clientes que vamos instalar, configuramos a interface de rede eth1 como estática (Host-Only Network Interface).

Configuração Exemplo:

# the Host-Only Network Interface
auto eth1
iface eth1 inet static
address 192.168.56.115
netmask 255.255.255.0

SSH (Secure Shell)

O SSH é uma ferramenta que facilita a vida...

Continue lendo "Configuração Essencial de Serviços e Administração Linux" »

Arquitetura de Sistemas Distribuídos e Comunicação via Sockets

Computação4,5 KB

Camadas em Aplicações

Existem 3 camadas:

  • Camada de apresentação (desktop, conexão TCP/IP);
  • Camada de negócio (ou de aplicação) - conexão com banco de dados;
  • Camada de acesso aos dados - servidor de dados.

Aplicação com 3 camadas:

  • Ajuda a melhor distribuir os componentes de uma aplicação e reduz problemas de manutenção.

Problemas na arquitetura 3 camadas:

  • Instalar a aplicação inicial nos desktops clientes;
  • Dificuldade de instalar software em desktops fora do controle administrativo.

Solução:

  • Adotar o browser como cliente universal;
  • Dividir a camada de aplicação em duas: aplicação e web.

Arquitetura com Múltiplas Camadas

  • Camada de apresentação;
  • Camada Web;
  • Camada de Aplicação;
  • Camada de Dados.

Plataforma Robusta

  • Acessada de qualquer
...
Continue lendo "Arquitetura de Sistemas Distribuídos e Comunicação via Sockets" »

Fundamentos de Clusters, Sistemas de Arquivos, DNS e RAID

Computação8,62 KB

Clusters

São dois ou mais computadores que se relacionam entre si, trabalhando conjuntamente para realizar uma tarefa. Eles executam o trabalho de maneira simultânea, porém precisam ter o mesmo Sistema Operacional.

Sistemas de Arquivos

É a organização de dados que é feita nos HDs e através do Sistema Operacional é possível decodificar, ler ou gravar estes dados. É fornecida uma interface capaz de manipular os dados sem conhecer os detalhes de implementação.

O Setor 0 do disco é usado para fazer boot.

Os sistemas de arquivos mais utilizados no Windows são: FAT32 e NTFS. No Linux, são Ext3 e Ext4.

NTFS

O NTFS possui capacidade de recuperar erros de disco automaticamente e oferece mais segurança, pois permite usar permissões e criptografia...

Continue lendo "Fundamentos de Clusters, Sistemas de Arquivos, DNS e RAID" »

Modelos de Processo de Software: Comparativo e Abordagens Híbridas

Computação21,23 KB

Modelos de Processo de Software: Definição

Os Modelos de Processo (ou paradigmas) definem a estrutura do processo de desenvolvimento de software (SW), em detrimento dos detalhes das atividades específicas. Eles são utilizados para explicar diferentes abordagens para o desenvolvimento de SW.

  • Não existe apenas um processo de software que possa ser utilizado.
  • Um mesmo sistema pode utilizar diferentes abordagens para o seu desenvolvimento.

Modelo Cascata (Waterfall)

Características do Modelo Cascata

  • Uma fase só se inicia após o término da anterior.
  • O marco para o final da fase normalmente envolve a aprovação de documentos.
  • Na prática, as fases se sobrepõem: o projeto revela problemas de requisitos; a codificação revela problemas de projeto.
...
Continue lendo "Modelos de Processo de Software: Comparativo e Abordagens Híbridas" »