Modelagem de Sistemas



Documentos relacionados
Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

3.1 Definições Uma classe é a descrição de um tipo de objeto.

O Processo de Engenharia de Requisitos

2 Engenharia de Software

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

DESENVOLVENDO O SISTEMA

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

UML: Diagrama de Casos de Uso, Diagrama de Classes

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Análise e Projeto Orientado a Objetos

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

Desenvolvimento estruturado versus orientado a objetos.

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

Resolução da lista de exercícios de casos de uso

Modelos de Sistemas. Leitura: Cap7: Sommerville; Cap: 7-8 Pressman; Cap3: Ariadne

Guia de utilização da notação BPMN

Computador Digital Circuitos de um computador (Hardware)

Arquitetura Orientado por Modelos aplicada a Linha de Produto de Software. Eduardo Barbosa da Costa

6 Ferramenta de Apoio ao Processo de Desenvolvimento de Sistemas Multi-Agentes

Introdução ao Processo Unificado (PU)

Análise e Projeto Orientados a Objeto

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Modelagem de Processos. Prof.: Fernando Ascani

4.1. UML Diagramas de casos de uso

Disciplina Técnicas de Modelagem

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

UML Unified Modeling Language. Professor: André Gustavo Bastos Lima

Programação Orientada a Objeto

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

RELACIONAMENTOS ENTRE CLASSES

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

Gerenciamento de Projeto: Planejando os Riscos. Prof. Msc Ricardo Britto DIE-UFPI

3. Fase de Planejamento dos Ciclos de Construção do Software

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Requisitos de Software

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

Gerenciamento de Projetos Modulo VIII Riscos

Unidade II MODELAGEM DE PROCESSOS

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

REQUISITOS DE SISTEMAS

Modelagem de dados usando o modelo BANCO DE DADOS 1º TRIMESTRE PROF. PATRÍCIA LUCAS

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

Modelando com UML Unified Modeling Language

Orientação a Objetos I

A Linguagem de Modelagem Unificada

Uma visão mais clara da UML Sumário

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br

Introdução. Leitura: Sommerville Pressman. UML 2 - Uma Abordagem Prática

Engenharia de Requisitos Estudo de Caso

Uso da linguagem de especificação SDL como alternativa ao diagrama de estados proposto pela linguagem UML

Análise e Projeto de Software

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Processos de gerenciamento de projetos em um projeto

Disciplina: GESTÃO DE PROCESSOS E QUALIDADE Prof. Afonso Celso M. Madeira

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

3 Qualidade de Software

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

Eduardo Bezerra. Editora Campus/Elsevier

COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO

Análise e Projeto Orientados por Objetos

da Qualidade ISO 9001: 2000

UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Qualidade de Software

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO

Diagrama de Estrutura Composta

agility made possible

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Prof. Me. Marcos Echevarria

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

5 Exemplo de aplicação

Sumário. Uma visão mais clara da UML

Unidade I Conceitos BásicosB. Conceitos BásicosB

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

Modelo Ambiental: Define as fronteiras entre o sistema e o resto do mundo.

Desenvolvimento de Sistemas Tolerantes a Falhas

DISCIPLINAS DO CURSO INFORMÁTICA ÊNFASE GESTÃO DE NEGÓCIOS. PROFESSOR: DOUGLAS DUARTE DISCIPLINA: BDA1-3º SEMESTRE. Modelagem de Dados

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

UFG - Instituto de Informática

O Processo Unificado

ÍNDICE. Delphi... 3 CAPÍTULO 1 INTRODUÇÃO CAPÍTULO 2 INSTALANDO O DELPHI... 10

Transcrição:

Capítulo 5 Modelagem de Sistemas slide 1 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 1

Tópicos Apresentados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia dirigida a modelos slide 2 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 2

Modelagem de sistemas A modelagem de sistemas é o processo de desenvolvimento de modelos abstratos de um sistema, de maneira que cada modelo apresenta uma visão ou perspec0va diferente do sistema. Atualmente, a modelagem de sistemas se tornou a representação de um sistema usando algum 0po de notação gráfica, que hoje em dia quase sempre são baseadas em notações em Unified Modeling Language (UML). A modelagem de sistemas ajuda o analista a entender a funcionalidade do sistema e os modelos são usados para comunicação com os clientes. slide 3 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 3

