Comentários

0%

Não pode faltar

MODELAGEM DE INTERAÇÕES – DIAGRAMA DE SEQUÊNCIA

Iolanda Cláudia Sanches Catarino

Diagrama de sequência

O diagrama de sequência representa a ordem temporal em que as mensagens são trocadas entre os objetos envolvidos na execução de um processo.

Fonte: Shutterstock.

Deseja ouvir este material?

Áudio disponível no material digital.

Praticar para aprender

Caro aluno, seja bem-vindo à seção sobre modelagem de interações com o diagrama de sequência!

Nesta seção vamos continuar a modelagem dinâmica do sistema para detalhar a comunicação entre os objetos do sistema a partir do diagrama de sequência, um dos diagramas de interação da UML. É preciso lembrar que os diagramas de interação representam um subgrupo dos diagramas comportamentais e visam mostrar uma interação, formada por um conjunto de objetos e seus relacionamentos, detalhando as mensagens que são enviadas entre eles. Em geral, a modelagem de um sistema tem vários diagramas de interação, e esse conjunto, com todos os diagramas de interação especificados, constitui o seu modelo de interações.

O diagrama de sequência tem o objetivo de representar a ordem temporal em que as mensagens são trocadas entre os objetos envolvidos na execução de um processo, que foi especificado como um caso de uso.

Assim, você vai conhecer e compreender os conceitos, os componentes, a notação gráfica de cada elemento do diagrama e as orientações para proceder com a construção do diagrama de sequência.

Na especificação dos requisitos funcionais do sistema, cada um deles foi representado no diagrama de casos de uso como um caso de uso e, para documentá-lo com a descrição de seu funcionamento interno, recomenda-se elaborar a descrição do cenário do caso de uso no formato de roteiro detalhado, com o relato do seu cenário principal e eventuais cenários alternativos, ou no formato simplificado. Quem define o melhor formato de documentar um caso de uso é o analista de sistemas, com sua equipe de desenvolvedores, mediante a metodologia definida pela empresa de desenvolvimento.

E será que só a documentação de cada caso de uso, no formato de roteiro, é suficiente para o entendimento de seu funcionamento interno?

Não! Não é suficiente. Além do relato de funcionamento de cada caso de uso, independentemente do formato adotado, é importante especificar de que forma os objetos do sistema interagem no funcionamento do caso de uso e quais informações devem ser enviadas em uma mensagem de um objeto para o outro e, ainda, em que ordem! 

Então, a partir desta seção, você compreenderá como os diagramas de interação consolidam o entendimento sobre os aspectos dinâmicos do sistema e avançaremos na modelagem comportamental dele para a agência de estágios e intercâmbios, elaborando o diagrama de sequência para o caso de uso que representa a funcionalidade de realização de entrevista de estágio.

Vamos avançar com a modelagem comportamental do sistema de hotelaria, módulo Recepção, descrita na Seção 3.1. A partir da descrição do contexto do módulo Recepção que concentra as rotinas da recepção do hotel, incluindo o controle de reservas, vamos priorizar a modelagem da interação que corresponde ao processo de reserva realizada por um hóspede. Assim, o relato de como funciona essa atividade de reserva, de responsabilidade da recepção do hotel, é descrito a seguir.

Descrição do processo de realização de reservas

Um hóspede, para se hospedar no hotel, tem que ter um cadastro com seus dados pessoais efetuado previamente e tem que ter uma reserva prévia realizada por ele (por telefone, por aplicativo ou pela Web) ou pela empresa que o hóspede tem vínculo. Sendo a empresa responsável pela estada do hóspede, ela também é a responsável em custear integralmente as despesas referentes as diárias e as despesas referentes as refeições (ela pode custear ou não). 

Uma reserva é mantida por: nome da(s) pessoa(s) que irá(ão) se hospedar em um apartamento, data que efetuou a reserva, data de entrada, hora prevista de entrada, data de saída, quantidade de adultos, quantidade de crianças, idade das crianças e nome da empresa que trabalha (se for a empresa responsável pela estada do hóspede). Um hóspede ou uma empresa pode realizar várias reservas. 

