Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelos de estados
Objetivos de aprendizagem
Reconhecer objetivos e caractersticas existentes na modelagem da viso dinmica do projeto. Compreender a notao utilizada nos diagramas que complementam a especificao do modelo dinmico do sistema. Reconhecer as possibilidades de utilizao e as notaes envolvidas no diagrama de estados e no diagrama de atividades.
Sees de estudo
Seo 1 Seo 2 Seo 3 Modelo de estados Modelo de atividades Consideraes sobre o uso da orientao a objetos
Os objetos do sistema passam por vrios estados. Essa transio faz com o prprio sistema se modifique. Na verdade, a transio ocorre porque um evento (mensagens, timer, erros, condies sendo satisfeitas, entre outros) disparado no sistema faz com que o objeto realize determinadas aes, que fazem com que o objeto modifique seu estado.
O diagrama de estados (DTE) deve ser utilizado somente para algumas classes, ou seja, somente para aqueles que possuem estados bem definidos e onde a mudana de estados propicia a mudana do comportamento das classes.
No diagrama a seguir, possvel mapear os possveis estados dos objetos e as aes e condies necessrias para que ocorra a mudana de estados entre os objetos.
os estados de um objeto; os eventos ou as mensagens que causam transio; as aes que resultam de uma mudana de estado.
Unidade 8
207
A existncia de estado em um objeto indica a ordem em que as operaes so executadas. No DTE, importante a descrio da ordem das operaes no tempo, pois essa ordem pode formalizar a caracterizao do comportamento de um objeto. O DTE utiliza-se de alguns componentes, so eles: a) Estado uma situao na vida de um objeto durante a qual ele satisfaz alguma condio ou realiza alguma atividade em resposta a um evento ou espera a ocorrncia de algum evento. No diagrama DTE, o estado representado por um retngulo arredondado.
Emitindo nota/O macarro est cozido/O menino est nadando. Objetos: nota, macarro, menino. Estado: emitindo, cozido, nadando.
b) Estado inicial O estado inicial de um objeto ocorre quando ele criado. Ele representado por um pequeno crculo fechado. Indica a partir de onde o DTE deve ser lido. Para cada DTE, voc s tem um estado inicial.
208
c) Estado final O estado final indica o final do ciclo de vida de um objeto. Ele representado por um crculo eclipsado. O estado final opcional e pode existir mais de um em um mesmo DTE.
No diagrama da figura 8.5, o estado final acontece logo depois da atualizao do estoque que modifica o estado do objeto em estoque. d) Transio Quando a ao ou atividade de um estado est completa, o fluxo de controle passa ao estado seguinte de ao. Especifica-se esse fluxo utilizando transies para mostrar o caminho de um estado de ao ou de atividade para o estado seguinte. Graficamente voc representa a transio por uma linha simples com uma direo. As transies no ativadas podem ter condies de proteo, significando que a transio ser iniciada somente se essa condio for satisfeita.
Unidade 8
209
Imagine quando voc est no banheiro pronto para iniciar o banho. Automaticamente voc pensa em duas possibilidades: o estado do chuveiro est ligado ou desligado. Em outras palavras: voc pode representar isso em um diagrama de estados. Nesse DTE, o evento girar a torneira; e as aes so abrir e fechar.
Figura 8.6 Exemplo DTE tomar banho Fonte: Elaborao da autora (2008).
Recibo de sinal explcito do outro objeto So gatilhos de uma transio (recibo de mensagens). O objeto recebe um sinal de outro objeto e muda de estado. Neste tipo de evento, o objeto que envia a mensagem fica esperando a sua finalizao. Passagem de perodo designado de tempo O evento acontecer aps um determinado perodo de tempo, disparando a mudana de estados. Nesse tipo de evento, utiliza-se a clusula after. Por exemplo: se voc tiver o evento after (1 minuto), significa que o evento ser executado um minuto depois de o objeto entrar no estado atual. Uma condio tornando-se verdadeira mostrada uma condio de guarda em uma transio de estados. Nesse caso, voc utiliza a clusula when, por exemplo, when (quantidade < 5), e ento a transio disparada se a quantidade for menor que 5. Recibo de chamada de operao pelo prprio ou por outro objeto mostrada como uma assinatura de evento em transio de estado. Um objeto solicita um servio a outro objeto.
210
Quando voc possui uma ao, ela possui um processo, que a transio do estado. Essa transio normalmente um processo de curta durao e que no pode ser interrompido. Muitas vezes, em vez de aes voc pode ter atividades relacionadas. Quando isso acontece, voc tambm possui um processo associado, mas o processo est associado a um estado. O processo mais duradouro e a atividade pode ser eventualmente interrompida por um evento.
A condio de guarda uma expresso de valor lgico usada em uma transio. Voc pode definir a condio utilizando-se parmetros, referncias e ligaes da classe. Observe na figura 8.7: s ser includo um aluno no curso se o contador for menor que 10.
Unidade 8
211
Quando voc define uma condio de guarda, ela s disparada se o evento associado ocorrer e se a condio for verdadeira. A condio de guarda sempre aparece no DTE com o uso de colchetes, como:
Realizar_saque (quantia) [quantia=saldo]/sacar (quantia)
No diagrama da figura 8.8, Lima (2005) apresenta um DTE para Pedidos. O pedido pode ser confirmado ou cancelado pelo cliente. O estado Pendente possui uma ao reflexiva Pedidos Pendentes. Ao finalizar o Pedido, o estado do Pedido estar alterado.
212
descrever o comportamento de um objeto ao longo de vrios casos de uso; modelar objeto dotado de comportamento muito dinmico.
Unidade 8
213
O conceito de multithreading utiliza o conceito de thread que considerado um processo leve, em que o espao de endereamento compartilhado por vrios programas. No ambiente multithreading, no existe a ideia de programas associados a processos, mas a threads. O processo nesse ambiente tem um thread de execuo, mas compartilha o espao de endereamento com inmeros outros threads (MACHADO, 2002).
Para Furlan (1998), os diagramas de atividades podem modelar o sistema de duas maneiras:
Para modelar o fluxo de trabalho As atividades so focalizadas conforme visualizadas pelo ator. Por exemplo, no fluxo de trabalho de processamento de um pedido incluir classes como Pedido e Cobrana. As instncias dessas duas classes sero produzidas por determinadas atividades (processar pedido criar um objeto Pedido, por exemplo); outras atividades podero alterar esses objetos (por exemplo, Enviar pedido modificar o estado do objeto Pedido a ser preenchido). Para modelar uma operao Os diagramas so empregados como fluxogramas. O diagrama permite visualizar, especificar, construir e documentar o comportamento de qualquer elemento da modelagem. Os diagramas de atividades podem ser anexados a classes, interfaces, componentes, ns, casos de uso e colaborao.
214
O diagrama sempre tem um estado inicial e um estado final. A transio de trmino liga um estado a outro, ou seja, o trmino de um passo o incio de outro. Cada uma das aes disparada no momento em que ocorre o trmino do evento anterior. Os pontos de ramificaes so pontos em que, a partir de uma transio de entrada, voc pode ter vrias transies de sada. o caso das condies de guarda do diagrama. Os objetos apresentados no diagrama podem ser:
Unidade 8
215
Seta cheia Relao de precedncia entre atividades. Seta pontilhada Consumo ou produo de objeto por atividade. Linha horizontal cheia Ponto de sincronizao. Pequeno crculo cheio Estado inicial. Pequeno crculo eclipsado Estado final.
No diagrama, voc percebe que existem dois fluxos paralelos (atividade 3 e 4) e que no existe limitao para o nmero de processos paralelos, pois a sincronizao desses fluxos acontece pelo uso de uma barra paralela. A barra pode ser utilizada para bifurcao ou juno. Se for uma barra de juno (join) (no diagrama aparece como sincronizao), dois ou mais fluxos de transio sero unidos em um nico fluxo. Se for uma barra de bifurcao a partir de uma transio de entrada, so criados dois ou mais fluxos paralelos (no diagrama aparece a bifurcao na condio de guarda se). Na figura a seguir, voc v o diagrama de atividade para o caso de uso realizar saque do sistema de caixa eletrnico.
216
ad Activity Diagram
Incio
Informa erro
Senha Vlida?
No
Disponibiliza cdulas
Atualiza Saldo
Final
Figura 8.10. Diagrama Realizar Saque do Sistema de Caixa Eletrnico Fonte: Elaborao da autora (2008).
Unidade 8
217
possvel observar pelo diagrama a sequncia de atividades que devem ser realizadas e a precedncia de cada atividade. Na figura a seguir, apresentado o diagrama de atividade para o caso de uso Gerar Contrato de Aluguel do sistema Imobilirio:
ad CSU05 Incio
Selecionar Cliente
Selecionar Fiador
Dados Aprovados?
Sim
Secionar Imvel
Final
Figura 8.11 - Diagrama Gerar Contrato de Aluguel do Sistema Imobilirio Fonte: Elaborao da autora (2008).
218
Para explicitar comportamentos paralelos; na modelagem de workflow; em caso de programao com multithreading; para melhor entendimento de workflow entre vrios casos de uso.
Workflow descreve tarefas dos processos de negcio (conjunto de uma ou mais atividades relacionadas que, coletivamente, atingem um objetivo) em um nvel conceitual necessrio para compreender, avaliar e reprojetar o processo de negcio (BORTOLI, 2004).
Unidade 8
219
A introduo da UML, suas facilidades e o grande nmero de ferramentas que suportam sua notao vm gradativamente revertendo esse quadro. O grande potencial de comunicao e reaproveitamento pela reutilizao de modelos em futuras aplicaes tem aproximado empresas de desenvolvimento do modelo orientado a objetos. Agora, para praticar os conhecimentos conquistados nesta unidade, realize a seguir as atividades propostas.
Sntese
Com esta unidade, voc complementou seu conhecimento sobre a representao dinmica do sistema por meio de seus diagramas de atividade e estado. Os fluxos de estado so excelentes na descrio de fluxos complexos, permitindo a visualizao da execuo do caso de uso. O diagrama de estado descreve muito bem o comportamento de um nico objeto, mas quando o comportamento envolve diversos objetos mais adequado o uso do diagrama de atividades. O diagrama de atividades suporta a descrio de comportamentos paralelos modelando o fluxo de trabalho, principalmente quando diferentes casos de uso interagem entre si ou utilizam multiprocessamento. Outra situao de uso comum para o diagrama de atividade seu uso para entender o comportamento, dependncias das aes e as prprias aes necessrias na realizao do caso de uso.
220
Atividades de autoavaliao
Leia com ateno os enunciados e realize as questes propostas. 1) Complete as afirmaes a seguir. a) Esta modificao chamada de _______________ entre estados. b) Os ______________ representa o resultado de atividades executadas por um objeto. c) O ______________ indica o final do ciclo de vida de um objeto. d) Os ______________ de um sistema modificam seu estado de forma anloga a objetos do mundo real. 2) Indique se os conceitos a seguir fazem parte do diagrama de estados (DTE) ou do diagrama de atividade (DA). a) ( ) O diagrama mostra os estados de um objeto. b) ( ) O diagrama explicita comportamentos paralelos. c) ( ) O diagrama mostra os eventos ou as mensagens que causam uma transio. d) ( ) O diagrama apoia o entendimento de workflow entre vrios casos de uso. 3) Relacione os conceitos a seguir. Observe que uma mesma opo pode se repetir. A) After B) Estado inicial C) When D) Transient E) Join a) ( ) utilizado em um DA para indicar uma bifurcao. b) ( ) Ocorre quando o objeto criado. c) ( ) Utilizado para designar a paassagem de um perodo predeterminado de tempo. d) ( ) utilizado para representar uma condio de guarda. e) ( ) utilizado em um DA para indicar uma sincronizao.
Unidade 8
221
4) Construa o diagrama de atividades do caso de uso Agendar Horrio da Clnica Bem-Estar a partir da viso do ator Atendente.
222
Unidade 8
223
Saiba mais
Para aprofundar as questes abordadas nesta unidade, voc poder pesquisar em: BEZERRA, E. Princpios de anlise e projeto de sistemas com UML. So Paulo: Campus, 2002. (Ler captulos 10 e 11.) BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: guia do usurio. So Paulo: Campus, 2000. (Ler captulos 18 e 19.) BORTOLI, A. O uso do workflow para apoiar a elicitao de requisitos. Workshop em engenharia de requisitos. 2004 FURLAN, Jos. Modelagem de objetos. So Paulo: Makron Books, 1998. (Ler captulo 6.)
224