SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
UML - Diagramas de Actividades
(activity diagrams)

               Edgar Gemo errgemo@ustm.ac.mz
          Zeferino Saugene zsaugene@ustm.ac.mz
Objectivo
 Um 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 fluxograma
 com 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 estados
         Estado de espera: a saída é causada por eventos
          • Pode ter actividade e acções associadas
Estado    • 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
acção     • 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
activ.    • 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
Exemplo: Preparar bebida
                                                               [não há café]                         [não há cola]
                                       Procurar Bebida

barra de sincronização                         [há café]
     (separação)                                                                       [há cola]    decisão e
                                                                                                   ramificação

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


    Pôr Filtro na Maquina                                                              Buscar latas de cola




barra de sincronização                                envio de sinal
                              Ligar Máquina
        (fusão)
                                      /send ligar
                                      cafeteira
   estado de espera         Esperar que aqueça
(cantos arredondados)                         luz desliga-se

                          transição disparada por                      Deitar café
                             recepção de sinal          subactividade                        Beber
                                                    (lados arredondados)
Notação alternativa para envio e
recepção de sinais


                             Ligar Máquina

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

                           Esperar que aqueça         opcional

   Transição causada por      luz desliga-se
   evento de recepção de
   sinal
                               Deitar café
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

 cria, modifica                                                     consulta
                                       obj1:C1
 ou destrói

                   acção 1                                     acção 2




 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
Exemplo: Processo de encomenda
       Cliente           Vendas            Armazém

                                         e: Encomenda
    Faz encomenda   Regista encomenda      [pendente]


                                        Despacha encomenda


                                           e: Encomenda
                       Emite factura       [despachada]


     Paga factura       f: Factura
                                           Estado de objecto
                       [pendente]

     f: Factura
       [paga]
Modelação de processos de negócio
 Processo de negócio é actividade estereotipada
 Processo pode ter sub-diagrama encaixado
                           Requisitar Publicação


                           Levantar         Devolver




 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
Caso de estudo: Biblioteca
Diagrama de actividades relativo ao caso de
utilização de negócio "Requisitar publicação"
                    requisitante : Leitor                    a biblioteca : Biblioteca




              Vem requisitar                                      Verifica
                                                               disponibilidade


                                                 [ indisponível ]                 [ disponível ]


                                    [ espera ]               Coloca em lis ta de                         : requisição
      [ desiste ]                                                  espera                          [espera disponibilidade]

                                                                  Aguarda
                                                               disponibilidade

                                                            disponível

                                                                      Avisa o                           : requisição
             Vem levantar                                           requisitante                   [espera levantamento]

                                                                    Empresta a
                                                                     publicação
                Recebe a
                publicação                                                                               : requisição
                                                                                                     [espera devolução]
               Consulta a
               publicação


                Devolve a
                publicação
                                                                     Recolhe a                           : requisição
                                                                     public ação                         [finalizada]
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 o
    cliente 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

Más contenido relacionado

Más de Portal_do_estudante_ADS (10)

Aula8 diagrama de_objectos
Aula8 diagrama de_objectosAula8 diagrama de_objectos
Aula8 diagrama de_objectos
 
Aula2 paradigmas
Aula2 paradigmasAula2 paradigmas
Aula2 paradigmas
 
Aula1 eng software
Aula1 eng softwareAula1 eng software
Aula1 eng software
 
Aula capitulo9 diagrama_estados
Aula capitulo9 diagrama_estadosAula capitulo9 diagrama_estados
Aula capitulo9 diagrama_estados
 
Aula 7 diagramas_classes2
Aula 7 diagramas_classes2Aula 7 diagramas_classes2
Aula 7 diagramas_classes2
 
Aula 6 -_casos_de_uso
Aula 6 -_casos_de_usoAula 6 -_casos_de_uso
Aula 6 -_casos_de_uso
 
Aula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_umlAula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_uml
 
Aula 4 -_metodologia_e_tecnicas_de_analise_oo
Aula 4 -_metodologia_e_tecnicas_de_analise_ooAula 4 -_metodologia_e_tecnicas_de_analise_oo
Aula 4 -_metodologia_e_tecnicas_de_analise_oo
 
Aula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aooAula 3 -_fundamentos_sobre_aoo
Aula 3 -_fundamentos_sobre_aoo
 
Rup vs. xp
Rup vs. xpRup vs. xp
Rup vs. xp
 

Aula -diagrama_de_actividade

  • 1. UML - Diagramas de Actividades (activity diagrams) Edgar Gemo errgemo@ustm.ac.mz Zeferino Saugene zsaugene@ustm.ac.mz
  • 2. Objectivo Um 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 fluxograma com 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
  • 3. Tipos de estados Estado de espera: a saída é causada por eventos • Pode ter actividade e acções associadas Estado • 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 acção • 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 activ. • 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
  • 4. Exemplo: Preparar bebida [não há café] [não há cola] Procurar Bebida barra de sincronização [há café] (separação) [há cola] decisão e ramificação Pôr Café no Filtro Pôr Água no Reservatório Pôr Chávenas Pôr Filtro na Maquina Buscar latas de cola barra de sincronização envio de sinal Ligar Máquina (fusão) /send ligar cafeteira estado de espera Esperar que aqueça (cantos arredondados) luz desliga-se transição disparada por Deitar café recepção de sinal subactividade Beber (lados arredondados)
  • 5. Notação alternativa para envio e recepção de sinais Ligar Máquina Transição com acção de ligar cafeteira envio de sinal cafeteira Esperar que aqueça opcional Transição causada por luz desliga-se evento de recepção de sinal Deitar café
  • 6. 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
  • 7. 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 cria, modifica consulta obj1:C1 ou destrói acção 1 acção 2 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
  • 8. Exemplo: Processo de encomenda Cliente Vendas Armazém e: Encomenda Faz encomenda Regista encomenda [pendente] Despacha encomenda e: Encomenda Emite factura [despachada] Paga factura f: Factura Estado de objecto [pendente] f: Factura [paga]
  • 9. Modelação de processos de negócio Processo de negócio é actividade estereotipada Processo pode ter sub-diagrama encaixado Requisitar Publicação Levantar Devolver 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
  • 10. Caso de estudo: Biblioteca
  • 11. Diagrama de actividades relativo ao caso de utilização de negócio "Requisitar publicação" requisitante : Leitor a biblioteca : Biblioteca Vem requisitar Verifica disponibilidade [ indisponível ] [ disponível ] [ espera ] Coloca em lis ta de : requisição [ desiste ] espera [espera disponibilidade] Aguarda disponibilidade disponível Avisa o : requisição Vem levantar requisitante [espera levantamento] Empresta a publicação Recebe a publicação : requisição [espera devolução] Consulta a publicação Devolve a publicação Recolhe a : requisição public ação [finalizada]
  • 12. 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
  • 14. 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
  • 15. 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 o cliente 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