UML Diagramas de Estados Nos Diagramas de Estados

  • Slides: 11
Download presentation
UML – Diagramas de Estados (*) Nos Diagramas de Estados (statechart) representam-se os estados

UML – 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

UML – Diagramas de Estados Transições A transição é uma relação entre dois estados

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

UML – Diagramas de Estados Acções e Actividades Para além da indicação das acções

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 When (“ultrapassa prazo” ) / Enviado pedido Justificação Actividade Pedro Ramos, DCTI/ISCTE Aguarda Justificação Falta Entry / notifica superior Do / valida justificação Registo justificação / Enviado pedido autorização

UML – Diagramas de Estados Exemplo (I) (Objecto: Requisição) Evento Acção Pedido Criar Requisição

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

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

UML – Diagramas de Estados Exemplo (III) Ligar PC Inicializando Em Funcionamento Retirado de

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

UML – Diagramas de Actividades Os Diagramas de Actividades são extensões dos Diagramas de

UML – 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

UML – Diagramas de Actividades Decisões As actividades são unidas por uma seta que

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 Validar Data [data sistema > data devolução] [data sistema <= data devolução] Actualizar Stock Aplicar Sanção [data sistema <= data devolução] Aplicar Sanção Actualizar Stock Pedro Ramos, DCTI/ISCTE [data sistema > data devolução]

UML – Diagramas de Actividades Concorrência Aquisição de equipamento para o mestrado (ISCTE) Recolher

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 [autorizado] [cabimento] Encomendar [não autorizado] [sem cabimento] Pedro Ramos, DCTI/ISCTE Verificar legalidade de concurso [legal] [não legal]

UML – Diagramas de Actividades Swinlanes (I) Coordenador Mestrado Conselho Directivo Contabilidade Áreas Organização

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

UML – Diagramas de Actividades Swinlanes (II) : Requisição Recolher Requisição : Tabela Sanções

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