Você está na página 1de 26

Trabalhando com os diagramas da UML Parte 1

Esse artigo ir apresentar as principais notaes e exemplos prticos dos diagramas de


atividades e de estados.
7

Gostei (7) (0)

Artigo no estilo Curso

Fique por dentro

O Diagrama de Atividades da UML oferece uma notao rica para mostrar uma sequncia de atividades de um sistema.

Ele pode ser aplicado para vrios propsitos e pode ser utilizado para representar fluxo de controle e fluxo de objetos. O Diagrama de
Estados representa o comportamento de um elemento por meio de um conjunto finito de transies de estado.

Tanto o diagrama de atividades, quanto o diagrama de estados e os demais diagramas da UML, servem para detalhar melhor os requisitos de
sistemas.

Esse artigo ir apresentar as principais notaes e exemplos prticos dos diagramas de atividades e de estados.

A UML (Unified Modeling Language) tem como objetivo prover aos profissionais envolvidos com o processo de desenvolvimento de
sistemas, ferramentas para anlise, projeto e apoio implementao de sistemas, baseados em software, bem como para modelagem de
negcios e processos similares.

Ela possui modelos para representao esttica (estrutural) e para a representao dinmica (comportamental) dos sistemas. Na representao
dinmica, a UML possui trs modelos comportamentais: atividades, mquinas de estado e interaes.

Esse artigo ir apresentar o diagrama de atividades e o diagrama de estados. Assim como o diagrama de atividades, o diagrama de estados
mostra uma viso dinmica do sistema.

O diagrama de atividades a partir da verso 2.0 deixou de ser considerado um caso especial do diagrama de estados.

Seu modelo foi redefinido, estendendo as suas capacidades e permitindo o suporte modelagem de fluxos sobre uma larga variedade e
domnios, do computacional at o fsico.

No diagrama de atividades uma atividade modelada como uma sequncia estruturada de aes, controladas potencialmente por ns de
deciso e sincronismo. Em seu aspecto mais simples, um diagrama de atividades pode ser confundido com um fluxograma.

Entretanto, ao contrrio de fluxogramas, os diagramas de atividades UML suportam diversos outros recursos, tais como as parties, ns do
tipo bifurcao e unio, alm da definio de regies de interrupo e expanso, que permitem uma modelagem bem mais rica do que
simplesmente um fluxograma.

Os diagramas de atividades so empregados para modelar desde um mtodo ou algoritmo ou mesmo o processo completo. Eles tambm
podem ser aplicados engenharia de processos de negcio ou fluxo de trabalho.

A partir da UML 2.0 o diagrama de estados teve seu nome modificado para diagrama de mquina de estados ou simplesmente para diagrama
de estados. Esse diagrama pode ser utilizado para representar o comportamento ou para expressar o protocolo de uso de parte de um sistema.
O diagrama de estados tem como elementos principais o estado, que modela uma situao em que o elemento modelado pode estar ao longo
de sua existncia, e a transio, que leva o elemento modelado de um estado para o outro.
Esse artigo ir mostrar os elementos essenciais do diagrama de atividades e de estados e ir apresentar como eles podem detalhar melhor os
requisitos. Sero apresentados alguns exemplos criados na ferramenta Astah Professional.

Diagrama de Atividades

Os principais elementos do diagrama de atividades so apresentados a seguir.

Atividade

Uma atividade composta por um conjunto de aes, ou seja, os passos necessrios para que a atividade seja concluda. Ela representada
por um retngulo grande com as bordas arredondadas, conforme o exemplo da Figura 1 que representa a atividade referente ao processo de
Quitar diria.

Figura 1. Exemplo de uma atividade

Aes

Cada ao que compe uma atividade considerada um n da atividade. Deste modo, pode-se dizer que a execuo de uma atividade
depende fundamentalmente da execuo das aes contidas nesta atividade.

As aes podem requisitar objetos, terem um efeito persistente neles, e invocar diretamente comportamentos e operaes. Uma ao
representada por um retngulo arredondado, semelhante a uma atividade, conforme pode ser visto na Figura 2.

Uma atividade pode ser ligada a outra ao atravs de setas que representam o fluxo de controle de uma atividade.

Figura 2. Exemplo de uma ao

Ao de envio de sinal

Representa o envio de sinal para um objeto ou ao. representada por um retngulo com uma protuberncia triangular em seu lado direito
conforme a Figura 3.
Figura 3. Exemplo de uma ao de envio de sinal

