Enviado por Do utilizador3553

UML User Guide

Propaganda
UML User Guide – Modelagem Estrutural
UML User Guide – Divisão
Modelagem Estrutural



Classes
Relacionamento
Diagramas de Classes
Modelagem Estrutural Avançada





Interface
Tipos
Regras
Pacotes
Instância
Modelagem Comportamental





Interações
Casos de Uso
Diagramas de Interfaces
Diagramas de Casos de Uso
Diagramas de Atividade
Modelagem Compartamental Avançada





Eventos e Sinais
Máquinas de Estado
Processos e Threads
Tempo e Espaço
Diagramas de Estados (Máquinas de Estado)
Modelagem Arquitetural







Componentes
Desenvolvimento
Colaboração
Padrões e Frameworks
Diagramas de Componentes
Diagramas de Desenvolvimento
Sistemas e Modelos
Empacotamento (Wrapping Up)

O uso da UML
1
UML User Guide – Modelagem Estrutural
1
CLASSES (CAP 04)
1.1
1.2
1.3
MOTIVAÇÃO
REPRESENTAÇÃO GRÁFICA
TERMOS E CONCEITOS
1.3.1 Nome
1.3.2 Atributo
1.3.3 Operação
1.3.4 Organização de Atributos e Operações
1.3.5 Responsabilidades
1.3.6 Outras Características
TÉCNICAS DE MODELAGEM COMUNS
1.4.1 Modelando o Vocabulário do Sistema
1.4.2 Modelando a Distribuíção de Responsábilidades
1.4.3 Modelando Coisas que não são do Software
1.4.4 Modelagem de Tipos Primitivos
4
4
5
5
6
7
7
8
9
9
9
9
10
10
RELACIONAMENTOS (CAP. 05)
11
1.4
2
4
INTRODUÇÃO
TERMOS E CONCEITOS
2.2.1 Dependência
2.2.2 Generalização
2.2.3 Associação
2.2.3.1 Formação do Nome
2.2.3.2 Regra (Role)
2.2.3.3 Multiplecidade
2.2.3.4 Agregação
2.3
ALGUMAS CONCLUSÕES
11
11
11
12
13
13
13
14
14
15
3
MECANISMOS COMUNS (CAP. 06)
16
3.1
3.2
3.3
3.4
NOTA
ESTERIÓTIPO
TAGGED VALUE – RÓTULO
CONSTRAINT
16
16
17
17
4
DIAGRAMAS DE CLASSES (CAP. 8)
19
4.1
4.2
TERMOS E CONCEITOS
USO COMUM
4.2.1 Falando um pouco mais sobre Modelo Lógico de Base de Dados
20
20
20
2.1
2.2
2
UML User Guide – Modelagem Estrutural
5
CLASSES AVANÇADAS (CAP 9)
22
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
CLASSIFICADORES
VISIBILIDADE
ESCOPO
ABSTRAÇÃO
POLIMORFISMO
MULTIPLICIDADE
SINTAXE COMPLETA DO ATRIBUTO
SINTAXE COMPLETA DA OPERAÇÃO
22
22
22
23
23
24
24
24
6
REALACIONAMENTOS AVANÇADOS (CAP 10)
25
6.1
6.2
6.3
6.4
DEPENDÊNCIA
GENERALIZAÇÃO
ASSOCIAÇÃO
REALIZAÇÃO
25
25
25
25
7
INTERFACES, TIPOS E REGRAS (CAP. 11)
27
7.1
INTERFACE
7.1.1 Regra para Nomes
27
27
8
PACOTES (CAP 12)
30
8.1
TERMOS E CONCEITOS
8.1.1 Composição do Nome
8.1.2 Elementos Contidos (Owned Elements)
8.1.3 Visibilidade
8.1.4 Importação e Exportação
8.1.5 Generalizações
30
30
31
31
32
32
9
INSTÂNCIAS OU OBJETOS (CAP 13)
34
9.1
TERMOS E CONCEITOS
9.1.1 Abstração e Instâncias
9.1.2 Formação do Nome
9.1.3 Estado
34
34
35
35
10
DIAGRAMA DE OBJETOS (CAP 14)
36
10.1
TERMOS E CONCEITOS
36
3
UML User Guide – Modelagem Estrutural
1 Classes (Cap 04)
Definição: Uma classe é a descrição de um conjunto de objetos que compartilham os
mesmos atributos, operações, relacionamentos e semântica.
1.1 Motivação



