Anotações do curso de Linguagem de Modelagem Unificada (UML) - Parte 2
Published: 2020-12-09 01:27:39

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/3y4av1hly2un1e1yladl.jpeg)

Continuação do artigo compartilhando minhas anotações do curso de Linguagem de Modelagem Unificada, leia a primeira parte aqui.

__Diagramas Comportamentais__

Os Diagramas Comportamentais representam estruturas dinâmicas ou módulos dinâmicos, seus modelos estão associados aos processos de operação e de execução do sistema. Os diagramas permitem a visualização, a especificação e a construção dos aspectos dinâmicos do sistema.

__· Diagramas de Caso de Uso:__ é o diagrama principal, nele é apresentado o conjunto de comportamentos e funcionalidades de um sistema. A principal aplicabilidade deste diagrama está na etapa de especificação dos requisitos de um sistema, tal etapa é encarregada de coletar dados e levantar uma análise detalhada das necessidades indispensáveis do sistema. Os três elementos principais deste diagrama são: o ator, o assunto e o relacionamento de generalização. No momento em que um Use Case é elaborado, a responsabilidade, a obrigação e o comprometimento de cada etapa da execução precisam estar relacionados com as classes envolvidas na colaboração. Para exibir o caminho específico de cada ação, utilizamos um cenário. No âmbito de um Use Case, a interação está limitada entre o ator externo e o use case. No âmbito de uma colaboração, todas as relações e os procedimentos da execução efetivados no sistema serão especificados e registrados. Vejamos dois exemplos de Diagrama de Caso de Uso:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/guuwb3scy90ufzrw0b8n.png)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/q873erge3jy01h70hyk7.png)

__· Diagramas de Estados:__ têm a finalidade de complementar a descrição das classes. A complementação é feita por meio da apresentação de todos os estados possíveis (identificados como aspectos dinâmicos), encontrados nos objetos de uma classe, bem como por meio da exibição dos sistemas que ocasionam as alterações. Mas, somente terão os Diagramas de Estado modelados as classes que apresentam uma grande quantidade estabelecida de estados conhecidos e o próprio comportamento das classes atingidos e modificados pelos estados diversos, em função da execução de eventos no processo. Primeiramente, o Diagrama de Estados se apodera do ciclo de vida dos objetos e de seus atributos naquele instante. Em seguida, exibe os possíveis estados contidos em um objeto e o modo como os eventos podem influenciar esses atributos nos instantes seguidos.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/74v3dbg90wiap65fm7s0.png)

Quando a aplicação de um método é detectada, inicia-se a execução de um estado para outro. Dessa forma, caso uma transição incorpore um evento, como uma intervenção de um operador, essa transição será executada automaticamente. Caso contrário, a inexistência de um evento implicará a espera de uma ação interna do código de estado para ser executada. Com isso, a transição será iniciada e as atividades do estado subsequente estarão na sequência de execução do Diagrama de Estados quando todas as execuções forem executadas pelo próprio estado.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/dcz9everii4flqva2s7z.png)

__· Diagrama de Atividades:__ visa o trabalho realizado na execução de um método ou operação, bem como ao trabalho realizado nas atividades, em uma instância de um objeto. Os Diagramas de Atividades são considerados uma oscilação do Diagrama de Estados, mas com um objetivo diferente. Desse modo, os Diagramas de Atividades detém as ações e seus resultados por meio de um conjunto de ações ou atividades executadas, até atingir a conclusão total do projeto. Neste diagrama os estados passam para a próxima etapa no momento em que um procedimento é ativado. Ao contrário do Diagrama de Estado, ele não exige qualquer especificação de evento. De modo geral, o Diagrama de Atividades é desenvolvido para simbolizar as atividades processadas por um método de sistema, demonstrando o tráfego sequencial de todas as atividades, ou seja, os processamentos dos estados, com as descrições de umas atividades executadas por uma ação do sistema. Por meio de um processamento paralelo, podemos especificar elementos lógicos de decisão e condição, bem como exibir tais elementos no diagrama. Além disso, podemos tratar as complementações de mensagens enviadas e recebidas como integrantes de ações executadas. Vejamos um exemplo:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/qx0k8jb0cu6r3iobk2j1.png)