Ao de recebimento de sinal

Representa a espera de ocorrncia de um evento de acordo com determinadas condies. representada por um retngulo com uma
reentrncia triangular no seu lado esquerdo, conforme pode ser visto na Figura 4.

Figura 4. Exemplo de uma ao de recebimento de sinal

O exemplo na Figura 5 apresenta aes de evento de envio e recebimento de sinal, no caso, um evento de envio de sinal que o cliente envia e
recebe. Alm disso, vemos uma solicitao de reserva de aluguel de um quarto. Os dados da reserva so enviados e em seguida o cliente
recebe a confirmao da reserva. A reserva definitivamente registrada no sistema de hotelaria.

Figura 5. Exemplo de uma ao de envio e recebimento de sinal

Ao de evento de tempo de aceitao

uma variao da ao de evento de recebimento de sinal, porm, leva em considerao o tempo para que o evento possa ser disparado. A
Figura 6 mostra o exemplo da incluso do evento de tempo. Neste exemplo indicamos que aps 24h a ao Realizar backup
automaticamente executada.

Figura 6. Exemplo de uma ao de evento de tempo

Ao de chamada de comportamento

uma ao que invoca a execuo de uma atividade. A Figura 7 mostra uma atividade Executar rotina de decodificao, que foi modelada
em outro diagrama, no sendo necessrio defini-la novamente. Nesse caso, utilizada uma ao de chamada de comportamento para invocar
essa atividade. Esse tipo de ao apresentado pelo smbolo apontando para baixo no canto inferior direito.
Figura 7. Exemplo de ao de chamada de comportamento

Fluxo de Controle

Um fluxo de controle um conector que liga dois ns e envia sinais de controle. representado por uma linha que contm uma seta
apontando para um novo n. Pode conter uma descrio de condio de guarda ou uma restrio.

O exemplo da Figura 8 mostra dois ns de aes: a primeira ao representa o recebimento do nmero do apartamento de uma hotelaria, e a
segunda ao representa a seleo do apartamento desejado. Observe que a passagem de uma ao para outra representada pela linha do
fluxo de controle que une as duas aes e demonstra a ordem que as aes sero executadas.

Figura 8. Exemplo de um fluxo de controle

Ns de Controle

Os ns de controle orientam o fluxo de controle e o fluxo de dados. Os ns de controle se classificam em: n inicial de atividade, n de
deciso, n de bifurcao ou unio, n de final de atividade e n de final de fluxo.

N Inicial de Atividade
O n inicial de atividade nico para cada atividade e o fluxo de controle parte deste n, para o primeiro recurso sinttico a ser executado
numa atividade. Esse n representa o incio do fluxo quando a atividade invocada. Ele apresentado por um crculo preenchido, conforme
pode ser visto na Figura 9. Esta mostra o fluxo iniciando na chamada da ao Receber nmero do apartamento.

Figura 9. Exemplo de um n inicial de atividade

N de Deciso

Um n de deciso representa uma escolha entre dois ou mais fluxos possveis. Ele deve ser utilizado quando se deseja optar por um nico
fluxo dentre um ou mais fluxos alternativos.

Para cada fluxo alternativo, deve haver uma condio de guarda, definindo os critrios que precisam ser atendidos para que o fluxo de
controle da atividade siga este fluxo.

A Figura 10 demonstra um n de deciso, onde, aps quitar uma diria, tomada uma deciso. Enquanto houver mais dirias a serem
quitadas, o sistema ir executar a ao Posicionar na prxima diria. Quando no houver mais dirias a serem quitadas, o processo
finalizado.

Figura 10. Exemplo de um n de deciso

N de Bifurcao e Unio

Um n de bifurcao um n de controle que pode dividir um fluxo em dois ou mais fluxos concorrentes, conforme a Figura 11.

Um n de unio quando dois ou mais fluxos concorrentes so mesclados em um nico fluxo de controle, conforme a Figura 12.

Tanto o n de controle de bifurcao, quanto o de unio, representado por uma barra que pode estar tanto na horizontal como na vertical.

A Figura 11 mostra o n de bifurcao onde aps o funcionrio da hotelaria receber o pedido de reserva, ele pode Efetuar a reserva do
cliente e Enviar comprovante de reserva paralelamente.
A Figura 12 mostra outro exemplo para o n de unio, em que aps consultar a disponibilidade de reserva e efetuar a reserva, o comprovante
de confirmao da reserva enviado ao cliente.

