Aula -diagrama_de_actividade
-
Upload
portaldoestudanteads -
Category
Documents
-
view
197 -
download
1
Transcript of Aula -diagrama_de_actividade
![Page 1: Aula -diagrama_de_actividade](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/1.jpg)
UML - Diagramas de Actividades(activity diagrams)
Edgar Gemo [email protected]
Zeferino Saugene [email protected]
![Page 2: Aula -diagrama_de_actividade](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/2.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/3.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/4.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/5.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/6.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/7.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/8.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/9.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/10.jpg)
Caso de estudo: Biblioteca
![Page 11: Aula -diagrama_de_actividade](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/11.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/12.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/13.jpg)
Exercícios adicionais
![Page 14: Aula -diagrama_de_actividade](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/14.jpg)
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](https://reader035.fdocumentos.tips/reader035/viewer/2022081122/5595820d1a28ab18548b4600/html5/thumbnails/15.jpg)
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