Análise e Desenvolvimento de Sistemas
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.
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.