Figura 11. Exemplo de Bifurcao

Figura 12. Exemplo de Unio

N de Final de Atividade

Esse n indica o fim do fluxo de uma atividade. representado por um crculo preenchido dentro de um crculo vazio, conforme pode ser
visto na Figura 13. O n de fim de atividade deve aparecer uma ou mais vezes em uma atividade, indicando que a execuo de uma
atividade foi finalizada.
Figura 13. Exemplo de N de final de atividade

N de Final de fluxo

Representa o encerramento de uma rotina representada pelo fluxo, mas no de toda a atividade. O smbolo de final de fluxo representado
por um crculo com um X, conforme a Figura 14, que mostra que o fluxo se encerra quando no houver mais peas a serem construdas,
porm, a atividade ainda no foi encerrada.

Figura 14. Exemplo de N de final de Fluxo

Fluxo de Objetos
Um fluxo de objetos um conector que pode ter objetos ou dados passando por ele. Representa o fluxo de valores (objetos ou dados) que so
enviados a partir de um n de objeto ou para um n de objeto. Observe a Figura 15.

Figura 15. Exemplo de Fluxo de Objetos

N de objeto

Um n de objeto representa uma instncia de uma classe, que pode estar disponvel em determinado ponto da atividade. representado por
um retngulo. Veja o mesmo exemplo da Figura 15, onde, aps o atendimento do pedido ter sido concludo, atualiza-se o objeto da classe
Pedido para determinar que ele fosse concludo, em seguida passa para o n de ao Enviar Pedido. Veja que a figura apresenta um n de
objeto junto com fluxo de objetos, que muito semelhante ao fluxo de controle.

Os ns de objetos so classificados em: alfinetes (pins), ns de parmetro de atividade e n de repositrio de dados.

Alfinetes (Pins)

Alfinetes so ns de objetos que representam uma entrada para uma ao ou uma sada de uma ao. Eles fornecem valores para as aes e
recebem os valores resultantes dela. Os alfinetes podem ser representados como pequenos retngulos e so colocados ao lado das aes as
quais esto ligados, ou um nico retngulo no centro, quando o tipo de entrada e sada o mesmo. Observe o exemplo na Figura 16.

Figura 16. Exemplo de n de objeto Pin

A Figura 17 mostra que os alfinetes podem ser representados por pequenos retngulos ao lado das aes os quais esto ligados. Quando o
tipo de entrada e sada o mesmo, pode-se usar um retngulo nico no centro do fluxo de dois ns de ao, conforme apresentado nessa
figura.

N de parmetro de atividade

Um n de parmetro de atividade um n de objeto utilizado para representar a entrada ou sada de um fluxo de objetos em uma atividade.
So ns que ficam no incio e no fim dos fluxos de uma atividade, provendo meios para aceitar as entradas de uma atividade e sadas
resultantes da execuo desta atividade.
No exemplo da Figura 17, o n de objeto Materiais de Produo um n de parmetro de entrada e sada, enquanto os ns de objeto
Televisor Aceito e Televisor Rejeitado so ns de parmetro de sada na atividade. Nesse exemplo, existem trs ns de ao: Construir
Componentes, Montar Televisor e Testar Televisor. Possui tambm dois pins: Componentes e Televisores.

Figura 17. Exemplo de n de parmetro de atividade

N de repositrio de dados

Um n de repositrio de dados usado para armazenar dados ou objetos permanentemente. representado pelo esteretipo <>, conforme a
Figura 18, que mostra a ao Registrar novo proprietrio. Essa ao envia informaes por meio de um fluxo de objetos para um repositrio
Proprietrios, que armazenar informaes de forma permanente.

Figura 18. Exemplo de n de repositrio de dados

N de atividade estruturada

Um n de atividade estruturada representa uma poro estruturada da atividade que no compartilhada com qualquer outro n estruturado
exceto para aninhamento. A Figura 19 mostra um exemplo de um n de atividade estruturada que contm o esteretipo <>.

Figura 19. Exemplo de n de atividade estruturada

Excees

As excees so representadas por uma seta em forma de raio, que aponta para a rotina de tratamento de interrupo ou exceo. Essa seta
chamada de fluxo de exceo ou interrupo.
O exemplo da Figura 20 mostra a exceo quando ocorre uma requisio de cancelamento de pedido.

