aula -diagrama_de_actividade

15
UML - Diagramas de Actividades (activity diagrams) Edgar Gemo [email protected] Zeferino Saugene [email protected]

Upload: portaldoestudanteads

Post on 03-Jul-2015

197 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Aula  -diagrama_de_actividade

UML - Diagramas de Actividades(activity diagrams)

Edgar Gemo [email protected]

Zeferino Saugene [email protected]

Page 2: Aula  -diagrama_de_actividade

ObjectivoUm diagrama de actividades decompõe uma actividade em sub-actividades (actividades de mais baixo nível), podendo chegar a acções atómicas, com fluxo de controlo sequencial ou concorrente entre sub-actividades

• Opcionalmente, podem-se definir as unidades organizacionais, entidades ou objectos responsáveis pela execução de acções ou actividades

• Opcionalmente, podem-se indicar fluxos de objectos - objectos que são entrada ou saída de sub-actividades

• Pode-se usar toda a notação dos diagramas de estados

Um diagrama de actividades é essencialmente um fluxogramacom concorrência

A actividade que está a ser decomposta pode ser:• Um caso de utilização• Uma operação de uma classe• Um grupo de casos de utilização relacionados entre si• Uma parte de uma actividade de mais alto nível

Page 3: Aula  -diagrama_de_actividade

Tipos de estadosEstado de espera: a saída é causada por eventos

• Pode ter actividade e acções associadas• Transições de saída têm eventos e possivelmente condições e acções

Estado de acção: estado de execução de uma acção, cuja conclusão determina a saída do estado

• Acção: operação atómica, instantânea, que não pode ser interrompida• Transições de saída não têm eventos, mas podem ter condições e acções

Estado de (sub)actividade: estado de execução de uma (sub)actividade, cuja conclusão determina a saída do estado

• (Sub)Actividade: operação não atómica, possivelmente detalhada noutro diagrama (com ícone), potencialmente demorada, que pode ser interrompida

• Transições de saída não têm eventos, mas podem ter condições e acções

Decisão: estado de passagem em que são testadas condições• As condições aparecem nas transições de saída• Não é um estado verdadeiro, mas uma ramificação numa transição

acção

activ.

Estado

Page 4: Aula  -diagrama_de_actividade

Exemplo: Preparar bebidaProcurar Bebida [não há café] [não há cola]

[há cola][há café]

Pôr Água no ReservatórioPôr Café no Filtro Pôr Chávenas

Pôr Filtro na Maquina

Ligar Máquina

Esperar que aqueça

/send ligar cafeteira

Deitar caféBeber

Buscar latas de cola

luz desliga-seestado de espera

(cantos arredondados)

decisão e ramificação

subactividade(lados arredondados)

envio de sinal

transição disparada por recepção de sinal

barra de sincronização(separação)

barra de sincronização(fusão)

Page 5: Aula  -diagrama_de_actividade

Notação alternativa para envio e recepção de sinais

ligar cafeteira

luz desliga-se

Ligar Máquina

Esperar que aqueça

Deitar café

cafeteira

opcional

Transição com acção de envio de sinal

Transição causada por evento de recepção de sinal

Page 6: Aula  -diagrama_de_actividade

Pistas de responsabilidade (swimlanes)

Um diagrama de actividades pode ser dividido em pistas de responsabilidade (swimlanes), separadas por linhas contínuas

Cada pista é encabeçada pelo nome da unidade organizacional, entidade ou objecto responsável pelas acções e actividades aí localizadas

Cada acção ou actividade é localizada numa única pista, mas uma transição pode atravessar várias pistas

Útil para modelar fluxos de trabalho relativos a processos de negócio

Page 7: Aula  -diagrama_de_actividade

Fluxos de objectos

Um objecto pode ser entrada (para consulta) ou saída (para criação, modificação ou destruição) de uma acção

• indica-se por uma seta a traço interrompido (seta de dependência) entre a acção e o objecto, no sentido do fluxo

Quando uma acção tem como saída um objecto que é entrada para a acção seguinte, é desnecessário indicar o fluxo de controlo (a transição), basta o fluxo de/para objectos (tipo DFD)

acção 1

obj1:C1

acção 2

consultacria, modifica ou destrói

acção 1 obj1:C1 acção 2

Page 8: Aula  -diagrama_de_actividade

Exemplo: Processo de encomenda

Faz encomenda

Cliente

Regista encomenda

Vendas Armazém

Emite factura

Despacha encomenda

Paga factura

