{"id":68071,"date":"2023-11-03T08:45:41","date_gmt":"2023-11-03T12:45:41","guid":{"rendered":"http:\/\/ideascale.com\/blogue\/diagrama-do-que-e-atividade\/"},"modified":"2024-01-04T08:10:27","modified_gmt":"2024-01-04T12:10:27","slug":"diagrama-do-que-e-atividade","status":"publish","type":"post","link":"https:\/\/ideascale.com\/pt-br\/blogue\/diagrama-do-que-e-atividade\/","title":{"rendered":"O que \u00e9 o diagrama de atividade? Defini\u00e7\u00e3o, exemplos e diagrama de atividades em UML"},"content":{"rendered":"
\u00cdndice<\/b><\/strong><\/p>\n<\/div>
<\/div><\/div><\/div><\/div>
O que \u00e9 o diagrama de atividade?<\/h2>\n
Um diagrama de atividade, uma faceta din\u00e2mica e integral da Linguagem de Modelagem Unificada (UML), \u00e9 definido como uma representa\u00e7\u00e3o visual sofisticada na engenharia de software e em diversos dom\u00ednios. Ele \u00e9 excelente para ilustrar o fluxo cont\u00ednuo de atividades, a\u00e7\u00f5es e processos em sistemas complexos, fluxos de trabalho comerciais ou qualquer processo din\u00e2mico.<\/span><\/p>\n
Diferentemente dos fluxogramas convencionais, esse diagrama avan\u00e7ado n\u00e3o apenas modela a progress\u00e3o de uma atividade para outra, mas tamb\u00e9m captura de forma intrincada os pontos de decis\u00e3o, os fluxos de controle e a intera\u00e7\u00e3o diferenciada dos elementos. Amplamente adotados por sua clareza e versatilidade, os diagramas de atividade permitem que as partes interessadas compreendam e refinem os processos de forma colaborativa, tornando-os ferramentas indispens\u00e1veis para a comunica\u00e7\u00e3o entre as \u00e1reas de neg\u00f3cios e desenvolvimento.<\/span><\/p>\n
Em ess\u00eancia, eles fornecem uma vis\u00e3o hol\u00edstica da orquestra\u00e7\u00e3o din\u00e2mica de tarefas, tornando sistemas e fluxos de trabalho complexos acess\u00edveis por meio de visualiza\u00e7\u00f5es intuitivas.<\/span><\/p>\n
Os principais elementos e conceitos de um diagrama de atividade incluem:<\/b><\/p>\n
\n
Atividades: <\/b>Essas s\u00e3o as a\u00e7\u00f5es ou tarefas espec\u00edficas dentro do sistema ou processo que est\u00e1 sendo modelado. As atividades s\u00e3o representadas por ret\u00e2ngulos arredondados no diagrama.<\/span><\/li>\n<\/ul>\n
\n
Transi\u00e7\u00f5es:<\/b> S\u00e3o setas que conectam as atividades, indicando a ordem em que s\u00e3o executadas. As transi\u00e7\u00f5es mostram o fluxo de controle de uma atividade para outra.<\/span><\/li>\n<\/ul>\n
\n
Decis\u00f5es:<\/b> Os s\u00edmbolos em forma de diamante representam pontos de decis\u00e3o em que o fluxo de controle pode seguir v\u00e1rios caminhos com base em condi\u00e7\u00f5es ou escolhas. Cada caminho de um ponto de decis\u00e3o \u00e9 rotulado com uma condi\u00e7\u00e3o.<\/span><\/li>\n<\/ul>\n
\n
Bifurca\u00e7\u00f5es e uni\u00f5es:<\/b> As bifurca\u00e7\u00f5es e jun\u00e7\u00f5es s\u00e3o usadas para representar atividades paralelas. Um s\u00edmbolo de bifurca\u00e7\u00e3o divide o fluxo em v\u00e1rios caminhos simult\u00e2neos, e um s\u00edmbolo de jun\u00e7\u00e3o re\u00fane esses caminhos novamente.<\/span><\/li>\n<\/ul>\n
\n
N\u00f3s iniciais e finais:<\/b> Um n\u00f3 inicial \u00e9 representado por um pequeno c\u00edrculo preenchido e indica o ponto de partida do diagrama. Um n\u00f3 final \u00e9 representado por um c\u00edrculo maior com uma borda e marca o fim da atividade.<\/span><\/li>\n<\/ul>\n
Os diagramas de atividade s\u00e3o vers\u00e1teis e podem ser usados para modelar v\u00e1rios processos, desde fluxos de trabalho comerciais at\u00e9 algoritmos de software. Eles s\u00e3o particularmente \u00fateis para entender e comunicar o comportamento din\u00e2mico de um sistema ou processo. Os diagramas de atividade podem ser usados em combina\u00e7\u00e3o com outros diagramas UML, como diagramas de caso de uso, diagramas de classe e diagramas de sequ\u00eancia, para fornecer uma vis\u00e3o abrangente do comportamento e da estrutura de um sistema.<\/span><\/p>\n
Exemplo de diagrama de atividade<\/h2>\n
Vamos explorar alguns exemplos pr\u00e1ticos de diagramas de atividade.<\/span><\/p>\n
Exemplo 1: Processo de compra on-line<\/b><\/p>\n
Imagine que voc\u00ea esteja projetando um diagrama de atividades para modelar o processo de compra on-line em uma plataforma de com\u00e9rcio eletr\u00f4nico. <\/span><\/p>\n
\n
O start representa o in\u00edcio do processo.<\/span><\/li>\n<\/ul>\n
\n
A atividade inicial \u00e9 Browse Products, em que o usu\u00e1rio explora os itens dispon\u00edveis.<\/span><\/li>\n<\/ul>\n
\n
Ao selecionar um produto, o sistema prossegue para Adicionar ao carrinho.<\/span><\/li>\n<\/ul>\n
\n
Nesse momento, a decis\u00e3o \u00e9 tomada com base na disponibilidade do produto. Se o produto estiver em estoque, o usu\u00e1rio poder\u00e1 continuar selecionando Checkout; caso contr\u00e1rio, talvez seja necess\u00e1rio escolher outro produto.<\/span><\/li>\n<\/ul>\n
\n
O checkout inclui v\u00e1rias subatividades, como inserir informa\u00e7\u00f5es de envio e detalhes de pagamento. Elas s\u00e3o mostradas de forma paralela, indicando que podem ser conclu\u00eddas ao mesmo tempo.<\/span><\/li>\n<\/ul>\n
Ap\u00f3s o fornecimento de todas as informa\u00e7\u00f5es necess\u00e1rias, o sistema processa o pagamento e conclui o processo com a confirma\u00e7\u00e3o do pedido.<\/span><\/p>\n
Exemplo 2: Processo de desenvolvimento de software<\/b><\/p>\n
Vamos considerar um processo de desenvolvimento de software como outro exemplo. Neste cen\u00e1rio, estamos usando um diagrama de atividade para modelar o desenvolvimento de um recurso em um projeto de software Agile:<\/span><\/p>\n
\n
O processo come\u00e7a com uma hist\u00f3ria de usu\u00e1rio no Backlog.<\/span><\/li>\n<\/ul>\n
\n
A equipe discute e estima a hist\u00f3ria no Sprint Planning.<\/span><\/li>\n<\/ul>\n
\n
Uma vez planejadas, as atividades de desenvolvimento e teste podem ocorrer simultaneamente.<\/span><\/li>\n<\/ul>\n
\n
Se o teste falhar (representado pelo ponto de decis\u00e3o), a hist\u00f3ria volta para a fase de desenvolvimento para revis\u00f5es.<\/span><\/li>\n<\/ul>\n
\n
Se o teste for aprovado, a hist\u00f3ria ser\u00e1 marcada como Conclu\u00edda e o processo ser\u00e1 conclu\u00eddo.<\/span><\/li>\n<\/ul>\n
Exemplo 3: Sistema de pedidos de restaurantes<\/b><\/p>\n
Para nosso exemplo final, vamos explorar um sistema de pedidos de restaurantes:<\/span><\/p>\n
\n
Os clientes come\u00e7am entrando no restaurante e se sentam (Seat Customer).<\/span><\/li>\n<\/ul>\n
\n
Eles podem optar por ver o card\u00e1pio ou pedir recomenda\u00e7\u00f5es ao gar\u00e7om, indicando atividades paralelas.<\/span><\/li>\n<\/ul>\n
\n
Depois de decidir o que pedir, eles fazem o pedido ao gar\u00e7om.<\/span><\/li>\n<\/ul>\n
\n
A cozinha prepara a comida e, quando ela est\u00e1 pronta, o gar\u00e7om a entrega ao cliente.<\/span><\/li>\n<\/ul>\n
\n
Depois de comer, os clientes t\u00eam a op\u00e7\u00e3o de pagar a conta, fazer coment\u00e1rios ou pedir uma sobremesa.<\/span><\/li>\n<\/ul>\n
\n
O processo termina quando o cliente deixa o restaurante.<\/span><\/li>\n<\/ul>\n