Figura 20. Exemplo de tratamento de exceo

Partio de atividade

As parties consistem numa forma de agrupar as aes que possuem alguma caracterstica em comum, tais como: um mesmo executante,
uma mesma classe ou uma mesma propriedade.

Uma forma comum de representar as parties de um diagrama de atividades atravs do uso de swimlanes (raias de piscina), que tambm
podem ser subdivididas atravs de sub-raias, como pode ser visualizado no exemplo da Figura 21.
Figura 21. Exemplo de parties

Nesse exemplo, so caracterizados dois executantes das aes da atividade: o Cliente e a Empresa. Entretanto, dentro da empresa, existem
dois setores envolvidos na atividade: um setor que realiza aes especficas de avaliao de pedidos (Setor de vendas) e outro Setor
Financeiro responsvel pela gerao de boletos.

Regies de atividade expanso

As regies so formadas por trechos de atividade que precisam ser repetidos, que so as regies de expanso ou por trechos de atividade que
podem sofrer uma interrupo, que so as regies de interrupo.

Uma regio de expanso deve possuir um ou mais elementos de entrada que formam a coleo de dados de entrada, que definem quantas
vezes a regio de expanso dever ser executada.

Uma regio de expanso pode possuir tambm elementos de sada, que constituiro a coleo de objetos disponibilizada aps concluso da
execuo da regio, conforme pode ser visto na Figura 22.
Figura 22. Exemplo de regio de expanso

As regies de expanso so classificadas como:

Iterativa: estabelece que todas as interaes ocorrero na ordem dos elementos da regio;

Paralela: estabelece que todas as interaes so independentes, podendo ou no ocorrerem paralelamente;

De fluxo: define que haver uma nica execuo da regio, recebendo a coleo de dados de entrada.

Regio interrompvel de atividade

Uma regio de interrupo estabelece que, dentro desta regio, a atividade pode ser interrompida a qualquer momento, sendo redirecionada
para outra parte da atividade.

A regio delimitada por um retngulo tracejado com as bordas arredondadas. necessrio utilizar uma ao de envio de sinal para indicar a
interrupo.

No exemplo da Figura 23 os ns de ao Receber Pedido, Atender Pedido e Enviar Pedido so uma regio de atividade interrompvel, ou
seja, o pedido pode ser cancelado. Em seguida, o fluxo vai para o fim da atividade.
abrir imagem em nova janela

Figura 23. Exemplo de regio de interrupo

Diagrama de Estados

Um estado representa a situao em que um elemento (muitas vezes um objeto), se encontra em determinado momento durante o perodo em
que participa de um processo. Um estado pode demonstrar:

A espera pela ocorrncia de um evento;

A reao a um estmulo;

A execuo de alguma atividade;

A satisfao de alguma condio.

Estado Simples

um estado comum que no possui subestados. No geral, ele executa uma atividade. Sua descrio pode vir no gerndio. Um exemplo pode
ser visualizado na Figura 24.
Figura 24. Exemplo de um estado simples

Transies

Uma transio representa um evento que causa uma mudana no estado de um objeto, gerando um novo estado. Uma transio
representada por uma linha ligando dois estados, contendo uma seta em uma de suas extremidades, que aponta para o novo estado gerado.
Uma transio pode conter ou no uma descrio, como podemos ver na Figura 25.

Estado Inicial

O estado inicial determina o incio da modelagem dos estados de um elemento. representado por um crculo preenchido e pode conter ou
no uma descrio, que pode identificar o evento que iniciou o processo, como vemos na Figura 25.

Figura 25. Exemplo de estado inicial

Estado Final

Tem como funo indicar o final dos estados modelados. representado por um crculo no preenchido, envolvendo outro crculo, conforme
a Figura 26.

Figura 26. Exemplo de estado final

Atividades internas

As atividades internas so as atividades que o objeto pode executar quando estiver em um estado. Essas atividades podem ser detalhadas
segundo as clusulas:

Entry: identifica uma atividade que executada quando o objeto assume um estado;

Exit: identifica uma atividade quando o objeto sai de um estado;

Do: identifica uma atividade realizada durante o tempo em que o objeto se encontra em um estado.
As duas primeiras clusulas esto mais associadas s transies do que ao estado. As atividades internas so representadas em uma segunda
diviso do estado, conforme a Figura 27, na qual o objeto est executando uma atividade: enquanto estiver no estado Consultando
Apartamento, o mtodo ConApart() executado.

