Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual...

34
Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14) UML, Metodologias e Ferramentas CASE (Capítulo 8) José Borbinha

Transcript of Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual...

Page 1: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Modelação

Aula T13Modelação Conceptual de Sistemas

Comportamento

Referências:– Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)– UML, Metodologias e Ferramentas CASE (Capítulo 8)

José Borbinha

Page 2: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

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 T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Revisões…

3Modelação

Page 4: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Revisões…

• Sistema: Um conjunto entidades que interagem entre si com o objectivo de atingir um determinado objectivo.

– Sistema de informação: Um conjunto de entidades (humanas e tecnológicas) interagindo entre si com o objectivo de satisfazer adequadamente as necessidades de informação de uma organização e respectivos processos de negócio!

• Modelação Conceptual: A actividade de descoberta e descrição do conhecimento geral que um determinado sistema de informação necessita ter”

• Conceptualmente, um sistema de informação tem como funções principais:– Memória: manter a representação do estado de um domínio– Informar: dar informação sobre o estado de um domínio– Actuar: agir para mudar o estado de um domínio

4Modelação

Page 5: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Domínio: Fragmento do mundo real sobre o qual é focada a tarefa de modelação e construção de um sistema.

– Ao domínio também se dá o nome de universo do discurso

Em sistemas de informação um domínio consiste num número de objectos e de relações entre eles, que são classificadas em conceitos. O estado de um dado domínio, num dado momento, consiste assim num grupo de objectos, num grupo de relações, e num conjunto de conceitos segundo os quais esses objectos e relações são classificados.

Classificação é o processo que associa um objecto do domínio a um conceito do domínio.

Revisões…

5Modelação

Page 6: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Revisões…• Conceito: Algo que concebemos no nosso entendimento através da generalização de

certas instâncias.

• Esquema: A especificação de um modelo usando uma determinada linguagem.

• Modelo: uma interpretação segundo um determinado ponto de vista, o qual define os níveis de abstracção e de detalhe requeridos.

• Linguagem: Estrutura de conceitos e conjunto de regras para interpretar o significado dessa estrutura de conceitos. Uma linguagem pode ser formal ou informal; textual ou gráfica; etc.

• Diagrama: Um esquema representado por uma linguagem gráfica

• Notação: Os elementos visuais dos diferentes elementos da estrutura de conceitos de uma linguagens de modelação gráfica.

• Esquema Conceptual de um sistema é composto por:– Esquema estrutural: A descrição do modelo de domínio do sistema– Esquema de comportamento: A especificação das acções válidas e das

mudanças possíveis no estado do domínio do sistema

6Modelação

Page 7: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Modelação do Comportamento

-

Conceitos -

(Conceptual Modeling of Information Systems -capítulos 12 e 11 – ler por esta ordem!!)

7Modelação

Page 8: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Sublinhando:• Esquema Conceptual de um sistema é composto por:

– Esquema estrutural: A descrição do modelo de domínio do sistema

–Esquema de comportamento: A especificação das acções válidas e das mudanças possíveis no estado do domínio do sistema

8Modelação

Page 9: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Acções:• 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!

• Acções válidas: as acções permitidas ou possíveis de serem executadas pelo sistema na sequência de eventos.

• As acções podem provocar ou não alterações no estado do domínio

• Uma acção que não altera o estado do domínio é tipicamente uma acção que seja apenas informativa, isto é, uma acção que apenas comunica com o exterior

• Um acção que provoca mudanças no estado do domínio é uma acção que altera as entidades do sistema ou as suas relações.

9Modelação

Page 10: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Acções e Eventos:• As acções ocorrem na sequência de eventos!

• Um que evoque uma acção que provoque uma mudança no estado do domínio é evento estrutural.

• Os eventos estruturais podem ser de:– Inserção de entidade– Eliminação de entidade– Inserção de relação– Eliminação de relação

10Modelação

Page 11: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Eventos de Domínio:• Uma mudança no estado do domínio pode ser:

– Simples: quando consiste apenas num evento estrutural– Composta: quando consiste em dois ou mis eventos estruturais

• Quando um conjunto de um ou mais eventos estruturais provocam uma mudança no estado do domínio que pode ser percebida ou considerada como única, esse conjunto diz-se de evento do domínio.

• Um evento do domínio corresponde assim a uma mudança no estado do domínio em que o estado antes da mudança e o estado depois da mudança satisfazem todos os constrangimentos estáticos de integridade do sistema expressos no seu esquema de comportamento.

