O Event Modeling (modelagem de eventos) é um conceito relacionado aos acontecimentos em um sistema de informação. Em outras palavras, consiste em uma forma de guardar registros de todos os eventos que ocorrem em um software, como as inserções de dados dos usuários.

Ao longo do tempo, a necessidade de explicar de maneira mais simples o funcionamento de sistemas aumentou. As classes, os métodos e os demais termos técnicos ainda têm a sua importância, mas, como falaremos adiante, a metodologia Event Modeling dá a eles uma relevância mais secundária. 

Continue a leitura para entender melhor sobre a aplicação da modelagem de eventos no desenvolvimento de software!

O que é a metodologia Event Modeling?

Além de usar eventos para descrever sistemas computacionais, o Event Modeling usa o fator tempo no cumprimento desse objetivo. Isso significa observar aspectos de maior peso em uma aplicação a longo prazo, de modo a organizar todos os eventos em uma sequência cronológica.

Projetos de grande porte podem se beneficiar bastante com a modelagem de eventos. Vale também destacar a sua relevância para promover o UX da aplicação, visto que o Event Modeling tem bastante foco na clareza e simplicidade na hora de apresentar aos usuários as funcionalidades de um sistema específico. Como falamos, detalhes técnicos e de curto prazo são menos relevantes nessa abordagem.

Como a metodologia Event Modeling pode ser aplicada?

Para implementar o Event Modeling no desenvolvimento de software, existem etapas bem definidas. Conheça em detalhes cada uma delas, acompanhando as subseções a seguir!

Brainstorming

Com o sistema prestes a ser desenvolvido, a primeira etapa é reunir o máximo de informações relacionadas com o seu funcionamento. Nessa fase inicial é preciso ter alguém na dianteira do projeto, além de pessoas que possam ajudar na construção desse brainstorming. Além disso, é dever da equipe pensar como será a aparência desse sistema, considerando também o seu comportamento e o registro de todos os eventos.

O brainstorming pode fornecer um grau elevado de confiabilidade ao longo do desenvolvimento. Quanto mais informações estiverem disponíveis, mais fácil será para entender com precisão como funcionam os fluxos de dados do sistema. Para facilitar a compreensão, tomaremos como exemplo uma biblioteca. Nesse caso, a pessoa deve acessar um sistema e efetuar o seu cadastro. Portanto, em um brainstorming, os profissionais identificaram os seguintes eventos:

  • fazer cadastro no sistema;
  • solicitar empréstimo;
  • dar baixa quando o livro for devolvido, para evitar que a pessoa pague multas por atraso.

Ordenação lógica

Na prática, cada um desses eventos são representados por cards, que podem ser em formato de papel ou em um programa de computador. Em seguida, como é de se esperar, esses cards são ordenados conforme apresentamos há pouco, para facilitar o entendimento da equipe.

Storyboard

O storyboard consiste na etapa de desenvolvimento das telas que o usuário terá de acessar no sistema da biblioteca — seguindo o exemplo. É preciso, portanto, criar as telas correspondentes a login e cadastro, além de uma aba contendo o histórico de livros emprestados e o status de cada empréstimo.

Identificação de inputs

A identificação de inputs tem por finalidade inserir os comandos dos usuários. Na hora de fazer o cadastro no sistema, por exemplo, ele terá de informar pelo menos o seu nome, telefone e e-mail. Outros dados podem ser solicitados, mas para manter a simplicidade do exemplo vamos nos deter somente nesses. Nessa etapa, são verificadas as mudanças de estado da aplicação em questão, de modo que, no momento do cadastro, os dados fornecidos sejam registrados corretamente, para possibilitar o login e os empréstimos futuramente.

Identificação de outputs

Quais respostas o usuário obterá depois de fazer o cadastro, o login e solicitar os empréstimos no sistema da biblioteca? Essa etapa visa exatamente fornecer alguma saída de dados, no intuito de convencer o usuário que a sua operação ocorreu de forma bem-sucedida.

Aplicação da Lei de Conway

Uma das formas de entender a ideia por trás da Lei de Conway é aplicá-la a arquiteturas de software monolíticas e de microsserviços. Cada um deles reflete com elevado grau de fidelização a estrutura organizacional da empresa, mesmo que essa relação pareça não existir. O sistema que estamos discutindo certamente terá os componentes básicos de um software, que são front-end, back-end e banco de dados.

Nesse caso, é a comunicação entre os três times que definirá a qualidade do sistema. Se houver ruídos, eles certamente aparecerão na aplicação; se houver uma boa coordenação, a solução final terá uma qualidade satisfatória, considerando também a parte de UX, tão relevante no contexto de Event Modeling.

Em resumo, é importante que o sistema tenha partes autônomas, o que reflete a comunicação entre os times de front-end, back-end e banco de dados. O enunciado da Lei de Conway é o seguinte:

“Qualquer empresa que projeta um sistema, inevitavelmente, produz um projeto cuja estrutura é uma cópia da estrutura de comunicação da organização.”

Elaboração de cenários

A última etapa na modelagem Event Modeling é responsável pelas possibilidades de uso do sistema de empréstimo da biblioteca. Cada pessoa que esteve à frente nas fases anteriores é contactada aqui para fazer as revisões e os ajustes necessários antes de serem criados os casos de uso.

Por que vale a pena implementar o Event Modeling no desenvolvimento de software?

Uma das principais vantagens do Event Modeling é a simplicidade da metodologia. Além disso, ele promove uma independência para executar as atividades, que é interessante se considerarmos o contexto do trabalho remoto. Isso implica em economia do tempo, fazendo com que ele seja mais bem aproveitado na própria implementação da solução. 

Convém ainda destacar que o caráter visual da modelagem de dados também contribui para uma clareza maior, desde o brainstorming até a elaboração de cenários.

O Event Modeling está relacionado com a modelagem de eventos em um sistema de informação. Como vimos, ele preza, entre outras coisas, pela clareza e simplicidade, além de ser um importante aliado do UX (experiência do usuário). Softwares podem ser bem projetados com auxílio dessa modelagem, principalmente se a comunicação entre os times for boa, conforme prega a Lei de Conway.

Conseguiu entender como o Event Modeling pode ajudar no desenvolvimento de software? Deixe aqui o seu comentário e diga-nos o que achou deste conteúdo e se ele trouxe informações relevantes para você!


0 comentário

Deixe um comentário

O seu endereço de e-mail não será publicado.