MODELAGEM DE SISTEMAS
Felipe Cunha – felipe.cunha@dce.ufpb.br
Yugo Alencar – yugo.alencar@dce.ufpb.br
PPGI/UFPB
1Chapter 5 System modeling
TÓPICOS
 Fundamentos
 Modelos de contexto
 Modelos de interação
 Modelos de estrutura
 Modelos de comportamento
 Engenharia dirigida a modelos
 Considerações finais
2Chapter 5 System modeling
FUNDAMENTOS
 Modelagem de sistemas é o processo de
desenvolvimento de modelos abstratos de um sistema,
onde cada modelo apresenta uma diferente visão
daquele sistema.
 “Um modelo abstrai o que o sistema faz e oculta os
detalhes”
 UML – Linguagem de Modelagem Unificada
3Chapter 5 System modeling
FUNDAMENTOS - Modelos de uso gráfico
 Como forma de facilitar a discussão sobre um sistema
existente ou proposto
 Os modelos podem ser incompletos e usar notação informal
 Como forma de documentar um sistema já existente
 Modelos para algumas partes do sistema.
 Como uma descrição detalhada para o D.B.Modelos
 Modelos têm que ser tanto corretos e precisos, quanto
completos.
4Chapter 5 System modeling
FUNDAMENTOS - conceitos
 Modelos do sistema existente
 Ajudam a esclarecer o que o sistema faz
 Levar os requisitos para um novo sistema
 Modelos do sistema a ser desenvolvido
 Ajudam a explicar os requisitos propostos para outros stakeholders do
sistema.
 Em um processo de Engenharia dirigida a modelos, é
possível gerar a implementação total ou parcial do sistema a
partir do modelo de sistema
5Chapter 5 System modeling
FUNDAMENTOS - Perspectivas de sistema
6Chapter 5 System modeling
Perspectiva externa
Perspectiva de interação
Perspectiva estrutural
Perspectiva comportamental
FUNDAMENTOS - Tipos de diagramas UML
7Chapter 5 System modeling
Diagramas de atividades
Diagramas de caso de uso
Diagramas de sequência
Diagramas de classe
Diagramas de estado
FERRAMENTAS
 Astah - http://astah.net/editions/community
 Cacoo - https://cacoo.com/diagrams/
 Comparação entre ferramentas:
 http://en.wikipedia.org/wiki/Comparison_of_data_modeli
ng_tools
Chapter 5 System modeling 8
MODELOS DE CONTEXTO
 Usados para ilustrar o contexto operacional de um
sistema e seu relacionamento com outros sistemas.
 Ajuda a definir os limites e funcionalidades do sistema.
 Cenário do sistema MHC-PMS
 Processo de negócio do sistema MHC-PMS
9Chapter 5 System modeling
MODELOS DE CONTEXTO – Cenário MHC-PMS
 Sistema de Gerenciamento de Pacientes com
Problemas de Saúde Mental
 Principais requisitos:
 Mantém dados dos pacientes
 Utilizados em clínicas especializadas e em hospitais
 Acesso aos dados on line e off line
 Não contém outras informações médicas dos pacientes
 Gerar informação gerencial
 Fornecer ao pessoal médico informações atualizadas
 Usuários do sistema da área da saúde e de outras áreas
 Registra, Gerencia e Monitora consultas, condições e evolução
 privacidade e segurança são requisitos críticos
10Chapter 5 System modeling
MODELOS DE CONTEXTO - MHC-PMS
11Chapter 5 System modeling
MODELOS DE CONTEXTO – Processo
 Modelos de contexto simplesmente mostram os
sistemas em seu ambiente
 Mas sob perspectiva de processo, mostram como o
sistema é desenvolvido em processos de negócio
 Modelo de processo de internação involutária
12Chapter 5 System modeling
MODELOS DE CONTEXTO – Processo de
internação involuntária
13Chapter 5 System modeling
MODELOS DE INTERAÇÃO - conceitos
 Modelar a interação de usuários do sistema é importante