A Figura 3.7 ilustra um recorte do Diagrama de Casos de Uso especificado para a atividade de Análise, ilustrando parte dos casos de uso identificados para atenderem as funcionalidades descritas no módulo de Recepção do sistema de hotelaria, correspondente ao caso de uso “Realizar Reserva”.

Figura 3.7 | Recorte do diagrama de casos de uso
A imagem ilustra um recorte de um diagrama de caso de uso com o usuário hóspede e a recepção Hotelaria, nela estão os casos de uso: manter hóspede, realizar reserva, emitir comprovante da reserva e enviar SMS confirmação da reserva. De emitir Comprovante da Reserva sai uma seta tracejada com ponta aberta, que aponta para Realizar reserva, com o texto Extend {se Web ou App}. De Realizar Reserva sai uma seta tracejada com ponta aberta apontando para Enviar SMS Confirmação da Reserva, com o texto Include.
Fonte: elaborada pela autora.

A próxima Figura apresenta um recorte do Diagrama de Classes, demostrando as classes que foram definidas para a manipulação dos objetos “Reserva”.

Figura 3.8 | Recorte do diagrama de classes
A imagem ilustra um recorte do diagrama de classes com as classes Tipo Apartamento, Apartamento, Reserva, Pais, Hóspede, Empresa e Ramo Atividade, com seus atributos e métodos.
Fonte: elaborada pela autora.

Elabore o diagrama de sequência correspondente ao caso de uso “Realizar Reserva”, representando o cenário principal e considerando as classes de objetos definidas na Figura 3.8.

Bom trabalho! 

Boa leitura e bons estudos!

CONCEITO-CHAVE

Caro aluno, nesta seção avançaremos os estudos sobre a modelagem dinâmica do sistema!

Usualmente, a modelagem comportamental do sistema inicia-se com o modelo de casos de uso, o qual descreve os requisitos funcionais do sistema e os atores que interagem com o sistema, respondendo, assim, o que o sistema deve fazer e para quem. No entanto, o modelo de casos de uso não expõe o comportamento interno das funcionalidades especificadas. Para isso, a UML contempla os diagramas de interação, que representam um subgrupo dos diagramas comportamentais.

Diagrama de interação

Os diagramas de interação mostram como os objetos do sistema agem internamente para apoiarem a realização das funcionalidades representadas pelos casos de uso, consolidando, assim, o entendimento dos aspectos dinâmicos do sistema. Os diagramas de interação da UML são: diagrama de sequência, diagrama de comunicação, diagrama de visão geral de interação e o diagrama de tempo. 

Pense em como você poderá visualizar um sistema em execução e compreender a relação entre todos os objetos que participam da realização de cada funcionalidade. Uma melhor forma de representar esse funcionamento é construindo roteiros de cenários, descrevendo passo a passo a interação entre os objetos que participam da execução dos casos de uso e as mensagens que são trocadas entre eles. Outra opção é desenhar o protótipo correspondente à interface dos casos de uso para completar a compreensão dos cenários. Além dessas orientações, para se familiarizar com o funcionamento do sistema, é necessário completar e validar a modelagem de cada caso de uso com os diagramas de interação.

Segundo Guedes (2018), a interação entre objetos para dar suporte à funcionalidade de um caso de uso denomina-se realização de um caso de uso, o qual descreve o comportamento de um ponto de vista interno ao sistema, sendo que a realização de um caso de uso é representada por diagramas de interação.

Uma das formas mais utilizadas de se especificar a interação entre os objetos é a ênfase à ordenação temporal das mensagens, representando a sequência lógica da troca de mensagens formada por um conjunto de objetos e seus relacionamentos a partir da adoção do diagrama de sequência, o qual é uma forma de representar a ordem temporal em que as mensagens são trocadas entre os objetos envolvidos na execução de um processo.

Diagrama de sequência

Conforme Guedes (2018), o diagrama de sequência descreve a ordem temporal em que as mensagens são trocadas entre os objetos envolvidos na execução de um processo que representa um caso de uso, bem como no ator responsável pela interação com os objetos.