Figura 27. Exemplo de atividades externas

Transies Internas

So aquelas que no produzem modificaes no estado de um objeto. Por exemplo, a Figura 28 mostra o estado Gravando Hspede, cuja
funo cadastrar um novo hspede. Nele so apresentadas duas clusulas, a primeira transio interna atravs do GravHosp(), que registra
o novo hspede e a outra transio interna, que determina que o CPF do hspede deve ser validado, atravs do ValCPF(). Antes de concluir a
gravao do hspede, necessrio validar o CPF, portanto, a transio interna no produz a modificao desse objeto.

Figura 28. Exemplo de transio interna

Auto transies

As auto transies saem do estado atual do objeto e pode executar alguma ao dessa sada e retornam ao mesmo estado. Uma auto transio
representada por uma seta de transio que parte do objeto e retorna ao prprio objeto.

No exemplo da Figura 29 apresentado o evento que causa a auto transio que identificado pela aquisio de um novo item. A esse
evento existe uma condio de guarda associada, definida como Nem todos os itens disponveis, o que determina que deve voltar ao estado
quando esta condio for verdadeira. Para passar para o estado Finalizando Pedido, todos os itens devero estar disponveis.
Figura 29. Exemplo de auto transio

Pseudo estado de escolha

Representa um ponto na transio de estados de um objeto em que deve ser tomada uma deciso, a partir da qual um determinado estado ser
ou no gerado.

Um pseudo estado de escolha representa uma deciso apoiada por condies de guarda, em que se decidir qual o prximo estado do objeto a
ser gerado.

Ele representado pelo losango ou um crculo vazio de onde partem duas ou mais possveis transies.

A Figura 30 mostra que o processo se inicia quando informado o CPF do cliente, o que gera o estado Consultando Cliente, onde
executado o mtodo ConCPF(). Quando o estado concludo, feita uma escolha, representado pelo pseudo estado de escolha, se for
encontrado o CPF do cliente os dados do cliente sero exibidos na tela. Se o CPF no for encontrado, passado por outro estado de escolha,
para Encerrar o processo ou Incluir um novo cliente onde so executados os mtodos ValCPF() e NovoCliente().

abrir imagem em nova janela

Figura 30. Exemplo de pseudo estado de escolha

Barra de Bifurcao/Unio
A barra de bifurcao determina o momento em que o processo passou a ser executado em paralelo e em quantos subprocessos se dividiu. A
barra de unio determina o momento em que dois ou mais subprocessos se uniram em um nico processo.

O exemplo da Figura 31 mostra um exemplo de bifurcao e unio de um trecho de um diagrama, que modela os estados de um processo de
negcio, que passa por uma classe Curso no processo que o usurio leva para abrir turma, inscrever os alunos e fechar a turma.

No exemplo mostrado quando o usurio inicia Abrindo Turma, mas, para isso ele precisa realizar duas tarefas: realizar inscries e cancelar
as inscries que no foram confirmadas.

Para isso, foi inserida uma barra de bifurcao indicando que os dois estados ocorrem em paralelo. Em seguida, foi inserida uma barra de
unio para unir os dois subprocessos e gerar o estado Fechando Turma.

Figura 31. Exemplo de barra de bifurcao e unio

Estados Compostos

Estado composto o segundo tipo de estado e contm internamente dois ou mais estados, chamados subestados. Um estado composto pode
apresentar somente uma regio ou ser decomposto em duas ou mais regies ortogonais, onde cada regio ter estados e transies.

Veja o exemplo da Figura 32, que mostra, aps o CPF ser informado, um estado gerado Consultando cliente.

Depois desse estado ser concludo, passa para um pseudo estado de escolha. Se for necessrio cadastrar o cliente, gera uma transio para um
estado composto intitulado Manter Cliente. Dentro do estado composto existe outro estado inicial que se refere ao incio dos subestados do
estado composto Validando CPF e Gravando novo Cliente.
abrir imagem em nova janela

Figura 32. Exemplo de transio interna

Pseudo estado histrico

Representa o registro do ltimo subestado em que um objeto se encontrava, quando o processo tiver sido interrompido. O pseudo estado
histrico, denotado por H, utilizado para memorizar o ltimo estado ativo quando se deixou um estado composto.

A flecha do H aponta para o estado default, ou seja, o subestado que ativado na primeira vez em que o estado composto alcanado.