para ajudar a identificar requisitos de usuário
 Modelar a interação entre sistemas ajuda a identificar
problemas de comunicação que podem surgir
 Modelar a interação de componentes ajuda a definir se a
estrutura do sistema será capaz de produzir o
desempenho e confiabilidade desejados
14Chapter 5 System modeling
MODELOS DE INTERAÇÃO - modelagem de
casos de uso
 Cada caso de uso representa uma tarefa discreta que
envolve a interação com um sistema externo
 Atores em um caso de uso podem ser pessoas ou
outros sistemas
 Representado esquematicamente para fornecer uma
visão geral do caso de uso e de forma textual mais
detalhada
15Chapter 5 System modeling
MODELOS DE INTERAÇÃO - modelagem de
casos de uso
 Caso de uso do MHC-PMS
16Chapter 5 System modeling
MODELOS DE INTERAÇÃO - modelagem de
casos de uso
MHC-PMS: Transferir dados
Atores Recepcionista, Sistema de Registro de Pacientes (SRP)
Descrição A recepcionista pode transferir dados do MHC-PMS para
um banco de dados geral de registro do paciente que é
mantido por uma autoridade de saúde. As informações
transferidas tanto pode ser atualizado de informações
pessoais (endereço, telefone, etc) ou um resumo do
diagnóstico e tratamento do paciente.
Dados Informações pessoais do paciente, resumo tratamento
Estímulo Comando de usuário emitido pela Recepcionista
Resposta Confirmação de que SRP foi atualizado
Comentários A recepcionista deve ter permissões de segurança
apropriadas para acessar as informações do paciente e
do PRS
17Chapter 5 System modeling
MODELOS DE INTERAÇÃO - modelagem de
casos de uso
18Chapter 5 System modeling
MODELOS DE INTERAÇÃO – usando diagramas
de sequência
 Usado para modelar as interações entre atores e os
objetos com o sistema
 Mostra uma sequencia de interações de um caso de uso.
19Chapter 5 System modeling
MODELOS DE INTERAÇÃO – usando diagramas
de sequência
20Chapter 5 System modeling
MODELOS DE INTERAÇÃO – usando diagramas
de sequência
Chapter 5 System modeling 21
MODELOS ESTRUTURAIS
 Modelam a organização do sistema em termos de
componentes, o que ele faz e seus relacionamentos
 São modelos estáticos, que mostram a estrutura do
projeto do sistema, ou dinâmicos, que mostram a
organização do sistema em execução
 Os modelos estruturais são criados quando se está
discutindo e projetando a arquitetura do sistema
22Chapter 5 System modeling
MODELOS ESTRUTURAIS – Diagramas de
classe
 São usados no desenvolvimento Orientado a Objetos
para mostrar as classes em um sistema e as
associações entre elas
 Uma classe em OO pode ser pensado como uma
definição geral de um tipo de objeto de sistema
 Uma associação é um elo entre as classes que indica
que existe alguma relação entre essas classes
23Chapter 5 System modeling
MODELOS ESTRUTURAIS – Diagramas de
classe
24Chapter 5 System modeling
MODELOS ESTRUTURAIS – Diagramas de
classe
25Chapter 5 System modeling
MODELOS ESTRUTURAIS – Diagramas de
classe
26Chapter 5 System modeling
MODELOS ESTRUTURAIS – Generalização
 Generalização é usada para gerenciar a complexidade
 Características das entidades Caracteríscas das
classes
 Membros das classes têm características comuns
Chapter 5 System modeling 27
MODELOS ESTRUTURAIS – Hierarquia de
generalização
28Chapter 5 System modeling
MODELOS ESTRUTURAIS – Hierarquia de
generalização
29Chapter 5 System modeling
MODELOS ESTRUTURAIS – agregação
 Um modelo de agregação mostra como as classes que