A modelagem de sistemas envolve identificar as coisas importantes na sua visão
particular;
As coisas levantadas formam o que se chama de Vocabulário;
As coisas são diferenciadas umas das outras e possuem um conjunto de
propriedades
Exemplo: Portas, Paredes e Janelas

As coisas não vivem isoladas, elas se encaixam. O relacionamento que existe uma
com a outra vai depender de como você vai utilizar. Os Atores vão ver as coisas
com e seus relacionamentos com olhos diferentes
Exemplo: Construtores x Moradores


Em UML as coisas são modeladas em Classes.
Uma Classe é uma abstração de coisas que fazem parte do seu Vocabulário. Não é
somente um objeto, mas a representação de um conjunto completo de Objetos.
Exemplo: Parede.
1.2 Representação Gráfica
Nada melhor que a imagem:
4
UML User Guide – Modelagem Estrutural
1.3 Termos e Conceitos
Definição: Uma classe é a descrição de um conjunto de objetos que compartilham
 Atributos
 Operações
 Relacionamentos
 Semântica
1.3.1 Nome





Obrigatório (destingue classes)
String textual comum
Pode ser um Nome Simples
Pode conter prefixos que identificam o pacote (Nome com Caminho – path
name)
Pode-se omitir compartimentos para didática.
Exemplos:
FFIIIGGG.. 44--22
Regra de formação
 Qualquer número de letras + números + pontuação (menos “:”)
 Pode continuar em outra linha
 Deveria ser um nome curto ou uma frase para nome com palavras, que venham do
Vocabulário levantado para o modelo.
 Não deveria usar espaços entre as palavras
 Quando for mais de uma palavra usar sempre a primeira letra maiúscula
Exemplo:
5
UML User Guide – Modelagem Estrutural
Cliente, SensorDeTemperatura
1.3.2 Atributo
Definição: É uma propriedade com nome de uma Classe, que possui um universo de
valores (Range) que venham a ser assumidos em uma instância da classe.



Uma classe pode possuir muitos ou nenhum (0 ou N)
Em um dado momento, um objeto vai possuir um determinado valor para cada
atributo
Sendo assim um atributo é uma abstração de um tipo de dado – Primitivo ou Uma
outra Classe.
Representação gráfica
FFIIIGGG.. 44--11
Regra de Formação
 Mesmo que nome, exceto a primeira letra da primeira palavra (sendo composto ou
não) do atributo deve ser minúscula
 Pode-se especifica o tipo e valor default:
6
UML User Guide – Modelagem Estrutural
FFIIIGGG.. 0044--44
1.3.3 Operação
Definição: É uma implementação de um serviço que pode ser requerido por qualquer
objeto de uma classe.



É a abstração de alguma coisa que pode ser feita com o objeto qualquer da Classe
Uma classe pode possuir muitos ou nenhum (0 ou N)
Freqüentemente (mas não sempre) a invocação de uma operação muda o valor de
um atributo ou o estado de um Objeto
Representação gráfica
FFIIIGGG.. 44--55
Regra de Formação
 Mesmo que nome, exceto a primeira letra da primeira palavra (sendo composto ou
não) da operação deve ser minúscula
 Usa o parênteses para diferenciar do atributo
 Normalmente usa-se um verbo ou uma frase com verbo que representa um
