Fundamentos de Engenharia de Software
Conceitos fundamentais de engenharia de software e programação para iniciantes. Explicações simples e sem jargões em português.
Cartões · 52
- Software
- Conjunto de instruções e dados que dizem ao computador o que fazer, como aplicativos e sistemas operacionais.
- Hardware
- A parte física do computador que você pode tocar, como teclado, memória, processador e monitor.
- Código-fonte
- O texto com comandos escrito por programadores em uma linguagem que humanos conseguem ler e editar.
- Algoritmo
- Uma sequência passo a passo de instruções lógicas para resolver um problema ou executar uma tarefa.
- Linguagem de Programação
- O vocabulário e conjunto de regras gramaticais usados para dar instruções ao computador, como Python ou JavaScript.
- Compilador
- Programa que traduz todo o código escrito por humanos para linguagem de máquina de uma só vez antes de executá-lo.
- Interpretador
- Programa que lê e executa o código-fonte linha por linha em tempo real, sem gerar um arquivo executável prévio.
- Bug
- Um erro, falha ou comportamento inesperado no programa que o impede de funcionar corretamente.
- Debugar (Depurar)
- O processo metódico de procurar, analisar e corrigir erros encontrados no código de um programa.
- Variável
- Um espaço com nome na memória do computador usado para guardar informações que podem mudar durante a execução.
- Constante
- Um valor guardado na memória que não pode ser modificado após ser definido pela primeira vez.
- Função
- Um bloco de código reutilizável que executa uma tarefa específica e pode receber dados e devolver uma resposta.
- Parâmetro
- O dado de entrada que você envia para uma função trabalhar e processar seu resultado.
- Estrutura de Decisão (If/Else)
- Comando que permite ao programa escolher caminhos diferentes dependendo se uma condição é verdadeira ou falsa.
- Laço de Repetição (Loop)
- Comando que repete um bloco de código várias vezes até que uma condição de parada seja atingida.
- Estrutura de Dados
- Uma forma organizada de guardar e gerenciar dados no computador para facilitar o acesso e a alteração.
- Array (ou Lista)
- Estrutura que armazena uma sequência ordenada de vários elementos sob um mesmo identificador.
- Dicionário (ou Objeto)
- Estrutura que armazena pares de chave e valor, permitindo buscar informações rapidamente pelo nome da chave.
- Banco de Dados
- Sistema digital especializado em salvar, organizar e recuperar grandes volumes de dados de forma persistente.
- SQL
- Linguagem padrão usada para fazer perguntas, cadastrar, atualizar e gerenciar dados em bancos relacionais.
- Front-end
- A parte visual do sistema com a qual o usuário interage diretamente, como botões, menus e layouts.
- Back-end
- A parte interna que roda no servidor, processando regras de negócio, cálculos e conexão com bancos de dados.
- Full Stack
- Termo para o profissional ou desenvolvimento que lida tanto com o front-end quanto com o back-end.
- API
- Ponte de comunicação que permite a programas diferentes conversarem e trocarem dados de maneira padronizada.
- Servidor
- Computador potente conectado à rede que entrega serviços, páginas ou dados para outros computadores clientes.
- Cliente
- Dispositivo ou programa, como seu navegador no celular, que solicita serviços e recursos a um servidor.
- HTTP/HTTPS
- Protocolo de regras que permite o envio e recebimento de informações na internet de forma estruturada e segura.
- Controle de Versão
- Sistema que registra o histórico de alterações no código ao longo do tempo para evitar perdas acidentais.
- Git
- A ferramenta de controle de versão mais famosa que ajuda desenvolvedores a rastrearem versões do código.
- GitHub
- Plataforma na nuvem para hospedar projetos Git e facilitar o trabalho em equipe e compartilhamento de código.
- Commit
- Um pacote que salva um conjunto de alterações feitas no código, acompanhado de uma mensagem explicativa.
- Branch (Ramo)
- Uma linha de desenvolvimento paralela criada para testar novas funcionalidades sem alterar o código principal.
- Merge
- Ação de juntar as alterações feitas em um branch paralelo de volta ao fluxo de código principal.
- Pull Request (PR)
- Pedido formal para que outros programadores revisem e aprovem seu código antes de mesclá-lo ao projeto.
- Code Review
- Prática em que colegas de equipe analisam o código uns dos outros para garantir qualidade e evitar erros.
- Ambiente de Desenvolvimento (IDE)
- Aplicativo que reúne editor de texto, ferramentas de automação e depurador para programar com facilidade.
- Framework
- Uma estrutura pré-pronta com regras e ferramentas que acelera a criação de programas sem reinventar a roda.
- Biblioteca (Library)
- Coleção de códigos prontos criados por outras pessoas que você pode importar para resolver tarefas comuns.
- Refatoração
- Reescrever partes internas do código para torná-lo mais limpo e legível sem mudar o que ele faz por fora.
- Teste Unitário
- Teste automatizado simples que avalia se a menor unidade do código, como uma função isolada, funciona bem.
- Deploy (Implantação)
- O processo de colocar o software no ar para que os usuários finais comecem a utilizá-lo na prática.
- Ambiente de Produção
- O local real onde o software está publicado e funcionando ao vivo nas mãos dos clientes reais.
- Ambiente de Testes (Staging)
- Cópia idêntica à produção usada pela equipe para testar novidades com segurança antes do lançamento real.
- Metodologia Ágil
- Abordagem de trabalho focada em entregas rápidas, melhorias contínuas e flexibilidade diante de mudanças.
- Scrum
- Método de organização de projetos ágeis dividido em ciclos curtos de trabalho chamados de sprints.
- Sprint
- Período com prazo fixo, normalmente de uma a quatro semanas, em que metas de código devem ser cumpridas.
- Kanban
- Quadro visual que organiza tarefas em colunas como 'A Fazer', 'Em Progresso' e 'Feito' para gerenciar fluxo.
- Débito Técnico
- Custo futuro acumulado ao escolher soluções rápidas e mal feitas hoje em vez de soluções bem planejadas.
- Open Source (Código Aberto)
- Software cujo código é tornado público para que qualquer pessoa possa visualizar, usar e colaborar.
- Computação em Nuvem
- Uso de servidores remotos alugados pela internet para rodar programas e armazenar dados sem ter máquinas locais.
- Documentação
- Manuais e guias escritos que explicam como o sistema funciona, como instalar e como usar seus recursos.
- Logs
- Histórico de registros detalhados gerados pelo sistema com eventos e alertas ocorridos durante o funcionamento.