são coleções são compostas de outras classes
 Modelos de agregação são semelhantes a
relacionamento em modelos de dados semânticos
30Chapter 5 System modeling
MODELOS ESTRUTURAIS – modelos de
agregação
31Chapter 5 System modeling
MODELOS COMPORTAMENTAIS
 Modelos comportamentais são modelos do
comportamento dinâmico de um sistema como ele está
em execução
 Dados – de entrada, que tem de ser processado pelo
sistema
 Eventos – Algum evento acontece no sistema de
gatilhos
32Chapter 5 System modeling
MODELOS COMPORTAMENTAIS - Modelagem
dirigida a Dados
Chapter 5 System modeling 33
Processamento de pedidos – sistema bomba de
insulina
34Chapter 5 System modeling
MODELOS COMPORTAMENTAIS - Modelagem
dirigida a Eventos
 Sistemas de tempo real
 Por exemplo, um sistema de comutação de telefone fixo
 Os eventos pode provocar uma transição de um estado
para outro
Chapter 5 System modeling 35
MODELOS COMPORTAMENTAIS - Modelagem
dirigida a eventos - Microondas
36Chapter 5 System modeling
MODELOS COMPORTAMENTAIS - Modelagem
dirigida a eventos
37Chapter 5 System modeling
MODELOS COMPORTAMENTAIS - Modelagem
dirigida a eventos
38Chapter 5 System modeling
MODELOS COMPORTAMENTAIS - Modelagem
dirigida a eventos – Operação do Microondas
39Chapter 5 System modeling
ENGENHARIA DIRIGIDA A MODELOS
 Engenharia Dirigida a Modelos (MDE) é uma abordagem
para o desenvolvimento de software onde os modelos,
em vez de programas são os principais resultados do
processo de desenvolvimento
 Os programas que executam em uma plataforma de
software são então gerados automaticamente a partir
dos modelos
Chapter 5 System modeling 40
ENGENHARIA DIRIGIDA A MODELOS
 Prós
 Permite considerar níveis mais altos de abstração
 Gerando Código significa automaticamente que é mais barato
para adaptar os sistemas para novas plataformas.
 Contras
 Modelos de abstração nem sempre corretos e completos
 Custo alto no desenvolvimento de tradutores para as novas
plataformas.
Chapter 5 System modeling 41
ENGENHARIA DIRIGIDA A MODELOS - MDA
transformations
42Chapter 5 System modeling
CONSIDERAÇÕES FINAIS
 Um modelo é uma visão abstrata de um sistema que ignora
detalhes. Desenvolvido sob diferentes perspectivas.
 Modelos de contexto mostram como o sistema está posicionado em
relação a outros sistemas. Define as funcionalidades e limites.
 Modelos de interação usam diagramas de caso de uso e de
sequência para modelar interações entre usuários e sistemas.
 Modelos de estrutura mostram a organização e arquitetura do
sistema usando diagramas de classes e suas associações.
 Modelos de comportamento são usados para mostrar o
comportamento do sistema em execução quando processar dados
ou lidar com eventos, usando diagramas de atividades e de estado.
 EDM é a abordagem que gera códigos a partir de modelos.
Chapter 5 System modeling 43
CONSIDERAÇÕES FINAIS
 1. Por que modelar sistemas?
 2. Que erros acontecem quando não se entende o
contexto?
 3. Como modelar um sistema existente?
 4. Por que não é sempre preciso que um modelo
contenha detalhes?
 5. Você como parte de uma equipe que propõe usar o
Desenvolvimento Baseado em Modelos, quais fatores
devem ser levados em conta?
Chapter 5 System modeling 44
REFERÊNCIAS
 Ian Sommerville. Engenharia de Software,
9a. Edição. 2011
Chapter 5 System modeling 45