A Figura 33 mostra um lava-carro que inicia no estado composto, atravs do subestado Lavando. Se ocorrer o evento Parada de urgncia
durante o estado Enxaguando, passa para o estado Esperando e retoma ao ponto de parada anterior.
Figura 33. Exemplo de pseudo estado de histria

Estados Compostos Ortogonais

um estado composto que possui mais de uma regio, onde uma regio apresenta um conjunto de estados e os estados de cada regio so
assumidos paralelamente, o que fora o processo a se dividir em dois ou mais subprocessos concorrentes. Os processos concorrentes so
separados por uma linha tracejada.

A Figura 34 mostra o processo de solicitar pesquisa. Ele se inicia em um estado esttico que aguarda que o usurio digite um texto para
pesquisa.

O evento de insero de um texto causa uma transio para o estado composto ortogonal contendo duas regies. Uma a busca de
informaes relevantes a pesquisa, a outra busca de ofertas relacionadas ao texto. Os estados de cada regio ocorrem paralelamente.
abrir imagem em nova janela

Figura 34. Exemplo de estados compostos ortogonais

Estado de Sincronismo

Permitem que duas ou mais regies estejam sincronizados em um determinado momento do processo. Observe a Figura 35, que mostra dois
sinais de trnsito. No momento em que o sinal de um muda, o outro tambm deve mudar automaticamente.

Figura 35. Exemplo de sincronismo

Estado de Submquina

equivalente a um Estado Composto ou Concorrente, no entanto, seus subestados no so descritos no diagrama, o que indica que estes
tero de ser demonstrados em outro diagrama.

Representado por um retngulo com bordas arredondadas sem divises internas e contendo em seu canto inferior esquerdo um smbolo que
representa um diagrama de grfico de estados, significando que o estado em questo possui subestados, como podemos ver na Figura 36.
Figura 36. Exemplo de estado de submquina

Pseudo estado de Juno

utilizado para projetar caminhos transacionais complexos, podendo unir mltiplos fluxos em um nico ou dividir um fluxo em diversos,
podendo utilizar condies de guarda como auxlio. Veja a Figura 37, que mostra, aps ser necessrio cadastrar um novo cliente, o fluxo foi
dividido em dois e foi novamente unido por um pseudo estado de juno. Aps a unio dos fluxos, gera-se uma transio para o estado
Abrindo Conta, onde executado o mtodo AbrirConta() e aps sua concluso, gera-se uma transio para o estado de submquina
Registrando Depsito. Feito isso, o processo encerrado.

abrir imagem em nova janela

Figura 37. Exemplo de pseudo estado de juno

Pseudo estado de Ponto de Entrada e Ponto de Sada

So utilizados juntamente com estados de submquina ou estados compostos e demonstram pontos de entrada e sada, que sero somente
usados em casos excepcionais. O estado de entrada demonstra um caminho alternativo e representado por um crculo vazio.

O estado de sada demonstra normalmente uma exceo que causa o cancelamento do fluxo normal do estado e representado por um
crculo com um X, conforme pode ser visualizado na Figura 38.
Figura 38. Exemplo de Pseudo estado de Ponto de Entrada e Ponto de Sada

Pseudo estado de Trmino

Fora o trmino de uma mquina de estados devido, por exemplo, a ocorrncia de uma exceo. representado por um X, conforme a
Figura 39.

Figura 39. Exemplo de Pseudo estado de Trmino

Exemplo de um diagrama de atividades e de um diagrama de estado

A seguir so apresentados um diagrama de atividades e um diagrama de estados baseados nos seguintes requisitos:

No momento que o hspede informa o nmero do apartamento para quitar as dirias, o sistema deve consultar o hspede e todas as dirias
devidas pelo aluguel do apartamento, apresentando-as ao funcionrio;

A partir dessa listagem, deve-se quitar as dirias apresentadas;


Se tiver ocorrido a solicitao de quaisquer servios no perodo em que o quarto estava ocupado, estes devero ser quitados tambm. O
mesmo ocorre se tiver qualquer consumo de frigobar, sendo necessrio quit-los tambm.

Diagrama de atividades

O diagrama de atividades apresentado na Figura 40 apresenta a atividade Quitar Diria, conforme os requisitos apresentados. O diagrama
inicia atravs da ao Receber o nmero do apartamento a ser consultado no sistema.