comportamento da classe a qual pertence
 Pode trazer assinatura da Operação ( Nome + Tipo + Valor default para
parâmetros + Tip de Retorno (se for função) )
1.3.4 Organização de Atributos e Operações





Não precisa mostrar tudo de uma vez
Na maioria dos casos não é possível
Mostrar somente o que for interessante para uma determinada visão
Pode-se mostrar alguns ou nenhum se for necessário. Um compartimento vazio
não indica necessariamente a ausência de atributos ou operações
Pode-se usar “...”
7
UML User Guide – Modelagem Estrutural

Pode-se usar Estereótipos (Agrupo ou classifica elementos do Vocabulário –
classes, atributos, operações, etc.)
FFIIIGGG.. 77
1.3.5 Responsabilidades
Definição: É um contrato ou uma obrigação da classe





Quando se cria uma classe se declara que um todos os objetos de uma classe vão
possuir o mesmo intervalo de status e o mesmo tipo de comportamento
Em um nível mais abstrato os atributos e as operações da classe são as
ferramentas usadas para que as responsabilidades sejam propagadas.
A classe SensorDeTemperatura é responsável em medir temperatura e disparar
alarme em uma situação crítica
Uma classe tem pelo menos uma responsabilidade e deveria ter um punhado.
Graficamente usa o quarto compartimento da classe.
Representação gráfica
8
UML User Guide – Modelagem Estrutural
FFIIIGGG.. 88
Regra de Formação
 Uma frase, ou uma sentença, ou pelo menos um parágrafo curto.
1.3.6 Outras Características




Atributos, Operações e Responsabilidades são os elementos mais comumente
usados. Somente eles já cobrem a semântica da classe.
Outras representações para Classes:
o Operações para Atributos
o Características ligadas a linguagem de programação
o Operação polimórfica
o Operação Constante
o Exceções Lançadas
São tratadas em conceitos avançados
Modelos mais complexos:
o Interfaces
o Classes de Processos e Threads
o Classes que representam coisas físicas: Applets, Java Beans, Objetos
Com+
1.4 Técnicas de Modelagem Comuns

Apresenta somente algumas dicas e coisas comumente usadas em modelagem
1.4.1 Modelando o Vocabulário do Sistema




Classes são construídas para modelar abstrações do seu sistema
Cada abstração é uma parte do Vocabulário do Sistema
O conjunto das abstrações representam as coisas que são mais importantes tanto
para o usuário quanto para o implementador
Menciona como técnicas excelentes para levantamento das abstrações:
o CRC Cards
o Análise Baseada em Caso de Uso
1.4.2 Modelando a Distribuição de Responsabilidades



Não se deve construir classes que são grandes demais ou pequenas demais. Devese saber balancear as responsabilidades da classe.
Classes grandes não são reutilizáveis
Classes pequenas são tão abstratas que você não vai saber para que servem
9
UML User Guide – Modelagem Estrutural
1.4.3 Modelando Coisas que não são do Software



As vezes as Classes modeladas não tem um representação análoga no software ou
no produto final
Aqui também temos Atores
Seriam Classes Externas....
1.4.4 Modelagem de Tipos Primitivos



Em outro extremo as coisas que você modela podem ser diretamente ligadas à
linguagem de programação – Tipos primitivos (int, char, enum)
Usa a notação da Classe com um estereótipo para o nome da classe
Especifica Constraints para ranges. Exemplo:
FFIIIGGG.. 44--1122

Para enumerações usa o compartimento de atributos para os valores possíveis
10
UML User Guide – Modelagem Estrutural
2 Relacionamentos (Cap. 05)
2.1 Introdução



