SlideShare uma empresa Scribd logo
DIAGRAMAS DE ESTADOS

        Edgar Gemo: ergemo@ustm.ac.mz
 Zeferino Saugene: zsaugene@ustm.ac.mz
Diagramas de Estado
 • Modo de representar as alterações de estado dos
   objectos do sistema (objectos mudam de estado
   como resposta a eventos e à passagem de tempo).


 • Exemplos:
    – Quando se liga/desliga um interruptor
    – Depois da passagem de um determinado período de tempo,
       a máquina de lavar termina o seu programa de lavagem, e
       inicia o de secagem



Um diagrama de estado também é designado por “máquina de estados”
Diagrama de Estados
• Diagrama de Estados
   – Ilustrar o comportamento interno de um determinado
     objecto, sub-sistema ou sistema global.
   – Representam
      •Possíveis estados de um objecto
      •Correspondentes transições entre estados
      •Eventos que fazem desencadear as transições
      •Operações (acções e actividades) executadas
       dentro de um estado ou durante um transição.
   – Objectos evoluem ao longo do tempo através de um
     conjunto de estados como resposta a eventos e à
     passagem do tempo.
Diagramas de Estado - Representação
                                     X

                                 Estado X
  Estado inicial                                          Estado final
                     transição


                                            Nome
 Visão de um Estado
    com detalhes
                                         Operações



                   Acesa
   Desligar (off)          Ligar (on)        Danificada

              Apagada

                       Exemplo: “lâmpada”
Diagramas de Estado
Sub-Estados (potencia o mecanismo de abstracção/decomposição)
     Um estado pode ser melhor descrito por um conjunto (sequencial e/ou
     concorrente) de outros estados, designados por “sub-estados”. Ou seja, um
     conjunto de estados podem ser agregados num único estado...
Diagramas de Estado
Sub-Estados
    Sub-Estados Concorrentes
Estados
• Estado: Situação registada por um objecto durante o seu
  ciclo de vida, durante a qual uma condição é verificada e
  vai executando alguma actividade, ou simplesmente
  espera que determinado evento ocorra.
Eventos
•   Elementos
     – Nome
        • String que distingue um estado dos outros. Estado sem
          nome diz-se “estado anónimo”.
     – Acções de Entrada e Saída
        • Acções executadas à entrada e saída do estado.
     – Actividades
        • Realizadas sobre um objecto quando se encontra nesse
          estado. Podem não influir sobre o estado do objecto.
     – Transições internas
        • Transições que ocorrem mas não mudam o estado do
          objecto.
     – Eventos diferidos
        • Eventos tratados num outro estado que não o corrente, mas
          que fazem sentido explicitar.
     – Sub-Estados
        • Estrutura interna ao estado composta por sub-estados
          disjuntos ou concorrentes.
Transições
• Relação entre dois estados que especifica que o objecto
  pode transitar de um para o outro
   – Realização de um conjunto de acções.
   – Desencadeado por um evento e pela verificação de
     determinadas condições.
• Sintaxe
      Evento [condição de guarda] / acção
   – Podem existir com ou sem eventos, como ou sem
     condições de guarda, com ou sem acções.
Transições
• Componentes de uma transição
   – Estado de origem e estado de destino.
   – Evento de gatilho (event trigger)
      • Evento cuja recepção faz com que se transite para o estado
        destino, caso a condição de guarda for satisfeita.
   – Condição de guarda
      • Expressão lógica avaliada quando a transição é lançada
        pelo evento de gatilho. Caso se verifique, o objecto transita,
        senão o estado mantém-se e o evento perde-se.
   – Acção.
      • Executada imediatamente aquando da transição.
• Transição sem gatilho (triggerless)
   – Ocorrem apenas porque o estado origem termina a
     sua actividade normalmente.
Transições
• Uma transição pode ter multiplos estados-origem e
  estados-destino, mas não é comum este tipo de
  utilização.
• Transições internas
   – Eventos que exigem uma resposta do objecto mas
      não provocam uma mudança de estado.
• Auto-Transições ou Transições Reflexivas
   – Evento que não provoca mudança de estado, mas
      provoca a interrupção do estado corrente, obrigando
      à sua reentrada.
Exemplos
        Proposto
                                                           Discussão
