View
194
Download
6
Category
Preview:
DESCRIPTION
Engenharia de software - modelagem de sistemas
Citation preview
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íticos10Chapter 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
Recommended