Principais Jargões

1. Levantamento de Requisitos

  • Fundamentos e Importância:
    Os documentos iniciais apresentam a importância de levantar os requisitos para o desenvolvimento de software, garantindo que as necessidades dos usuários e do negócio sejam capturadas de forma clara.
  • Requisitos Funcionais vs. Não Funcionais:
    São abordadas as diferenças entre requisitos que definem “o que” o sistema deve fazer (funcionais) e aqueles que especificam “como” o sistema deve se comportar (não funcionais).
  • Gestão de Mudanças:
    São apresentadas estratégias para identificar, avaliar e mitigar os riscos decorrentes de alterações nos requisitos, além de práticas para comunicação efetiva entre stakeholders.

2. Testes de Software e Testes Funcionais

  • Objetivos dos Testes:
    Os PDFs dedicados aos testes enfatizam que os testes funcionais têm o papel de validar se o software cumpre os requisitos estabelecidos, enquanto os testes não funcionais avaliam aspectos como desempenho, segurança, usabilidade e confiabilidade.
  • Metodologias e Ferramentas:
    São comparadas abordagens tradicionais (modelo cascata) e ágeis (sprints, integração contínua) e destacadas ferramentas para automação e gestão de testes, como Selenium, JUnit, Jenkins, entre outras.
  • Processo de Teste:
    O ciclo de testes inclui planejamento, preparação do ambiente, execução, registro de defeitos e elaboração de relatórios, com ênfase na importância dos testes de regressão para assegurar que novas alterações não prejudiquem funcionalidades já consolidadas.

3. Técnicas de Elicitação de Requisitos

  • Técnicas Avançadas:
    São exploradas técnicas para coletar requisitos de forma eficaz, como entrevistas, questionários, workshops e sessões de brainstorming, que ajudam na modelagem e prototipagem dos requisitos.
  • Análise de Stakeholders:
    Aborda o processo de identificar, envolver e analisar as expectativas de todos os envolvidos no projeto, garantindo que os requisitos coletados sejam completos e alinhados às necessidades do negócio.
  • Comunicação e Colaboração:
    Destaca a importância da comunicação clara, da escuta ativa e do uso de ferramentas visuais para facilitar o entendimento e a resolução de conflitos durante a elicitação.

4. Modelagem de Dados Relacional

  • Conceitos Básicos:
    Os documentos sobre modelagem de dados explicam os fundamentos dos bancos de dados relacionais, incluindo a definição de entidades (objetos ou conceitos do mundo real) e atributos (propriedades que descrevem as entidades).
  • Relacionamentos e Integridade:
    São detalhados os tipos de relacionamentos (um-para-um, um-para-muitos e muitos-para-muitos) e a importância das chaves primárias e estrangeiras para manter a integridade referencial entre as tabelas.
  • Normalização e Desnormalização:
    A normalização é apresentada como método para minimizar redundâncias e dependências, enquanto a desnormalização é discutida como uma técnica para melhorar o desempenho das consultas em situações específicas.
  • Técnicas Avançadas e Tendências:
    São abordadas também técnicas de indexação e adaptações para modelagem de dados em ambientes de Big Data, evidenciando a evolução e as demandas modernas dos sistemas de banco de dados.

Considerações Finais

Esses PDFs formam uma base abrangente para o desenvolvimento de sistemas, abrangendo desde a coleta e gestão dos requisitos até a validação através de testes e a correta modelagem dos dados que suportam o sistema. Cada conjunto de documentos foca em uma etapa crucial do ciclo de vida do software, enfatizando metodologias ágeis e práticas modernas que garantem a qualidade, a eficiência e a adaptabilidade dos projetos de desenvolvimento.

Este resumo integra os conceitos e técnicas apresentados, servindo como um guia geral sobre os fundamentos do levantamento de requisitos, testes de software, técnicas de elicitação e modelagem de dados relacionais.