Modelos de sistemas existentes e planejados Os modelos de sistemas existentes são usados durante a engenharia de requisitos. Eles ajudam a esclarecer o que o sistema existente faz e podem ser usados como uma base para discussão dos seus pontos fortes e fracos. O que pode levar a requisitos para um novo sistema. Os modelos de um novo sistema 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 discu0r propostas de projeto e para documentar o sistema para implementação. Em um processo de engenharia dirigida a modelos, é possível gerar uma implementação do sistema completa ou parcial a par0r do modelo do sistema. slide 4 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 4

Perspec<vas de sistemas Uma perspec0va externa, na qual você modela o contexto ou ambiente do sistema. Um perspec0va de interação, em que você modela as interações entre um sistema e seu ambiente ou entre os componentes de um sistema. Uma perspec0va estrutural, na qual você modela a organização de um sistema ou a estrutura dos dados processados pelo sistema. Uma perspec0va comportamental, em que você modela o comportamento dinâmico do sistema e como ele responde a eventos. slide 5 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 5

Tipos de diagramas UML Os diagramas de a0vidades, que mostram as a0vidades envolvidas em um processo ou no processamento de dados. Os diagramas de casos de uso, que mostram as interações entre um sistema e seu ambiente. Os diagramas de sequência, que mostram as interações entre os atores e o sistema e entre os componentes do sistema. Os diagramas de classe, que mostram as classes de objeto no sistema e as associações entre as classes. Os diagramas de estado, que mostram como o sistema reage a eventos internos e externos. slide 6 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 6

Uso de modelos gráficos Como forma de facilitar a discussão sobre um sistema existente ou proposto Os modelos incompletos e incorretos podem ser usados já que servem para auxiliar a discussão. Como uma forma de documentar um sistema existente Os modelos devem ser uma representação precisa do sistema mas não precisam estar completos. Como uma descrição detalhada do sistema, a qual pode ser usada para gerar uma implementação do sistema ü Os modelos precisam e estar corretos e completos. slide 7 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 7

Modelos de contexto Os modelos de contexto são usados para ilustrar o contexto operacional de um sistema eles mostram o que existe fora dos limites do sistema. Interesses sociais e organizacionais podem afetar a decisão de onde posicionar os limites do sistema. Modelos de arquitetura mostram o sistema e seu relacionamento com outros sistemas. slide 8 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 8

Limites do sistema Os 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 usados ou dependem do sistema que está sendo desenvolvido. A posição do limite do sistema tem um efeito profundo nos requisitos do sistema. A definição de um limite de sistema é uma decisão polí0ca slide 9 ü Podem haver pressões para desenvolver limites de sistema que aumentem/diminuam a influência ou carga de trabalho de diferentes partes de uma organização. 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 9

O contexto do MHC- PMS slide 10 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 10

Perspec<vas de processo Os modelos de contexto mostram apenas os outros sistemas no ambiente, e não como o sistema que está sendo desenvolvido é usado nesse ambiente. Os modelos de processo revelam como o sistema em desenvolvimento está sendo desenvolvido é como esse é u0lizado em processos de negócio mais amplos. Os diagramas de a0vidades da UML podem ser usados para definir os modelos de processo do negócio. slide 11 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 11

Modelo de processo de internação involuntária slide 12 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 12

Modelos de interação A modelagem da interação do usuário é importante por auxiliar a iden0ficar os requisitos do usuário. Modelar a interação sistema- a- sistema destaca os problemas de comunicação que possam vir a surgir. Modelar a interação de componentes auxilia a entender se uma estrutura proposta de sistema pode fornecer um desempenho e uma confiança requeridas do sistema. Os diagramas de caso de uso e os diagramas de sequência podem ser usados para modelagem de interação. slide 13 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 13

