aula -diagrama_de_actividade

Post on 03-Jul-2015

197 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

UML - Diagramas de Actividades(activity diagrams)

Edgar Gemo errgemo@ustm.ac.mz

Zeferino Saugene zsaugene@ustm.ac.mz

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

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

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)

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

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

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

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

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

Caso de estudo: Biblioteca

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]

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

Exercícios adicionais

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

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

top related