Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object...
-
Upload
denilson-gesser-moreira -
Category
Documents
-
view
223 -
download
3
Transcript of Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object...
![Page 1: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/1.jpg)
Modelação
Aula T15Modelação Conceptual de Sistemas
Revisão do ComportamentoOCL – Object Constraint Language
José Borbinha
![Page 2: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/2.jpg)
ProgramaT01-T03 – Módulo 1
– Introdução à Modelação de SistemasT04-T07 – Módulo 2
– Modelação Conceptual de SistemasT08-T11 – Módulo 3
– OntologiasT12 – 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
![Page 3: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/3.jpg)
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
![Page 4: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/4.jpg)
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
![Page 5: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/5.jpg)
Modelação 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 dinheiroDono
Abrir a máquina
Fechar a máquina
«include»
«include»
«include»
«include»
![Page 6: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/6.jpg)
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
![Page 7: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/7.jpg)
Actividades e Objectos
Exemplo para uma sequência de actividades evidenciando os objectos afectados nas entradas e saídas de algumas actividades
7Modelação
![Page 8: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/8.jpg)
Actividades e Objectos
Exemplos de actividades evidenciando os objectos passados de uma para outra (“data flow”)
8ModelaçãoExemplos retirados do “help” do Enterprise Architect…
![Page 9: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/9.jpg)
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
![Page 10: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/10.jpg)
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
![Page 11: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/11.jpg)
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
![Page 12: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/12.jpg)
OCLObject Constraint Language
12Modelação
![Page 13: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/13.jpg)
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
![Page 14: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/14.jpg)
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
![Page 15: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/15.jpg)
Exemplo com uma classe
Modelação 15
context Transaction inv:points >= 0
![Page 16: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/16.jpg)
Exemplos de expressões e constragimentos
16Modelação
Conta
id : Integersaldo: Real = 0
deposito(valor : Real)levantamento(valor : Real)daSaldo() : Real
context Conta::levantamento (valor : Real)pre: valor <= saldopost: saldo = saldo@pre – valor
context Conta::daSaldo() : Realpost: 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 …
![Page 17: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/17.jpg)
“Navigation” em associações qualificadas
17Modelação
Conta
id : Integersaldo: Real = 0
deposito(valor : Real)levantamento(valor : Real)daSaldo() : Real
Clienteconta*
dono1
cliente.conta.saldo = 0
cliente.conta->select(id=1234).saldo = 0
Expressão incorrecta
Expressão correcta
![Page 18: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/18.jpg)
“Navigation” em associações qualificadas
18Modelação
Conta
id : Integersaldo: Real = 0
deposito(valor : Real)levantamento(valor : Real)daSaldo() : Real
Clienteconta*
dono
1
cliente.conta[4321]
Ou
cliente.conta[id = 4321]
Ou…
id
![Page 19: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/19.jpg)
OCL em diagramas de estados
Modelação 19Exemplo retirado do “help” do Enterprise Architect…
![Page 20: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/20.jpg)
OCL em diagramas de estados
20Modelação
stm Diagrama de Estado - Seleccionar Bebida
Inac tivo A fornecer água
A rec eber moe das
Init ial
moeda i nserida/total = total + nova moeda
botã o B/devolve total
botão A [total i nserido >= 0.50]/entregar águatotal = total - 0.50
garrafa retirada [total > 0]
garrafa retirada [total = 0]
moeda i nserida/total = nova moeda
Máquina
total: Real = 0
recebeMoeda(valor : Real)forneceAgua()devolveTotal()
![Page 21: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/21.jpg)
Modelação 21
![Page 22: Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384c1a28abb8238f6412/html5/thumbnails/22.jpg)
Modelação 22