entry / inibe()                After (1 dia)
registaDB()                                      Comentário favorável / NCP++
do / produzListaDiária                           Comentário desfavorável / NCN++
exit / activa()


        when ( dataRegisto + períodoDiscussão
                    >= dataActual)


                                                           Aceite
                           [NCP > NCN] /
                      adicionaGlossárioOficial

     Validação


                        [NCP <= NCN] /                   Recusado
                 adicionaGlossárioRecusados
Eventos
• Ocorrência de um estímulo que pode
  corresponder a uma transição de estado
• Quatro tipos de eventos
  – Sinais
     • Objecto que é enviado assincronamente por um objecto e
       recebido por outro (ex: excepções).
  – Invocação
     • Lançamento de uma operação, tipicamente de modo
       síncrono.
  – Passagem do tempo
     • O que já se sabe. Usa-se a palavra-chave “after” para o
       explicitar.
  – Mudança de estado
     • Mudança de estado ou satisfação de uma condição. Usa-se
       “when” seguido da expressão lógica.
Acções e Actividades
• Acção
  – Computação atómica
  – Execução num período de tempo instantâneo
    e não interrompível.
  – Podem ser
    • Invocação de métodos
    • Criação ou destruição de objectos
    • Envio de sinal para outro objecto
  – Num estado
    • Acções de entrada: entry
    • Acções de saída : exit
    • Outras acções internas: evento / acção.
Acções e Actividades
• Actividade
   – Computação não atómica
   – Interrompível por outros eventos
   – Corresponde a uma operação complexa
       • Componentes do diagrama de actividades
       • Podem ser referidas na especificação de uma
         estado
          – Através do prefixo “do”.
          – Sequência de acções : “do / oper1();
            oper2();…”
Acções e Actividades
Ordem da realização de operações
• Um estado pode incluir
   – Acções de entrada, saída, actividades, transições
     internas e acções deferidas.
• Ordem pela qual surgem no diagrama
         Entry / action, action, …
         Do / activity, activity, …
         Exit / action, action, …
         Internal transition / action, action, …
         Internal transition / action, action, …
         …
         Event / Defer
         Event / Defer
         …
Ordem da realização de operações
•    Sequência de execução aquando de um evento de
     transição
    1. Caso exista uma actividade em execução, deverá
        ser interrompida “graciosamente”
    2. Caso existam, executar acções de saída.
    3. Caso existam, executar acções definidas na
        transição de estado.
    4. Caso existam, executar as acções de entrada,
        definida na clausula “entry”, do novo estado.
    5. Caso existam, começar a executar as actividades
        do novo estado.
Sub-Estados
• Estado definido dentro de outro estado
   – Abstracção que permite refinar/generalizar o nível de
     detalhe na descrição de um estado.
• Estado “Composto”
   – Estado composto por sub-estados.
   – Pode conter
      • Sub-estados concorrentes.
      • Sub-estados sequenciais.
Sub-Estados : Exemplo
• Diagrama de Estados de um PC




• Variante 1
Sub-Estados : Exemplo
• Variante 2
Sub-Estados : Exemplo
• Variante 3
Diagramas de Estados - Outros Aspectos
• Distinção entre diferentes tipos de estados
   – Simples : Sem sub-estados ou regiões
   – Composto : Com sub-estados ou regiões
   – Submáquina : reutilizável, referenciada por outras
     máquinas de estados.
   – Estado submáquina : contentor para uma sub-
     máquina, especificando pontos de entrada e saída.
• Possibilidade de se definir especialização ou
  generalização entre estados.
• Possibilidade da utilização de pseudo estados
   – Estado inicial, deep history, shallow history, barra de
     difusão (fork), barra de junção (join), ponto de junção
     (junction), ponto de decisão e ponto de entrado (entry
     point)
Diagramas de Estados - Outros Aspectos

• Possibilidade de utilização de portos para definição de
  tipos de serviço suportados por um estado.
• Possibilidade da definição de protocolos de máquinas de
  estados (protocol state machines) genéricos para
  diferentes tipos de classificadores.