De acordo com Booch, Jacobson e Rumbaugh (2006, p. 243), o diagrama de sequência é “um diagrama de interação que dá ênfase à ordenação temporal de mensagens. Graficamente, um diagrama de sequência é uma tabela que mostra objetos distribuídos no eixo X e mensagens, em ordem crescente no tempo, no eixo Y”.

O diagrama de sequência baseia-se no diagrama de casos de uso, em que é elaborado um diagrama de sequência para cada caso de uso, que se apoia no diagrama de classes para determinar os objetos das classes que realizam o caso de uso, com a indicação das mensagens trocadas entre os objetos, que são, na maioria das vezes, as operações das classes.

Reflita

Os diagramas de interação representam um subgrupo dos diagramas comportamentais, enfatizando a modelagem dinâmica do sistema para demostrarem o funcionamento interno dos casos de uso. Dessa forma, você conseguiu compreender como os diagramas comportamentais se complementam e por que devem ser consistentes com o diagrama estrutural – diagrama de classes?

Agora vamos conhecer e compreender os elementos que constituem o diagrama de sequência.

Elementos do diagrama de sequência

Um diagrama de sequência é construído e representado pelos seguintes elementos: ator, mensagens, objetos, linha de vida e foco de controle. A notação gráfica dos principais elementos que podem compor o diagrama de sequência e uma breve descrição de cada elemento é apresentada no Quadro 3.3 a seguir.

Quadro 3.3 | Elementos do diagrama de sequência
Notação
Elemento
Retângulo horizontal com o texto Lifeline e um linha vertical tracejada saindo da parte inferior do retângulo. Linha de vida: representa a existência de um elemento (objeto ou ator) participante da realização do caso de uso em um período de tempo. É representada por uma linha vertical tracejada abaixo do elemento, chamada de cauda.
Boneco de palito com o texto Actor. Ator: representa os mesmos atores já criados no diagrama de casos de uso; são apoiados por uma linha de vida e enviam mensagens para os objetos como uma forma de interação para solicitarem a execução de uma operação ou simplesmente o envio de informações. No diagrama sempre representa o ator primário responsável por enviar a mensagem inicial, que começa a interação entre os objetos.
Retângulo horizontal com o texto Object : Class dentro e um linha vertical tracejada saindo do centro na parte inferior do retângulo. Objeto: representa os objetos que participam da realização do caso de uso; são também apoiados por uma linha de vida, que juntamente com os atores, formam um cabeçalho para o diagrama. Um objeto pode existir desde o início da interação ou ser criado ao longo da dela. Um objeto é representado por um retângulo com um nome único, conforme o padrão da notação de objeto. 
Retângulo estreito vertical com linha vertical tracejada nas partes superior e inferior do retângulo. Foco de controle: representa o período de tempo durante o qual um elemento executa uma ação, diretamente ou não. É representado por um retângulo estreito na vertical sobre a linha de vida, podendo aparecer diversas vezes ao longo dela.
Seta horizontal com ponta fechada apontando para direita.  Mensagem síncrona: a mensagem é síncrona quando o emissor aguarda o retorno para continuar com a interação. São as mensagens comumente utilizadas no diagrama de sequência. É representada por uma linha horizontal com uma seta sólida na extremidade.
Seta horizontal com ponta aberta apontando para direita. Mensagem assíncrona: a mensagem é assíncrona quando o emissor continua enviando mensagens sem aguardar o retorno, com isso o elemento receptor da mensagem assíncrona não precisa atendê-la imediatamente. É representada por uma linha horizontal com uma seta aberta.
Seta horizontal tracejada com ponta aberta apontando para esquerda. Mensagem de retorno: é uma mensagem que um objeto envia ao outro em resposta à mensagem recebida após a execução de uma ação. As mensagens de retorno são representadas por uma linha tracejada com uma seta na extremidade, apontando para o elemento que recebe a resposta.
Seta angulada com ponta fechada apontando para esquerda. Mensagem reflexiva ou automensagem: é uma mensagem indicativa de que o objeto remetente da mensagem é também o receptor. A mensagem reflexiva é representada por uma seta que sai do objeto e retorna para ele mesmo.
Retângulo horizontal com o texto Object : Class, com uma seta tracejada com ponta aberta, apontado para o retângulo pelo lado esquerdo, e um linha vertical tracejada saindo do centro na parte inferior. Mensagem construtora: indica o momento em que o objeto passa a existir no sistema, ou seja, o objeto é instanciado ao longo do processo por uma mensagem enviada. A mensagem construtora é representada por uma linha tracejada com seta na extremidade, apontando para o centro do objeto criado. O retângulo que representa o objeto é posicionado mais abaixo no diagrama.
Pequeno retângulo estreito vertical com linha tracejada nas partes superior e inferior, com o símbolo X na parte inferior e uma seta com ponta fechada apontado para o retângulo pelo lado esquerdo.  Mensagem destrutora: indica a destruição do objeto no decorrer da interação, o qual não se mostra mais necessário no processo. É representado pelo símbolo X na parte inferior da linha de vida do objeto que está sendo destruído.
Retângulo horizontal som etiqueta na parte superior esquerda com o texto sdFrame. Quadro de interação: representa uma interação independente, possibilitando isolar um diagrama de sequência com um contexto específico, formando uma fronteira para que possa ser integrado aos demais diagramas de sequência. O quadro é representado graficamente por um retângulo com um rótulo no canto superior esquerdo, que identifica o tipo do quadro.
Retângulo com contorno preto e preenchimento cinza, com uma dobra no canto superior direito. Nota ou comentário: serve para escrever observações aos elementos que compõe o diagrama de sequência, contendo informações úteis para os desenvolvedores, porém não expressa força semântica específica aos elementos do diagrama. 
Fonte: elaborado pela autora.
Trocas de mensagens

