51
Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 2017/2018

Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Capítulo 5 – Modelação do Sistema

Capítulo 5 Modelação do Sistema 12017/2018

Page 2: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 3: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 4: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 5: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 6: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 7: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 8: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Modelos de contexto

Capítulo 5 Modelação do Sistema 82017/2018

Page 9: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 10: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 11: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

O contexto do sistema Mentcare

Capítulo 5 Modelação do Sistema 112017/2018

Page 12: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 13: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Modelo de processo de detenção involuntária

Capítulo 5 Modelação do Sistema 132017/2018

Page 14: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Modelos de interação

Capítulo 5 Modelação do Sistema 142017/2018

Page 15: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 16: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 17: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Caso de uso de transferência de dados

Um caso de uso do sistema Mentcare

Capítulo 5 Modelação do Sistema 172017/2018

Page 18: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 19: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Os casos de uso no sistema Mentcare que

envolve o papel 'Recepcionista'

Capítulo 5 Modelação do Sistema 192017/2018

Page 20: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 21: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Diagrama de sequência para ver informação do

paciente

Capítulo 5 Modelação do Sistema 212017/2018

Page 22: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Diagrama de

sequência

para a

transferência

de dados

Capítulo 5 Modelação do Sistema 222017/2018

Page 23: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Modelos estruturais

Capítulo 5 Modelação do Sistema 232017/2018

Page 24: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 25: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 26: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

UML e associação

Capítulo 5 Modelação do Sistema 262017/2018

Page 27: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Classes e associações do MHC-PMS

Capítulo 5 Modelação do Sistema 272017/2018

Page 28: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

A classe Consulta

Capítulo 5 Modelação do Sistema 282017/2018

Page 29: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 30: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 31: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Hierarquia de generalização

Capítulo 5 Modelação do Sistema 312017/2018

Page 32: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Uma hierarquia de generalização com detalhe

adicional

Capítulo 5 Modelação do Sistema 322017/2018

Page 33: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 34: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

A associação de agregação

Capítulo 5 Modelação do Sistema 342017/2018

Page 35: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Modelos comportamentais

Capítulo 5 Modelação do Sistema 352017/2018

Page 36: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 37: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 38: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Um modelo de operação da atividade da bomba

de insulina

Capítulo 5 Modelação do Sistema 382017/2018

Page 39: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Processamento

Capítulo 5 Modelação do Sistema 392017/2018

Page 40: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 41: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 42: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Diagrama de estado de um forno de microondas

Capítulo 5 Modelação do Sistema 422017/2018

Page 43: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Funcionamento do forno microondas

Capítulo 5 Modelação do Sistema 432017/2018

Page 44: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Engenharia orientada a modelos

Capítulo 5 Modelação do Sistema 462017/2018

Page 45: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 46: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 47: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 48: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Transformações MDA

Capítulo 5 Modelação do Sistema 512017/2018

Page 49: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

Vários modelos específicos da plataforma

Capítulo 5 Modelação do Sistema 522017/2018

Page 50: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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

Page 51: Capítulo 5 Modelação do Sistema - UBIsebastiao/Ensino/UBI/2017-2018/ES... · 2019-02-19 · Em linguagens orientadas a objetos, como Java, a generalização é implementado utilizando

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