Capítulo 5 Modelação do Sistema - di.ubi.ptsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/Ch5... ·...
Transcript of Capítulo 5 Modelação do Sistema - di.ubi.ptsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/Ch5... ·...
Capítulo 5 – Modelação do Sistema
Capítulo 5 Modelação do Sistema 12017/2018
Assuntos abordados
Modelos de contexto
Modelos de interação
Modelos estruturais
Modelos comportamentais
Engenharia orientada a modelos
Capítulo 5 Modelação do Sistema 22017/2018
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 32017/2018
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 42017/2018
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 52017/2018
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 62017/2018
O uso de modelos gráficos
Como forma de facilitar a discussão sobre um sistema
existente ou proposto
modelos incompletos e /ou incorrectos são uteis para apoiar a
discussão.
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 72017/2018
Modelos de contexto
Capítulo 5 Modelação do Sistema 82017/2018
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 92017/2018
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 102017/2018
O contexto do sistema Mentcare
Capítulo 5 Modelação do Sistema 112017/2018
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 122017/2018
Modelo de processo de detenção involuntária
Capítulo 5 Modelação do Sistema 132017/2018
Modelos de interação
Capítulo 5 Modelação do Sistema 142017/2018
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 152017/2018
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 162017/2018
Caso de uso de transferência de dados
Um caso de uso do sistema Mentcare
Capítulo 5 Modelação do Sistema 172017/2018
Descrição do caso de uso transferência de
dados
Capítulo 5 Modelação do Sistema 18
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.
2017/2018
Os casos de uso no sistema Mentcare que
envolve o papel 'Recepcionista'
Capítulo 5 Modelação do Sistema 192017/2018
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 202017/2018
Diagrama de sequência para ver informação do
paciente
Capítulo 5 Modelação do Sistema 212017/2018
Diagrama de
sequência
para a
transferência
de dados
Capítulo 5 Modelação do Sistema 222017/2018
Modelos estruturais
Capítulo 5 Modelação do Sistema 232017/2018
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 242017/2018
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 252017/2018
UML e associação
Capítulo 5 Modelação do Sistema 262017/2018
Classes e associações do MHC-PMS
Capítulo 5 Modelação do Sistema 272017/2018
A classe Consulta
Capítulo 5 Modelação do Sistema 282017/2018
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 292017/2018
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 302017/2018
Hierarquia de generalização
Capítulo 5 Modelação do Sistema 312017/2018
Uma hierarquia de generalização com detalhe
adicional
Capítulo 5 Modelação do Sistema 322017/2018
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 332017/2018
A associação de agregação
Capítulo 5 Modelação do Sistema 342017/2018
Modelos comportamentais
Capítulo 5 Modelação do Sistema 352017/2018
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 362017/2018
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 372017/2018
Um modelo de operação da atividade da bomba
de insulina
Capítulo 5 Modelação do Sistema 382017/2018
Processamento
Capítulo 5 Modelação do Sistema 392017/2018
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 402017/2018
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 412017/2018
Diagrama de estado de um forno de microondas
Capítulo 5 Modelação do Sistema 422017/2018
Funcionamento do forno microondas
Capítulo 5 Modelação do Sistema 432017/2018
Engenharia orientada a modelos
Capítulo 5 Modelação do Sistema 462017/2018
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 472017/2018
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 482017/2018
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 492017/2018
Transformações MDA
Capítulo 5 Modelação do Sistema 512017/2018
Vários modelos específicos da plataforma
Capítulo 5 Modelação do Sistema 522017/2018
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 572017/2018
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 582017/2018