Upload
bruno-carlos-freire
View
216
Download
0
Embed Size (px)
Citation preview
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
Dezembro 2004 UML 2.0 – Unified Modeling Language 2
Estrutura da Apresentação
IntroduçãoXMIOCLMOF Mudanças 1.* para 2.0Perspectivas Futuras
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
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
Dezembro 2004 UML 2.0 – Unified Modeling Language 5
UMLUML
Shlaer – Mellor
1989
Rumbaugh1991
Jacobson1995
Wirfs - Brock
1990
Booch1994
Meyer
1997
Introdução - Origens
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.
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.
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
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
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.
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
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.
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
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.
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.
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).
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
Dezembro 2004 UML 2.0 – Unified Modeling Language 29
Estrutura da Apresentação
IntroduçãoXMIOCLMOFMudanças 1.* para 2.0Perspectivas Futuras
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.