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/