11Modelação

Page 12: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Eventos e Tempo:• No domínio da modelação conceptual assume-se que as acções

são executadas imediatamente, isto é, há um assumpção de uma tecnologia-perfeita!!!

• Dois ou mais eventos de domínio podem ocorrer ao mesmo tempo, em paralelo.

• ATENÇÃO: Deve ser sempre identificado com cuidado quando é que dois eventos que ocorrem em paralelo fazem parte do mesmo evento de domínio, ou quando é que estamos na presença de dois eventos de domínio independentes!!!– O primeiro caso acontece quando a execução isolada dos

eventos deixa o sistema num estado inconsistente ou não válido.

– O segundo caso acontece quando, executando os eventos independentemente, cada um deles deixa o sistema num estado consistente.

12Modelação

Page 13: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Acções de Pedidos de Eventos:• Uma acção de pedido de evento (ou apenas pedido), é um pedido

ao sistema para executar uma acção.• Dependendo de como pode ser iniciado, um pedido pode ser:

– Explícito• Explícito externo: quando é gerado por um actor do sistema• Explícito induzido: quando é gerado por uma acção, como

parte do seu efeito– Gerado

• Gerado baseado no estado: quando é resultante de uma condição lógica sobre o domínio do sistema que resulta verdadeira em dois estados consecutivos

• Gerado baseado no evento: quando é resultante de uma condição lógica sobre o domínio do sistema que se verifica durante a ocorrência de um evento de domínio

– Temporal: quando é resultante de uma passagem de tempo

13Modelação

Page 14: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Acções de Pedidos de Eventos:• Exemplos de dois tipos importante de acções de pedidos de

eventos externos:

– Notificação de evento de domínio: é um pedido explícito externo que tem como efeito uma alteração no sistema correspondente exactamente a um único evento de domínio

– Interrogação (“query”): é um pedido explícito externo que tem como efeito evocar uma acção que apenas informa para o exterior sobre o estado do sistema, não alterando esse estado

• Constrangimentos de acções de pedidos de eventos:– Um constrangimento de um pedido é uma condição que tem de

se verificar para que o pedido possa acontecer.

14Modelação

Page 15: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Modelação do Comportamento

em UML

(UML, Metodologias e Ferramentas CASE - Capítulo 8)

15Modelação

Page 16: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Modelação da Dinâmica (ou Comportamento) em UML

• 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

16Modelação

Page 17: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Modelação da Dinâmica (ou Comportamento) em UML

17Modelação

Page 18: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Modelação da Dinâmica (ou Comportamento) em SysML

18Modelação

Page 19: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Interacções• Uma interacção é a especificação do comportamento de um conjunto

de objectos, representado por uma troca de mensagens, num determinado contexto, e com vista à concretização de um dado objectivo.

– Num diagrama de interacção representam-se portanto objectos e troca e mensagens entre esses objectos!

• Uma mensagem é a especificação de uma comunicação entre dois objectos.

• Sempre que existe uma ligação (link) entre objectos, pode ocorrer uma ou mais interacções.

19Modelação

Page 20: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Interacção = Um Tipo de Relação entre Entidades

classe

PessoaEmpresa

associação

1..* *Diagrama de

Classes

:Pessoa :Empresa

objecto

Diagrama de Objectos

:Pessoa :Empresaafecta(desenvolvimento)

objecto

link

mensagem

Diagrama de Interacção

20Modelação

Page 21: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Interacções - Objectos e Links• Os diagramas de interacções devem ser considerados como uma

extensão dinâmica aos diagramas de objectos (que são estáticos).• Uma ligação traduz uma relação semântica/estrutural entre

objectos. Sempre que existe uma associação entre duas classes também deve existir uma ligação entre instâncias dessas classes.

• Uma mensagem é o estabelecimento de uma comunicação por uma ligação entre objectos que veicula informação com a expectativa de determinada actividade ser realizada.

:Pessoa :Empresa

objecto

Diagrama de Objectos

:Pessoa :Empresaafecta(desenvolvimento)

objecto

link

mensagem

Diagrama de Interacção

21Modelação

Page 22: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Tipos de Mensagens de Interacção em UML

