LUIZ AFONSO PECCINI
UML DIAGRAMAS DA UML
SÃO JOSÉ DO RIO PRETO 2008
Diagramas da UML 1
1. DIAGRAMAS DA UML DIAGRAMA DE CLASSES (Class Diagram), DIAGRAMA DE OBJETOS (Object Diagram), DIAGRAMA DE ESTRUTURA COMPOSTA (Composite Structure Diagram), DIAGRAMA DE COMPONENTES (Component Diagram), DIAGRAMA DE IMPLANTAÇÃO (Deployment Diagram) e DIAGRAMA DE PACOTES (Package Diagram). DIAGRAMA DE CASO DE USO (Use Case Diagram), DIAGRAMA DE MÁQUINA DE ESTADOS (State Machine Diagram) e DIAGRAMA DE ATIVIDADES (Activity Diagram). DIAGRAMAS DE DIAGRAMA DE SEQÜÊNCIA (Sequence Diagram), DIAGRAMA COMPORTAMENTO DIAGRAMAS DE DE COMUNICAÇÃO (Communication Diagram), DIAGRAMA DE (Behavior Diagram) INTERAÇÃO VISÃO GERAL DA INTERAÇÃO (Interaction Overview Diagram) (Interaction Diagram) e DIAGRAMA TEMPORAL (Timing Diagram). DIAGRAMAS DE ESTRUTURA (Stru cture Diagram)
1.1. Hierarquia de Classes dos Diagramas da UML
1.2. Diagramas Estruturais Os diagramas estruturais da UML são utilizados para que se possa visualizar, especificar, construir e documentar os aspectos estáticos de um sistema. Aspectos estáticos de um sistema podem ser considerados como sendo uma representação de seu esqueleto e estrutura relativamente estáveis (inalteráveis). 1.2.1. Diagrama de Classes (Class Diagram) O diagrama de classes apresenta elementos conectados por relacionamentos. Este diagrama representa o modelo da estrutura de um sistema orientado a objetos, demonstrando as classes, os tipos e os relacionamentos. É usado para exibir entidades do mundo real, além de elementos de análise e projeto. É uma modelagem muito útil para o sistema, define todas as classes que o sistema necessita possuir e é a base para a construção dos diagramas de comunicação, seqüência e estados. É uma representação da estrutura e relações das classes que servem de modelo para objetos. Prof. Luiz Afonso Peccini
Diagramas da UML 2
1.2.2. Diagrama de Objetos (Object Diagram) O diagrama de objetos apresenta objetos e valores de dados. Este diagrama representa a modelagem de instâncias das classes de um sistema em determinado ponto e momento de execução. Corresponde a uma instância do diagrama de classes, mostrando o estado de um sistema em um determinado ponto do tempo. O diagrama de objetos é uma variação do diagrama de classes e utiliza quase a mesma notação, com duas exceções: os objetos são escritos com seus nomes sublinhados e todas as instâncias num relacionamento são mostradas. É como se fosse o perfil do sistema em um certo momento de sua execução, mostrando os objetos que foram instanciados das classes. Os diagramas de objetos não são tão importantes como os diagramas de classes, mas eles são muito úteis para exemplificar diagramas complexos de classes ajudando muito em sua compreensão. Diagramas de objetos também são usados como parte dos diagramas de colaboração, onde a colaboração dinâmica entre os objetos do sistema são mostrados. 1.2.3. Diagrama de Estrutura Composta (Composite Structure Diagram)* O diagrama de estrutura composta é usado para mostrar colaborações entre um conjunto de entidades que cooperam entre si para executar uma determinada função. A estrutura, neste caso, representa uma composição de elementos que estão interconectados (conectados entre si) para se atingir um objetivo comum. Definido a partir da UML 2.0 destina-se à descrição dos relacionamentos entre os elementos. É utilizado para descrever a colaboração interna de classes, interfaces ou componentes para especificar uma funcionalidade e muito útil para representar uma estrutura formada por um conjunto de estruturas complexas ou em projetos baseados em componentes. Embora este diagrama seja semelhante ao diagrama de classes, ele expressa arquiteturas de tempo de execução, padrões de uso e os relacionamentos dos elementos participantes, enquanto que o diagrama de classes representa uma visão estática da estrutura de classes. *Nota: elemento inserido/alterado a partir da UML-2.0.
1.2.4. Diagrama de Componentes (Component Diagram) O diagrama de componentes representa os componentes que farão parte dos sistemas em construção, demonstrando as dependências entre esses componentes, ou seja, mostra as dependências entre componentes de software, apresentando suas interfaces. Ilustra como as classes deverão ser organizadas através da noção de componentes de trabalho. Por exemplo, pode-se explicitar (tornar claro), para cada componente, qual das classes que ele representa. É utilizado para: » modelar os componentes do código-fonte e do código-executável do software; » destacar a função de cada módulo para facilitar a sua reutilização; » auxiliar no processo de engenharia reversa, por meio da organização dos módulos do sistema e seus relacionamentos.
Prof. Luiz Afonso Peccini
Diagramas da UML 3
1.2.5. Diagrama de Implantação (Deployment Diagram) O diagrama de implantação representa a configuração e a arquitetura de um sistema em que estarão ligados seus respectivos componentes, podendo ser representada também a arquitetura física de hardware, processadores, etc. Mostra a arquitetura do sistema em tempo de execução, as plataformas de hardware, artefatos de software e ambientes de software (como sistemas operacionais e máquinas virtuais). Descreve os componentes de hardware e software e sua interação com outros elementos de suporte ao processamento. 1.2.6. Diagrama de Pacotes (Package Diagram)* O diagrama de pacotes é usado para organizar elementos de modelo e mostrar dependências entre eles. Descreve os pacotes ou pedaços do sistema, como o sistema é dividido em agrupamentos lógicos e mostra as dependências entre estes. *Nota: elemento inserido/alterado a partir da UML-2.0.
1.3. Diagramas Comportamentais Os diagramas comportamentais da UML são utilizados para que se possa visualizar, especificar, construir e documentar os aspectos dinâmicos de um sistema. Aspectos dinâmicos de um sistema podem ser considerados como sendo uma representação de suas partes que sofrem alterações. Os aspectos dinâmicos de um sistema envolvem itens como o fluxo de mensagens ao longo do tempo e a movimentação física de componentes em uma rede. 1.3.1. Diagrama de Casos de Uso (Use Case Diagram) O diagrama de casos de uso representa um conjunto de cenários identificados (vários casos de uso), que seja útil aos usuários de um sistema. É utilizado nas fases de levantamento e análise de requisitos, embora seja consultado durante todo o processo de modelagem, além de servir de base para a construção de outros diagramas. Mostra os casos de uso, atores e seus relacionamentos que expressam a funcionalidade de um sistema. Em sistemas complexos são necessários muitos casos de uso para uma correta e completa descrição de todas as funcionalidades requeridas pelo sistema. Os casos de uso devem ser identificados através de nomes curtos que identifiquem a sua atividade sem ambigüidade. Para facilitar a visão geral do sistema é muito comum reunir casos de uso similares em pacotes e criar diagramas que ilustrem essa reunião e qual a interação com outros sistemas. 1.3.2. Diagrama de um Caso de Uso O diagrama de um caso de uso é a representação de uma função, manipulada por uma entidade do sistema, conhecida como ator. Identificar um caso de uso, portanto, é um esforço que envolve: » descobrir um ator; » verificar para esse ator ações das quais ele participa;
Prof. Luiz Afonso Peccini
Diagramas da UML 4
»
agrupar tais ações de forma que possuam um nome em comum (geralmente um verbo no infinitivo: CadastrarPessoa, GerarPedido, etc.).
Passos que auxiliam na sua criação: 1. identifique aqueles que usarão o sistema de maneira direta, ou seja, identifique os atores; 2. escolha um desses atores; 3. defina a visão desse ator, ou seja, o que ele quer do sistema – cada um desses desejos torna-se um caso de uso; 4. para cada caso de uso, identifique o curso da relação ator-caso de uso; 5. observe se o caso de uso em questão possui alguma alternativa de uso. Essa observação é importante para identificar se esse caso de uso tem algo em comum com outros casos de uso. Se isso for verdade, é necessário desmembrar essa porção comum, de forma a criar um caso de uso genérico. Os diagramas de caso de uso ajudam os stakeholders a entenderem a natureza e escopo da área de negócio ou sistema em desenvolvimento. 1.3.3. Diagrama de Máquina de Estados (Statechart Diagram) [Diagrama de Gráfico de Estados] Diagrama de máquina de estados representa estados possíveis de um objeto em particular. Neste diagrama são demonstrados os estados de um objeto, eventos, transições e atividades. Representa as ações ocorridas em resposta ao recebimento de eventos. Nota: elemento inserido/alterado a partir da UML-2.0.
1.3.4. Diagrama de Atividades (Activity Diagram) Diagrama de atividades representa a execução de ações ou atividades e os fluxos que são disparados pela conclusão de outras ações ou atividades. Representa um fluxo de controle de atividades que ocorrem no processo de um sistema, oferecendo suporte para comportamentos condicionais e paralelos. Representa o negócio e o processo operacional do sistema. 1.3.5. Diagramas de Interação Diagrama de interação (nome coletivo atribuído a diagramas de seqüências e de comunicação) exibe uma interação - ação que se exerce mutuamente entre duas ou mais coisas -, consistindo de um conjunto de objetos ou papéis, incluindo as mensagens que podem ser trocadas entre eles. Os diagramas de interações abrangem a visão dinâmica de um sistema. 1.3.5.1. Diagrama de Seqüências (Sequence Diagram) Um projeto pode ter uma grande quantidade de métodos em classes diferentes. Isso torna difícil determinar a seqüência global do comportamento. Diagrama de seqüências mostra as interações que correspondem a um conjunto de mensagens trocadas entre objetos e a ordem que essas mensagens acontecem. É um dos Prof. Luiz Afonso Peccini
Diagramas da UML 5
diagramas de interação que dá ênfase à ordenação seqüencial em que os comportamentos acontecem. O diagrama de seqüências é um tipo de diagrama usado na UML que representa a seqüência de processos – mais especificamente, a seqüência de mensagens passadas entre objetos – num programa de computador. Esse diagrama é simples e lógico, a fim de tornar óbvios a seqüência e o fluxo de controle. Um diagrama de seqüências descreve a maneira como os grupos de objetos colaboram entre si em algum comportamento ao longo do tempo (seqüência temporal). Ele registra o comportamento de um único caso de uso, exibindo os objetos e as mensagens passadas entre esses objetos no caso de uso. 1.3.5.2. Diagrama de Comunicação (Communication Diagram)* [Diagrama de Colaboração] Diagrama de comunicação mostra objetos, seus inter-relacionamentos e o fluxo de mensagens entre eles. É um dos diagramas de interação que dá ênfase à organização estrutural dos objetos que colaboram entre si. O diagrama de comunicação [diagrama de colaboração na versão anterior da UML] exibe uma interação, consistindo de um conjunto de objetos e seus relacionamentos, incluindo as mensagens que podem ser trocadas entre eles. Nos diagramas de seqüência e de comunicação existe uma correspondência biunívoca entre seus elementos preservando as operações de ambos. *Nota: elemento inserido/alterado a partir da UML-2.0.
1.3.6. Diagrama de Visão Geral (Interaction-Overview Diagram)* Diagrama de visão geral é uma variação do diagrama de atividades que mostra de uma forma geral o fluxo de controle dentro de um sistema ou processo de negócios. Cada nó ou atividade dentro do diagrama pode representar outro diagrama de interação. *Nota: elemento inserido/alterado a partir da UML-2.0.
1.3.7. Diagrama Temporal (Timing Diagram)* Diagrama temporal mostra a mudança de estado de um objeto numa passagem de tempo, em resposta a eventos externos. Apresenta o comportamento dos objetos e sua interação em uma escala de tempo, focalizando as condições que mudam no decorrer desse período. *Nota: elemento inserido/alterado a partir da UML-2.0.
Prof. Luiz Afonso Peccini