1. MINISTÉRIO DA CIÊNCIA E TECNOLOGIA
INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS
UML: Visão Geral
Gilberto Ribeiro de Queiroz
gribeiro@dpi.inpe.br
Disponível em: http://www.dpi.inpe.br/~gribeiro/apresentacoes
29 de Fevereiro de 2008.
2. Sumário
● UML:
– Motivação
– Diagramas
● Oficina:
– Criando diagramas UML com o JUDE Community 5
3. UML
● Segundo a OMG, a Unified Modeling Language é
uma linguagem visual para especificação,
construção e documentação de artefatos de
software
● O propósito da modelagem (criação de
esquemas UML) é, principalmente, para
entender e não para documentar!
● UML sozinha não resolve nada:
– Ela deve ser usada dentro de um processo de
desenvolvimento!
4. Processo de Desenvolvimento de Sistemas
● Estabelece uma abordagem para a construção,
desenvolvimento e manutenção de software:
– Ex: UML + OpenUP (definição das fases de
desenvolvimento e estabelecimento das regras do
jogo!)
● Atualmente metodologias são iterativas e
evolucionárias:
– Ciclo repetitivo, com fases de curta duração
– Fases contemplam todas as etapas do ciclo de
desenvolvimento (requisitos, análise, projeto,
implementação, teste e validação)
– As fases não tentam varrer todo o conhecimento do
problema, isso é obtido ao longo do tempo
5. Por que / Para que usar UML?
● Vamos usar os diagramas UML para:
– Ajudar a conceber nossas idéias, em relação ao
sistema que estivermos projetando
● Pensar antes de codificar!
– Apresentar nossas idéias ao grupo de forma que
todos possam interagir e discutir um determinado
ponto
● Aumentar a participação e envolvimento do time!
– Documentar nossas idéias quando elas já estiverem
bem consolidadas para que novos integrantes e
novos colaboradores possam acelerar sua
compreensão dos sistemas desenvolvidos pelo grupo
6. UML
● Diagramas servem para capturar diferentes
visões do sistema:
– Estrutural: estática
● Diagrama de Classes
● Diagrama de Objetos
● Diagrama de Componentes
● Diagrama de Implantação
– Comportamental: dinâmica
● Diagrama de Casos de Uso
● Diagrama de Seqüência
● Diagrama de Atividades
● Diagrama de Estados
● Diagrama de Colaboração
8. UML: Diagrama de Casos de Uso
● Composto por:
– Atores:
● Pessoas que desempenham algum papel no sistema
● Entidades externas, como outros sistemas, que interagem
com o sistema sendo projetado
– Casos de Uso:
● Processos ou funções que o sistema deve realizar de forma
automática ou mesmo manual
● Geralmente associadas a descrições textuais
– Relacionamentos:
● Atores x Casos de Uso
● Casos de Uso x Casos de Uso
10. Descrição Casos Uso
#05 Gerenciar Contas Usuários
Quem incia Ator Administrador
Pré-Condição Nenhum outro administrador deve estar logado no sistema
1. O Administrador informa seu login/senha
2. O sistema verifica na ACL se o usuário possui privilégios especiais
3. Se o usuário não for um super-usuário interrompe processo
4. O sistema mostra a lista de usuários e grupos
Cenário 1: 5. O Administrador entra com a seguintes informações:
Criar Nova Conta - nome do novo usuário, diretório home, senha inicial, privilégios,
data expiração da conta
6. O servidor valida os dados
7. As informações da nova conta são gravadas na ACL
Fluxo de Exceção
12. Diagrama de Atividades
● É usado para mostrar uma seqüência de
atividades.
● Mostra o fluxo de trabalho (workflow) a partir
de um ponto inicial até um ponto final,
detalhando as decisões do caminho tomado
durante a execução das tarefas.
● Este diagrama possui várias aplicações, desde a
definição do fluxo básico de um programa até a
definição de um processo com as suas tomadas
de decisões e ações.
13. Diagrama de Atividades
Ações
Execução em Paralelo
Estado Inicial
Ponto de Tomada de Decisão
Ponto de Junção
Estado Final
14. Diagrama de Atividades
● Podemos ainda ter partições:
– Elas ajudam a separar as ações em blocos
– Ex: ações realizadas pelo departamento A e ações
realizadas pelo departamento B
● Podemos ter o envio de objetos entre uma ação
e outra:
– Ex: Pedido
16. Representação de uma Classe
Nome da classe
Compartimento dos Atributos
Compartimento dos Métodos
Acessibilidade dos Atributos e Métodos:
+ atributo ou método público
# atributo ou método protegido
- atributo ou método privado
17. Representação de um Classe
Atributos estáticos aparecem sublinhados
Métodos Virtuais aparecem em itálico
Atributos estáticos aparecem sublinhados
Métodos estáticos aparecem sublinhados
18. Representação de uma Interface
A classe TePolygon Implementa a Interface
Interface Geometry:
pode ter atributos e
métodos como as classes
22. Diagrama de Classes – Outras Considerações
● UML dá o suporte para classes templates
● Herança de classes templates pode ser
expressa com “bind” de templates
● Classes de associações:
– servem para qualificar os relacionamentos
26. Diagrama de Seqüência
● Apresenta a ordem temporal das mensagens
enviadas e recebidas pelos objetos
● Mostram a troca de mensagens entre diversos
objetos num cenário específico
● Na minha visão (Gribeiro):
– Ajuda a descobrir onde colocar os métodos!
– Ajuda a verificar se a comunicação entre as classes
está coerente!
29. Diagrama de Estado
● Modela o comportamento de um objeto
individual
● Especifica as seqüências de estados pelos quais
um objeto passa durante seu tempo de vida em
resposta a eventos
31. Diagrama de Estados
● Choice:
– Usado quando temos um estado em que o objeto
está escolhendo o próximo estado.
– Ex: Escolhendo Tipo de Mensagem:
● HTTP => Entra no estado Criando Mensagem HTTP
● Fax => Entra no estado Criando Mensagem FAX
● SMS => Entra no estado Criando Mensagem SMS
● Histórico de Estado:
– Ex: Máquina Lavar => quando religada precisa
lembrar em qual estado estava.