Modelagem de caso de uso Os casos de uso foram desenvolvidos originalmente para auxiliar na elicitação de requisitos e atualmente, estão incorporados na UML. Cada caso de uso representa uma tarefa dis0nta que envolve interação externa com um sistema. Os atores em um caso de uso podem ser pessoas ou outros sistemas. São representados esquema0camente para fornecer uma visão geral do caso de uso e em uma forma textual mais detalhada. slide 14 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 14

Caso de uso de transferência de dados slide 15 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 15

Descrição tabular do caso de uso Transferir dados slide 16 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 16

Casos de uso envolvendo o papel da Recepcionista do médico slide 17 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 17

Diagramas de sequência Os diagramas de sequência são parte da UML e são usados para modelar as interações entre os atores e os objetos no sistema. Um diagrama de sequência mostra a sequência de interações que ocorrem durante um caso de uso em par0cular ou uma instância de caso uso. Os objetos e os atores envolvidos são listados na parte superior do diagrama com uma linha pon0lhada desenhada ver0calmente a par0r deles. As interações entre os objetos são indicadas por setas anotadas. slide 18 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 18

Diagrama de sequência para Ver informações de pacientes slide 19 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 19

Diagrama de sequência para Transferir dados slide 20 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 20

Modelos estruturais Modelos estruturais de sodware mostram a organização de um sistema em termos de seus componentes que compõem este sistema e seus relacionamentos. Os modelos estruturais podem ser modelos está0cos, que mostram a estrutura do projeto do sistema, ou modelos dinâmicos, que mostram a organização do sistema quando ele está em execução. Você cria modelos estruturais de um sistema quando se está discu0ndo e projetando a arquitetura do sistema. slide 21 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 21

Diagramas de classe Os diagramas de classe são usados quando se está desenvolvendo um modelo de sistema orientado a objetos para mostrar as classes em um sistema e as associações entre as classes. Uma classe de objeto pode ser considerada como uma definição geral de um 0po de objeto do sistema. Uma associação é uma ligação entre classes que indica que há algum relacionamento entre essas classes. Quando se está desenvolvendo os modelos durante os primeiros estágios do processo de engenharia de sodware, os objetos representam alguma coisa no mundo real como um paciente, uma receita médica, um médico, etc. slide 22 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 22

Classes e associação em UML slide 23 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 23

Classes e associações no MHC- PMS slide 24 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 24

A classe Consulta slide 25 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 25

Pontos Importantes Um modelo é uma visão abstrata de um sistema que ignora alguns detalhes do sistema. Modelos de sistema complementares podem ser desenvolvidos para mostrar o contexto, interações, estrutura e comportamento do sistema. Os modelos de contexto mostram como um sistema que está sendo modelado está posicionado em um ambiente com outros sistemas e processos. Os diagramas de caso de uso e os diagramas de sequência são usados para descrever as interações entre o usuário do sistema que está sendo projetado e usuários ou outros sistemas. slide 26 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 26

Pontos Importantes Os casos de uso descrevem as interações entre um sistema e atores externos; diagramas de sequência adicionam mais informações a esses mostrando as interações entre os objetos 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á0ca de classes em um sistema e suas associações. slide 27 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 27

Generalização A generalização é uma técnica de uso co0diano para gerenciar complexidade. Ao invés de aprender as caracterís0cas detalhadas de todas as en0dades envolvidas, colocamos essas en0dades em classes mais gerais (animais, carros, casas, etc.) e aprendemos as caracterís0cas dessas classes. O que nos permite supor que membros diferentes dessas classes possuem algumas caracterís0cas comuns como, por exemplo, esquilos e ratos são roedores. slide 28 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 28

Generalização Na modelagem de sistemas é geralmente ú0l examinar as classes de um sistema para ver se há escopo para generalização. Se mudanças forem propostas você não precisará examinar todas as classes no sistema para ver se são afetadas pela mudança. Em linguagens orientadas a objeto, como o Java, generalização é implementada usando os mecanismos de herança de classe que já existem na linguagem. Em uma generalização, os atributos e operações associados a classes mais altas também são associados com as classes de nível mais baixo. As classes de nível mais baixo são subclasses e herdam os atributos e operações de suas superclasses. Essas classes mais baixas adicionam atributos e operações mais específicas. slide 29 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 29

