UML 2.0
Unified Modeling Language version 2.0
Workshop Sala 80-81 ITA
Charles-Edouard
Winandy 2008
UML – Breve Revisão
• Significa Linguagem de Modelagem Unificada;
• Ferramenta para especificação de sistemas;
• Surgiu nos anos 1990s como um esforço para
reunir o melhor dos principais modelos
existentes na época;
• Virou logo um padrão para modelagem de
software e design;
Sucesso da UML
• Facilita a compreensão de sistemas
complexos durante todo o ciclo de vida;
• Simplifica o reuso de modelos e código;
• Orientada por natureza para programação
O.O. mas usada com sucesso na
especificação de programas O.P. (além disso
a UML não depende da plataforma);
Por trás da UML
• Rational Software
Corporation
• Hewlett-Packard
• I-Logix
• IBM
• ICON Computing
• Intellicorp
• MCI Systemhouse
•
•
•
•
•
•
•
Microsoft
ObjecTime
Oracle
Platinum Technology
Taskon
Sterling Software
Unisys
Unified Modeling Language version 2.0
• Aumentar a precisão e consistência;
• Diminuir a dependência nos programadores;
• Novas notações e semânticas foram
adicionadas e agora são 13 os diagramas;
O que mudou da 1.x para a 2.0
• Diagrama de Classes quase nada;
• Diagrama de Seqüência praticamente igual;
• Diagramas de Colaboração e de Estados só
mudaram a nomenclatura;
• São os mais novos diagramas: o de Tempo e
o de Estrutura Composta;
13 Diagramas
• Package diagrams.
• Class or Structural
diagrams.
• Object diagrams.
• Composite Structure.
• Component diagrams.
• Deployment diagrams.
• Use Case Diagrams.
• Activity diagrams.
• State Machine
diagrams.
• Communication
diagrams.
• Sequence diagrams.
• Timing diagrams.
• Interaction Overview
diagrams.
Diagrama de Pacotes
• Reflete a organização de pacotes;
• Principal utilidade é a de organizar os
diagramas de classes e de casos de uso;
Representado graficamente
como uma pasta, deve
sempre ter o nome do pacote
na parte superior.
Diagrama de Classes
• Visão estática do modelo, descrevendo
atributos e comportamento dos elementos;
Diagrama de Objetos
• Enfatiza o relacionamento entre as
instâncias das classes;
Diagrama de Estrutura Composta
• Permite descrever as relações entre os
componentes de uma classe, expondo a
estrutura interna da classe e sua colaboração;
Estrutura Composta: Elementos
O novo diagrama da UML é composto pelos
seguintes elementos:
- Partes
- Portas
- Conectores
- Colaboradores
Elemento: Partes
• Uma parte representa o papel da instância duma classe
ou dum conjunto de instâncias;
• Uso de encapsulamento: permite multiplicidades [n..m],
onde o n especifica quantas instâncias podem ser
criadas dentro duma classe e m significa quantas
instâncias no máximo podem ser criadas;
Elemento: Portas
• Uma porta é um ponto de interação de uma classe
ou uma interface que especifica operações e sinais
oferecidos por uma classe;
• É através das portas que ocorre a comunicação com
o ambiente externo;
Elemento: Conectores
• Um conector especifica um vínculo (uma instância de
uma associação) que habilita a comunicação entre duas
ou mais entidades;
• Cada conector deve estar conectado a duas ou mais
entidades;
Elemento: Colaboração
• Elevado nível de abstração, representado por
uma forma ovalar pontilhada nas bordas;
Diagrama de Componentes
• Ilustra o aspecto físico do sistema;
Diagrama de Distribuição
• Também trata do aspecto físico do projeto;
Diagrama de Caso de Uso
• Responsável por capturar os requisitos do sistema;
Diagrama de Atividades
• Demonstra a seqüência de atividades, bastante útil
para representar processamento paralelo;
Diagrama de Máquina de Estados
• Antigo Diagrama de Estados, modela o comportamento
de um único objeto por vez;
Diagrama de Comunicação
• Antigo Diagrama de Colaboração, ele se concentra
na troca de mensagens entre objetos;
Diagrama de Seqüência
• Demonstra os objetos rodando na linha do tempo;
Diagrama de Tempo
• Demonstra a mudança de um estado ou valor de um
ou mais elementos na linha do tempo;
Com o Timing Diagram é
possível visualizar o impacto
do tempo em um ou mais
objetos e, as condições e os
efeitos do tempo nos estados
dos objetos.
Diagrama de Visão Geral de Integração
• Focado na visão geral do controle do fluxo de interação;
Considerações Finais
• Segundo Becker (2003), a UML 2.0 incorpora
mecanismos novos que valorizam a modelagem dos
sistemas de tempo real, já que estes sistemas interagem
com o ambiente, são não-determinísticos e altamente
concorrentes.
• Com a UML 2.0 é possível construir modelos a partir
da composição hierárquica.
• De acordo com Maeunier (2003), é possível modelar a
dependência entre hardware e software acrescentando
características do processador.
Conclusão
• A UML 2.0 suporta modelagem de concorrência, faz
uso de objetos ativos e estados de concorrência.
• Apresenta-se como um padrão mundial que agrega
conceitos como portas, protocolos, conectores e o
uso de restrições temporais.
Bibliografia Seletiva
• BECKER, L. – “Um Método para Abordar todo o Ciclo de Desenvolvimento
de Aplicações Tempo Real”, 2003, Tese de doutorado – Programa de PósGraduação em Computação, Universidade Federal do Rio Grande do Sul,
Porto Alegre.
• MAEUNIER, J.; LIPPERT, F.; JADHAV, R.; “RT Modelling with UML for
safety critical applications”. Disponível em:
http://www.verimag.imag.fr/EVENTS/2003/SVERTS/PAPERS-WEB/15Aonix-RTUML.pdf
• AMBLER, SCOTT (Ronin International Inc) - "What's New in UML 2",
2004, Disponível em: http://www.ddj.com/architect/184415097
• SELIC, BRAN (IBM Rational software Canada) - "Unified Modeling
Language version 2.0", 2005. Disponível em:
http://www.ibm.com/developerworks/rational/library/05/321_uml/
Download

Slide 1 - Winandy, Charles