Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1
Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos Capítulo 5 Modelação do Sistema 2
Modelação do sistema Modelar o sistema é o processo de desenvolvimento de modelos sumários de um sistema, cada modelo apresenta uma vista em perspectiva diferente. Modelos do sistema representam um sistema usando algum tipo de notação gráfica, atualmente é quase sempre com base em notações na Unified Modeling Language (UML). Modelos do sistema ajudam o analista a entender a funcionalidade do sistema e os modelos são usados para comunicar com os clientes. Capítulo 5 Modelação do Sistema 3
Modelos de sistemas existentes e previstos Modelos de sistemas existentes são usados durante a engenharia de requisitos. Eles ajudam a esclarecer o que o sistema existente faz e pode ser usado como uma base para discutir seus pontos fortes e fracos. Modelos de um sistema novo são usados durante a engenharia de requisitos para ajudar a explicar os requisitos propostos para outros stakeholders do sistema. Os engenheiros usam esses modelos para discutir propostas de design e documentar o sistema para a implementação. Num processo de engenharia orientado ao modelo, é possível gerar uma implementação completa ou parcial do sistema a partir do modelo do sistema. Capítulo 5 Modelação do Sistema 4
Perspetivas do sistema Perspetiva externa, modelar o contexto ou ambiente do sistema. Perspectiva de interação, modelar as interações entre um sistema e o seu ambiente, ou entre os componentes de um sistema. Perspectiva estrutural, modelar a organização de um sistema ou a estrutura dos dados que são processados pelo sistema. Perspectiva comportamental, modelar o comportamento dinâmico do sistema e como ele responde a eventos. Capítulo 5 Modelação do Sistema 5
Tipos de diagramas UML Diagramas de actividade, mostram as actividades envolvidas num processo ou no processamento de dados. Diagramas de casos de uso, mostram as interacções entre um sistema e o seu meio ambiente. Diagramas de sequência, mostram as interacções entre actores e o sistema e entre os componentes do sistema. Diagramas de classes, mostram as classes de objectos no sistema e as associações entre estas classes. Diagramas de estado, que mostram como o sistema reage a eventos internos e externos. Capítulo 5 Modelação do Sistema 6
O uso de modelos gráficos Como forma de facilitar a discussão sobre um sistema existente ou proposto modelos incompletos e /ou discussão. incorrectos são uteis para apoiar a Como forma de documentar um sistema existente Os modelos devem ser uma representação precisa do sistema, mas não necessita ser completa. Como uma descrição detalhada do sistema que pode ser usado para gerar uma implementação do sistema Os modelos têm que ser corretos e completos. Capítulo 5 Modelação do Sistema 7
Modelos de contexto Capítulo 5 Modelação do Sistema 8
Modelos de contexto Modelos de contexto são usadas para ilustrar o contexto operacional de um sistema - eles mostram o que se encontra fora dos limites do sistema. Preocupações sociais e organizacionais podem afetar a decisão sobre onde posicionar as fronteiras do sistema. Modelos de arquitetura mostram o sistema e a sua relação com outros sistemas. Capítulo 5 Modelação do Sistema 9
Limites do sistema Limites do sistema são estabelecidos para definir o que está dentro e o que está fora do sistema. Eles mostram outros sistemas que são utilizados ou dependem do sistema que está a ser desenvolvido. A posição do limite do sistema tem um efeito profundo sobre os requisitos do sistema. A definição de um limite do sistema é um julgamento político Pode haver pressões para desenvolver limites do sistema que aumentam / diminuiem a influência ou carga de trabalho de diferentes partes de uma organização. Capítulo 5 Modelação do Sistema 10
O contexto do sistema Mentcare Capítulo 5 Modelação do Sistema 11
Perspectiva do modelo de processo Modelos de contexto, simplesmente mostrar os outros sistemas no ambiente, não como o sistema que está a ser desenvolvido é usado nesse ambiente. Modelos de processos revelam como o sistema que está a ser desenvolvido é usado em processos de negócios mais amplos. Diagramas de atividade UML pode ser utilizado para definir os modelos de processos de negócios. Capítulo 5 Modelação do Sistema 12
Modelo de processo de detenção involuntária Capítulo 5 Modelação do Sistema 13
Modelos de interação Capítulo 5 Modelação do Sistema 14
Modelos de interação Modelos de Interação do utilizador são importantes, pois ajudam a identificar as necessidades dos utilizadores. Modelos de interação do sistema-a-sistema destaca os problemas de comunicação que possam surgir. Modelos de interação de components ajuda a entender se uma estrutura do sistema proposto é susceptível de produzir o desempenho necessário e manter a sua confiabilidade. Diagramas de casos de uso e diagramas de sequência pode ser utilizados para modelar a interacção. Capítulo 5 Modelação do Sistema 15
Caso de uso Os casos de uso foram desenvolvidos originalmente para apoiar o levantamento de requesitos. Cada caso de uso representa uma tarefa discreta que envolve interação com um sistema externo. Atores num caso de uso podem ser pessoas ou outros sistemas. Representado esquematicamente para fornecer uma visão geral do caso de uso e numa forma textual mais detalhada. Capítulo 5 Modelação do Sistema 16
Caso de uso de transferência de dados Um caso de uso do sistema Mentcare Capítulo 5 Modelação do Sistema 17
Descrição do caso de uso transferência de dados Transferência dados Atores Rececionista, sistema de registros do paciente. Descrição A rececionista pode transferir dados do sistema Mentcare para uma base de dados de registro do paciente que é mantido por uma autoridade de saúde. A informação transferida pode tanto ser atualizado de informações pessoais (endereço, telefone, etc.) ou um resumo do diagnóstico e tratamento do paciente. Dados Informações pessoais, resumo tratamento do paciente Ação Comando de utilizador emitido pela rececionista. Resposta A confirmação de que o sistema de registros do paciente foi atualizado. Comentários A rececionista deve ter permissões de segurança apropriadas para aceder às informações do paciente e ao sistema de registros do paciente. Capítulo 5 Modelação do Sistema 18
Os casos de uso no sistema Mentcare que envolve o papel 'Recepcionista' Capítulo 5 Modelação do Sistema 19
Os diagramas de sequência Os diagramas de sequência são parte da UML e são utilizados para modelar as interações entre os agentes e os objetos dentro de um sistema. Um diagrama de sequência mostra a sequência de interações que têm lugar durante um determinado caso de uso ou instância. Os objetos e os agentes envolvidos são listados ao longo da parte superior do diagrama, com uma linha a tracejado desenhada verticalmente a partir destes. As interações entre os objetos são indicados por setas anotados. Capítulo 5 Modelação do Sistema 20
Diagrama de sequência para ver informação do paciente Capítulo 5 Modelação do Sistema 21
Diagrama de sequência para a transferência de dados Capítulo 5 Modelação do Sistema 22
Modelos estruturais Capítulo 5 Modelação do Sistema 23
Modelos estruturais Modelos estruturais de software apresentam a organização de um sistema em termos dos componentes que compõem esse sistema e os seus relacionamentos. Os modelos estruturais podem ser modelos estáticos, que mostram a estrutura do sistema, ou modelos dinâmicos, que mostram a organização do sistema quando ele está em execução. Criam-se modelos estruturais de um sistema quando se está a discutir e a projetar a arquitetura do sistema. Capítulo 5 Modelação do Sistema 24
Diagramas de classe Os diagramas de classe são usados no desenvolvimento de um modelo de sistema orientada a objectos para mostrar as classes de um sistema e as associações entre estas classes. Uma classe de objeto pode ser pensado como uma definição geral de um tipo de objeto do sistema. Uma associação é um elo entre classes que indica que existe alguma relação entre essas classes. Quando se está a desenvolver modelos durante as fases iniciais do processo de engenharia de software, objetos representam algo no mundo real, tal como um paciente, prescrição, médico, etc. Capítulo 5 Modelação do Sistema 25
UML e associação Capítulo 5 Modelação do Sistema 26
Classes e associações do MHC-PMS Capítulo 5 Modelação do Sistema 27
A classe Consulta Capítulo 5 Modelação do Sistema 28
Generalização A generalização é uma técnica de todos os dias que usamos para gerir a complexidade. Ao invés de aprender as características detalhadas de cada entidade que nós experimentamos, colocamos estas entidades em classes mais gerais (animais, carros, casas, etc.) e aprender as características dessas classes. Isso nos permite inferir que diferentes membros destas classes têm algumas características comuns, por exemplo, esquilos e ratos são roedores. Capítulo 5 Modelação do Sistema 29
Generalização Na modelação de sistemas, muitas vezes é útil para examinar as classes num sistema para ver se há espaço para generalização. Se são propostas alterações, então não se tem que olhar para todas as classes no sistema para ver se eles são afetados pela mudança. Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando os mecanismos de herança de classe incorporadas na linguagem. Em uma generalização, os atributos e as operações associadas com classes de nível mais elevado também estão associados com as classes de nível inferior. As classes de nível inferior são subclasses, herdam os atributos e operações da sua superclasses. Essas classes de nível mais baixo, em seguida, adicionam atributos e operações mais específicas. Capítulo 5 Modelação do Sistema 30
Hierarquia de generalização Capítulo 5 Modelação do Sistema 31
Uma hierarquia de generalização com detalhe adicional Capítulo 5 Modelação do Sistema 32
Modelos de agregação de classe Um modelo de agregação mostra como classes que são coleções são compostas de outras classes. Modelos de agregação são semelhantes à relação de parcialidade em modelos de dados semânticos. Capítulo 5 Modelação do Sistema 33
A associação de agregação Capítulo 5 Modelação do Sistema 34
Modelos comportamentais Capítulo 5 Modelação do Sistema 35
Modelos comportamentais Modelos comportamentais são modelos de comportamento dinâmico de um sistema como ele está em execução. Eles mostram o que acontece ou o que é suposto acontecer quando um sistema responde a um estímulo do seu ambiente. Pode-se pensar destes estímulos como sendo de dois tipos: Dados Alguns dados que têm de ser processadas pelo sistema. Eventos Algum evento acontece e desencadeia o processamento do sistema. Os eventos podem ter associado dados, embora isso nem sempre é o caso. Capítulo 5 Modelação do Sistema 36
Modelos baseado em dados Muitos sistemas de negócios são sistemas de processamento de dados que são movidos principalmente por dados. Eles são controladas por dados de entrada para o sistema, com relativamente pouco processamento do evento externo. Modelos controlados por dados mostram a sequência das ações envolvidas no processamento de dados de entrada e geração de uma saída associada. Eles são particularmente úteis durante a análise dos requisitos, de como eles podem ser usados para mostrar o processamento de ponta a ponta em um sistema. Capítulo 5 Modelação do Sistema 37
Um modelo de operação da atividade da bomba de insulina Capítulo 5 Modelação do Sistema 38
Processamento Capítulo 5 Modelação do Sistema 39
Modelação orientada a eventos Sistemas de tempo real são muitas vezes orientados a eventos, com o minimo de processamento de dados. Modelação de eventos mostra como um sistema responde a eventos externos e internos. Ele baseia-se no pressuposto de que um sistema tem um número finito de estados e que os eventos podem provocar uma transição de um estado para outro. Capítulo 5 Modelação do Sistema 40
Modelos de máquina de estado Estes modelam o comportamento do sistema em resposta a eventos externos e internos. Eles mostram as respostas do sistema aos estímulos, de modo que muitas vezes são usados para modelar sistemas de tempo real. Modelos de máquina de estado mostram estados do sistema como nós e eventos como arcos entre esses nós. Quando um evento ocorre, o sistema move-se de um estado para outro. Diagramas de estado são uma parte integrante da UML e são usados para representar modelos de máquinas de estados. Capítulo 5 Modelação do Sistema 41
Diagrama de estado de um forno de microondas Capítulo 5 Modelação do Sistema 42
Funcionamento do forno microondas Capítulo 5 Modelação do Sistema 43
Engenharia orientada a modelos Capítulo 5 Modelação do Sistema 46
engenharia orientada a modelos Engenharia Model-Driven (MDE) é uma abordagem para o desenvolvimento de software onde os modelos, em vez dos programas, são as principais realizações do processo de desenvolvimento. Os programas que executam em uma plataforma de hardware / software são gerados automaticamente a partir dos modelos. Os defensores da MDE argumentam que isso aumenta o nível de abstração em engenharia de software para que os engenheiros já não tenham de se preocupar com detalhes de linguagem de programação ou as especificidades de plataformas de execução. Capítulo 5 Modelação do Sistema 47
Uso da engenharia orientada a modelos Engenharia orientada a modelo ainda está em um estágio inicial de desenvolvimento, e não está claro se irá ou não ter um efeito significativo sobre a prática da engenharia de software. prós Permite que os sistemas sejam consideradas em níveis mais altos de abstração Gerar código automaticamente significa que é mais barato para adaptar os sistemas para novas plataformas. contras Modelos de abstração e não são necessariamente os certos para implementação. Poupança de código gerado podem ser compensados pelos custos de desenvolvimento de tradutores para novas plataformas. Capítulo 5 Modelação do Sistema 48
Model Driven Architecture Model Driven Architecture (MDA) foi o precursor da engenharia mais geral orientada a modelos MDA é uma abordagem focada no modelo de design de software e implementação que utiliza um subconjunto de modelos UML para descrever um sistema. São criados Modelos em diferentes níveis de abstração. A partir de um alto nível, modelo independente da plataforma, é possível, em princípio, para gerar um programa sem intervenção manual. Capítulo 5 Modelação do Sistema 49
Transformações MDA Capítulo 5 Modelação do Sistema 51
Vários modelos específicos da plataforma Capítulo 5 Modelação do Sistema 52
Pontos chave Um modelo é uma visão abstrata de um Sistema, que ignora detalhes do sistema. Modelos de sistemas complementares podem ser desenvolvidos para mostrar contexto, interações, a estrutura e comportamento do sistema. Modelos de contexto mostram como um sistema que está a ser modelado, está posicionado num ambiente com outros sistemas e processos. Diagramas de casos e diagramas de sequência são usados para descrever as interacções entre os utilizadores e os sistemas no sistema a ser concebido. Casos de uso descrevem as interacções entre um sistema e agentes externos; diagramas de sequência adicionam mais informações a estes, mostrando as interacções entre os objectos do sistema. Os modelos estruturais mostram a organização e arquitetura de um sistema. Os diagramas de classe são usados para definir a estrutura estática de classes num sistema e as suas associações. Capítulo 5 Modelação do Sistema 57
Pontos chave Modelos comportamentais são usados para descrever o comportamento dinâmico de um sistema em execução. Este comportamento podem ser modelados a partir da perspectiva dos dados processados pelo sistema ou pelos eventos que estimulam respostas de um sistema. Diagramas de actividade podem ser utilizados para modelar o processamento de dados, onde cada actividade representa um passo do processo. Diagramas de estado são usadas para modelar o comportamento de um sistema em resposta a eventos internos ou externos. Engenharia orientada a modelo é uma abordagem para o desenvolvimento de software no qual um sistema é representado como um conjunto de modelos que podem ser transformados automaticamente em código executável. Capítulo 5 Modelação do Sistema 58