Es capítulo 5 - modelagem de sistemas

  • 1.
    MODELAGEM DE SISTEMAS FelipeCunha – felipe.cunha@dce.ufpb.br Yugo Alencar – yugo.alencar@dce.ufpb.br PPGI/UFPB 1Chapter 5 System modeling
  • 2.
    TÓPICOS  Fundamentos  Modelosde contexto  Modelos de interação  Modelos de estrutura  Modelos de comportamento  Engenharia dirigida a modelos  Considerações finais 2Chapter 5 System modeling
  • 3.
    FUNDAMENTOS  Modelagem desistemas é o processo de desenvolvimento de modelos abstratos de um sistema, onde cada modelo apresenta uma diferente visão daquele sistema.  “Um modelo abstrai o que o sistema faz e oculta os detalhes”  UML – Linguagem de Modelagem Unificada 3Chapter 5 System modeling
  • 4.
    FUNDAMENTOS - Modelosde uso gráfico  Como forma de facilitar a discussão sobre um sistema existente ou proposto  Os modelos podem ser incompletos e usar notação informal  Como forma de documentar um sistema já existente  Modelos para algumas partes do sistema.  Como uma descrição detalhada para o D.B.Modelos  Modelos têm que ser tanto corretos e precisos, quanto completos. 4Chapter 5 System modeling
  • 5.
    FUNDAMENTOS - conceitos Modelos do sistema existente  Ajudam a esclarecer o que o sistema faz  Levar os requisitos para um novo sistema  Modelos do sistema a ser desenvolvido  Ajudam a explicar os requisitos propostos para outros stakeholders do sistema.  Em um processo de Engenharia dirigida a modelos, é possível gerar a implementação total ou parcial do sistema a partir do modelo de sistema 5Chapter 5 System modeling
  • 6.
    FUNDAMENTOS - Perspectivasde sistema 6Chapter 5 System modeling Perspectiva externa Perspectiva de interação Perspectiva estrutural Perspectiva comportamental
  • 7.
    FUNDAMENTOS - Tiposde diagramas UML 7Chapter 5 System modeling Diagramas de atividades Diagramas de caso de uso Diagramas de sequência Diagramas de classe Diagramas de estado
  • 8.
    FERRAMENTAS  Astah -http://astah.net/editions/community  Cacoo - https://cacoo.com/diagrams/  Comparação entre ferramentas:  http://en.wikipedia.org/wiki/Comparison_of_data_modeli ng_tools Chapter 5 System modeling 8
  • 9.
    MODELOS DE CONTEXTO Usados para ilustrar o contexto operacional de um sistema e seu relacionamento com outros sistemas.  Ajuda a definir os limites e funcionalidades do sistema.  Cenário do sistema MHC-PMS  Processo de negócio do sistema MHC-PMS 9Chapter 5 System modeling
  • 10.
    MODELOS DE CONTEXTO– Cenário MHC-PMS  Sistema de Gerenciamento de Pacientes com Problemas de Saúde Mental  Principais requisitos:  Mantém dados dos pacientes  Utilizados em clínicas especializadas e em hospitais  Acesso aos dados on line e off line  Não contém outras informações médicas dos pacientes  Gerar informação gerencial  Fornecer ao pessoal médico informações atualizadas  Usuários do sistema da área da saúde e de outras áreas  Registra, Gerencia e Monitora consultas, condições e evolução  privacidade e segurança são requisitos críticos 10Chapter 5 System modeling
  • 11.
    MODELOS DE CONTEXTO- MHC-PMS 11Chapter 5 System modeling
  • 12.
    MODELOS DE CONTEXTO– Processo  Modelos de contexto simplesmente mostram os sistemas em seu ambiente  Mas sob perspectiva de processo, mostram como o sistema é desenvolvido em processos de negócio  Modelo de processo de internação involutária 12Chapter 5 System modeling
  • 13.
    MODELOS DE CONTEXTO– Processo de internação involuntária 13Chapter 5 System modeling
  • 14.
    MODELOS DE INTERAÇÃO- conceitos  Modelar a interação de usuários do sistema é importante para ajudar a identificar requisitos de usuário  Modelar a interação entre sistemas ajuda a identificar problemas de comunicação que podem surgir  Modelar a interação de componentes ajuda a definir se a estrutura do sistema será capaz de produzir o desempenho e confiabilidade desejados 14Chapter 5 System modeling
  • 15.
    MODELOS DE INTERAÇÃO- modelagem de casos de uso  Cada caso de uso representa uma tarefa discreta que envolve a interação com um sistema externo  Atores em um caso de uso podem ser pessoas ou outros sistemas  Representado esquematicamente para fornecer uma visão geral do caso de uso e de forma textual mais detalhada 15Chapter 5 System modeling
  • 16.
    MODELOS DE INTERAÇÃO- modelagem de casos de uso  Caso de uso do MHC-PMS 16Chapter 5 System modeling
  • 17.
    MODELOS DE INTERAÇÃO- modelagem de casos de uso MHC-PMS: Transferir dados Atores Recepcionista, Sistema de Registro de Pacientes (SRP) Descrição A recepcionista pode transferir dados do MHC-PMS para um banco de dados geral de registro do paciente que é mantido por uma autoridade de saúde. As informações transferidas tanto pode ser atualizado de informações pessoais (endereço, telefone, etc) ou um resumo do diagnóstico e tratamento do paciente. Dados Informações pessoais do paciente, resumo tratamento Estímulo Comando de usuário emitido pela Recepcionista Resposta Confirmação de que SRP foi atualizado Comentários A recepcionista deve ter permissões de segurança apropriadas para acessar as informações do paciente e do PRS 17Chapter 5 System modeling
  • 18.
    MODELOS DE INTERAÇÃO- modelagem de casos de uso 18Chapter 5 System modeling
  • 19.
    MODELOS DE INTERAÇÃO– usando diagramas de sequência  Usado para modelar as interações entre atores e os objetos com o sistema  Mostra uma sequencia de interações de um caso de uso. 19Chapter 5 System modeling
  • 20.
    MODELOS DE INTERAÇÃO– usando diagramas de sequência 20Chapter 5 System modeling
  • 21.
    MODELOS DE INTERAÇÃO– usando diagramas de sequência Chapter 5 System modeling 21
  • 22.
    MODELOS ESTRUTURAIS  Modelama organização do sistema em termos de componentes, o que ele faz e seus relacionamentos  São modelos estáticos, que mostram a estrutura do projeto do sistema, ou dinâmicos, que mostram a organização do sistema em execução  Os modelos estruturais são criados quando se está discutindo e projetando a arquitetura do sistema 22Chapter 5 System modeling
  • 23.
    MODELOS ESTRUTURAIS –Diagramas de classe  São usados no desenvolvimento Orientado a Objetos para mostrar as classes em um sistema e as associações entre elas  Uma classe em OO pode ser pensado como uma definição geral de um tipo de objeto de sistema  Uma associação é um elo entre as classes que indica que existe alguma relação entre essas classes 23Chapter 5 System modeling
  • 24.
    MODELOS ESTRUTURAIS –Diagramas de classe 24Chapter 5 System modeling
  • 25.
    MODELOS ESTRUTURAIS –Diagramas de classe 25Chapter 5 System modeling
  • 26.
    MODELOS ESTRUTURAIS –Diagramas de classe 26Chapter 5 System modeling
  • 27.
    MODELOS ESTRUTURAIS –Generalização  Generalização é usada para gerenciar a complexidade  Características das entidades Caracteríscas das classes  Membros das classes têm características comuns Chapter 5 System modeling 27
  • 28.
    MODELOS ESTRUTURAIS –Hierarquia de generalização 28Chapter 5 System modeling
  • 29.
    MODELOS ESTRUTURAIS –Hierarquia de generalização 29Chapter 5 System modeling
  • 30.
    MODELOS ESTRUTURAIS –agregação  Um modelo de agregação mostra como as classes que são coleções são compostas de outras classes  Modelos de agregação são semelhantes a relacionamento em modelos de dados semânticos 30Chapter 5 System modeling
  • 31.
    MODELOS ESTRUTURAIS –modelos de agregação 31Chapter 5 System modeling
  • 32.
    MODELOS COMPORTAMENTAIS  Modeloscomportamentais são modelos do comportamento dinâmico de um sistema como ele está em execução  Dados – de entrada, que tem de ser processado pelo sistema  Eventos – Algum evento acontece no sistema de gatilhos 32Chapter 5 System modeling
  • 33.
    MODELOS COMPORTAMENTAIS -Modelagem dirigida a Dados Chapter 5 System modeling 33
  • 34.
    Processamento de pedidos– sistema bomba de insulina 34Chapter 5 System modeling
  • 35.
    MODELOS COMPORTAMENTAIS -Modelagem dirigida a Eventos  Sistemas de tempo real  Por exemplo, um sistema de comutação de telefone fixo  Os eventos pode provocar uma transição de um estado para outro Chapter 5 System modeling 35
  • 36.
    MODELOS COMPORTAMENTAIS -Modelagem dirigida a eventos - Microondas 36Chapter 5 System modeling
  • 37.
    MODELOS COMPORTAMENTAIS -Modelagem dirigida a eventos 37Chapter 5 System modeling
  • 38.
    MODELOS COMPORTAMENTAIS -Modelagem dirigida a eventos 38Chapter 5 System modeling
  • 39.
    MODELOS COMPORTAMENTAIS -Modelagem dirigida a eventos – Operação do Microondas 39Chapter 5 System modeling
  • 40.
    ENGENHARIA DIRIGIDA AMODELOS  Engenharia Dirigida a Modelos (MDE) é uma abordagem para o desenvolvimento de software onde os modelos, em vez de programas são os principais resultados do processo de desenvolvimento  Os programas que executam em uma plataforma de software são então gerados automaticamente a partir dos modelos Chapter 5 System modeling 40
  • 41.
    ENGENHARIA DIRIGIDA AMODELOS  Prós  Permite considerar níveis mais altos de abstração  Gerando Código significa automaticamente que é mais barato para adaptar os sistemas para novas plataformas.  Contras  Modelos de abstração nem sempre corretos e completos  Custo alto no desenvolvimento de tradutores para as novas plataformas. Chapter 5 System modeling 41
  • 42.
    ENGENHARIA DIRIGIDA AMODELOS - MDA transformations 42Chapter 5 System modeling
  • 43.
    CONSIDERAÇÕES FINAIS  Ummodelo é uma visão abstrata de um sistema que ignora detalhes. Desenvolvido sob diferentes perspectivas.  Modelos de contexto mostram como o sistema está posicionado em relação a outros sistemas. Define as funcionalidades e limites.  Modelos de interação usam diagramas de caso de uso e de sequência para modelar interações entre usuários e sistemas.  Modelos de estrutura mostram a organização e arquitetura do sistema usando diagramas de classes e suas associações.  Modelos de comportamento são usados para mostrar o comportamento do sistema em execução quando processar dados ou lidar com eventos, usando diagramas de atividades e de estado.  EDM é a abordagem que gera códigos a partir de modelos. Chapter 5 System modeling 43
  • 44.
    CONSIDERAÇÕES FINAIS  1.Por que modelar sistemas?  2. Que erros acontecem quando não se entende o contexto?  3. Como modelar um sistema existente?  4. Por que não é sempre preciso que um modelo contenha detalhes?  5. Você como parte de uma equipe que propõe usar o Desenvolvimento Baseado em Modelos, quais fatores devem ser levados em conta? Chapter 5 System modeling 44
  • 45.
    REFERÊNCIAS  Ian Sommerville.Engenharia de Software, 9a. Edição. 2011 Chapter 5 System modeling 45