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.