TPC
1.    Desenhe o Diagrama de Estados para as seguintes
      situações:
     • Cliente e Cassete do Sistema de Gestão de
         Videoclube;
     • Leitor e Publicação no Sistema de Gestão de
         Biblioteca;
     • Artigo do Sistema de Gestão de Conferências;
     • Espectáculo, Bilhete, Sala, Lugar e Reserva do
         Sistema de gestão de Espectáculos.

Mais conteúdo relacionado

Mais procurados

Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAndré Constantino da Silva
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosRoney Sousa
 
Projeto em Seguranca da Informação
Projeto em Seguranca da InformaçãoProjeto em Seguranca da Informação
Projeto em Seguranca da InformaçãoFernando Palma
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareUFPA
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Projeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareAragon Vieira
 
Computação em nuvem (cloud computing), uma introdução.
Computação em nuvem (cloud computing), uma introdução.Computação em nuvem (cloud computing), uma introdução.
Computação em nuvem (cloud computing), uma introdução.Rodrigo Miranda
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Pepe Rocker
 
1.1 o que é computador
1.1 o que é computador1.1 o que é computador
1.1 o que é computadorAline Soares
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareFelipe Goulart
 
ATIVIDADE HARDWARE E SOFTWARE
ATIVIDADE HARDWARE E SOFTWAREATIVIDADE HARDWARE E SOFTWARE
ATIVIDADE HARDWARE E SOFTWAREamilson ramos
 
Modelo OSI Visão Geral
Modelo OSI   Visão GeralModelo OSI   Visão Geral
Modelo OSI Visão GeralAndré Nobre
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
 
Internet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesInternet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesFabio Souza
 

Mais procurados (20)

Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de Usuário
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Projeto em Seguranca da Informação
Projeto em Seguranca da InformaçãoProjeto em Seguranca da Informação
Projeto em Seguranca da Informação
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Projeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de Software
 
Computação em nuvem (cloud computing), uma introdução.
Computação em nuvem (cloud computing), uma introdução.Computação em nuvem (cloud computing), uma introdução.
Computação em nuvem (cloud computing), uma introdução.
 
Protocolos email
Protocolos emailProtocolos email
Protocolos email
 
Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)Sistemas Operativos (Operating Systems)
Sistemas Operativos (Operating Systems)
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
1.1 o que é computador
1.1 o que é computador1.1 o que é computador
1.1 o que é computador
 
Computação em nuvem
Computação em nuvemComputação em nuvem
Computação em nuvem
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
 
ATIVIDADE HARDWARE E SOFTWARE
ATIVIDADE HARDWARE E SOFTWAREATIVIDADE HARDWARE E SOFTWARE
ATIVIDADE HARDWARE E SOFTWARE
 
Modelo OSI Visão Geral
Modelo OSI   Visão GeralModelo OSI   Visão Geral
Modelo OSI Visão Geral
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Internet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicaçõesInternet das Coisas - Conceitos, tecnologias e aplicações
Internet das Coisas - Conceitos, tecnologias e aplicações
 

Semelhante a Aula capitulo9 diagrama_estados

Semelhante a Aula capitulo9 diagrama_estados (8)

Análise de Sistemas Orientado a Objetos - 11 - maquina_estados
Análise de Sistemas Orientado a Objetos - 11 - maquina_estadosAnálise de Sistemas Orientado a Objetos - 11 - maquina_estados
Análise de Sistemas Orientado a Objetos - 11 - maquina_estados
 
Modelagem de Sistemas de Informação 13 maquina_estados
Modelagem de Sistemas de Informação 13 maquina_estadosModelagem de Sistemas de Informação 13 maquina_estados
Modelagem de Sistemas de Informação 13 maquina_estados
 
Statecharts
StatechartsStatecharts
Statecharts
 
Aula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniaoAula diagrama de estados 3º periodo uniao
Aula diagrama de estados 3º periodo uniao
 
Diagrama de estados 1
Diagrama de estados 1Diagrama de estados 1
Diagrama de estados 1
 
Grafcet
GrafcetGrafcet
Grafcet
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de uso
 
Processos
ProcessosProcessos
Processos
 

Mais de Portal_do_estudante_ADS (16)

Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
Diagramas de pacotes
Diagramas de pacotesDiagramas de pacotes
Diagramas de pacotes
 
Diagramas de distribuicao
Diagramas de distribuicaoDiagramas de distribuicao
Diagramas de distribuicao
 
