A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Diagramas de Estados(*)

Apresentações semelhantes


Apresentação em tema: "Diagramas de Estados(*)"— Transcrição da apresentação:

1 Diagramas de Estados(*)
UML – Diagramas de Estados Diagramas de Estados(*) Nos Diagramas de Estados (statechart) representam-se os estados em que um objecto pode estar, bem como as transições entre estados. Estado: condição ou situação no decorrer da vida de um objecto (de duração finita) em que este satisfaz uma condição, executa uma actividade ou aguarda por um evento. É descrito por: 1. Nome 2. Acções de Entrada / Saída – acções executadas na entrada ou saída do estado 3. Actividades – operações que ocorrem enquanto o objecto está no estado 4. Sub estados – permite representar disjunções ou concorrência (*) Versão reduzida Pedro Ramos, DCTI/ISCTE

2 UML – Diagramas de Estados
Transições A transição é uma relação entre dois estados que indica que a execução de certas acções de um objecto o fará passar de um estado a outro quando um evento específico ocorrer e certas condições específicas forem satisfeitas. Cinco componentes: 1. Estado fonte – o estado afectado pela transição 2. Event Trigger – evento cuja recepção pelo estado fonte torna a transição elegível caso a condição de guarda seja satisfeita (o evento pode ser a passagem de tempo, uma invocação explícita de um método, um sinal) 3. Guarda – expressão boleana que é avaliada quando ocorre um event trigger (caso seja verdadeira a transição ocorre, caso contrário a transição não ocorre e o evento morre) 4. Acção – operação atómica (não pode ser interrompida) que pode ocorrer no momento da transição (usualmente é a responsável pela transição embora possam ocorrer transições sem acções, e.g., time out) 5. Estado Destino – estado activo depois da transição Pedro Ramos, DCTI/ISCTE

3 UML – Diagramas de Estados
Acções e Actividades Para além da indicação das acções que ocorrem no momento da transição, na descrição de um Estado podem também ser indicadas as acções que ocorrem no momento de entrada (Entry) e saída (Exit) do estado. Na descrição de um Estado podem também ser indicadas as actividades (acções mais complexas, não atómicas) que ocorrem no estado (Do). Acção Registo justificação / Enviado pedido autorização When (“ultrapassa prazo” ) / Enviado pedido Justificação Aguarda Justificação Falta Entry / notifica superior Do / valida justificação Actividade Pedro Ramos, DCTI/ISCTE

4 Exemplo (I) (Objecto: Requisição)
UML – Diagramas de Estados Exemplo (I) (Objecto: Requisição) Evento Acção Acção Devolução Requisição / Mover Histórico Pendente Entry / actualiza stock Pedido Requisição / Criar Requisição Em Histórico Entry / actualiza stock Verifica data [ data sistema > data devolução] Em atraso Exit / calcula sanção Devolução Requisição / Mover Histórico Evento Guarda Estado Inicial Estado Final Por vezes a indicação do evento (e acção) é forçada e dificulta a leitura. Pedro Ramos, DCTI/ISCTE

5 Exemplo (II) Suficiente ?
UML – Diagramas de Estados Exemplo (II) Pendente Em histórico Em atraso Suficiente ? Permite visualizar os estados de uma requisição. Não é suficiente como suporte ao desenvolvimento de código ... mas existem os diagramas de sequência ... Apenas será relevante indicar as acções (e triggers) caso eles correspondam aos métodos dos objectos. Pedro Ramos, DCTI/ISCTE

6 Exemplo (III) Actividade Sub estados Concorrentes Inicializando
UML – Diagramas de Estados Exemplo (III) Retirado de Schmuller, 99 Ligar PC Inicializando Do/Boot Em Funcionamento Desligar PC Desligando Actividade Regista Input Espera Input User Exibindo Input Input Monitoriza Relógio Sistema Actualiza display [Intervalo de tempo esgotado] Em Funcionamento Sub estados Concorrentes Pedro Ramos, DCTI/ISCTE

7 Diagramas de Actividades
UML – Diagramas de Actividades Diagramas de Actividades Os Diagramas de Actividades são extensões dos Diagramas de Transição de Estados (DTE). As actividades correspondem em parte às setas que unem os estados nos DTE’s. São semelhantes aos Flow Chart no sentido em que modelam sequências de passos (actividades), pontos de decisão e ramos (cenários alternativos). Podem ser utilizados para especificar pseudo código (nível de desenho) ou para desenhar processos de uma forma simplificada (nível de análise), e.g., processos organizacionais. [Muller, 99] propõe a utilização de Diagramas de Actividades para especificar Use Cases. Pedro Ramos, DCTI/ISCTE

8 UML – Diagramas de Actividades
Decisões As actividades são unidas por uma seta que representa a transição entre as actividades. Nas transições usualmente apenas se indicam as guardas (caso existam). As guardas representam decisões, i.e., caminhos alternativos. ou Recolher Requisição Recolher Requisição Validar Data Validar Data [data sistema > data devolução] [data sistema <= data devolução] Aplicar Sanção [data sistema <= data devolução] [data sistema > data devolução] Actualizar Stock Aplicar Sanção Actualizar Stock Pedro Ramos, DCTI/ISCTE

9 Concorrência Aquisição de equipamento para o mestrado (ISCTE)
UML – Diagramas de Actividades Concorrência Aquisição de equipamento para o mestrado (ISCTE) Recolher Orçamentos Obter Autorização aquisição Verificar cabimento orçamental Verificar legalidade de concurso [não legal] [autorizado] [cabimento] [legal] Encomendar [não autorizado] [sem cabimento] Pedro Ramos, DCTI/ISCTE

10 Swinlanes (I) Áreas Organização Coordenador Mestrado Conselho
UML – Diagramas de Actividades Swinlanes (I) Áreas Organização Coordenador Mestrado Conselho Directivo Contabilidade Economato Recolher Orçamentos [não legal] Obter Autorização aquisição Verificar cabimento orçamental Verificar legalidade de concurso [autorizado] [cabimento] [legal] [sem cabimento] Encomendar [não autorizado] Pedro Ramos, DCTI/ISCTE

11 Swinlanes (II) Classes Parecido com Diagrama de Sequência ...
UML – Diagramas de Actividades Swinlanes (II) Classes : Requisição :Tabela Sanções :Publicação Parecido com Diagrama de Sequência ... Recolher Requisição [data sistema > data devolução] Validar Data Cálculo Sanções Actualizar Stock [data sistema <= data devolução] Pedro Ramos, DCTI/ISCTE


Carregar ppt "Diagramas de Estados(*)"

Apresentações semelhantes


Anúncios Google