Análise e Desenvolvimento de Sistemas

Compartilhado por um usuário do Flashcards.gg · gerado com IA · Denunciar este conjunto

Conceitos fundamentais de análise e desenvolvimento de sistemas, cobrindo engenharia de requisitos, metodologias ágeis, modelagem e arquitetura de software para estudantes e profissionais da área.

52 cartões Português Nível: Ensino superior Programação Publicado
Toque no cartão para virar

Cartões · 52

Ciclo de Vida do Software (SDLC)
Estrutura que define as fases sequenciais ou iterativas pelas quais um software passa, da concepção ao descarte.
Engenharia de Requisitos
Processo de descobrir, analisar, documentar e validar os serviços e restrições exigidos para um sistema.
Requisito Funcional (RF)
Declaração dos serviços, comportamentos ou funções específicas que o software deve executar.
Requisito Não Funcional (RNF)
Critério que restringe a operação do sistema, como desempenho, segurança, confiabilidade e usabilidade.
Regra de Negócio (RN)
Diretriz ou restrição corporativa do cliente que dita como os dados e processos devem operar no sistema.
Estudo de Viabilidade
Avaliação preliminar que determina se o projeto é viável técnica, operacional e economicamente.
Modelo Cascata (Waterfall)
Abordagem sequencial tradicional onde cada fase deve ser totalmente concluída antes do início da seguinte.
Metodologia Ágil
Abordagem iterativa e incremental que prioriza entregas frequentes, flexibilidade e colaboração contínua.
Scrum
Framework ágil estruturado em ciclos fixos (Sprints), papéis definidos e reuniões regulares para entrega de valor.
Sprint
Ciclo de tempo pré-determinado no Scrum (geralmente 1 a 4 semanas) no qual um incremento funcional é criado.
Product Backlog
Lista priorizada de todas as funcionalidades, melhorias e correções necessárias para o produto.
Sprint Backlog
Conjunto de itens selecionados do Product Backlog a serem entregues durante a Sprint atual.
Kanban
Método visual de gestão do fluxo de trabalho baseado em cartões, colunas e limitação de trabalho em progresso (WIP).
História de Usuário (User Story)
Descrição simples e concisa de uma necessidade sob a perspectiva do usuário final, focando no benefício.
UML (Unified Modeling Language)
Linguagem padrão de modelagem visual usada para especificar, visualizar, construir e documentar artefatos de software.
Diagrama de Casos de Uso
Diagrama UML comportamental que ilustra as interações entre os atores externos e as funções do sistema.
Diagrama de Classes
Diagrama UML estrutural que descreve a estrutura de classes, atributos, operações e relacionamentos do sistema.
Diagrama de Sequência
Diagrama comportamental que modela a troca de mensagens e a ordem temporal entre objetos ao longo do tempo.
Diagrama de Atividades
Diagrama comportamental que mapeia o fluxo de controle de etapas ou operações em um processo de negócio.
Programação Orientada a Objetos (POO)
Paradigma baseado no conceito de objetos que combinam estado (dados) e comportamento (métodos).
Classe
Molde ou estrutura conceitual que define atributos e métodos compartilhados por objetos do mesmo tipo.
Objeto
Instância concreta de uma classe que mantém valores próprios em seus atributos e executa métodos.
Encapsulamento
Prática de ocultar os detalhes internos do estado de um objeto, expondo apenas métodos de acesso controlados.
Herança
Mecanismo que permite a uma classe derivada herdar propriedades e comportamentos de uma classe base.
Polimorfismo
Capacidade de objetos de diferentes classes responderem à mesma mensagem de formas específicas distintas.
Abstração
Foco nas características essenciais de uma entidade do domínio, ocultando complexidades irrelevantes.
Princípios SOLID
Conjunto de cinco diretrizes de design em POO focadas em manter o código modular, legível e extensível.
Padrões de Projeto (Design Patterns)
Soluções típicas e reutilizáveis para problemas recorrentes no design de arquitetura de software.
Padrão Singleton
Padrão criacional que garante que uma classe tenha apenas uma única instância durante toda a execução.
Padrão Factory Method
Padrão criacional que fornece uma interface para criar objetos em uma superclasse, deixando subclasses decidirem o tipo.
Padrão Observer
Padrão comportamental que notifica automaticamente múltiplos objetos dependentes sobre mudanças em outro objeto.
Padrão MVC (Model-View-Controller)
Padrão arquitetural que divide a aplicação em dados e regras (Model), interface (View) e controle (Controller).
Microsserviços
Abordagem arquitetural que estrutura o sistema como um conjunto de pequenos serviços independentes e modulares.
Monolito
Arquitetura onde todos os módulos e funcionalidades do software residem e são implantados como uma única unidade.
API (Interface de Programação de Aplicação)
Conjunto de regras e protocolos que define como dois componentes de software se comunicam.
API RESTful
API que segue as restrições arquiteturais REST, utilizando métodos HTTP e representações sem estado (como JSON).
Banco de Dados Relacional (SGBD-R)
Sistema que armazena dados estruturados em tabelas compostas por linhas e colunas relacionadas entre si.
Chave Primária (Primary Key)
Coluna ou conjunto de colunas cujos valores identificam de forma única cada registro em uma tabela relacional.
Chave Estrangeira (Foreign Key)
Campo em uma tabela que aponta para a chave primária de outra tabela, garantindo a integridade referencial.
Normalização de Dados
Processo de organização das tabelas para eliminar redundâncias e evitar anomalias de inserção, edição ou exclusão.
Banco de Dados Não Relacional (NoSQL)
Sistema de armazenamento projetado para dados não estruturados ou semiestruturados, com alta escalabilidade horizontal.
ORM (Mapeamento Objeto-Relacional)
Técnica que converte dados entre sistemas de tipos incompatíveis usando linguagens orientadas a objetos e SQL.
Controle de Versão (Git)
Sistema distribuído que registra o histórico de alterações no código-fonte e facilita a colaboração.
Branch
Linha paralela e independente de desenvolvimento no Git usada para criar novas funcionalidades sem afetar o código principal.
Pull Request (Merge Request)
Mecanismo para propor e revisar alterações de código de um branch antes de integrá-las à ramificação principal.
Teste Unitário
Verificação automatizada do menor pedaço testável de código (como uma função ou método) isolado do resto.
Teste de Integração
Verificação de como diferentes módulos ou serviços externos interagem e funcionam juntos corretamente.
Teste de Regressão
Execução de testes anteriores para garantir que novas alterações não quebraram funcionalidades existentes.
TDD (Test-Driven Development)
Prática onde os testes são escritos antes do código de produção, orientando a implementação e o refatoramento.
CI/CD (Integração e Entrega Contínuas)
Automação da compilação, testes e publicação do software de forma rápida, frequente e confiável.
Refatoração de Código
Modificação na estrutura interna do código para torná-lo mais limpo e manutenível, sem alterar seu comportamento externo.
Dívida Técnica (Technical Debt)
Custo futuro implícito decorrente de escolhas técnicas rápidas e inadequadas em vez de soluções corretas e sustentáveis.

Conjuntos relacionados

Mais em Programação →