Depois, a atividade passa para a ao Selecionar apartamento e em seguida para a ao Consultar dados do hspede que alugou o
apartamento. Posteriormente, passa para a ao Selecionar dirias devidas.

As consultas so realizadas atravs das classes Diria, Hspede.

Posteriormente, a ao Posicionar primeira diria acionada onde selecionada a primeira diria a ser pesquisada. A seguir, passa por um
n de deciso para verificar se existem outras dirias a serem apresentadas ao funcionrio.

O processo permanecer nesse lao, enquanto houver dirias a apresentar ao funcionrio. Quando no houver mais dirias a ao passa para a
ao Receber dirias, onde o funcionrio informa quais dirias sero quitadas.

Em seguida, a ao Posicionar na primeira diria acionada e entra no segundo lao, no qual executada a ao Quitar dirias. Enquanto
houver dirias a serem quitadas, permanecer nesse lao e o status de cada diria alterada para Quitado.

Enquanto houver dirias, a atividade posiciona na prxima diria e repete a operao de quitao. Se no houver dirias a atividade
encerrada.

Aps a concluso da atividade Quitar Diria, as outras atividades sero acionadas Quitar Servios e Quitar Consumo, quando o hspede
tiver usufrudo dos servios do hotel ou consumido algum produto. Aps essas atividades, todo o processo encerrado.
abrir imagem em nova janela

Figura 40. Exemplo de um modelo de diagrama de atividades

Diagrama de estados

A Figura 41 apresenta tambm a atividade Quitar Diria, conforme os requisitos apresentados. O processo se inicia quando o hspede
informa o nmero do apartamento de que deseja quitar as dirias, que gera transio para o estado composto Selecionando Dirias.

Nesse estado existem quatro subestados. O primeiro executa o mtodo ConApart(), o segundo executa o mtodo Con_diarias_Alug(), o
terceiro executa o mtodo ConHospede() e o quarto executa o mtodo ConDiaria().

O trmino do estado composto gera uma transio para o estado Quitando dirias, no qual executado o mtodo Quit_Diaria(). A partir
daqui, a transio se encontra em um pseudo estado de escolha para verificar se houve servios utilizados pelo apartamento. Se houve,
gerada uma transio para o estado de submquina referente ao processo Quitar Servios.

O fluxo dividido pelo pseudo estado de escolha reunido com um pseudo estado de juno, que gera uma transio para um segundo pseudo
estado de escolha, onde verificado se houve algum consumo no frigobar.
Se houve, gerada uma transio para um segundo estado de submquina Quitar Consumo. O fluxo dividido reunido por um segundo
pseudo estado de juno e o processo encerrado.

abrir imagem em nova janela

Figura 41. Exemplo de um modelo de diagrama de atividades

Nota-se que, atravs da representao dos diagramas, fica mais claro o que o sistema deve fazer. O diagrama de atividades, assim como o
diagrama de estados, so ferramentas poderosas de modelagem de sistemas.

Normalmente, um diagrama de atividades utilizado para modelar processos de trabalho, casos de uso, mtodos e algoritmos. O diagrama de
estados utilizado para acompanhar os estados que passa uma instncia de uma classe, representar os estados de um caso de uso ou mesmo
de um subsistema ou sistema completo.

Esses diagramas se tornam necessrios para compreender e modelar casos de uso no triviais e podem contribuir para o entendimento de
estruturas mais elaboradas de sistemas. Contudo, eles no podem substituir a especificao de requisitos. Eles podem servir como carter
complementar.

fundamental estabelecer quais processos sero representados no modelo e verificar se os diagramas esto completos e coerentes com a
descrio textual dos requisitos.

Referncias

Superstructure OMG UML V2.1.2


http://www.omg.org/spec/UML/2.1.2/

Guedes, Gilleanes T. A. UML2: uma abordagem prtica. Ed. So Paulo: Novatec. 2009.
Fernanda Fernandes Matos

Especializada em Anlise de Sistemas pela UFMG, ps graduada em Gesto de Projetos pelo IETEC e bacharel em Cincia da
Computao pela UNIVALE. Possui grande experincia na rea de TI, com destaque na Anlise de Requisitos e coo [...]

Publicado em 2015

Leia mais em: Trabalhando com os diagramas da UML Parte 1 http://www.devmedia.com.br/trabalhando-com-os-diagramas-da-uml-parte-


1/32922#ixzz3lW9xDbAo