Professional Documents
Culture Documents
Classes
Relacionamento
Diagramas de Classes
Interface
Tipos
Regras
Pacotes
Instncia
Modelagem Comportamental
Interaes
Casos de Uso
Diagramas de Interfaces
Diagramas de Casos de Uso
Diagramas de Atividade
Eventos e Sinais
Mquinas de Estado
Processos e Threads
Tempo e Espao
Diagramas de Estados (Mquinas de Estado)
Modelagem Arquitetural
Componentes
Desenvolvimento
Colaborao
Padres e Frameworks
Diagramas de Componentes
Diagramas de Desenvolvimento
Sistemas e Modelos
O uso da UML
1.1
1.2
1.3
MOTIVAO
REPRESENTAO GRFICA
TERMOS E CONCEITOS
1.3.1 Nome
1.3.2 Atributo
1.3.3 Operao
1.3.4 Organizao de Atributos e Operaes
1.3.5 Responsabilidades
1.3.6 Outras Caractersticas
TCNICAS DE MODELAGEM COMUNS
1.4.1 Modelando o Vocabulrio do Sistema
1.4.2 Modelando a Distribuo de Responsbilidades
1.4.3 Modelando Coisas que no so do Software
1.4.4 Modelagem de Tipos Primitivos
4
4
5
5
6
7
7
8
9
9
9
9
10
10
11
1.4
2.1
2.2
INTRODUO
TERMOS E CONCEITOS
2.2.1 Dependncia
2.2.2 Generalizao
2.2.3 Associao
2.2.3.1 Formao do Nome
2.2.3.2 Regra (Role)
2.2.3.3 Multiplecidade
2.2.3.4 Agregao
2.3
ALGUMAS CONCLUSES
11
11
11
12
13
13
13
14
14
15
16
3.1
3.2
3.3
3.4
NOTA
ESTERITIPO
TAGGED VALUE RTULO
CONSTRAINT
16
16
17
17
19
4.1
4.2
TERMOS E CONCEITOS
USO COMUM
4.2.1 Falando um pouco mais sobre Modelo Lgico de Base de Dados
20
20
20
22
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
CLASSIFICADORES
VISIBILIDADE
ESCOPO
ABSTRAO
POLIMORFISMO
MULTIPLICIDADE
SINTAXE COMPLETA DO ATRIBUTO
SINTAXE COMPLETA DA OPERAO
22
22
22
23
23
24
24
24
25
6.1
6.2
6.3
6.4
DEPENDNCIA
GENERALIZAO
ASSOCIAO
REALIZAO
25
25
25
25
27
7.1
INTERFACE
7.1.1 Regra para Nomes
27
27
30
8.1
TERMOS E CONCEITOS
8.1.1 Composio do Nome
8.1.2 Elementos Contidos (Owned Elements)
8.1.3 Visibilidade
8.1.4 Importao e Exportao
8.1.5 Generalizaes
30
30
31
31
32
32
34
9.1
TERMOS E CONCEITOS
9.1.1 Abstrao e Instncias
9.1.2 Formao do Nome
9.1.3 Estado
34
34
35
35
10
36
10.1
TERMOS E CONCEITOS
36
1.1 Motivao
1.3.1 Nome
Exemplos:
FIG. 4-2
Regra de formao
Qualquer nmero de letras + nmeros + pontuao (menos :)
Pode continuar em outra linha
Deveria ser um nome curto ou uma frase para nome com palavras, que venham do
Vocabulrio levantado para o modelo.
No deveria usar espaos entre as palavras
Quando for mais de uma palavra usar sempre a primeira letra maiscula
Exemplo:
5
Cliente, SensorDeTemperatura
1.3.2 Atributo
Definio: uma propriedade com nome de uma Classe, que possui um universo de
valores (Range) que venham a ser assumidos em uma instncia da classe.
Representao grfica
FIG. 4-1
Regra de Formao
Mesmo que nome, exceto a primeira letra da primeira palavra (sendo composto ou
no) do atributo deve ser minscula
Pode-se especifica o tipo e valor default:
FIG. 04-4
1.3.3 Operao
Definio: uma implementao de um servio que pode ser requerido por qualquer
objeto de uma classe.
a abstrao de alguma coisa que pode ser feita com o objeto qualquer da Classe
Uma classe pode possuir muitos ou nenhum (0 ou N)
Freqentemente (mas no sempre) a invocao de uma operao muda o valor de
um atributo ou o estado de um Objeto
Representao grfica
FIG. 4-5
Regra de Formao
Mesmo que nome, exceto a primeira letra da primeira palavra (sendo composto ou
no) da operao deve ser minscula
Usa o parnteses para diferenciar do atributo
7
FIG. 7
1.3.5 Responsabilidades
Definio: um contrato ou uma obrigao da classe
Quando se cria uma classe se declara que um todos os objetos de uma classe vo
possuir o mesmo intervalo de status e o mesmo tipo de comportamento
Em um nvel mais abstrato os atributos e as operaes da classe so as
ferramentas usadas para que as responsabilidades sejam propagadas.
A classe SensorDeTemperatura responsvel em medir temperatura e disparar
alarme em uma situao crtica
Uma classe tem pelo menos uma responsabilidade e deveria ter um punhado.
Graficamente usa o quarto compartimento da classe.
Representao grfica
FIG. 8
Regra de Formao
Uma frase, ou uma sentena, ou pelo menos um pargrafo curto.
No se deve construir classes que so grandes demais ou pequenas demais. Devese saber balancear as responsabilidades da classe.
Classes grandes no so reutilizveis
Classes pequenas so to abstratas que voc no vai saber para que servem
Em outro extremo as coisas que voc modela podem ser diretamente ligadas
linguagem de programao Tipos primitivos (int, char, enum)
Usa a notao da Classe com um esteretipo para o nome da classe
Especifica Constraints para ranges. Exemplo:
10
11
Definio: Em UML a maneira com que as coisas podem se conectar, tanto lgico quanto
fisicamente, so modeladas com relacionamentos.
2.2.1 Dependncia
Definio: um relacionamento que declara que uma mudana na especificao de uma
coisa pode afetar outra coisa que a usa, mas no necessariamente o contrrio.
Dica: bem comum usar a Dependncia no contexto de uma classe, quando essa recebe
a classe de uso com parmetro de uma operao.
12
Quando uma classe possui dois relacionamentos de dependncia com uma mesma
classe, basta que se grafe uma vez e fique explicito na declarao da assinatura da
operao ( veja a figura 5-8 da pgina 69)
2.2.2 Generalizao
Definio: um relacionamento entre coisas gerais (Chamadas de Super-Classes ou
Classe Pai) e coisas especficas ( Subclasses ou Classes Filhas).
Tambm chamada de -Um-Tipo-De
Exemplo: JanelaDeDialogo -um-tipo-de Janela
(classe filha)
(classe pai)
Os filhos podem ser usados em qualquer lugar onde os pais so esperados, mas
no ao contrrio.
(O filho tem tudo o que o pai tem) (O pai tem parte do que o filho tem)
A partir dessas regras possvel se usar o Polimormismo (Uma operao que o
filho contm com a mesma assinatura da operao que o pai contm usando-se
Sobrescrita)
13
Quando uma classe abstrata (quando uma ou mais operaes so virtuais) tanto
o nome da classe quanto o nome da operaes virtuais so grafadas em itlico;
2.2.3 Associao
Definio: um relacionamento estrutural que especifica que um objeto est conectado
em outro.
Dada uma associao entre classes voc pode navegar entre os objetos das classes
nos dois sentidos;
Duas classes podem ter mais de um tipo de relacionamento associativo entre as
duas;
As associaes mais comuns so aquelas que conectam duas classes (Associaes
Binrias), mas podem existir associaes que conectam mais de duas classes ao
mesmo tempo (Associaes n-rias).
14
2.2.3.3 Multiplicidade
Definio: Limita (Estabelece) o nmero de objetos que podem se conectar atravs de
uma instncia da associao. Isto chamado de Multiplecidade de uma Regra de
associao.
Tipos
o (0..1) um ou zero
o (0..*) muitos ( ou * simplesemente)
o (1..*) um ou muitos
Tipos complexos devem ser separados por vrgula
o 0..1, 3..4, 6..* , que igual a qualquer nmero de objetos menos 2 e 5
2.2.3.4 Agregao
Definio: o relacionamento associativo do TODO/PARTE.
15
16
3.1 Nota
Definio: Nota uma nota.
3.2 Esteritipo
Definio: um mecanismo de extenso que permite extender a linguagem de forma
controlada.
17
3.4 Constraint
Definio: uma Constraint
Usada para adicionar ou retirar regras.
Tambm representada por {};
Deve ser colocado perto do elemento que se limita ou se expande.
18
19
20
Contedo:
o Classes
o Interfaces
o Colaboraes
o Dependncias, Generalizaes, e Associaes
Assim como em outros diagramas, um DC pode ter Notas e Constraints.
21
FIG 5-10 PG 73
22
5.1 Classificadores
5.2 Visibilidade
5.3 Escopo
23
5.4 Abstrao
Uma classe abstrata quando alguma de suas operaes so virtuais (ou abstratas)
representada por um nome em itlico
No se pode ter uma herana direta de uma classe desse tipo;
Alguns detalhes:
o {root} Constraint indica que a classe no tem pai;
o {leaf} Indica que a classe derivada.
5.5 Polimorfismo
24
5.6 Multiplicidade
Exemplos:
o origem
o + origem
o origem : Point
o nome[0..1] : String
o id: Integer {frozen}
Existem 3 tipos de propriedades para atributos:
o changeable - sem restries para modificao de valores;
o addOnly para atributos com multiplicidade acima de 1, mas que s
podem ser adicionados;
o Frozen No pode ser atualizado aps a criao do objeto
Exemplos:
o display
o + display
o set( n : Name, s : String )
o getId() : Integer
o restart() {guarded}
Onde direo:
o in
o out
o inOut
25
6.1 Dependncia
6.2 Generalizao
6.3 Associao
6.4 Realizao
Definio: um relacionamento semntico entre classificadores onde um classificador
especifica um contrato que o outro classificador carrega.
Graficamente uma mistura entre Dependncia e Realizao
Usado no contexto para representar o relacionamento entre Uma Classe e suas
Interfaces;
Uma interface a coleo de operaes que so usadas para especificar servios
de uma classe ou componente
Uma s inteface pode ser usada por uma srie de classes e objetos que queiram
disponibilizar um servio comum (ODBC)
Uma classe ou componente pode implementar uma srie de interfaces (view para
objetos)
26
27
7.1 Interface
O Nome obrigatrio;
Pode ser um nome simples ou com caminho
28
29
30
31
8.1.3 Visibilidade
32
8.1.5 Generalizaes
33
34
Geralmente andam casadas, ou seja, voc insta uma abstrao (torma-se uma
instncia de uma abstrao)
Pode-se classifcar a Instncia em
o Instncia Concreta
o Instncia Prototipada intncia de elementos do tipo Classes Virtuais e
Interfaces
Voc pode instar uma Classe Virtual? Sim.
Voc pode isntar uma Interface? Sim.
Os objetos so colocados em dois tipos de diagramas
o Diagrama de Objetos usado para visualizao dos seus detalhes
estruturais;
o Diagrama de Interao e Atividade usado para visualizao da
participao de objetos em cituaes dinmicas.
35
9.1.3 Estado
Definio: O estado do objeto a representao dos valores dos atributos mais comuns
em um espao do tempo.
Dois tipos de representaes so possveis. Veja a figura:
36
Contm:
o Objetos
o Links
Pode Conter:
o Notas
o Constraints
37