Em UML estão já predefinidos alguns tipos de mensagens:• Call: invoca uma operação de um objecto (o tipo mais comum…)• Return: devolve um valor para o objecto que a envia• Send: envia um sinal para o objecto de destino• Create: cria um objecto• Destroy: destrói um objecto (um objecto pode auto-destruir-se)

22Modelação

Page 23: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Interacções - Sequência de Mensagens• Quando um objecto envia uma mensagem a outro objecto, este por

sua vez pode enviar outra mensagem a outro objecto, e assim sucessivamente…

• Criam-se, deste modo, sequências de mensagens, em geral executadas sobre o mesmo processo ou actividade de execução.

• É importante descrever claramente essas sequências!!!

:X

:Z

:Y

1: add()

2: modify()3: update()

número da mensagem

mensagem

23Modelação

Page 24: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Interacções - Sugestões

• Simples: deve incluir apenas os objectos necessários que entre si realizam um determinado comportamento.

• De contexto bem definido: pode-se representar uma interacção de objectos no contexto de uma operação, de uma classe, ou o do sistema como um todo.

• Comprensível: não deve ter efeitos co-laterais escondidos ou semântica obscura.

Uma Interacção bem estruturada é:

24Modelação

Page 25: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Diagramas de Interacção

• Um diagrama de interacção ilustra as mensagens trocadas entre objectos na realização de um caso de uso.

• Devem-se utilizar diagramas de interacção sempre que se pretende representar o comportamento de vários objectos num único caso de uso.

25Modelação

Page 26: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Tipos de Diagramas de Interacção em UML

• 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

26Modelação

Page 27: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Tipos de Diagramas de Interacção

• Diagrama de sequência: Dá ênfase à ilustração temporal das mensagens trocadas entre os objectos

• Diagrama de comunicação: Dá ênfase à organização estrutural dos objectos que trocam mensagens entre si.

• Diagrama temporal (timming diagram): é um diagrama opcional que permite especificar restrições de tempo associadas a mensagens trocadas no decurso de uma interacção.

• Diagrama da visão geral da interacção (interaction overview diagram): Dá ênfase à perspectiva de alto nível do fluxo de controlo lógico das interacções relevantes. Pode ser encarado como um diagrama de actividade, em que os seus nós são interacções definidas com detalhe através dos diagramas de sequência e ou de comunicação.

27Modelação

Page 28: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Interacção: Diagramas de Sequências

• Descrevem interacção de uma forma cronológica.• Conceitos

• objectos e sua linha de vida• mensagens• âmbito de execução• numeração de mensagens hierárquica

28Modelação

Page 29: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Interacção: Diagramas de Sequências (exemplo)

29Modelação

Page 30: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Interacção: Diagramas de Comunicação

• Mostram relações entre os objectos, adicionalmente às interacções• Adequados para visualizar padrões de colaboração entre objecto

30Modelação

Page 31: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Diag. Sequência versus Diag. ComunicaçãoDiagramas de sequência mostram a sequência explicita das

mensagens melhores para visualizar o fluxo global de

aplicação melhores para especificações de tempo

real e para cenários complexos

Diagramas de comunicação• mostram relações, adicionalmente às

interacções• melhores para visualizar padrões de

colaboração entre objectos• melhores para visualizar todos os

efeitos num dado objecto• mais fáceis de utilizar em reuniões

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 sequências...)

31Modelação

Page 32: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Interação - Utilizações Comuns

• Para modelar o fluxo de controlo numa perspectiva temporal– Usar diagramas de sequências

• particularmente útil para detalhar um cenário de um caso de uso• adequado para situações complexas, ou para fluxos de controlo

múltiplos e concorrentes (sistemas de tempo real), ...

• Para modelar o fluxo de controlo numa perspectiva organizacional– Usar diagramas de comunicação

• ênfase nas relações estruturais entre as instâncias de uma interacção• mais adequados para especificar situações simples • desenho “procedimental”

32Modelação

Page 33: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Diag. de Interacção – Diagrama Temporal• Diagrama com objectivo de

evidenciar as mudanças de estado que ocorrem num determinado objecto ao longo de um período de tempo.

• Pode ser considerado como uma combinação entre um diagrama de interacção e um diagrama de estados, com possibilidade de representar restrições de tempo e de duração.

33Modelação

Page 34: Modelação Aula T13 Modelação Conceptual de Sistemas Comportamento Referências: –Conceptual Modeling of Information Systems (Capítulos 11, 12, 13 e 14)

Para as próximas aulas…

• 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

34Modelação