UML 2.0
Workshop Sala 80-81 ITA
Charles-Edouard Winandy 2008
Unified Modeling Language version 2.0
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ós-Graduaçã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/15-Aonix-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/