Nos diagramas de interação, como no diagrama de sequência, as mensagens representam a solicitação que um elemento envia para o outro com o objetivo de executar uma ação, demostrando a ocorrência de eventos. O objeto que envia a mensagem denomina-se objeto emissor ou remetente, e o objeto que recebe a mensagem denomina-se objeto receptor. As possíveis trocas de mensagens que podem acontecer entre os elementos do diagrama são:

A Figura 3.9 ilustra a interação entre os elementos do diagrama de sequência com os tipos de mensagens possíveis.

Figura 3.9 | Elementos e tipos de mensagens do diagrama de sequência
A imagem ilustra um diagrama de sequência com seus elementos e tipos de mensagens. Na parte superior estão as notações do Ator1, Ator2, Objeto1 : Classe, Objeto2 : Classe, Objeto3 : Classe e Objeto4 : Classe. Na notação do ator 1  e do ator 2 há um retângulo estreito vertical. Na notação do Objeto1: classe e Objeto 2: Classe há o foco de controle representado por um retângulo estreito vertical com linha vertical tracejada nas partes superior e inferior do retângulo. Na notação do Objeto3: Classe há mensagens destrutoras representadas por dois pequenos retângulos estreitos na vertical com linha tracejada nas partes superior e inferior, com o símbolo X na parte inferior.  Na parte superior entre o Ator 1 e o Ator 2 tem o texto 1: Mensagem entre ator1 com seta de ponta fechada apontando para o ator2.  Na parte superior entre o Ator 2 e o Objeto1: Classe tem o texto 2: Mensagem para o objeto com uma seta de ponta fechada apontando para Objeto1: Classe. Na parte superior entre Objeto1: Classe e Objeto2 : Classe tem o texto 2.1: Mensagem síncrona com uma seta de ponta fechada apontando para Objeto2 : Classe. Abaixo do objeto2 : Classe para o Objeto1 : Classe tem o texto 2.2: Mensagem de retorno para objeto com uma seta tracejada com ponta aberta apontando para Objeto1 : Classe. Abaixo tem o texto 2.3: Mensagem reflexiva com uma seta angulada com ponta fechada apontando Objeto1 : Classe. Mais abaixo tem o texto 2.4: Mensagem assíncrona com uma seta com ponta aberta apontando para o Objeto Classe3 : Classe. Abaixo tem o texto 2.5: Mensagem construtora com uma seta pontilhada com ponta aberta apontando para Objeto4 : Classe, e na parte inferior tem o texto 2.6: Mensagem destrutora com uma seta com ponta fechada apontando para Objeto3 : Classe. De volta entre o Ator 2 e o Objeto1 : Classe, na parte inferior tem o texto 2.7: Mensagem para ator, com seta com ponta fechada apontando para o Ator2. E de volta entre o Ator 2 e Ator 1 tem o texto 3: Mensagem entre ator2 com seta com ponta fechada apontando par ao ator 1.
Fonte: elaborada pela autora.
Assimile

