280 likes | 466 Views
Unified Modeling Language version 2.0. UML 2.0. Workshop Sala 80-81 ITA. Charles-Edouard Winandy 2008. UML – Breve Revisão. Significa L inguagem de M odelagem U nificada; Ferramenta para especificação de sistemas;
E N D
Unified Modeling Language version 2.0 UML 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ó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/