e: Encomenda[pendente]

e: Encomenda[despachada]

f: Factura[pendente]

f: Factura[paga]

Estado de objecto

Page 9: Aula  -diagrama_de_actividade

Modelação de processos de negócio

Processo de negócio é actividade estereotipada

Processo pode ter sub-diagrama encaixado

Dependências com estereótipos "supply", "controls", ..., entre processos

Processos transformam objectos de entrada, produzem objectos de saída, usam recursos e pretendem atingir "goals"

Ver "Business Modeling with UML: Business Patterns at Work", de Hans-Erik Eriksson e Magnus Penker, Wiley & Sons, 2000

Requisitar Publicação

Levantar Devolver

Page 10: Aula  -diagrama_de_actividade

Caso de estudo: Biblioteca

Page 11: Aula  -diagrama_de_actividade

Vem requisitar

Devolve a publicação

Recebe a publicação

Consulta a publicação

Vem levantar

Verifica disponibilidade

Recolhe a publicação

Empresta a publicação

Coloca em l is ta de espera

Aguarda disponibil idade

Avisa o requisitante

disponível

[ desiste ]

[ espera ]

[ disponível ][ indisponível ]

a biblioteca : Bibliotecarequisitante : Leitor

Diagrama de actividades relativo ao caso de utilização de negócio "Requisitar publicação"

: requisição[finalizada]

: requisição[espera disponibilidade]

: requisição[espera levantamento]

: requisição[espera devolução]

Page 12: Aula  -diagrama_de_actividade

Exercício 1

Refinar caso de estudo com:• refinar diagrama anterior com controlo de prazos de levantamento e

devolução, e desistência do leitor- Sugestão: usar fluxo de controlo concorrente (com envio/recepção de

sinais) em vez de sequencial

• elaborar diagramas de actividades relativas a outros casos de utilização do negócio

Page 13: Aula  -diagrama_de_actividade

Exercícios adicionais

Page 14: Aula  -diagrama_de_actividade

Exercício 2: Visionamento de cassete de video

Suponha que, para visionar num televisor o conteúdo completo de uma cassete de video de 8mm gravada com uma máquina de filmar, uma pessoa deve proceder da seguinte forma:

• Para preparar a reprodução, realizar as seguintes operações por qualquer ordem:

- conectar a máquina de filmar ao televisor- ligar o televisor no canal “AV”- ligar a máquina de filmar na posição “player”, inserir a cassete, carregar no botão

“rewind” para rebobinar a cassete e esperar pela conclusão da rebobinagem• Carregar então no botão “play” da máquina de filmar para iniciar a

reprodução (visionar o conteúdo da cassete no televisor)• Chegando ao fim da gravação ou ao fim da fita, realizar as seguintes

operações, por qualquer ordem:- rebobinar a cassete (se tiver chegado ao fim da fita, a máquina rebobina-a

automaticamente, e basta esperar pela conclusão da rebobinagem; senão, écarregar em “stop” para parar a reprodução, e carregar em “rewind”), ejectar a cassete e desligar a máquina

- desligar o televisor- retirar os cabos que conectam a máquina ao televisor

Modelize este procedimento num diagrama de actividade

Page 15: Aula  -diagrama_de_actividade

Exercício 3: Procedimento em empresa de software

(ES, 9/1/98) Uma empresa de software segue o seguinte procedimento na fase inicial (análise e especificação de requisitos) dos projectos de desenvolvimento de novos produtos:

• A direcção da empresa começa por contratar com o cliente um caderno de encargos para a 1ª fase do projecto (análise e especificação de requisitos), e nomeia de seguida um analista responsável pela condução dessa fase.

• O analista começa por analisar o caderno de encargos. Seguidamente, entrevista ocliente e, em paralelo, recolhe documentação relevante (nomeadamente legislação). Com base nesses elementos, elabora o relatório de especificação de requisitos, que submete à apreciação da direcção da empresa. A direcção da empresa pode aprovar o relatório ou propor alterações. No 2º caso, o analista elabora uma nova versão com as alterações propostas, que submete de novo à apreciação da direcção. Uma vez obtida a aprovação da direcção, o relatório é submetido à apreciação do cliente, que o pode aprovar ou recusar. No 2º caso, o analista elabora uma nova versão, que volta a apresentar à apreciação da direcção e assim sucessivamente.

• Uma vez obtida a aprovação do cliente, considera-se terminada a fase de análise e especificação de requisitos.

Modelize este procedimento através de um diagrama de actividades