Nos diagramas de interação, as mensagens representam a solicitação que um elemento envia para o outro com o objetivo de executar uma ação, demostrando a ocorrência de eventos. As possíveis trocas de mensagens que podem acontecer entre os elementos do diagrama de sequência são: ator e ator; ator e objeto; objeto e objeto; objeto e ator. Contudo, a troca de mensagens entre os elementos ator e objeto ou entre objeto e ator sempre deve referenciar um objeto que representa a interface do caso de uso.

Além da representação da troca de mensagens entre os elementos do diagrama de sequência, é importante indicar o conteúdo da mensagem enviada pelo remetente, o qual especifica informações a serem passadas para o elemento receptor denominado rótulo da mensagem. Os rótulos podem indicar:

Juntamente com o rótulo da mensagem, também pode-se indicar uma condição de guarda que estabelece uma regra ou condições para que uma mensagem possa ser disparada. As condições de guarda são descritas entre colchetes na mensagem. 

Esteriótipos das classes

Na representação dos objetos do diagrama de sequência, pode-se adotar os estereótipos do diagrama de classes para melhor compreensão das interações entre os objetos, tais como: <<boundary>>, <<control>> e <<entity>>; sendo:

A Figura 3.10 ilustra uma parte de um diagrama de sequência para exemplificar a notação gráfica dos estereótipos das classes. O elemento “Formulario:Inscricao” representa uma classe de fronteira que faz a interação com o ator “Candidato” e com o elemento “ControladorInscricao”, representando uma classe de controle responsável pela mediação do tratamento das regras de negócio com o elemento “inscrição:Inscricao”, que representa uma classe de entidade persistente na interação.

Figura 3.10 | Diagrama de sequência com estereótipos das classes
A imagem ilustra um diagrama de sequência com estereótipos das classes. Na parte superior estão as notações do Ator Candidato e dos estereótipos de classe fronteira Formulário : Inscrição, classe de controle responsável Controlador Inscrição e classe de entidade persistente inscrição : Inscrição. Na notação do Formulário : Inscrição há um símbolo de uma linha vertical seguida por uma linha horizontal na parte central que termina em um círculo. Na notação do controlador Inscrição há um símbolo de um círculo e seu contorno é uma seta com ponta aberta na parte superior. Na notação de inscrição : Inscrição há um símbolo de um círculo com um linha na parte inferior do círculo. As mensagens são representadas entre o Candidato e o formulário : Inscrição pelo texto 1: Acessar inscrição para vaga com uma seta com ponta fechada apontando para Formulário : Inscrição. Entre o Formulário : Inscrição e Controlador Inscrição tem o textos 1.1: obterinscrição() com seta de ponta fechada apontando para Controlador Inscrição. Entre Controlador de Inscrição e inscrição : inscrição há o texto 1.1.1: obter(Vaga) com seta de ponta fechada apontando para inscrição : inscrição. Abixo tem o texto 1.1.2: Lista Vagas Abertas com seta tracejada com ponta aberta apontando para Controlador Inscrição. De volta entre Controlador Inscrição e Formulário : Inscrição na parte inferior tem o texto  1.2: Lista Vagas Abertas com seta tracejada com ponta aberta apontando para Formulário : Inscrição.
Fonte: elaborada pela autora.
Fragmentos

Na representação do diagrama de sequência, também é possível utilizar fragmentos de interação e fragmentos combinados que possibilitam o alinhamento de interações, sendo que cada fragmento representa uma interação independente, formando uma fronteira entre os elementos do diagrama. Nesse sentido, é recomendável representar os fragmentos apenas se de fato contribuírem para a compreensão da interação. 

