340 likes | 461 Views
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. Programa. T01-T03 – Módulo 1 Introdução à Modelação de Sistemas
E N D
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
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 Modelação
Revisões… Modelaçã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 Modelação
Revisões… • 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. Modelaçã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 Modelação
Modelação do Comportamento-Conceitos -(Conceptual Modeling of Information Systems -capítulos 12 e 11 – ler por esta ordem!!) Modelaçã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 Modelaçã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. Modelaçã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 Modelaçã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. Modelaçã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. Modelaçã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 Modelaçã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. Modelação
Modelação do Comportamento em UML(UML, Metodologias e Ferramentas CASE - Capítulo 8) Modelaçã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 Modelaçã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. Modelação
objecto link Diagrama de Objectos :Pessoa :Empresa mensagem objecto Diagrama de Interacção afecta(desenvolvimento) :Pessoa :Empresa Interacção = Um Tipo de Relação entre Entidades classe associação Diagrama de Classes Pessoa * 1..* Empresa Modelação
objecto link Diagrama de Objectos :Pessoa :Empresa mensagem objecto Diagrama de Interacção afecta(desenvolvimento) :Pessoa :Empresa 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. Modelaçã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) Modelaçã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!!! 1: add() número da mensagem :X :Y 2: modify() 3: update() :Z mensagem Modelação
Interacções - Sugestões Uma Interacção bem estruturada é: • 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. Modelaçã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. Modelaçã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 Modelaçã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. Modelaçã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 Modelaçã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 Modelação
Diag. Sequência versus Diag. Comunicação Diagramas 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...) Modelaçã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” Modelaçã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. Modelaçã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 Modelação