Na construção de abstrações, precebe-se que poucas classes são independentes;
umas colaboram com as outras de várias maneiras
A modelagem estrutural de um sistema consiste no levantamento do Vocabulário
+ a relação entre classes
Em OO três tipos de relacionamentos são os mais importantes:
o Dependência: que representa relacionamento de uso entre as classes;
o Generalização: que liga classes gernéricas as suas especialistas;
o Associação: que representa realacionamentos estruturais entre objetos;
Definição: Em UML a maneira com que as coisas podem se conectar, tanto lógico
quanto fisicamente, são modeladas com relacionamentos.
2.2 Termos e Conceitos


Relacionamento é uma conexão entre coisas;
Graficamente é uma ligação que usa diferente tipos de linha e adornos.
2.2.1 Dependência
Definição: É um relacionamento que declara que uma mudança na especificação de uma
coisa pode afetar outra coisa que a usa, mas não necessariamente o contrário.
Dica: É bem comum usar a Dependência no contexto de uma classe, quando essa recebe
a classe de uso com parâmetro de uma operação.
FFIIIGGG.. 55--22 ((PPPAAAGGG.. 6644))

É raro se usar nomes para uma Dependência, mas pode ocorrer.
11
UML User Guide – Modelagem Estrutural

Quando uma classe possui dois relacionamentos de dependência com uma mesma
classe, basta que se grafe uma vez e fique explicito na declaração da assinatura da
operação ( veja a figura 5-8 da página 69)
2.2.2 Generalização
Definição: É um relacionamento entre coisas gerais (Chamadas de Super-Classes ou
Classe Pai) e coisas específicas ( Subclasses ou Classes Filhas).
 Também é 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 são esperados, mas
não ao contrário.
(O filho tem tudo o que o pai tem) (O pai tem parte do que o filho tem)
 A partir dessas regras é possível se usar o Polimormismo (Uma operação que o
filho contém com a mesma assinatura da operação que o pai contém – usando-se
Sobrescrita)
FFIIIGGG.. 55--33 PPAAAGGG.. 6655

Generalizações raramente usam nomes, mas pode ocorrer
12
UML User Guide – Modelagem Estrutural

Quando uma classe é abstrata (quando uma ou mais operações são virtuais) tanto
o nome da classe quanto o nome da operações virtuais são grafadas em itálico;
2.2.3 Associação
Definição: É um relacionamento estrutural que especifica que um objeto está conectado
em outro.



Dada uma associação 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 associações mais comuns são aquelas que conectam duas classes (Associações
Binárias), mas podem existir associações que conectam mais de duas classes ao
mesmo tempo (Associações n-árias).
2.2.3.1 Formação do Nome


Uma associação pode ter um nome que descreva a natureza da ligação
Você pode dar a direção para o nome através de um triângulo cheio
FFIIIGGG 55--44 PPAAAGGG.. 6666
2.2.3.2 Regra (Role)

Especifica o papel das classes na associação
13
UML User Guide – Modelagem Estrutural
FFIIIGGG 55--55 PPAAAGGG.. 6666

A mesma classe pode atuar da mesma maneira em regras diferentes em diferentes
associações, ou seja, geralmente uma classe sempre assume um papel.
2.2.3.3 Multiplicidade
Definição: Limita (Estabelece) o número de objetos que podem se conectar através de
uma instância da associação. Isto é chamado de “Multiplecidade de uma Regra de
associação”.
 Tipos
o (0..1) um ou zero
o (0..*) muitos ( ou * simplesemente)
o (1..*) um ou muitos
 Tipos complexos devem ser separados por vírgula
o 0..1, 3..4, 6..* , que é igual a qualquer número de objetos menos 2 e 5
2.2.3.4 Agregação
Definição: é o relacionamento associativo do TODO/PARTE.

Contém um diamente (aberto ou vazio) no lado que representa o todo.
FFIIIGGG 55--77 PPAAAGGG.. 6688
14
UML User Guide – Modelagem Estrutural


Quando o diamante é cheio (fechado) está se modelando uma Associação de
Agregação especial chamada de Composição. Na Composição os objetos do lado
da Parte não existem sem que o objeto da classe do lado do Todo exista;
Em uma modelagem pode-se deixar de lado a indicação da Agregação e tornar o
relacionamento uma Associação “Plana”, mas especificando o Todo/Parte você
torna claro a relação de superioridade do Todo.
2.3 Algumas Conclusões