Uma hierarquia de generalização slide 30 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 30

Uma hierarquia de generalização com detalhes adicionais slide 31 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 31

Modelos de agregação de classes de objetos Um modelo de agregação mostra como as classes que são coleções são compostas de outras classes. Os modelos de agregação são similares aos relacionamentos parte- de em modelos de dados semân0cos. slide 32 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 32

A associação por agregação slide 33 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 33

Modelos comportamentais Os modelos comportamentais são modelos do comportamento dinâmico do sistema enquanto esse está em execução. Eles mostram o que acontece ou o que deveria acontecer quando um sistema responde a um es0mulo de seu ambiente. Podem- se considerar esses es0mulos como sendo de dois 0pos: ü Dados: sistema. Alguns dados que chegam e precisam ser processados pelo ü Eventos: Alguns eventos que acontecem disparam o processamento do sistema. Os eventos podem ter dados associados, embora isso não ocorra sempre. slide 34 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 34

Modelagem dirigida a dados Vários sistemas de negócio são sistemas de processamento de dados que são dirigidos principalmente a dados. Eles são controlados pela entrada de dados no sistema com rela0vamente quase nenhum processamento de eventos externos. Os modelos dirigidos a dados mostram a sequência de ações envolvidas no processamento dos dados entrantes e na geração de uma saída associada. Eles são par0cularmente úteis durante a análise de requisitos por poderem ser usados para mostrar o processamento fim- a- fim em um sistema. slide 35 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 35

Um modelo de a<vidades de funcionamento da bomba de insulina slide 36 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 36

Processamento de pedidos slide 37 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 37

Modelagem dirigida a eventos Geralmente, os sistemas em tempo real são dirigidos a eventos, com o mínimo de processamento de dados. Por exemplo, um sistema de comutação de linhas telefônicas responde a eventos como recebimento de chamada gerando um tom de discagem. A modelagem dirigida a eventos mostra como um sistema responde a eventos externos e internos. Essa se baseia na suposição de que um sistema tem um número limitado de estados e que os eventos (esrmulos) podem causar a transição de um estado para outro. slide 38 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 38

Modelos de máquina de estados Esses modelam o comportamento do sistema em resposta a eventos externos e internos. Eles mostram as respostas do sistema a esrmulos, e por isso, geralmente são usados para modelar sistemas de tempo real. Os modelos de máquina de estados mostram os estados do sistema, tais como nós, e os eventos desses, tais como arcos entre esses nós. Quando um evento ocorre, o sistema move- se de um estado para outro. Os gráficos de estado são uma parte integral da UML e são usados para representar os modelos de máquina de estados. slide 39 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 39

Diagrama de estados de um forno de micro- ondas slide 40 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 40

Estados e eswmulos para o forno de micro- ondas (a) slide 41 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 41

Estados e eswmulos para o forno de micro- ondas (b) slide 42 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 42

Operação do forno de micro- ondas slide 43 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 43

Engenharia dirigida a modelos A engenharia dirigida a modelos (MDE Model- Driven Engineering) é uma abordagem do desenvolvimento de sodware, na qual os modelos e não os programas são os principais produtos do processo de desenvolvimento. Os programas executados em uma plataforma de hardware/sodware são gerados automa0camente, a par0r dos modelos. Os proponentes da MDE argumentam que isso aumenta o nível de abstração na engenharia de sodware, o que faz com que os engenheiros não precisem mais se preocupar com detalhes de linguagem de programação ou com as especifidades das plataformas de execução. slide 44 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 44

Uso da engenharia dirigida a modelos A engenharia dirigida a modelos ainda está em um estágio de desenvolvimento inicial e ainda não é certo se essa terá um efeito significa0vo na prá0ca da engenharia de sodware. Prós ü Permite tratar dos sistemas em níveis mais altos de abstração ü A geração automá0ca do código significa menor custo de adaptação dos sistemas à novas plataformas. Contras ü Os modelos são para abstração e não estão necessariamente corretos para implementação. ü A economia criada pela geração de código pode ser contrabalanceada pelos custos de desenvolver tradutores para novas plataformas. slide 45 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 45