Um fragmento de interação, também denominado de ocorrência de interação, representa a ocorrência de um outro diagrama de interação da UML, sendo que, na representação do diagrama de sequência, indica outro diagrama de sequência. 

Na notação gráfica do quadro de interação, identifica-se o rótulo com a expressão “ref” e, no centro do quadro, descreve-se o nome do diagrama de sequência referenciado. Nos fragmentos de interação, pode-se utilizar do elemento chamado “portões (gates)” para relacionar uma mensagem fora de um fragmento de interação com uma mensagem dentro do fragmento de interação, estabelecendo uma interface entre fragmentos, ou seja, um ponto de conexão.

Um fragmento combinado é utilizado para definir o fluxo de controle da interação, correspondendo a uma sequência de mensagens encapsuladas em um fragmento, compondo um procedimento que pode ser reutilizado em demais diagramas de sequência. Os fragmentos combinados são representados pelo elemento quadro de interação com uma identificação no rótulo, que descreve o tipo de operador de interação, que pode ser (BEZERRA, 2014):

Assimile

Os fragmentos do diagrama de sequência podem ser de dois tipos: fragmentos de interação e fragmentos combinados. Um fragmento de interação representa a ocorrência de um outro diagrama de sequência e o fragmento combinado é utilizado para definir o fluxo de controle da interação, correspondendo a uma sequência de mensagens agrupadas em um fragmento, que compõe um procedimento.

A Figura 3.11 ilustra um exemplo de diagrama de sequência correspondente ao caso de uso “Encerrar Conta”, que contém o fragmento de interação “Emitir Saldo” e o fragmento combinado do tipo alternativa, contendo dois fragmentos de interação – “Realizar Saque” e “Realizar Depósito”.

Figura 3.11 | Exemplo de diagrama de sequência com fragmentos
A imagem ilustra um exemplo de diagrama de sequência com fragmentos.  Nela há um quadro de interação sd Encerrar Conta, com os usuários Cliente, Funcionário e os estereótipos de classe fronteira VisãoEncerramentoConta, classe de controle responsável ControleEncerramentoConta e classe de entidade persistente ContaEspecial.
Fonte: Guedes (2018, p. 208).
Elaborando o diagrama de sequência

Para elaborar um diagrama de interação, é necessário um diagrama de casos de uso com a descrição do roteiro dos cenários dos casos de uso e também do diagrama de classes. Em geral, durante a construção de um diagrama de interação, é comum identificar novas classes, atributos e principalmente a definição das operações, bem como uma descrição refinada dos cenários dos casos de uso. Dessa forma, os diagramas de interação da UML reforçam o apoio ao desenvolvimento incremental de sistemas orientados a objetos a partir de modelos que podem evoluir com a inclusão de novos detalhes.

A Figura 3.12 representa a relação entre o diagrama de casos, com sua documentação, e um projeto do protótipo da interface gráfica correspondente ao caso de uso descrito, além do diagrama de classes, cuja finalidade é identificar a classe ou classes de objetos que participam da realização de cada caso de uso para, assim, construir o diagrama de interação pretendido, especificando a troca de mensagens entre os objetos.

Figura 3.12 | Relação entre os modelos comportamental e estrutural
A imagem contém ilustrações de diagramas de casos de uso, de classes, de interação: diagrama de sequência, documentação de caso de uso e protótipo da interface gráfica de caso de uso. Há setas que indicam a relação entre os diagramas de caso de uso com de sequência, de diagrama de classe com de sequência. Também há setas que indicam a relação entre diagramas de sequência com documentação de caso de uso e de diagramas de sequência com o protótipo da interface gráfica de casos de uso.
Fonte: elaborada pela autora.