Diagramas de componentes
Diagramas de componentesDiagramas de componentes
Diagramas de componentes
 
Aula10 diagrama colaboracao
Aula10 diagrama colaboracaoAula10 diagrama colaboracao
Aula10 diagrama colaboracao
 
Aula9 diagrama de_sequencia
Aula9 diagrama de_sequenciaAula9 diagrama de_sequencia
Aula9 diagrama de_sequencia
 
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 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 -diagrama_de_actividade
Aula  -diagrama_de_actividadeAula  -diagrama_de_actividade
Aula -diagrama_de_actividade
 
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 capitulo9 diagrama_estados

  • 1. DIAGRAMAS DE ESTADOS Edgar Gemo: ergemo@ustm.ac.mz Zeferino Saugene: zsaugene@ustm.ac.mz
  • 2. Diagramas de Estado • Modo de representar as alterações de estado dos objectos do sistema (objectos mudam de estado como resposta a eventos e à passagem de tempo). • Exemplos: – Quando se liga/desliga um interruptor – Depois da passagem de um determinado período de tempo, a máquina de lavar termina o seu programa de lavagem, e inicia o de secagem Um diagrama de estado também é designado por “máquina de estados”
  • 3. Diagrama de Estados • Diagrama de Estados – Ilustrar o comportamento interno de um determinado objecto, sub-sistema ou sistema global. – Representam •Possíveis estados de um objecto •Correspondentes transições entre estados •Eventos que fazem desencadear as transições •Operações (acções e actividades) executadas dentro de um estado ou durante um transição. – Objectos evoluem ao longo do tempo através de um conjunto de estados como resposta a eventos e à passagem do tempo.
  • 4. Diagramas de Estado - Representação X Estado X Estado inicial Estado final transição Nome Visão de um Estado com detalhes Operações Acesa Desligar (off) Ligar (on) Danificada Apagada Exemplo: “lâmpada”
  • 5. Diagramas de Estado Sub-Estados (potencia o mecanismo de abstracção/decomposição) Um estado pode ser melhor descrito por um conjunto (sequencial e/ou concorrente) de outros estados, designados por “sub-estados”. Ou seja, um conjunto de estados podem ser agregados num único estado...
  • 6. Diagramas de Estado Sub-Estados Sub-Estados Concorrentes
  • 7. Estados • Estado: Situação registada por um objecto durante o seu ciclo de vida, durante a qual uma condição é verificada e vai executando alguma actividade, ou simplesmente espera que determinado evento ocorra.
  • 8. Eventos • Elementos – Nome • String que distingue um estado dos outros. Estado sem nome diz-se “estado anónimo”. – Acções de Entrada e Saída • Acções executadas à entrada e saída do estado. – Actividades • Realizadas sobre um objecto quando se encontra nesse estado. Podem não influir sobre o estado do objecto. – Transições internas • Transições que ocorrem mas não mudam o estado do objecto. – Eventos diferidos • Eventos tratados num outro estado que não o corrente, mas que fazem sentido explicitar. – Sub-Estados • Estrutura interna ao estado composta por sub-estados disjuntos ou concorrentes.
  • 9. Transições • Relação entre dois estados que especifica que o objecto pode transitar de um para o outro – Realização de um conjunto de acções. – Desencadeado por um evento e pela verificação de determinadas condições. • Sintaxe Evento [condição de guarda] / acção – Podem existir com ou sem eventos, como ou sem condições de guarda, com ou sem acções.
  • 10. Transições • Componentes de uma transição – Estado de origem e estado de destino. – Evento de gatilho (event trigger) • Evento cuja recepção faz com que se transite para o estado destino, caso a condição de guarda for satisfeita. – Condição de guarda • Expressão lógica avaliada quando a transição é lançada pelo evento de gatilho. Caso se verifique, o objecto transita, senão o estado mantém-se e o evento perde-se. – Acção. • Executada imediatamente aquando da transição. • Transição sem gatilho (triggerless) – Ocorrem apenas porque o estado origem termina a sua actividade normalmente.
  • 11. Transições • Uma transição pode ter multiplos estados-origem e estados-destino, mas não é comum este tipo de utilização. • Transições internas – Eventos que exigem uma resposta do objecto mas não provocam uma mudança de estado. • Auto-Transições ou Transições Reflexivas – Evento que não provoca mudança de estado, mas provoca a interrupção do estado corrente, obrigando à sua reentrada.
  • 12. Exemplos Proposto Discussão entry / inibe() After (1 dia) registaDB() Comentário favorável / NCP++ do / produzListaDiária Comentário desfavorável / NCN++ exit / activa() when ( dataRegisto + períodoDiscussão >= dataActual) Aceite [NCP > NCN] / adicionaGlossárioOficial Validação [NCP <= NCN] / Recusado adicionaGlossárioRecusados
  • 13. Eventos • Ocorrência de um estímulo que pode corresponder a uma transição de estado • Quatro tipos de eventos – Sinais • Objecto que é enviado assincronamente por um objecto e recebido por outro (ex: excepções). – Invocação • Lançamento de uma operação, tipicamente de modo síncrono. – Passagem do tempo • O que já se sabe. Usa-se a palavra-chave “after” para o explicitar. – Mudança de estado • Mudança de estado ou satisfação de uma condição. Usa-se “when” seguido da expressão lógica.
  • 14. Acções e Actividades • Acção – Computação atómica – Execução num período de tempo instantâneo e não interrompível. – Podem ser • Invocação de métodos • Criação ou destruição de objectos • Envio de sinal para outro objecto – Num estado • Acções de entrada: entry • Acções de saída : exit • Outras acções internas: evento / acção.
  • 15. Acções e Actividades • Actividade – Computação não atómica – Interrompível por outros eventos – Corresponde a uma operação complexa • Componentes do diagrama de actividades • Podem ser referidas na especificação de uma estado – Através do prefixo “do”. – Sequência de acções : “do / oper1(); oper2();…”
  • 17. Ordem da realização de operações • Um estado pode incluir – Acções de entrada, saída, actividades, transições internas e acções deferidas. • Ordem pela qual surgem no diagrama Entry / action, action, … Do / activity, activity, … Exit / action, action, … Internal transition / action, action, … Internal transition / action, action, … … Event / Defer Event / Defer …
  • 18. Ordem da realização de operações • Sequência de execução aquando de um evento de transição 1. Caso exista uma actividade em execução, deverá ser interrompida “graciosamente” 2. Caso existam, executar acções de saída. 3. Caso existam, executar acções definidas na transição de estado. 4. Caso existam, executar as acções de entrada, definida na clausula “entry”, do novo estado. 5. Caso existam, começar a executar as actividades do novo estado.
  • 19. Sub-Estados • Estado definido dentro de outro estado – Abstracção que permite refinar/generalizar o nível de detalhe na descrição de um estado. • Estado “Composto” – Estado composto por sub-estados. – Pode conter • Sub-estados concorrentes. • Sub-estados sequenciais.
  • 20. Sub-Estados : Exemplo • Diagrama de Estados de um PC • Variante 1
  • 23. Diagramas de Estados - Outros Aspectos • Distinção entre diferentes tipos de estados – Simples : Sem sub-estados ou regiões – Composto : Com sub-estados ou regiões – Submáquina : reutilizável, referenciada por outras máquinas de estados. – Estado submáquina : contentor para uma sub- máquina, especificando pontos de entrada e saída. • Possibilidade de se definir especialização ou generalização entre estados. • Possibilidade da utilização de pseudo estados – Estado inicial, deep history, shallow history, barra de difusão (fork), barra de junção (join), ponto de junção (junction), ponto de decisão e ponto de entrado (entry point)
  • 24. Diagramas de Estados - Outros Aspectos • Possibilidade de utilização de portos para definição de tipos de serviço suportados por um estado. • Possibilidade da definição de protocolos de máquinas de estados (protocol state machines) genéricos para diferentes tipos de classificadores.
  • 25. TPC 1. Desenhe o Diagrama de Estados para as seguintes situações: • Cliente e Cassete do Sistema de Gestão de Videoclube; • Leitor e Publicação no Sistema de Gestão de Biblioteca; • Artigo do Sistema de Gestão de Conferências; • Espectáculo, Bilhete, Sala, Lugar e Reserva do Sistema de gestão de Espectáculos.