A seguir, vamos ver como fica isso em um exemplo simples. Processo de Checkout (Pagamento no “Caixa”) de um Comércio Eletrônico Cenário: Colocação Bem-sucedida do Pedido Ver conteúdo
Ele promove uma abordagem colaborativa para o desenvolvimento de software, no qual desenvolvedores, testadores e representantes de negócios trabalham juntos para definir e validar o comportamento do sistema. Ver conteúdo
O ciclo BDD passa pela escrita de um cenário de validação, automatizado, para, em seguida, a criação dos testes de unidade, fazer o teste passar e por fim refatorar. Ver conteúdo
O BDD gira em torno do conceito de "comportamento" e usa linguagem estruturada, como Gherkin, (leia o conteúdo no início desse texto para você aprender e para descrever o comportamento esperado do sistema, de forma que possa ser entendido por partes interessadas técnicas e não técnicas). Ver conteúdo
Ele se concentra em definir os comportamentos e os resultados desejados de um sistema de software por meio do uso de cenários escritos em linguagem natural. Ver conteúdo
Desenvolvimento Orientado ao Comportamento (BDD) É uma metodologia de desenvolvimento de software que enfatiza a colaboração, a comunicação e um entendimento compartilhado entre as partes interessadas, incluindo desenvolvedores, testadores e representantes de negócios. Ver conteúdo
Os Cartões CRC servem como referência durante as fases de projeto e implementação, garantindo entendimento claro das classes e suas interações dentro da solução de software. Ver conteúdo
A técnica estimula a participação ativa, promove a discussão e o compartilhamento de conhecimento e fornece uma representação visual da estrutura do sistema. Ver conteúdo
Colaborações: • Colabora com a classe Livro, para empréstimos e devolução de livros; • Colabora com a classe Biblioteca, para recuperar a disponibilidade do livro e atualizar o status do empréstimo. Ver conteúdo
Classe: Mutuário Responsabilidades: • Cadastrar as informações do mutuário (nome, contato etc.); • Lidar com empréstimos e devoluções de livros. Ver conteúdo
Colaborações: • Colabora com a classe livro, para atualizar a disponibilidade e recuperar informações do livro; • Colabora com a classe do mutuário, para lidar com o empréstimo e a devolução de livros. Ver conteúdo
Classe: Biblioteca Responsabilidades: • Gerenciar o acervo de livros; • Manter o status de disponibilidade dos livros; • Fornecer funcionalidades de pesquisa e recuperação. Ver conteúdo
Colaborações: • Colabora com a classe biblioteca, para atualizar o status de disponibilidade; • Colabora com a classe mutuário, para lidar com operações de devolução e empréstimo. Ver conteúdo
• Gerenciar o status de disponibilidade do livro; • Permitir devoluções e empréstimos de livros. Ver conteúdo
Classe: Livro Responsabilidades: • Armazenar informações sobre o livro (título, autor, data de publicação etc.); Ver conteúdo
A técnica é normalmente conduzida em um ambiente de grupo, em que os membros da equipe participam ativamente do brainstorming e da definição das classes. Ver conteúdo
Para construir isso, envolve a criação de cartões físicos ou digitais para representar classes em um sistema. Cada cartão contém o nome da classe, suas responsabilidades e suas colaborações com outras classes. Ver conteúdo
Promove o trabalho em equipe, incentiva a participação ativa e fornece uma representação visual da estrutura do sistema. Usuário: representa um usuário com atributos como nome de usuário, e-mail e senha; Ver conteúdo
Cartões de Classe–Responsabilidade–Colaboração (CRC) É uma técnica colaborativa usada em design de software orientado a objetos para identificar e definir classes, suas responsabilidades e suas colaborações dentro de um sistema. Ver conteúdo
O mapa de história do usuário permite que as equipes visualizem as relações e as dependências entre as classes, auxiliando no desenvolvimento de um modelo de classes coeso. Ver conteúdo
Analisando as histórias de usuários e identificando os substantivos, as classes que representam as entidades podem ser derivadas. Essas classes capturam os dados essenciais e o comportamento necessário para implementar a funcionalidade necessária. Ver conteúdo
Administrador: representa um administrador com privilégios para gerenciar contas de usuário e manipular relatórios; Relatório: representa um relatório enviado por usuários, contendo detalhes sobre o conteúdo ou o usuário denunciado. Ver conteúdo
Seguidor: representa a relação entre os usuários, indicando quem está seguindo quem; Perfil: representa o perfil de um usuário, contendo informações como biografia, foto do perfil e configurações; Ver conteúdo
Postagem: representa uma postagem criada por um usuário, incluindo atributos como conteúdo, carimbo de data/hora e curtidas/comentários; Comentário: representa um comentário feito por um usuário em uma postagem; Ver conteúdo
Modelo de Classe Extraído: Usuário: representa um usuário com atributos como nome de usuário, e-mail e senha; Ver conteúdo
Como usuário, quero seguir/deixar de seguir outros usuários para ver suas publicações no meu feed; Como usuário, quero visualizar meu perfil e atualizar minhas informações; Como administrador, desejo gerenciar contas de usuário e lidar com relatórios. Ver conteúdo
Plataforma de Mídia Social Histórias de Usuários Como usuário, quero criar um post e compartilhá-lo com meus seguidores; Ver conteúdo
Administrador: representa um administrador com privilégios para gerenciar o sistema; Inventário: gerencia o estoque de produtos, incluindo atributos como quantidade disponível e reabastecimento; Status do pedido: representa os diferentes estados ou status de um pedido. Ver conteúdo
Carrinho de compras: representa um carrinho de compras, que contém uma coleção de produtos; Pedido: representa um pedido feito por um cliente, incluindo detalhes como informações do cliente e status do pedido; Ver conteúdo