Os seguintes passos são recomendados para construir o diagrama de sequência correspondente a cada caso de uso:

  1. Utilizar os roteiros dos cenários da documentação do caso de uso para identificar os objetos que participam da realização do caso de uso.
  2. Analisar o diagrama de classes para definir as classes correspondentes aos objetos identificados no item 1.
  3. Rever os roteiros dos cenários da documentação do caso de uso para identificar as mensagens que são trocadas entre os objetos das classes definidas.
  4. Analisar as operações das classes definidas e ser consistentes com as mensagens identificadas no item 3.
  5. Elaborar o diagrama de sequência, compondo o cabeçalho do diagrama com o ator primário, que interage com o caso de uso e com os objetos das classes definidas no item 2, e, se necessário, particionar o diagrama em fragmentos de interação e/ou fragmentos combinados.
  6. Verificar a consistência do diagrama de sequência com o diagrama de casos de uso e, a partir do conhecimento adquirido com a construção do diagrama de interação, se necessário, aperfeiçoar a descrição dos cenários.
  7. Verificar a consistência do diagrama de sequência com o diagrama de classes e, a partir do conhecimento adquirido com a construção do diagrama de interação, se necessário, aperfeiçoar as classes de objetos que integram o diagrama com novos atributos, operações e associações. Geralmente a ferramenta CASE, com a qual o diagrama foi modelado, atualiza automaticamente o diagrama de classes, adicionando as operações às classes dos objetos que foram complementadas no diagrama.

A Figura 3.13 ilustra um exemplo de diagrama de sequência correspondente ao cenário principal do caso de uso Realizar Inscrição do Evento com a indicação de seus elementos. O elemento 1 representa o ator “Participante”, já indicado no diagrama de casos de uso. O elemento 2 representa o elemento linha de vida, que acompanha cada objeto ou ator do diagrama. O elemento 3 representa o objeto “Evento” e, na sequência, os demais objetos “Pessoa” e “Inscricao”. O elemento 4 representa o foco de controle sobre a linha de vida do ator “Participante”. O elemento 5 representa uma mensagem enviada pelo ator participante e recebida pelo objeto “tela : Inscrição”, que dispara mensagens simples e mensagens que invocam operações, sendo a mensagem identificada pela numeração 3.1 “carregarEvento( )”, enviada pelo objeto “tela : Inscrição” para o objeto “ControladorInscricao”, é uma mensagem síncrona que dispara a operação “carregarEvento( )”.

Figura 3.13 | Exemplo de diagrama de sequência
Fonte: elaborada pela autora.
Exemplificando

Nos diagramas de interação, a mensagem assíncrona ocorre quando o emissor continua enviando mensagens sem aguardar o retorno. Com isso, o elemento receptor da mensagem assíncrona não precisa atendê-la imediatamente. A Figura 3.14 ilustra um exemplo de mensagem assíncrona representada em uma parte de um diagrama de sequência, cujo objeto ControladoraVendas envia a mensagem assíncrona autorizarPagamento() para a classe OperadoraCartão e não aguarda um retorno dessa mensagem para continuar com o processo.

Figura 3.14 | Exemplo de mensagem assíncrona
Fonte: Guedes (2018).

Bezerra (2014) afirma que a modelagem dinâmica de um sistema não é algo simples e que, em sistemas complexos, há vários caminhos que podem ser adotados para definir a execução do sistema. Nesse contexto, a melhor alternativa é trabalhar iterativamente, ou seja, elaborar os modelos de casos de uso e de classes inicialmente e, posteriormente, desenvolver os modelos de interações e de estados para só então retornar aos modelos iniciais e verificar a consistência entre os modelos.

Referências

BEZERRA, E. Princípios de análise e projeto de sistemas com UML. 3. ed. Rio de Janeiro: Elsevier, 2014.

BOOCH, G.; JACOBSON, I.; RUMBAUGH, J. UML: guia do usuário. 2. ed. Rio de Janeiro: Campus, 2006.

DRLJAČA, D.; LATINOVIĆ, B.; STARČEVIĆ, D. Modelling the Process of Is Auditing in the Public Administration Using Uml Diagrams. Journal of Information Technology & Applications, [S. l.], v. 7, n. 1, p. 32-41, 2017.
Disponível em: https://bit.ly/357w9Pz. Acesso em: 21 maio 2020.

FOWLER, M. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. 3. ed. Porto Alegre: Bookman, 2005.

GUEDES, G. T. A. UML: uma abordagem prática. 3. ed. São Paulo: Novatec, 2018.

Bons estudos!

AVALIE ESTE MATERIAL

OBRIGADO PELO SEU FEEDBACK!