Jargões

  • Requisitos Funcionais:
    Especificam as funcionalidades que o sistema deve oferecer – o “o que” o software deve fazer.
  • Requisitos Não Funcionais:
    Definem os atributos de qualidade do sistema, como desempenho, segurança, usabilidade e confiabilidade – o “como” o sistema deve se comportar.
  • Stakeholders:
    Todas as partes interessadas no projeto, como clientes, usuários, desenvolvedores e gestores, que têm influência ou são impactados pelo sistema.
  • Elicitação de Requisitos:
    Processo de coleta, análise e validação das necessidades e expectativas dos stakeholders para definir os requisitos do sistema.
  • Modelagem e Prototipagem:
    Técnicas utilizadas para criar representações visuais ou funcionais do sistema (por meio de diagramas, wireframes ou protótipos) antes de sua implementação.
  • Workshops de Requisitos:
    Sessões colaborativas com os stakeholders para discutir, definir e priorizar os requisitos do projeto.
  • Brainstorming:
    Técnica de geração de ideias de forma colaborativa para identificar possíveis requisitos e soluções.
  • CI/CD (Integração Contínua/Entrega Contínua):
    Práticas que permitem testar, integrar e entregar alterações de forma automatizada e contínua, facilitando a manutenção e a evolução do software.
  • Testes Funcionais:
    Conjunto de testes que verificam se as funcionalidades do sistema estão de acordo com os requisitos estabelecidos.
  • Testes Não Funcionais:
    Avaliam aspectos como desempenho, segurança, usabilidade e confiabilidade, que não estão diretamente relacionados às funcionalidades.
  • Testes de Regressão:
    Testes repetidos após alterações no sistema para garantir que funcionalidades já implementadas não foram comprometidas.
  • Automação de Testes:
    Uso de ferramentas (como Selenium, JUnit, Jenkins) para executar testes de forma automática, aumentando a eficiência e a repetibilidade do processo.
  • Modelagem de Dados Relacional:
    Técnica para estruturar bancos de dados relacionais por meio da definição de entidades, atributos e relacionamentos, garantindo integridade e eficiência no armazenamento.
  • Entidades e Atributos:
    • Entidades: Representam objetos ou conceitos do mundo real (ex.: Estudante, Curso).
    • Atributos: São as características ou propriedades que descrevem as entidades (ex.: Nome, Data de Nascimento).
  • Chaves Primárias e Estrangeiras:
    • Chave Primária: Atributo único que identifica cada registro de uma tabela.
    • Chave Estrangeira: Atributo que cria uma ligação entre duas tabelas, referenciando a chave primária de outra.
  • Normalização e Desnormalização:
    • Normalização: Processo de organizar dados para minimizar redundâncias e dependências indesejadas.
    • Desnormalização: Técnica que reintroduz redundância de forma controlada para melhorar o desempenho das consultas.
  • Indexação:
    Criação de índices nas tabelas para acelerar a busca e recuperação de dados.
  • MER/DER (Modelo/Diagrama Entidade-Relacionamento):
    Representações gráficas que ilustram as entidades, os atributos e os relacionamentos em um banco de dados.
  • Big Data:
    Termo que se refere ao tratamento e análise de grandes volumes de dados, muitas vezes exigindo tecnologias e modelos de dados adaptados às altas escalas.

Esses termos formam a base da terminologia utilizada nos processos de levantamento de requisitos, testes de software e modelagem de dados, fundamentais para o desenvolvimento de sistemas robustos e eficientes.

Estrangeirismos e seus significados

Stakeholders:
Partes interessadas no projeto (ex.: clientes, usuários, equipe técnica) que têm impacto ou são impactados pelo produto.

CI/CD (Continuous Integration/Continuous Delivery):
Práticas de Integração Contínua e Entrega Contínua que automatizam a compilação, testes e implantação de software, permitindo entregas frequentes e seguras.

Scrum:
Metodologia ágil de gerenciamento de projetos, focada em ciclos curtos de desenvolvimento (sprints) e colaboração intensa entre os membros da equipe.

Kanban:
Método ágil que utiliza cartões e quadros visuais para gerenciar e otimizar o fluxo de trabalho, permitindo a visualização e controle das tarefas em andamento.

Brainstorming:
Técnica de geração de ideias em grupo, onde os participantes contribuem livremente com sugestões para solucionar problemas ou definir requisitos.

Workshop:
Sessão colaborativa e prática, geralmente realizada com stakeholders, para discutir, definir e priorizar requisitos ou soluções.

Selenium:
Ferramenta de automação utilizada para testar aplicações web, simulando interações de usuários em navegadores.

JUnit:
Framework para testes unitários em aplicações Java, ajudando a validar a funcionalidade de pequenas partes do código.

Jenkins:
Ferramenta de automação para integração contínua, que permite executar testes e implantar software automaticamente após alterações no código.

Big Data:
Conjunto de dados de grande volume, variedade e velocidade, que exige tecnologias e abordagens específicas para armazenamento, processamento e análise.

MER (Modelo de Entidade-Relacionamento):
Representação gráfica dos dados (entidades, atributos e relacionamentos) utilizada para estruturar bancos de dados relacionais.

DER (Diagrama de Entidade-Relacionamento):
Diagrama que ilustra as entidades de um sistema, seus atributos e como estão inter-relacionadas, auxiliando no design do banco de dados.

Feedback:
Retorno de informações, críticas ou avaliações que ajudam a ajustar e melhorar processos ou produtos.

Prototype (Prototipagem):
Criação de um modelo inicial (wireframe, mockup ou versão funcional simplificada) do sistema, usado para testar conceitos e obter feedback dos usuários.

Regression Testing (Testes de Regressão):
Conjunto de testes realizados após alterações no sistema para garantir que funcionalidades já implementadas não foram afetadas negativamente.

Normalization (Normalização):
Processo de organização dos dados em um banco de dados para reduzir redundâncias e garantir a integridade dos dados.

Desnormalization (Desnormalização):
Técnica que reintroduz redundância de forma controlada para melhorar a performance de consultas em determinadas situações.