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

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

Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.

Apresentações semelhantes


Apresentação em tema: "Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha."— Transcrição da apresentação:

1 Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha

2 Programa T01-T03 – Módulo 1 –Introdução à Modelação de Sistemas T04-T07 – Módulo 2 –Modelação Conceptual de Sistemas T08-T11 – Módulo 3 –Ontologias T12 – Correcção do Teste 1 T13-T15 – Módulo 4 –Modelação de Sistemas: Comportamento T16-T18 – Módulo 5 –Modelação de Sistemas: Arquitectura T19-T25 – Módulo 6 –Temas avançados 2Modelação

3 Modelação do Comportamento - Revisão… - (Conceptual Modeling of Information Systems -capítulos 11, 12, 14 e 14) (UML, Metodologias e Ferramentas CASE - Capítulo 8) 3Modelação

4 Modelação da Dinâmica (ou Comportamento) em UML Esquema de comportamento: A especificação das acções válidas e das mudanças possíveis no estado do domínio do sistema. Um sistema executa acções (as quais podem provocar ou não alterações no estado do domínio) Em UML o comportamento de um sistema representa-se através de: –Dinâmica geral do sistema Diagrama de Casos de Utilização Diagrama de Actividade –Diagramas de Interacção Dinâmica entre objectos –Diagrama de Sequência –Diagrama de Comunicação –Diagrama Temporal Diagrama da Visão Geral da Interacção –Comportamento dos objectos... Diagrama de (Máquina de) Estados 4Modelação

5 5 Um caso se uso representa um conjunto de acções que um ou mais actores realizam num sistema para obter um resultado concreto. Um cenário é uma instância de um caso de uso. Representa assim uma sequência de acções concreta que ilustra um comportamento real do sistema. É normal que um caso de uso possa ser descrito por vários cenários Casos de Usos Máquina de Bebidas Cliente Fornecedor Comprar bebida Repor bebidas Retirar dinheiro Dono Abrir a máquina Fechar a máquina «include»

6 Diagramas de Actividade Descrição das actividades de um sistema (lógica do sistema e fluxos de dados), fornecendo uma visão do fluxo de controlo de um caso de uso. 6Modelação

7 Actividades e Objectos Exemplo para uma sequência de actividades evidenciando os objectos afectados nas entradas e saídas de algumas actividades 7Modelação

8 Actividades e Objectos Exemplos de actividades evidenciando os objectos passados de uma para outra (“data flow”) 8Modelação Exemplos retirados do “help” do Enterprise Architect…

9 Diagramas de Sequência e de Comunicação Diagramas de sequência mostram a sequência explicita das mensagens entre objectos adequados para visualizar um fluxo global ao longo do tempo Diagramas de comunicação mostram relações entre os objectos, adicionalmente às interacções adequados para visualizar padrões de colaboração entre objectos Estes diagramas são semanticamente equivalentes, mas não apresentem explicitamente a mesma informação (ex: a linha de tempo não existe no diagrama de comunicação...) 9Modelação

10 Máquinas de Estado Num sistema, as entidades podem ser modeladas como máquinas de estado. Cada entidade de um sistema (objecto) terá num dado instante a sua própria máquina de estados, mas conceptualmente o mesmo diagrama de transição de estados pode ser usado para todas as instâncias do mesmo tipo de entidades (classes). 10Modelação

11 Diagramas de Estado: Eventos, Acções e Condições com Guarda Uma transição de estado realiza-se se o evento ocorre e a guarda é verdadeira. Exemplos: Aviso da UPS [Energia da bateria > 10 minutos] / Emite aviso sonoro Aviso da UPS [Energia da bateria < 10 minutos] / Inicia shutdown Sintaxe completa de uma transição: evento [condição com guarda] / acção 11Modelação Evento de disparo de transição (trigger) Acção (executada na entrada do estado) Transição automática, sem acção ou condição

12 OCL Object Constraint Language 12Modelação

13 OCL Uma linguagem para expressar informação extra mas necessária sobe um modelo. É uma linguagem textual e declarativa (isto é, permite descrever o “quê” e não o “como”). OCL usa-se para especificar, em modelações com UML: –Expressões – indicação ou especificação de valores –Constrangimentos – restrições a um ou mais valores Expressões em OCL podem ser usadas em qualquer diagrama!!! 13Modelação

14 OCL Tipos de expressões: –O valor inicial de um atributo ou associação –Uma regra de derivação para um atributo ou associação –Uma instância, uma condição ou um valor para um parâmetro num diagrama dinâmico –Etc… Tipos de constrangimentos: –“Invariant” – uma restrição que se deve verificar sempre no sistema –“Precondition” – uma restrição que deve ser verdadeira para que uma operação seja executada –“Postcondition”- uma restrição que deve ser verdadeira no final da execução de uma operação –“Guard”- uma restrição que deve ser verdadeira antes de uma transição de estado 14Modelação

15 Exemplo com uma classe Modelação15 context Transaction inv: points >= 0

16 Exemplos de expressões e constragimentos 16Modelação Conta id : Integer saldo: Real = 0 deposito(valor : Real) levantamento(valor : Real) daSaldo() : Real context Conta::levantamento (valor : Real) pre: valor <= saldo post: saldo = saldo@pre – valor context Conta::daSaldo() : Real post: result = saldo Tipos de valores usuais: Integer, Real, String, Boolean Operações usuais: = <> = + - * / mod() div() max() min() round() abs() and or xor not implies if_then_else_endif …

17 “Navigation” em associações qualificadas 17Modelação Conta id : Integer saldo: Real = 0 deposito(valor : Real) levantamento(valor : Real) daSaldo() : Real Cliente conta * dono 1 cliente.conta.saldo = 0 cliente.conta->select(id=1234).saldo = 0 Expressão incorrecta Expressão correcta

18 “Navigation” em associações qualificadas 18Modelação Conta id : Integer saldo: Real = 0 deposito(valor : Real) levantamento(valor : Real) daSaldo() : Real Cliente conta * dono 1 cliente.conta[4321] Ou cliente.conta[id = 4321] Ou … id

19 OCL em diagramas de estados Modelação19 Exemplo retirado do “help” do Enterprise Architect…

20 OCL em diagramas de estados 20Modelação Máquina total: Real = 0 recebeMoeda(valor : Real) forneceAgua() devolveTotal()

21 Modelação21

22 Modelação22


Carregar ppt "Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha."

Apresentações semelhantes


Anúncios Google