O documento fornece uma visão geral dos principais diagramas da UML, incluindo seus nomes, propósitos e notações. Resume cada diagrama, fornecendo exemplos de como modelar um sistema de reserva de hotel.
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Diagramas uml
1. Profª Ana Paula Gonçalves Serra / Prof. André Luiz Ribeiro 1
METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS
Professores:
Ana Paula Gonçalves Serra
André Luiz Ribeiro
Modelagem Orientada a Objetos – Visão Geral dos Diagramas da
UML
Além dos diagramas básicos da modelagem orientada a objetos (UML) apresentados
nos materiais anteriores (diagrama de caso de uso, diagrama de classes e diagrama de
interação – seqüência e comunicação (colaboração)) existem mais alguns diagramas e
que são apresentados neste material.
Resumo dos principais diagramas da UML:
• Diagrama de Casos de Uso: descreve as funcionalidades do sistema e os
usuários e entidades externas, organizando o comportamento do sistema. Além do
diagrama há toda a descrição de atores e casos de uso.
• Diagrama de Classes: descreve a estrutura de solução do sistema, através de um
conjunto de classes (compostas de atributos e operações), e relacionamentos.
Geralmente é dividido em diagrama de classes de análise (domínio) e diagrama de
classes de projeto (implementação).
• Diagrama de Objetos: descreve um conjunto de objetos e seus relacionamentos.
Esse diagrama ilustra as estrutura de dados e instâncias do diagrama de classes.
• Diagrama de Seqüência: faz parte do conjunto de diagramas de interação,
descreve o comportamento do sistema, enfatizando a comunicação dos objetos
através da passagem de mensagem entre os mesmos;
• Diagrama de Colaboração ou Comunicação (na UML 2.0): faz parte do
conjunto de diagramas de interação, descreve o comportamento do sistema,
enfatiza a organização estrutural dos objetos que enviam e recebem mensagens;
• Diagrama de Atividades: descreve o comportamento do sistema, através do
fluxo de controle de funções.
• Diagrama de Estados: descreve o comportamento do sistema, enfatizando os
estados que o objeto pode possuir.
• Diagrama de Componentes: descreve os componentes que irão ser criados no
sistema e a comunicação entre eles;
• Diagrama de Distribuição: descreve a arquitetura física e os componentes
utilizados no sistema.
• Diagrama de Pacotes (na UML 2.0): fornece um mecanismo de organização
para os elementos da UML. O pacote é utilizado para agrupar elementos da
modelagem, como por exemplo: partes do sistema, representação genérica de
camadas de arquitetura, etc.
• Diagrama de Interação – Visão Geral (na UML 2.0): faz parte do conjunto de
diagrama de interação, apresenta a visão geral, de congregação, dos outros
diagramas de interação (seqüência, comunicação e tempo).
• Diagrama de Tempo (na UML 2.0): faz parte do conjunto de diagrama de
interação, descreve o comportamento de um ou mais objetos em dado período de
tempo, mostrando suas alterações de estados.
• Diagrama de Composição de Estrutura (na UML 2.0): descreve a composição
de diversos elementos de modelagem, como: interfaces, objetos ou classes, mas
que não perdem suas características em combinação com outras.
2. Profª Ana Paula Gonçalves Serra / Prof. André Luiz Ribeiro 2
A seguir são apresentadas as notações e exemplos de alguns dos diagramas da UML,
os mais utilizados, e que não foram estudados detalhadamente anteriormente:
Abaixo é apresentado o diagrama de classes do Sistema de Reserva de Hotel para
facilitar o entendimento dos demais diagramas.
CLIENTE
nome
endereco
telefone
bairro
cidade
estado
rg
data_nascimento
Cadastrar_Cliente()
Consultar_Cliente()
ACOMODACAO
numero_acomodacao
valor_acomodação
tipo_acomodacao
Cadastrar_Acomodacao()
Consultar_Acomodacao()
RESERVA
data_entrada
data_saida
data_reserva
valor_depositado
situacao_reserva
Efetuar_Reserva()
Consultar_Reserva()
Cancelar_Reserva()
Alterar_Reserva()
1..*1 1..*1
possui
1..*0..* 1..*0..*
possui
1..*1..*
DESPESA
tipo_despesa
valor_despesa
valor_total
Cadastrar_Despesas()
Alterar_Despesas()
Calcular_Total_Despesas()
Emitir_Nota()
Gerar_Relatorio()
1
1..*
1
1..*
composta
Sistema
Financeiro
Login
Sistema
CLIENTE
nome
endereco
telefone
bairro
cidade
estado
rg
data_nascimento
Cadastrar_Cliente()
Consultar_Cliente()
ACOMODACAO
numero_acomodacao
valor_acomodação
tipo_acomodacao
Cadastrar_Acomodacao()
Consultar_Acomodacao()
RESERVA
data_entrada
data_saida
data_reserva
valor_depositado
situacao_reserva
Efetuar_Reserva()
Consultar_Reserva()
Cancelar_Reserva()
Alterar_Reserva()
1..*1 1..*1
possui
1..*0..* 1..*0..*
possui
1..*1..*
DESPESA
tipo_despesa
valor_despesa
valor_total
Cadastrar_Despesas()
Alterar_Despesas()
Calcular_Total_Despesas()
Emitir_Nota()
Gerar_Relatorio()
1
1..*
1
1..*
composta
Sistema
Financeiro
Login
Sistema
• Diagrama de Estados: descreve o comportamento dinâmico de um objeto ou
sistema. Um diagrama de estados é um comportamento que especifica as
seqüências de estados pelo qual um objeto passa durante seu tempo de vida.
Exemplo: Telefone
Estado atual: linha telefônica sem uso;
Evento: usuário levanta o fone;
Estado novo: linha telefônica com sinal de linha.
3. Profª Ana Paula Gonçalves Serra / Prof. André Luiz Ribeiro 3
Notação:
Regras
Nem todos os objetos mudam de estados. O diagrama de estados deve ser
elaborado somente para objetos que mudam de estados ao longo do seu ciclo
de vida;
Para o objeto em questão no diagrama de estados deve existir uma classe
correspondente no diagrama de classes.
Exemplo do Sistema de Reserva de Hotel (Solução em Aula):
E stado 1 Estado 2evento a evento b
evento c
event o d
Estado Inicial
do Objeto
Estado do
Objeto
Evento
Ocorrido que
faz o objeto
mudar de
estado
Es tado Final
do Objeto
4. Profª Ana Paula Gonçalves Serra / Prof. André Luiz Ribeiro 4
• Diagrama de Atividades: descreve o comportamento dinâmico do sistema. Um
diagrama de atividade representa o detalhamento de tarefas e o fluxo de uma
atividade para outra de um sistema.
Notação gráfica:
Atividade 2
Atividade 1
Evento 1
Início
Evento 2
Tomada de decisão 1
Fim
Atividade 4
Evento 6
Sincronismo
Atividade 3
Tomada de decisão 2
Evento 3
Evento 4
Evento 5
Raia
5. Profª Ana Paula Gonçalves Serra / Prof. André Luiz Ribeiro 5
Exemplo do Sistema de Reserva de Hotel. Atividade detalhada da reserva
de acomodação de hotel (Solução em Aula):
6. Profª Ana Paula Gonçalves Serra / Prof. André Luiz Ribeiro 6
• Diagrama de Pacotes: fornece um mecanismo de organização para os elementos
da UML. O pacote é utilizado para agrupar elementos da modelagem, como por
exemplo: partes do sistema, representação genérica de camadas de arquitetura,
etc.
Notação gráfica:
Pacote 1
Pacote 2
Pacote 3
7. Profª Ana Paula Gonçalves Serra / Prof. André Luiz Ribeiro 7
• Diagrama de Implantação/Distribuição (Deployment): descreve a arquitetura
física, exibindo os dispositivos, as máquinas de processamento em tempo de
execução e os componentes que nelas existem.
Notação:
Processador Device
conexão
Processador: é qualquer máquina que possui capacidade de processamento.
Por exemplo: servidores e estações de trabalho;
Dispositivo: é um hardware com uma finalidade limitada. Por exemplo:
impressoras e scanners;
Conexões: vínculo físico entre dois processadores, dois dispositivos ou um
processador e um dispositivo. Geralmente as conexões representam as
conexões de rede física de uma empresa.
Exemplo:
Impressora
Servidor de
Aplicação
Servidor de
Banco de Dados
Cliente
Cliente
Cliente
• Diagrama de Componentes: Representa a parte física do sistema, exibindo os
componentes do sistema e a dependência entre eles. Cada componente é composto
por uma ou mais classes. Propõe uma visão estática do sistema. O diagrama de
componentes é utilizado para modelar a arquitetura e solução de implementação
do sistema. Através do diagrama de componentes pode-se gerar pseudo-código em
linguagens de programação.
Sendo que componente segundo a OMG é “a parte modular, possível de ser
implantada e substituível de um sistema que encapsula implementação e exibe um
conjunto de interfaces”.