30
UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084 - Ivo Navega ei02039 - Tiago Silva ei02099

UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Embed Size (px)

Citation preview

Page 1: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

UML 2.0Unified Modeling

Language

Trabalho realizado por:

- António Mota ei02020 - José Pacheco ei02054

- Hugo Valente ei02107 - Pedro Pacheco ei02084

- Ivo Navega ei02039 - Tiago Silva ei02099

Page 2: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 2

Estrutura da Apresentação

IntroduçãoXMIOCLMOF Mudanças 1.* para 2.0Perspectivas Futuras

Page 3: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 3

Estrutura da Apresentação Introdução

Definição Origens Características Porquê usar UML?

XMI OCL MOF Mudanças 1.* para 2.0 Perspectivas Futuras

Page 4: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 4

Introdução - Definição

Linguagem gráfica para a visualização, especificação, construção e documentação de artefactos de um sistema;

Permite a simplificação do complexo processo de concepção de software através de: uso de uma forte componente gráfica utilização de um conjunto limitado de símbolos

Page 5: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 5

UMLUML

Shlaer – Mellor

1989

Rumbaugh1991

Jacobson1995

Wirfs - Brock

1990

Booch1994

Meyer

1997

Introdução - Origens

Page 6: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 6

Introdução - Características

Mecanismos de expansibilidade;Diagrama de actividades;Refinamento;Interfaces;Linguagem de Restrição.

Page 7: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 7

Introdução - Porquê usar a UML?

Com o desenvolvimento tecnológico, o sistema de informação ao nível de organizações tende a ter um significativo suporte informático;

É conveniente recorrer a uma linguagem que facilite a comunicação entre aqueles que têm de lidar com a informática;

A existência de uma boa linguagem de modelação é um factor essencial para o sucesso de um projecto.

Page 8: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 8

Introdução - Porquê usar a UML? (continuação)

É uma linguagem unificada e universal;

Um projecto é concebido por equipas de especialidades diferentes;

Facilita a compreensão do problema;

A construção de software necessita de um plano;

É vantajoso a nível empresarial a existência de um software bem documentado.

5 Razões

Page 9: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 9

Estrutura da Apresentação

IntroduçãoXMI

O que é a norma XMI? Modelos incorporados Mudanças na nova versão

OCLMOF Mudanças 1.* para 2.0Perspectivas Futuras

Page 10: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 10

XMI - O que é a norma XMI?

A norma XMI (XML Metadata Interchange) define um modelo aberto de troca de objectos e modelos de negócio pela internet, de modo standard;

Expressa um conjunto de regras para a criação de documentos XML de modo a transmitir esses objectos;

Regras para criação de DTD´s; Permite o trabalho em equipa

independentemente das ferramentas utilizadas; Possibilita a criação de aplicações distribuídas e

seguras.

Page 11: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 11

XMI - Modelos incorporadosEste modelo incluiu três outros modelos standard:UML – Unified Modeling LanguageXML – eXtensible Markup LanguageMOF – Meta Object Facility

Page 12: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 12

XMI – Mudanças na nova versão

Produção de esquemas XML com base em modelos de objectos;

Produção de documentos XML compativeis com os esquemas XMI;

Engenharia reversa, possibilitando obter os modelos de objectos a partir dos esquemas XML.

Page 13: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 13

Estrutura da Apresentação

IntroduçãoXMIOCL

O que é a norma OCL? Algumas aplicações Principais mudanças OCL 2.0

MOF Mudanças 1.* para 2.0Perspectivas Futuras

Page 14: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 14

OCL - O que é a norma OCL?

Linguagem formal para especificar expressões e restrições;

Parte integrada do UML;Linguagem de especificação formal, de

fácil utilização;Permite evitar as ambiguidades da

linguagem natural;Uma expressão OCL quando é avaliada

não produz alterações no modelo.

Page 15: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 15

OCL - Algumas aplicações

Especificar invariantes de classes e tipos num diagrama de classes;

Especificar tipos de invariantes para estereótipos; Especificar pré e pós condições em operações e

métodos; Especificar guardas de transições; Especificar restrições e operações; Ser usada como linguagem de navegação.

Page 16: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 16

OCL - Principais mudanças OCL 2.0

“Query language" geral, permite expressar propriedades desejadas em modelos UML;

Contém uma definição dos conceitos e semântica do OCL por meios de um metamodelo complacente ao MOF;

Alteração na estrutura de especificação: Clara separação entre sintaxe abstracta e concreta deixando

espaço para sintaxes concretas alternativas. Definição clara da semântica para todas as expressões na

linguagem, (maneira formal, ou matemática, e na forma baseada em UML).

Page 17: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 17

Estrutura da Apresentação

Introdução XMI OCL MOF

Introdução O que é a norma MOF? MOF 2.0 e UML 2.0

Mudanças 1.* para 2.0 Perspectivas Futuras

Page 18: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 18

MOF - Introdução

Standard da OMG para representar e manipular metamodelos;

O MOF define uma linguagem abstracta para espeçificação, construção e gestão de metamodelos independentemente da tecnologia de implementação;

Alguns exemplos destes tipos de metamodelos são UML, Common Warehouse Metamodel (CWM) e o próprio MOF.

