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

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

Pedro Ramos, DCTI/ISCTE Diagramas de Estados (*) Nos Diagramas de Estados (statechart) representam-se os estados em que um objecto pode estar, bem como.

Apresentações semelhantes


Apresentação em tema: "Pedro Ramos, DCTI/ISCTE Diagramas de Estados (*) Nos Diagramas de Estados (statechart) representam-se os estados em que um objecto pode estar, bem como."— Transcrição da apresentação:

1 Pedro Ramos, DCTI/ISCTE 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. UML – Diagramas de 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

2 Pedro Ramos, DCTI/ISCTE 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: UML – Diagramas de Estados 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

3 Pedro Ramos, DCTI/ISCTE 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. UML – Diagramas de Estados 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). Aguarda Justificação Falta Entry / notifica superior Do / valida justificação When (ultrapassa prazo ) / Enviado pedido Justificação Registo justificação / Enviado pedido autorização Acção Actividade

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

5 Pedro Ramos, DCTI/ISCTE Exemplo (II) UML – Diagramas de Estados Em histórico Em atraso Pendente 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.

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

7 Pedro Ramos, DCTI/ISCTE 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 DTEs. 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. UML – Diagramas de Actividades

8 Pedro Ramos, DCTI/ISCTE 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. UML – Diagramas de Actividades Recolher Requisição Validar Data Actualizar Stock Aplicar Sanção [data sistema > data devolução] [data sistema <= data devolução] Recolher Requisição Validar Data Actualizar Stock Aplicar Sanção [data sistema > data devolução] [data sistema <= data devolução] ou

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

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

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


Carregar ppt "Pedro Ramos, DCTI/ISCTE Diagramas de Estados (*) Nos Diagramas de Estados (statechart) representam-se os estados em que um objecto pode estar, bem como."

Apresentações semelhantes


Anúncios Google