Upload
moises-carvalhal-de-sa
View
217
Download
3
Embed Size (px)
Citation preview
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
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
Revisões…
3Modelação
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
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
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
Modelação do Comportamento
-
Conceitos -
(Conceptual Modeling of Information Systems -capítulos 12 e 11 – ler por esta ordem!!)
7Modelação
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
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
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
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
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
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
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
Modelação do Comportamento
em UML
(UML, Metodologias e Ferramentas CASE - Capítulo 8)
15Modelação
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
Modelação da Dinâmica (ou Comportamento) em UML
17Modelação
Modelação da Dinâmica (ou Comportamento) em SysML
18Modelação
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
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
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
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
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
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
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
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
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
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
Interacção: Diagramas de Sequências (exemplo)
29Modelação
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
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
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
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
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