UML 2.0 Unified Modeling Language Trabalho realizado por: - António Mota ei02020 - Hugo Valente ei02107 - Ivo Navega ei02039 - José Pacheco ei02054 - Pedro Pacheco ei02084 - Tiago Silva ei02099 Estrutura da Apresentação Introdução XMI OCL MOF Mudanças 1.* para 2.0 Perspectivas Futuras Dezembro 2004 UML 2.0 – Unified Modeling Language 2 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 Dezembro 2004 UML 2.0 – Unified Modeling Language 3 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 Dezembro 2004 UML 2.0 – Unified Modeling Language 4 Introdução - Origens Wirfs - Brock 1990 Booch Meyer 1994 1997 UML Shlaer – Mellor Rumbaugh Jacobson 1989 1991 1995 Dezembro 2004 UML 2.0 – Unified Modeling Language 5 Introdução - Características Mecanismos de expansibilidade; Diagrama de actividades; Refinamento; Interfaces; Linguagem de Restrição. Dezembro 2004 UML 2.0 – Unified Modeling Language 6 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 7 Introdução - Porquê usar a UML? (continuação) 5 Razões A construção de software necessita de um plano; Um projecto é concebido por equipas de especialidades diferentes; Facilita a compreensão do problema; É uma linguagem unificada e universal; É vantajoso a nível empresarial a existência de um software bem documentado. Dezembro 2004 UML 2.0 – Unified Modeling Language 8 Estrutura da Apresentação Introdução XMI O que é a norma XMI? Modelos incorporados Mudanças na nova versão OCL MOF Mudanças 1.* para 2.0 Perspectivas Futuras Dezembro 2004 UML 2.0 – Unified Modeling Language 9 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 10 XMI - Modelos incorporados Este modelo incluiu três outros modelos standard: UML – Unified Modeling Language XML – eXtensible Markup Language MOF – Meta Object Facility Dezembro 2004 UML 2.0 – Unified Modeling Language 11 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 12 Estrutura da Apresentação Introdução XMI OCL O que é a norma OCL? Algumas aplicações Principais mudanças OCL 2.0 MOF Mudanças 1.* para 2.0 Perspectivas Futuras Dezembro 2004 UML 2.0 – Unified Modeling Language 13 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 14 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 15 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). Dezembro 2004 UML 2.0 – Unified Modeling Language 16 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 Dezembro 2004 UML 2.0 – Unified Modeling Language 17 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 18 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 19 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 20 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 21 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 Dezembro 2004 UML 2.0 – Unified Modeling Language 22 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 23 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 24 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 25 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 26 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 27 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 28 Estrutura da Apresentação Introdução XMI OCL MOF Mudanças 1.* para 2.0 Perspectivas Futuras Dezembro 2004 UML 2.0 – Unified Modeling Language 29 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. Dezembro 2004 UML 2.0 – Unified Modeling Language 30