Nos relacionamentos de Dependência e Generalização, você está modelando
relacionamentos chamados de “Lado Único”. A filha conhece o pai, mas o pai
desconhece a filha. A Classe dependente conhece a outra classe, que despresa a
dependente.
Nos relacionamentos associativos as duas classes se conhecem.
15
UML User Guide – Modelagem Estrutural
3 Mecanismos Comuns (Cap. 06)


A UML possui quatro mecanismos que são comuns em toda a linguagem:
o Especificações;
o Adornos;
o Divisões Comuns;
o Mecanismos de Extensão (ou de Extensibilidade)
O capítulo explica dois deles:
o Adornos
 O mais comum é a NOTA
o Mecanismos de Extensão, que permitem extender a linguagem de maneira
controlada:
 Esteriótipo;
 Tagged Value (Rótulo)
 Constraints
3.1 Nota
Definição: Nota é uma nota.
FFIIIGGG.. 66--11 PPAAAGGG.. 7766
3.2 Esteriótipo
Definição: É um mecanismo de extensão que permite extender a linguagem de forma
controlada.



O esteriótipo extende o Vocabulário da linguagem permitindo que você crie um
novo tipo de blocos mais específicos para o seu problema;
Graficamente são usados os caracteres <<>> para delimitar o esteriótipos e
geralmente são colocados acima do nome de outro elemento que está sendo
eseriótipado.
Pode ser visto como um Metatipo
16
UML User Guide – Modelagem Estrutural
FFIIIGGG 66--22 PPAAAGGG.. 7777
3.3 Tagged Value – Rótulo
Definição: É uma extensão de uma propriedade de um elemento qualquer da UML,
permitindo que se crie novas informações na especificação do elemento.

Graficamente é um texto entre {}
3.4 Constraint
Definição: é uma Constraint
 Usada para adicionar ou retirar regras.
 Também é representada por {};
 Deve ser colocado perto do elemento que se limita ou se expande.
17
UML User Guide – Modelagem Estrutural
FFIIIGGG 66--77 PPAAAGGG.. 8822
18
UML User Guide – Modelagem Estrutural
4 Diagramas de Classes (Cap. 8)


É o diagrama mais comum para OO
Mostra um conjunto de Classes, Interfaces e Relacionamentos
NOTA: Diagra de Classes são usados par modelar a visão de design estático de um
sistema e envolve:
 Modelar o Vocabulário;
 Modelar Colaborações;
 Modelar Esquemas.


Os Diagramas de Classes são o fundamento básico para outros digramas (de
Componente e de Desenvolvimento)
A figura a seguir traz elementos básicos par o D.C.:
FFIIIGGG 88--11 PPAAAGGG.. 110066
19
UML User Guide – Modelagem Estrutural
4.1 Termos e Conceitos
Definição: Um D.C. é um diagrama que mostra um conjunto de Classes, Interfaces,
Colaborações e seus relacionamentos. “Graficamente é um conjunto de ângulos e arcos.”


Conteúdo:
o Classes
o Interfaces
o Colaborações
o Dependências, Generalizações, e Associações
Assim como em outros diagramas, um DC pode ter Notas e Constraints.
4.2 Uso Comum


Usado para modelar “A visão do Design Estático de um Sistema”
Usa-se DC de três maneiras:
o Para modelar o vocabulário do sistema. Envolve decisões do tipo qual
abstação faz parte, qual não faz.
o Para modelar colaborações simples. Um colaboração é uma socieda de
classes, que trabalham juntas para prover algum algum comportamento
cooperativo;
o Para modelar um esquema lógico de uma Base de dados
4.2.1 Falando um pouco mais sobre Modelo Lógico de Base de
Dados


