Você está na página 1de 5

Anlise de Sistemas Orientada a Objetos II

Diagramas de Sequncia
Isaque Vieira de Sousa Alves

PARNABA PIAU ABRIL / 2010

1. Diagramas de Sequncia
1.1 O que so diagramas de sequncia
Diagrama de sequncia um dos tipos de diagramas estudados nas disciplinas de anlise de sistemas. Um diagrama de sequncia descreve um padro de interao entre objetos, organizado em ordem cronolgica; ele mostra os objetos que participam na interao pelas suas "linhas de vida" e as mensagens que um envia ao outro. Um diagrama de sequncia composto basicamente por objetos, atores e pelas mensagens que definem como eles interagem. O diagrama descreve o que ocorre nos objetos participantes, em termos de ativaes, e como os objetos se comunicam enviando mensagens uns aos outros. possvel fazer um diagrama de sequncia para cada variante do fluxo de eventos de um caso de uso.

Ilustrao 1: Um diagrama de sequncia que descreve parte do fluxo de eventos do caso de uso Colocar Ligao Local em uma Central Telefnica simples.

1.2 Distribuio de fluxo de controle em diagramas de sequncia


O controle centralizado de um fluxo de eventos ou de parte do fluxo de eventos significa que poucos objetos guiam o fluxo trocando mensagens com outros objetos. Esses objetos controladores decidem a ordem em que outros objetos sero ativados no caso de uso. A interao entre os objetos restantes mnima ou inexistente. Por exemplo, no sistema da mquina de reciclagem , o caso de uso Imprimir Relatrio Dirio controla, entre outros, o nmero e o tipo de objetos retornados, e escreve a contagem em um recibo. O objeto de controle gerador de relatrio decide a ordem em que os totais sero extrados e escritos.

Ilustrao 2: A estrutura de comportamento do caso de uso Imprimir Relatrio Dirio centralizada no objeto de controle Gerador de Relatrio.

Esse um exemplo de comportamento centralizado. A estrutura de controle centralizada principalmente porque as diferentes fases de sub-eventos do fluxo de eventos no dependem umas das outras. A principal vantagem desse mtodo que cada objeto no precisa controlar a contagem do objeto seguinte. Para mudar a ordem das fases de sub-eventos, basta fazer a mudana no objeto de controle. Ainda ser possvel adicionar facilmente outra fase de sub-evento se, por exemplo, for includo um novo tipo de item retornvel. Outra vantagem dessa estrutura que voc pode facilmente reutilizar as vrias fases de sub-eventos em outros casos de uso, porque a ordem de comportamento no est embutida nos objetos. O controle descentralizado surge quando os objetos participantes se comunicam diretamente entre si, e no atravs de um ou mais objetos controladores. No caso de uso Enviar Carta algum remete uma carta para outro pas atravs de uma agncia de correio. Primeiro, a carta enviada para o pas do destinatrio. No pas, a carta enviada para uma cidade especfica. A cidade, por sua vez, envia a carta para a residncia do destinatrio.

Ilustrao 3: A estrutura de comportamento do caso de uso Enviar Carta descentralizada.

O tipo de controle usado depende do aplicativo. Geralmente, voc deve tentar conseguir objetos independentes, isto , delegar vrias tarefas aos objetos naturalmente mais apropriados a execut-las. Um fluxo de eventos com controle centralizado ter um diagrama de sequncia "em forma de forquilha". Por outro lado, um diagrama de sequncia "em forma de escada" ilustra que a estrutura de controle foi descentralizada para os objetos participantes.

Ilustrao 4: Uma estrutura de controle centralizada em um fluxo de eventos produz um diagrama de sequncia "em forma de forquilha". Uma estrutura de controle descentralizada produz um diagrama de sequncia "em forma de escada".

A estrutura de comportamento da realizao de um caso de uso freqentemente consistem em uma mistura de comportamento centralizado e descentralizado. Uma estrutura descentralizada ser adequada: Se as fases de sub-evento estiverem intrinsecamente acopladas. Esse ser o caso se os objetos participantes: Formarem uma hierarquia de partes ou constituintes, como Pas - Estado Cidade; Formarem uma hierarquia de informaes, como CEO - Gerente de Diviso - Gerente de Seo; Representarem uma progresso cronolgica fixa (a sequncia de fases de sub eventos ser sempre realizada na mesma ordem), como Anncio Pedido - Fatura -Remessa - Pagamento; ou Formarem uma hierarquia de herana conceitual, como Animal - Mamfero Gato. Se voc desejar encapsular a funcionalidade e, portanto, fazer abstraes dela. Isso bom para algum que deseje utilizar sempre a funcionalidade inteira, porque a funcionalidade pode se tornar desnecessariamente de difcil compreenso caso a estrutura de comportamento seja centralizada. Uma estrutura centralizada ser adequada: Se a ordem em que as fases de sub-eventos sero executadas puder ser mudada. Se voc espera inserir novas fases de sub-eventos. Se voc deseja manter partes da funcionalidade reutilizveis como peas separadas.

Você também pode gostar