__· Diagramas de Interatividade:__ é formado por diagramas de sequência. De forma complementar, esses pequenos diagramas utilizam os registros e elementos sintáticos do Diagrama de Atividades para apresentar o controle do fluxo de execução. Neste diagrama, podemos encontrar as sequências que compõem um fluxo de atividades, bem como as referências sobre como realizam suas atividades e trabalham em uma sequência de eventos.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/m5tfcslkd0sknnyqqsxp.png)

__· Diagramas de Sequência:__ este diagrama apresenta a contribuição dinâmica entre os objetos de um sistema (como uma troca de mensagens) na sequência de eventos executados dentro de um processo. Desse modo, possibilita uma melhor compreensão e acompanhamento das atividades (mensagens encaminhadas) entre os objetos e da interação entre eles. Este diagrama também permite observar a quantidade de objetos relacionados, por meio das linhas verticais associadas ao tempo e interpretados pela evolução desse tempo.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/kfl4xfokg3b8q5kv7hsy.png)

__· Diagrama de Comunicação ou Colaboração__: este diagrama apresenta a comunicação dinâmica entre os objetos por meio de um processo equivalente ao processo de Diagrama de Sequência. É utilizado para visão estrutural. Devemos optar por este diagrama quando for necessária a representação de troca de mensagens entre os objetos e a visualização desses objetos com seus relacionamentos. A escolha se justifica por serem essas características próprias do Diagrama de Comunicação. Vejamos a sequência a seguir:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/bwk053w72cesa6sl7h3j.png)

__· Diagrama de Tempo__: neste diagrama usa-se uma escala de tempo para realizar a modelagem de restrições temporais do sistema, além de acompanhar o comportamento dos objetos por meio da interação e da evolução de estados. Nesse diagrama, as condições que mudam durante um intervalo são destacadas:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/09z95mplq50urbcetit6.png)
__Protejo: Desenvolvimento de um site de uma escola__

· Análise de Requisitos: um site escolar precisa ter algumas informações essenciais, como notas, frequência, datas e calendários, comunicados. Serão utilizados os seguintes diagramas para realizar a análise de requisitos: diagrama de uso de caso, diagrama de classes e diagrama de objeto.

__· Diagrama Use Case__

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/cx784mvyvb4u4h5jg9gc.png)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/lcp1n7x3m4bkxk9q65eq.png)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/tw7jq5mdewkkvwaruzwu.png)

__· Diagramas de Classe__

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/p9z3ya5ggl0t4wqea2kg.png)

__· Diagrama de Objetos__

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/r0xxbmg88z9xxq6x0i4e.png)

__· Diagrama de Sequência:__ Este diagrama serve para modelar o processamento do sistema, mostrando a interação entre os objetos em um determinado cenário e define a sequência de mensagens que serão trocadas entre objetos, num contexto específico.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/6x6zwfwovvsbqu2xh367.png)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/nprcb5kauzfsdqw8kg3u.png)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/oq1wg2rbg47501pfcy4r.png)

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/kaiqqis7g0qjunfdgr5g.png)

__Protejo: Desenvolvimento de um site de uma escola__

__· Análise de Requisitos:__ um site escolar precisa ter algumas informações essenciais, como notas, frequência, datas e calendários, comunicados. Serão utilizados os seguintes diagramas para realizar a análise de requisitos: diagrama de uso de caso, diagrama de classes e diagrama de objeto.

__· Diagrama Use Case__

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/zv18ha4g5ax6cuu2cgu7.png)

__· Diagramas de Classe__

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/uqffmbt22mi6muutjrjg.png)

__· Diagrama de Sequência__

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/erobmt1mx6g5mgtwn2lc.png)