O DC da UML é um superset do diagrama ER. Enquanto o ER só modela o dado
(foca somente o DADO), o DC se preocupa também com o comportamento do
dado;
Especificidades:
o Criar um modelo que contenha classes do tipo de Entidade do ER e marcálas com a Constraint {persistent}
o Expandir os detalhes estruturais da notação da classes. Isso significa
especificar os detalhes dos atributos (Campos) e focar nas associações e
suas cardinalidades (Relacionamentos).
o Note que os atributos são todos de Tipos Primitivos:
20
UML User Guide – Modelagem Estrutural
FFIIIGGG 88--33 PPAAAGGG 111122
FFIIIGGG 55--1100 PPGGG 7733
21
UML User Guide – Modelagem Estrutural
5 Classes Avançadas (Cap 9)

Este capítulo dedica-se a descrever elementos avanças na declaração de classes.
5.1 Classificadores


A Classe é um tio de Classificador pois ela representa um conjunto de objetos
que compatilham operaçoes, atributos, relacionamentos e semântica
Existem os seguintes classificadores:
o Interface, Datatype, Sinal, Componente, Nó, Use Case, Subsystem
5.2 Visibilidade


É um classificador de atributos de operações;
Classifica se um elemento pode ou não ser visto por outras classes:
o (+) Público;
o (#) Protegido – somente classes filhas podem ver;
o (-) Privado – exclusivo da classe
5.3 Escopo


É um classificador de atributo e operação;
Classifica um elemento conforme a multiplicidade nas instâncias de uma classe
o De Instância – cada instância possui sua cópia
o Estático – somente um atributo é usado para instâncias da classe (Deve-se
sublinhar o atributo)
FFIIIGGG 99--11 PPAAAGGG.. 112244
22
UML User Guide – Modelagem Estrutural
5.4 Abstração



Uma classe é abstrata quando alguma de suas operações são virtuais (ou abstratas)
representada por um nome em itálico
Não se pode ter uma herança direta de uma classe desse tipo;
Alguns detalhes:
o {root} Constraint indica que a classe não tem pai;
o {leaf} Indica que a classe é derivada.
5.5 Polimorfismo


Uma operação é polimorfica quando na hierarquia de Classes você pode
especificar operações com a mesma assinatura em diferentes pontos da hieraquia.
A operação da classe filhe Sobrescreve a operação da classe pai.
FFIIIGGG 99--55 PPAAAGGG 112266
23
UML User Guide – Modelagem Estrutural
5.6 Multiplicidade


Especifica o número de instâncias que uma classe pode ter.
Para representá-la coloca-se um número no canto superior direito da classe
5.7 Sintaxe Completa do Atributo
[visibilidade] nome [multiplicidade] [:tipo] [= valor inicial] [nome da propriedade]


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 restrições para modificação de valores;
o addOnly – para atributos com multiplicidade acima de 1, mas que só
podem ser adicionados;
o Frozen – Não pode ser atualizado após a criação do objeto
5.8 Sintaxe Completa da Operação
[visibilidade] nome [( lista completa de parâmetros )] [: tipo de retorno]
[{propriedade}]

Exemplos:
o display
o + display
o set( n : Name, s : String )
o getId() : Integer
o restart() {guarded}

Para a assinatura a seguinte sintaxe é usada:
[direção] nome : tipo[= valor default]

Onde direção:
o in
o out
o inOut
24
UML User Guide – Modelagem Estrutural
6 Realacionamentos Avançados (Cap 10)


Este capítulo descreve os elementos avançados para Relacionamentos.
Aqui aparece além da Dependência, Generalização e Associação, o
relacionamento de Realização
6.1 Dependência




É um relacionamento de uso que diz que a mudança de especificação de uma
classe afeta a especificação da classe dependente;
Graficamente é uma linha tracejada apontada para a classe dependente
Use a frase “Depende de”
A dependência simples é suficiente para a maioria dos modelos, mas a UML tem
17 esteriótipos divididos em 5 grupos para classificar uma dependência (ver de
pag. 137 a 140)
6.2 Generalização


Relacionamentos entre coisas gerais e coisas específicas;
A UML permite o mapeamento de heranças Multiplas
6.3 Associação

Tenho que estudar {Detalhar pag. 143}
6.4 Realização
Definição: É um relacionamento semântico entre classificadores onde um classificador
especifica um contrato que o outro classificador carrega.
 Graficamente é uma mistura entre Dependência e Realização
 Usado no contexto para representar o relacionamento entre Uma Classe e suas
Interfaces;
 Uma interface é a coleção de operações que são usadas para especificar serviços
de uma classe ou componente
 Uma só inteface pode ser usada por uma série de classes e objetos que queiram
disponibilizar um serviço comum (ODBC)
 Uma classe ou componente pode implementar uma série de interfaces (view para
objetos)
25
UML User Guide – Modelagem Estrutural
FFIIIGGG.. 1100--99 PPAAAGGG.. 115500
26
UML User Guide – Modelagem Estrutural
7 Interfaces, Tipos e Regras (Cap. 11)
Este capítulo descreve os elementos citados no título




Interface: é uma coleção de operações que são usadas para especificar um
serviço de uma classe ou um compenente;
Tipo: é um esteriótipo de uma classe usado para especificar um domínio de
objetos;
Regra: é o comportamento de uma entidade participando de um contexto especial
Realização: é o relacionamento entre uma classe e sua Interface.
7.1 Interface

Pode ser representadas de duas maneiras:
o Com um Círculo
o De uma maneira expandida é uma classe eteriotipada
FFIIIGGG 1100--99 PPAAAGGG.. 115500
7.1.1 Regra para Nomes


O Nome é obrigatório;
Pode ser um nome simples ou com caminho
27
UML User Guide – Modelagem Estrutural
FFIIIGGG 1111--22 PPAAAGGG.. 115588



Possui operações, mas não atributos
Pode participar de relacionamentos com outras classes do tipo Associativo,
Generalização e de Dependência.
Possui um relacionamento extra chamado de Realização com a classe que a
implementa;
FFIIIGGG 1111--44 PPAAAGGG.. 116600
28
UML User Guide – Modelagem Estrutural
Nota: Uma interface parece com uma classe abstrata, mas não é. Tem representação
própria na UML e não possui atributos.
29
UML User Guide – Modelagem Estrutural
8 Pacotes (Cap 12)
Definição: Um pacote é um mecanismo de proposito geral para organização de elementos
de modelagem em grupo



Pacotes bem modelados possuem elementos que são semanticamente semelhantes
que tendem a se relacionar.
Pacotes podem controlar acesso dos seus componentes
Representação gráfica:
FFIIIGGG 1122--11 PPAAAGGG 117711

Graficamente é uma pasta com abas (Tabbed folder)
8.1 Termos e Conceitos
8.1.1 Composição do Nome



O aparecimento do nome é obrigatório para distinção entre pacotes
Pode ser:
o Nome simples
o Nome com caminho
Na maioria das vezes ele e desenhado somete com o nome, mais aind pode
aparecer:
o Tagged Value (Rótulo)
o Constraints
o Compartimentos adicionais para detalhamentos
30
UML User Guide – Modelagem Estrutural
FFIIIGGG 1122--22 PPAAAGGG 117711
8.1.2 Elementos Contidos (Owned Elements)





Um pacote pode possuir outros elementos
o Classes
o Interfaces
o Nós
o Colaborações
o Use Case
o Diagramas
o Outros Pacotes
“Possuir” é um relacionamento composto que significa que o elemento é
declarado dentro desse pacote. Caso o pacote seja elimidado, todos os seus
elementos serão eliminados também
Cada elemento é possuído unicamente por um só pacote
Casso eu possua duas classes com o mesmo nome em pacotes diferentes, elas
serão tratadas com classes diferentes
O conteúdo do pacote pode ser mostrado explicitamente. (Veja figura anterior.)
8.1.3 Visibilidade


Pode-se controlar a visibilidade de elementos de pacotes
Por default todos os elementos são públicos
o (+) Público
o (#) Protegido, só podem ser vistos por pacotes que herdam de outros
pacotes
o (-) Privado, que só pode ser visto dentro do própio pacote
31
UML User Guide – Modelagem Estrutural
8.1.4 Importação e Exportação




O ato de importar um pacote garante a permissão de acesso a elementos do pacote
em somente um sentido.
Em UML o relacionamento de importação é representado com o adereço do
relacionamento de dependência com o esteriótipo <<import>> ou <<access>>
A parte pública dos pacotes importados são chamadas de Exportações
Veja a figura:
FFIIIGGG 1122--44 PPAAAGGG 117755
8.1.5 Generalizações



Existem dois relacionamentos possíveis entre pacotes:
o Importação ( ou Acesso)
o Generalização de Pacotes
É muito semelhante a generalização de Classes
{Detalhar}
32
UML User Guide – Modelagem Estrutural
FFIIIGGG 1122--55 PPAAAGGG 117766
33
UML User Guide – Modelagem Estrutural
9 Instâncias ou Objetos (Cap 13)
Definição: Uma instância é a manifestação concreta de uma classe (de uma abstração)
para o qual um conjunto de operações podem ser aplicadas e o resultado dessas operações
pode ser armazenado.



Usada para modelar coisas concretas do mundo real
Para diferenciar da classe, o nome do objeto é sublinhado
Graficamente:
FFIIIGGG 1133--22 PPAAAGGG 118877
9.1 Termos e conceitos
9.1.1 Abstração e Instâncias





Geralmente andam casadas, ou seja, você insta uma abstração (torma-se uma
instância de uma abstração)
Pode-se classifcar a Instância em
o Instância Concreta
o Instância Prototipada – intância de elementos do tipo Classes Virtuais e
Interfaces
Você pode instar uma Classe Virtual? Sim.
Você pode isntar uma Interface? Sim.
Os objetos são colocados em dois tipos de diagramas
o Diagrama de Objetos – usado para visualização dos seus detalhes
estruturais;
o Diagrama de Interação e Atividade – usado para visualização da
participação de objetos em cituações dinâmicas.
34
UML User Guide – Modelagem Estrutural
9.1.2 Formação do Nome






O nome é obrigatório para distinção entre objetos
Pode ser um nome simples ou com caminho
Usa-se “:” para se identificar o nome da abstração de origem.
O nome da abstração pode ser omitido quando ela é evidente
Quando o nome do objeto é desconhecido então tem-se um objeto anonymous
Veja as variações na Fig anterior
9.1.3 Estado
Definição: O estado do objeto é a representação dos valores dos atributos mais comuns
em um espaço do tempo.
 Dois tipos de representações são possíveis. Veja a figura:
FFIIIGGG 1133--33 PPAAAGGG 118888
35
UML User Guide – Modelagem Estrutural
10 Diagrama de Objetos (Cap 14)



Os diagramas de objetos modelam as instâncias de abastrações contidas em um
diagrama de Classes.
Um diagrama de objetos mostra um conjunto de objetos e seus relacionamentos
em um ponto no tempo
Usado para modelar visões de Design Estático ou de processos estásticos de um
sistema. É uma fotografia do Sistema em um determinado momento.
FFIIIGGG 1144--11 PPAAAGGG.. 119966
10.1 Termos e Conceitos
Definição: Um diagrama de Objetos é um diagrama que mostra um conjunto de objetos e
seus realacionamentos em um ponto no tempo.


Contém:
o Objetos
o Links
Pode Conter:
o Notas
o Constraints
36
Download