Arquitetura dirigida a modelos A arquitetura dirigida a modelos (MDA Model- Driven Architeture) foi a precursora da mais genérica engenharia dirigida a modelos. A MDA é uma abordagem de projeto e implementação de sodware centrada em modelos, que usa um subconjunto de modelos da UML para descrever o sistema. São criados modelos em diferentes níveis de abstração. Em princípio, a par0r de um modelo independente de plataforma de alto nível, é possível gerar um programa funcional sem intervenção manual. slide 46 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 46

Tipos de modelos Um modelo independente de computação (CIM Computa0on Independent Model) ü Esses modelam as importantes abstrações de domínio usadas em um sistema. Ás vezes, os CIMs são chamados de modelos de domínio. Um modelo independente de plataforma (PIM Plauorm Independent Model) ü Esses modelam a operação do sistema sem referência para a sua implementação. Geralmente, o PIM é descrito pelo uso de modelos da UML que mostram a estrutura está0ca do sistema, e como esse responde a eventos externos e internos. slide 47 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 47

Tipos de modelos Modelos específicos de plataforma (PSM Plauorm Specific Models) ü Esses são transformações do modelo independente de plataforma com um PSM separado para cada aplica0vo da plataforma. A princípio, devem haver camadas de PSM, com cada camada adicionando algum detalhe específico à plataforma. slide 48 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 48

Transformações de MDA slide 49 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 49

Vários modelos especificos de plataforma slide 50 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 50

Métodos ágeis e MDA Os desenvolvedores de MDA alegam que a intenção da MDA é auxiliar uma abordagem itera0va ao desenvolvimento e por isso, essa pode ser usada nos métodos ágeis. A noção da modelagem inicial extensiva contradiz as idéias fundamentais do manifesto ágil e eu suspeito que poucos desenvolvedores ágeis sentem- se confortáveis com a engenharia dirigida a modelos. Se as transformações puderem ser completamente automá0cas e um programa completo gerado a par0r de um PIM, então, em princípio, a MDA poderia ser usada em um processo de desenvolvimento ágil já que não seria necessária nenhuma codificação separada. slide 51 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 51

UML Executável A noção fundamental por trás da engenharia dirigida a modelos é que deve ser possível a transformação completamente automá0ca dos modelos em códigos. O que é possível, se usarmos um subconjunto da UML 2 chamado UML Executável (Executable UML) ou xuml. slide 52 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 52

Caracterís<cas da UML executável Para criar um subconjunto executável da UML, o número de 0pos de modelos foi então reduzido drama0camente para esses 3 0pos essenciais: ü Os modelos de domínio que iden0ficam os principais interesses em um sistema. Esses são definidos usando diagramas de classe da UML e incluem objetos, atributos e associações. ü Os modelos de classe, nos quais as classes são definidas, junto com seus atributos e operações. ü Os modelos de estado, nos quais um diagrama de estado é associado a cada classe e é usado para descrever o ciclo de vida da classe. O comportamento dinâmico do sistema pode ser especificado declara0vamente usando a linguagem de restrição de objetos (OCL Object Constraint Language) ou pode ser expressado usando a linguagem de ação da UML. slide 53 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 53

Pontos Importantes Os modelos comportamentais são usados para descrever o comportamento dinâmico de um sistema em execução. Esse comportamento pode ser modelado da perspec0va dos dados processados pelo sistema, ou pelos eventos que es0mulam respostas de um sistema. Os diagramas de a0vidades podem ser usados para modelar o processamento dos dados, no qual cada a0vidade representa um passo do processo. Os diagramas de estado são usados para modelar o comportamento de um sistema em resposta a eventos internos e externos. A engenharia dirigida a modelos é uma abordagem do desenvolvimento de sodware, na qual um sistema é representado como um conjunto de modelos que podem ser automa0camente transformados em códigos executáveis. slide 54 2011 Pearson Pren0ce Hall. Todos os direitos reservados. 54