3.7. Concorrência

Concorrência (ou paralelismo) refere-se à possibilidade de realizar várias ações ao mesmo tempo.

Essa questão é especialmente útil quando um determinado processo precisa realizar várias ações logicamente independentes entre si, em outras palavras, elas podem ser executadas tão logo exista disponibilidade para o sistema executá-las, elas não precisam ocorrer em sequência.

Suponha, por exemplo, que um sistema que você crie irá efetuar pesquisas por passagens aéreas em diversas companhias aéreas. Você não precisa pesquisar a companhia A primeiro para depois pesquisar a companhia B, depois a C, depois a D e assim sucessivamente. Você pode disparar quatro consultas ao mesmo tempo aos sistemas das quatro companhias, e, à medida que os resultados vão sendo processados e comunicados ao seu sistema, você poderá apresentá-los ao seu usuário.

A representação de uma concorrência é a de um “garfo”. Para posterior junção, utiliza-se a função de sincronização. Veja para o cenário descrito no exemplo acima, poderíamos ter uma representação simplificada assim:

Diagrama de atividades representando uma concorrência.

Identificar uma oportunidade de concorrência não significa a definição de um requisito de concorrência, mas tão somente uma melhor forma de se fazer um determinado trabalho. A definição do requisito deve ser feita por meio de documento específico ou caso de uso, ambos provindos de entrevistas com os usuários da aplicação (ou demandantes da aplicação).
Copyright © 2015 AIEC.