Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Planejamento de um Projeto e BDD

Olá, Eu fiz esse curso TDD porque tinha ouvido falar de TDD e BDD. Nas breves pesquisas que fiz, me pareceu uma prática muito vantajosa e difundida. E realmente, de cara, ter feito o curso já me abriu horizontes num projeto pessoal que comecei há alguns dias.

Mas queria uma orientação para planejar esse meu projeto.

  • Existe alguma maneira sistematica / convencional de representar os requisitos e casos de uso do sistema? Isto é, da fazer um rascunho que possa ser entregue pra desenvolviemnto?
  • Há uma plataforma / ferramenta que auxilie nessa fase de planejamento? Seria util para uma "equipe" de 01 pessoa? hehe

No BDD parece que tem uma técnica de historias, que os casos de teste são definidos como uma narrativa do uso do sistema. A principio parece facil fazer isso, posso só pegar um papel / documento e ir listando tdo, transformar em testes e desenvolver, mas gostaria de aprender boas práticas desde o começo.

Enfim, queria algum direcionamento nesse sentido de como lidar com o projeto como um todo.

2 respostas
solução!

Olá Pedro!

Realmente, o planejamento é super importante para o desenvolvimento de um software. Muitas pessoas simplesmente o "pulam" e saem correndo implementando funções e métodos, para depois se verem perdidas em uma grande bagunça.

Sim, existem várias formas de representar os requisitos e casos de uso do sistema, a mais profissional é através da UML (Unified Modeling Language - Saiba mais aqui). É justamente isso que é ensinado na faculdade de Engenharia de Software (todas as aulas do curso estão no YouTube, recomendo em especial a Aula 12).

Sobre ferramentas, você está certo: Sempre é interessante começar fazendo um rascunho à mão, listando casos de uso e requisitos, para a partir deles fazer diagramas de projeto mais elaborados. Um Engenheiro de Software deve fazer um projeto de software tão bem quanto um Engenheiro Civil projeta um prédio.

Existem sites e aplicativos que permitem desenhar os diagramas UML online, como draw.io (Gratuito), Lucidchart (Grátis para testar), Visual Paradigm (Pago) e StarUML (OpenSource), etc.

Cada linguagem tem sua própria ferramenta para gerar os diagramas UML a partir de código que você já tem. Em Python, dentro do pacote pylint tem a ferramenta pyreverse. Aqui tem um tutorial de como usá-la.

Finalmente, para ir acompanhando a execução do projeto, muitas empresas utilizam o site Jira. Aqui na Alura, os Alura Challenges são baseados no Trello

Espero ter ajudado ;)

Ei Erick, muito obrigado pela resposta. Pois é, tinha começado a perceber que o que eu estava procurando tinha a ver com a area de engenharia de software (depois que vc pensa parece obvio, mas quando vc nao sabe não é hehe), mas estava descobrindo as coisas de forma muito esparsa. Os links e referencias foram muito esclarecedores!