Page 19: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 19

MOF - O que é o MOF?

A especificação MOF tem por base os seguintes aspectos: Uma definição formal para o metamodelo MOF, ou seja,

uma linguagem abstracta para a definição de metamodelos.

Regras para o mapeamento dos metamodelos MOF para, uma implementação por exemplo em CORBA ou Java.

Page 20: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 20

MOF - MOF 2.0 e UML 2.0

O MOF pode ser usado como uma linguagem para definir outras linguagens, neste caso UML.

Ao mesmo tempo que está a ser criada uma versão 2.0 da UML, também está ser elaborada uma versão 2.0 da norma MOF, o que vai permitir que o MOF e a UML se combinem.

Formando um universo completo de instrumentos capazes de suportar, analisar e efectuar o design de um conjunto de famílias de ferramentas de várias associações, operando via XML Metadata Interchange.

Page 21: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 21

MOF - MOF 2.0 e UML 2.0 (continuação) A chegada da UML 2.0 vai resolver alguns problemas no

que diz respeito à falta de intercâmbio e semânticas inadequadas no que diz respeito à interligação com o MOF (problemas estes que existiam nas versões anteriores).

Vai tentar quebrar de alguma forma inconsistências que permaneciam entre ambos.

Page 22: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 22

Estrutura da Apresentação

Introdução XMI OCL MOF Mudanças 1.* para 2.0

Desenvolvimento da UML 2.0 Problemas da UML 1.* Model-Driven Architecture (MDA) Especificação UML 2.0 Outras Mudanças Novos Diagramas

Perspectivas Futuras

Page 23: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 23

Mudanças 1.* para 2.0 - Desenvolvimento da UML 2.0

Em Junho de 2001 foi iniciado um OMG Request for Proposal (RFP);

As propostas da 2ª revisão da superestrutura e a 3ª revisão da infraestrutura da UML foram apresentadas ao OMG em Janeiro de 2003;

O processo de voto para adopção da UML 2.0 decorreu numa reunião do OMG em Março de 2003;

O U2 Partners submeteu a 3ª revisão da proposta da superestrutura da UML ao OMG, em Abril de 2003;

Em Agosto de 2003 o OMG adoptou a especificação final da UML 2.0.

Page 24: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 24

Mudanças 1.* para 2.0 - Problemas da UML 1.*

O potential dos modelos Model-Driven Development(MDD) não são explorados ao máximo;

Capacidades inadequadas de modelação; Demasiado complexo; Definição de semânticas inadequadas; Não existe capacidade de interligação entre diagramas; Não existe total compatibilidade com o MOF.

Page 25: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 25

Mudanças 1.* para 2.0 - Model-Driven Architecture (MDA)

Nova maneira de desenvolver aplicações; Independente da plataforma; Desenvolvimento baseado em modelos; UML 2.0 como ferramenta de criação

e desenvolvimento em vez de simples documentação; 3 características fundamentais: Portabilidade,

Interoperabilidade e Reutilização.

Page 26: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 26

Mudanças 1.* para 2.0 - Especificação UML 2.0

Para tornar a especificação UML mais formal e coerente, esta foi dividida em 4 partes: A infra-estrutura, o núcleo da linguagem, que é compatível com

MOF, CWM e outros meta-modelos suportados pela OMG; A super-estrutura, sobre o núcleo, que disponibiliza

funcionalidades para a construção dos modelos; O OCL, que permite adicionar novas restrições aos modelos,

permitindo ao utilizador refinar todos os aspectos fundamentais da especificação;

A interligação entre modelos, permitindo ligar e desenvolver vários modelos relacionados.

Page 27: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 27

Mudanças 1.* para 2.0 - Outras Mudanças

Desenvolvimento de sistemas em tempo real, através da introdução de novos diagramas de Temporização e Sequência;

Profiles, ou seja, pacotes que contêm elementos de modelos que foram criados relativos a uma determinada área;

Capacidade de interligação entre os diagramas.

Page 28: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 28

Mudanças 1.* para 2.0 - Novos Diagramas

Diagrama de Comunicações - Representa a dinâmica de colaboração entre objectos. Mostra a troca de mensagens e as relações entre esses objectos;

Diagrama de Estrutura de Composições - Descreve a estrutura interna de uma classe, componente ou caso de uso, incluindo os pontos de interacção destes com outras partes do sistema;

Diagrama Temporal - Descreve as mudanças de um estado ou condição de um objecto ao longo do tempo, através de uma barra de tempo;

Diagrama de Vista Geral de Interacção - Fornece uma visão geral do fluxo de controlo dentro de um processo de sistema ou de negócio.

Page 29: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 29

Estrutura da Apresentação

IntroduçãoXMIOCLMOFMudanças 1.* para 2.0Perspectivas Futuras

Page 30: UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - José Pacheco ei02054 - Hugo Valente ei02107 - Pedro Pacheco ei02084

Dezembro 2004 UML 2.0 – Unified Modeling Language 30

Perspectivas Futuras

Desenvolvimento da indústria do software; Maior expressão, precisão e especificação da

comunicação entre sistemas; Grande efeito em propósitos de estandardização, nos

mais diversos tipos de utilização; Maior precisão das ferramentas que servem de suporte

à sua implementação.