Buscar

uml_2008_02_29

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MINISTÉRIO DA CIÊNCIA E TECNOLOGIA
INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS
UML: Visão GeralUML: Visão Geral
Gilberto Ribeiro de Queiroz
gribeiro@dpi.inpe.br
29 de Fevereiro de 2008.
Disponível em: http://www.dpi.inpe.br/~gribeiro/apresentacoes
 
SumárioSumário
● UML:
– Motivação
– Diagramas
● Oficina:
– Criando diagramas UML com o JUDE Community 5
 
UMLUML
● 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!
 
Processo de Desenvolvimento de SistemasProcesso 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
 
Por que / Para que usar UML?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
 
UMLUML
● 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
 
Diagramas de Casos de Uso
 
UML: Diagrama de Casos de UsoUML: 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
 
UML: Diagrama de Casos de UsoUML: Diagrama de Casos de Uso
 
Descrição Casos UsoDescrição Casos Uso
#05 Gerenciar Contas Usuários
Quem incia Ator Administrador
Pré-Condição Nenhum outro administrador deve estar logado no sistema
Fluxo de Exceção
Cenário 1:
Criar Nova Conta
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
5. O Administrador entra com a seguintes informações:
 - 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
 
Diagrama de Atividades
 
Diagrama de AtividadesDiagrama 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.
 
Diagrama de AtividadesDiagrama de Atividades
Execução em Paralelo
Ponto de Junção
Ponto de Tomada de Decisão
Estado Final
Estado Inicial
Ações
 
Diagrama de AtividadesDiagrama 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
 
Diagrama de Classes
 
Representação de uma ClasseRepresentaçã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
 
Representação de um ClasseRepresentação de um Classe
Atributos estáticos aparecem sublinhados
Atributos estáticos aparecem sublinhados
Métodos estáticos aparecem sublinhados
Métodos Virtuais aparecem em itálico
 
Representação de uma InterfaceRepresentação de uma Interface
Interface Geometry:
pode ter atributos e 
métodos como as classes
A classe TePolygon Implementa a Interface
 
AssociaçãoAssociação
class Proprietario
{
 private:
 string nome;
 vector<Lote*> lotes;
 
 public:
 
 string getNome();
};
class Lote
{
 private:
 double area;
 Proprietario* proprietario_;
 
 public:
 
 double getArea();
};
 
GeneralizaçãoGeneralização
A classe TeGeometry é abstrata: por isso o itálico
Superclasse
Subclasses
 
Agregação/ComposiçãoAgregação/Composição
Agregação
Composição
 
Diagrama de Classes – Outras ConsideraçõesDiagrama 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
 
Diagrama de Objetos
 
Diagrama de ObjetosDiagrama de Objetos
 
Diagrama de Seqüência
 
Diagrama de SeqüênciaDiagrama 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!
 
Diagrama de SeqüênciaDiagrama de Seqüência
Cenário: Editar Nova Feição Geográfica
 
Diagrama de Estados
 
Diagrama de EstadoDiagrama 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
 
Diagrama EstadosDiagrama Estados
 
Diagrama de EstadosDiagrama 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.
 
Diagrama de Pacotes
 
UML: PackagesUML: Packages
● Organização Lógica dos Artefatos:
– Agrupar artefatos
– Organizar o modelo
 
Diagrama de PacotesDiagrama de Pacotes
(Package Diagram)(Package Diagram)
 
Diagrama de Componentes
 
Diagrama de ComponentesDiagrama de Componentes
 
Diagrama de Implantação
 
UML: Diagrama de ImplantaçãoUML: Diagrama de Implantação

Outros materiais