Buscar

03_APOO_CONCEITOS_BÁSICOS_UMLV

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 56 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 56 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 56 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

Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
DISCIPLINA APOO
PROF. CLÁUDIO SANTOS
CLASSES e OBJETOS
Modelagem da Estrutura dos Sistemas
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Modelagem da Estrutura dos Sistemas
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Pilares da Orientação a Objetos
• A orientação a objetos se sustenta sobre três 
conceitos
– Encapsulamento
– Herança
– Polimorfismo
OO
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
– Polimorfismo
Polimorfismo
Encapsulamento
Herança
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Encapsulamento
• O encapsulamento é a propriedade de esconder 
detalhes de uma implementação através de uma 
interface visível e bem definida. 
• Vantagens do encapsulamento
– os detalhes podem ser alterados, sem afetar outras
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
– os detalhes podem ser alterados, sem afetar outras
partes do sistema, que conhecem apenas a interface
visível.
– o encapsulamento torna os programas mais legíveis, 
mais fáceis de compreender e alterar. 
– junto com a abstração, o encapsulamento também 
é um mecanismo de controle de complexidade
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Caixas-Pretas
• Um sistema construído com base no princípio do 
encapsulamento será composto de caixas-pretas
– As caixas-pretas escondem os detalhes de sua implementação
– As caixas-pretas oferecem serviços através de sua interface
– Os serviços são a interface visível e bem definida
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Objetos
• Um objeto é uma representação 
computacional de algum elemento ou 
processo do mundo real
– Um professor
– Um automóvel
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
– Um automóvel
– Uma cadeira
– Uma venda
– Um extrato bancário
– Uma taxa de juros
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Objetos & Encapsulamento
• Um objeto é a implementação do 
encapsulamento
– Cada objeto representa uma caixa-preta do 
sistema
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
• Um objeto é composto por 
– Características 
– Comportamento
– Estado
– Identidade
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Características
• São as informações armazenadas sobre o objeto.
• Também são chamadas de atributos
• Exemplos: (objeto Automóvel)
– Modelo
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
– Modelo
– Placa
– Ano de fabricação
– Cor
– Tipo de combustível
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Comportamento
• São as operações que podem ser realizadas sobre o 
objeto ou que o objeto realiza no sistema
• Exemplos: (objeto Automóvel)
– Andar
– Parar
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
– Parar
– Acelerar 
– Frear
– Estacionar
– Abastecer
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Comportamento
• Representado por rotinas associadas ao objeto
• Estas rotinas são chamadas de métodos
• Os métodos são responsáveis por manipular os 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
• Os métodos são responsáveis por manipular os 
atributos do objeto
• Os atributos somente podem ser manipulados 
pelos métodos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Objetos & Encapsulamento
• Detalhes de implementação escondidos 
por interface visível e bem definida
– O objeto representa o encapsulamento
– Os atributos representam os detalhes
– Os métodos representam a interface
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
– Os métodos representam a interface
• O objeto funciona como uma cerca
– Os portões são os métodos
– Somente através dos portões se pode 
acessar o interior.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Objetos & Encapsulamento
• Objeto Automóvel:
ANDAR
PARAR
MODELO 
PLACA 
ANO DE FABRICAÇÃO 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
PARAR
MUDAR DE DIREÇÃO
ABASTECER
ANO DE FABRICAÇÃO 
TIPO DE COMBUSTÍVEL
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Visão
• Um objeto representa uma visão de uma solução de um 
problema
– Os atributos e métodos dependem da visão utilizada
• Exemplo (objeto Automóvel)
– Suas características dependem do tipo da aplicação
Exemplo 1: sistema de controle de revenda 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
• Exemplo 1: sistema de controle de revenda 
automotiva
• Exemplo 2: sistema de oficina mecânica
– Ambos os sistemas utilizam automóveis, mas as 
informações relevantes dependem do tipo do 
sistema
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Visão
• Exemplo 1 - características relevantes
• Modelo
• Cor
• Ano de fabricação
• Consumo de combustível
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
• Exemplo 2 - características relevantes
• Modelo
• Ano de fabricação
• Número de cilindros
• Potência do motor
• Número de quilômetros rodados
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Identidade
• Cada objeto possui uma identidade única no sistema, 
através do qual é reconhecido em suas operações.
• A identidade do objeto permite sua distinção entre 
um conjunto de objetos com as mesmas 
características e comportamento
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
características e comportamento
• Exemplo: (objeto Automóvel)
– Fiesta vinho, 2009, placa JHK9102
– Civic grafite, 2010, placa LIE1298
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Representação
• Em UML, objetos são representados por 
retângulos, onde a identidade do objeto 
aparece sublinhada
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Fiesta vinho, 2009, 
placa JHK9102
Civic grafite, 2010, 
placa LIE1298
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Classes
• Uma classe é a descrição de um conjunto de objetos 
com as mesmas características, comportamento e 
relações com outros objetos.
• A classe funciona como uma fábrica de objetos 
– A classe é responsável pela criação de objetos
– Cada objeto possui uma única classe
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
– Cada objeto possui uma única classe
– A classe determina os atributos e métodos do 
objeto
– Os objetos são chamados de instâncias da classe
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Diferença entre Classe e Objeto
• Similar a diferença de variável para tipo
– Toda variável possui um tipo
– Diversas variáveis podem ser declaradas 
com o mesmo tipo
– O tipo determina as operações válidas 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
– O tipo determina as operações válidas 
sobre uma variável
– O tipo define o intervalo de valores que 
esta pode assumir
– Entretanto, cada variável armazena um 
valor diferente.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Diferença entre Classe e Objeto
• Classe
– Define os atributos
– Define os métodos
• Objeto
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
• Objeto
– Possui valores para os atributos
– Acessa os métodos definidos na classe
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Atributos
• Objetos distintos podem possuir valores 
diferentes paraseus atributos, mas 
todos os objetos da mesma classe 
possuem os mesmos atributos
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Representação
• Em UML, uma classe é representada por 
um retângulo com três divisões
– Nome da classe
– Atributos
–Métodos Nome
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
–Métodos Nome
Atributos
Métodos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Descobrindo Classes
• Descobrir as classes de um sistema é a parte mais 
complexa do desenvolvimento orientado a objetos
• Desenvolvimento incremental
– Classes são descobertas no início de cada iteração
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
• Não existem regras, somente guias
– Análise de descrição do sistema
– Modelo MVC -Model View Controller
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Modelo MVC
• As classes são divididas em três grupos:
– Modelo: classes pertencentes ao domínio do 
sistema
– Visão: classes para edição e apresentação de 
informação
– Controle: determinam a sequência de 
comportamento para cada ação prevista no 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
comportamento para cada ação prevista no 
sistema
• Descoberta
– Classes de modelo são descobertas durante a 
análise
– Classes de visão e controle são descobertas 
durante o projeto
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Classes de Modelo
• Representam entidades ou processos do mundo real
– Hóspede
– Quarto de Hotel
– Serviço
• Estas classes podem ser identificadas nas descrições 
dos fluxos dos use cases
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
dos fluxos dos use cases
– Crie uma lista com os substantivos presentes nas descrições
– Filtre a lista, removendo substantivos que não pertençam 
ao domínio do sistema, substantivos redundantes e 
substantivos que descrevam características das classes
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Classes de Visão
• Classes de interface
– Tratam a comunicação entre o sistema e os 
elementos externos ao sistema
– Essas classes formam a interface com o usuário e 
dependem da plataforma que será utilizada no 
desenvolvimento
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
desenvolvimento
• Descobertas pelas interações entre use cases e atores
– Cada interação entre um use case e um ator deve 
conter uma classe de visão
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Classes de Controle
• Protocolo de Interação
– Encadeiam o comportamento de diversas classes, 
executando um use case
– As classes de controle não sabem como realizar os 
detalhes de um use case, mas sabem encadear o 
comportamento de diversas classes para que o 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
comportamento de diversas classes para que o 
use case seja realizado
• Descobertas pelas interações entre use cases e atores
– Inicialmente, definimos uma classe de controle 
para cada interação entre um use case e um ator
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Estereótipos e Classes
Estereótipos podem ser utilizados para: 
• determinar tipos de classes
• Exemplos:
– Classes de modelo <<modelo>>
– Classes de visão <<visão>>
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
– Classes de visão <<visão>>
– Classes de controle <<controle>>
• O estereótipo aparece no primeiro 
compartimento da classe, acima de seu nome
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Na UML, cada restrição é escrita em uma
linguagem específica, embora também possa ser escrita
em linguagem natural, tal como um comentário.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Exemplo de generalização/especificação com 
restrição
{disjunção,incompleto}
Animal
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Mamífero Ave Peixe
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Normalmente, toda superclasse se comporta como
classe abstrata pois seu instanciamento é feito de maneira
especializada nas suas subclasses.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
{disjunção,incompleto}
Animal
{disjunção,incompleto}
Animal
Crocodilo
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Mamífero Ave Peixe
Mamífero Ave Peixe
Cão Águia Tubarão
Réptil
Cão Águia Tubarão Crocodilo
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Neste exemplo, o objeto “Crocodilo” foi armazenado
como instância temporária na classe [Animal] por não haver
uma subclasse adequada às suas características.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Se as subclasses não são de disjunção, deve-se
usar a restrição {sobreposição}.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Herança múltipla
{sobreposição, incompleto}
Veículo
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Veículo 
terrestre
Veículo 
aquático
Veículo 
anfíbio
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Para ser possível a sobreposição, é necessária a
criação da subclasse [Veículo anfíbio]. Em herança múltipla,
ocorrem múltiplas superclasses para uma mesma subclasse
sendo que o instanciamento é feito nesta - as superclasses
irão se comportar como classes abstratas somente para o
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
irão se comportar como classes abstratas somente para o
objeto instanciado na subclasse de herança múltipla,
permanecendo concretas para instâncias regulares.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Restrição Significado
Sobreposta
Posteriormente, podem ser criadas subclasses 
que herdem de mais de um subclasse 
(herança múltipla).
Disjunta
Quaisquer subclasses criadas posteriormente 
poderão herdar de somente uma subclasse.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Disjunta poderão herdar de somente uma subclasse.
Completa
Todas as subclasses possíveis foram 
enumeradas na hierarquia.
Incompleta
Nem todas as subclasses foram enumeradas 
na hierarquia.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
{sobreposição, incompleto}
Veículo
Ex.: Porsche Ex.:Jet ski
Superclasse composta 
abstrata na visão da 
subclasse [veículo 
anfíbio]
Superclasse 
abstrata
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Veículo 
terrestre
Veículo 
aquático
Veículo 
anfíbio
Ex..: Tanque urutu
Ex.: Porsche Ex.:Jet ski
Subclasses 
concretas
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Podem ser aplicadas outras restrições a conjuntos
de linhas de generalização. A restrição {completo} indica
que a generalização é completa e novas subclasses não
serão adicionadas.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Herança
É o mecanismo de reutilização de atributos e operações
definidos em classes gerais por classes mais específicas.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. CláudioSantos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Provavelmente, a herança é um dos aspectos mais
interessantes da modelagem de objetos, pois provê um
meio para se construir componentes supostamente
reutilizáveis representando uma expressão de similaridade
para simplificar a definição de classes com características
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
para simplificar a definição de classes com características
semelhantes.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Redefinição de atributos e operações na herança
Superclasse
Veículo terrestre
Operações 
redefinidas pela 
subclasse
Partida ( ) 
Parada ( )
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
subclasses
Automóvel Caminhão
{disjunção}
Partida ( ) 
Parada ( )
Partida ( ) 
Parada ( )
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Na hierarquia de classes, se uma subclasse herda
atributos e operações de mais superclasses, temos a
ocorrência de herança múltipla, se herda características de
apenas uma superclasse temos herança simples.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Agregação versus generalização
Pedido Árvore
Agregação :
Pedido, item é 
parte-de (ou 
atributo-de) 
Pedido
Generalização :
Pinus é tipo-de
Árvore
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Como regra geral, quando um domínio sugere que um objeto é tipo-de com
outro, a herança provavelmente é uma boa candidata ao relacionamento. Mas se é mais
intuitivo usar a expressão parte-de (ou atributo-de), então o relacionamento de agregação
é provavelmente a escolha melhor. E se um objeto não é tipo-de nem tampouco parte-de
(ou atributo-de) outro, então freqüentemente uma associação etiquetada adequadamente
será a melhor escolha.
Pedido, 
item
Pinus
Pedido
Mangueira
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Equipe Atleta
Uma agregação é utilizada para representar conexões 
entre objetos que guardam uma relação todo-parte entre 
si.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Se uma equipe for extinta o atleta pode continuar 
como membro em uma outra equipe.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Automóvel
Motor
Roda
A composição é uma forma mais forte de agregação.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Roda
Motor e rodas fazem parte de um determinado 
automóvel, se o automóvel for destruído (no contexto 
da OO) motor e rodas também o serão.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Restrição
Uma restrição é um relacionamento semântico entre
elementos de modelo que especifica condições e
proposições que devem ser mantidas como verdadeiras,
caso contrário o sistema descrito pelo modelo é nulo, com
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
caso contrário o sistema descrito pelo modelo é nulo, com
conseqüências que estão fora do escopo da UML.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Restrição
Grupo de 
cidadãos 
idosos
Pessoa{pessoa.idade>60}
0..1 0..*
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
No exemplo acima, a restrição é definida no sentido de limitar a possibilidade de
associação de [Pessoa] a [Grupo de cidadãos idosos] através da especificação
{Pessoa.idade>60}.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Por ser um mecanismo de extensibilidade da UML,
certos tipos de restrições, como é o caso da restrição {ou}
em associações, já são predefinidos, outras restrições
podem ser definidas normalmente pelos usuários em
palavras cuja sintaxe, consistência e interpretação passam
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
palavras cuja sintaxe, consistência e interpretação passam
a ser de responsabilidade da ferramenta de modelagem em
uso.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Indivíduo
0..*
Pertence
0..1
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Conta 
Corrente
Organização
{ou}
0..*
Pertence 0..1
Restrição
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Apesar da UML não prescrever uma linguagem na
qual a restrição deva ser escrita, essa é sempre apresentada
como uma seqüência de texto entre chaves { } no modelo
estrutural.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Restrição
{Se nível de crédito for insuficiente então 
condição de pagamento deve ser à vista}
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
1 0..*
Faz
Para dois símbolos gráficos tais como duas classes ou duas associações, a
restrição é desenhada como uma seta tracejada de um elemento para o outro
etiquetado na seqüência de restrição. A direção da seta é informação pertinente dentro
da restrição.
Cliente Pedido
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Participante
* *
{Subconjunto} ProjetoFuncionário
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
{Subconjunto}
1 *Gerente 
de Projeto
ProjetoFuncionário
Restrição
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Imutabilidade é uma restrição normalmente aplicada a
um atributo, um papel ou uma classe (usa-se a etiqueta
{imutável}) para indicar que um valor não pode mudar
durante o tempo de vida de seu objeto fonte.
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
durante o tempo de vida de seu objeto fonte.
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
 As seguintes restrições são predefinidas na UML 
 
Restrição Descrição Aplica-se 
Associação {Associação} é uma restrição aplicada a um fim de vínculo e 
especifica que a instância correspondente é visível através da 
associação 
Fim de vínculo 
Auto {Auto} (self) é uma restrição aplicada a um conjunto de 
generalizações e especifica que todos os subtipos foram 
especificados (embora alguns possam ser suprimidos) e que não 
são permitidos subtipos adicionais 
Fim de vínculo 
Completo {Completo} é uma restrição aplicada a um conjunto de 
generalizações e especifica que todos os subtipos foram 
especificados (embora alguns possam ser suprimidos) e que não 
são permitidos subtipos adicionais 
Generalização 
Disjunção {Disjunção} é uma restrição aplicada a um conjunto de 
generalizações e especifica a instância que não pode ter mais 
que um dos subtipos determinados como um tipo de instância. 
Generalização 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Essa é a semântica padrão de generalização 
 
Global 
{Global} é uma restrição aplicada a um fim de vínculo e 
especifica que a instância correspondente é visível devido estar a 
um escopo global relativo ao vínculo 
Fim de vínculo 
 
 
Implícito {Implícito} é uma restrição aplicada a uma associação e 
especifica que a associação não é um manifesto, mas apenas 
conceitual 
Associação 
 
Incompleto {Incompleto} é uma restrição aplicada a um conjunto de 
generalizações, e especifica que nem todos os subtipos foram 
identificados (até mesmo se alguns forem suprimidos) sendo que 
subtipos adicionais são permitidos. Essa é a semântica de 
padrão de generalizações- 
Generalização 
Local {Local} é uma restrição aplicada a um fim de vínculo e especifica 
que a instância correspondente é visível devido estar em um 
escopolocal relativo par o vínculo 
Fim de vínculo 
 
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Restrição Descrição Aplica-se a 
Ou {Ou} é uma restrição aplicada a um conjunto de 
associações e específica sobre esse que somente um é 
manifesto para cada instância associada. {Ou} é uma 
restrição exclusiva (não inclusiva) 
Associação 
Parâmetro {Parâmetro} é uma restrição aplicada a um vínculo-fim e 
especifica que a instância correspondente é visível devido a 
ser um parâmetro relativo para vínculo 
Fim de vínculo 
Radiodifusão {Radiodifusão} é uma restrição aplicada a um pedido 
enviado a instâncias múltiplas, especificando que é enviado 
simultaneamente a todas as instâncias alvo em uma ordem 
não especificada e indefinida 
Pedido 
Sobreposição { Sobreposição} é uma restrição aplicada a um conjunto de 
generalizações e especifica que instâncias podem ter mais 
Generalização 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
generalizações e especifica que instâncias podem ter mais 
que um dos determinados subtipos como um tipo da 
instância 
Voto {Voto} é uma restrição aplicada a um pedido e especifica 
que o valor de retorno é selecionado por um voto majoritário 
de todos os valores de retorno voltado de instâncias 
múltiplas 
Pedido 
 
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Pacotes
• Se um sistema possui muitas classes, 
estas podem ser agrupadas em pacotes
• Pacotes são úteis para facilitar a 
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
• Pacotes são úteis para facilitar a 
compreensão de sistemas com um 
grande número de classes, escondendo 
detalhes sobre as classes atrás do nome 
do pacote
Escola de Ciência e Tecnologia
Curso: SISTEMAS DE INFORMAÇÕES
Representação
• Em UML, um pacote é representado por 
uma pasta com o nome do pacote no 
interior
Disciplina: DESENV. DE PROJETOS DE SISTEMAS –
ENFASE EM O.O. – Prof. Cláudio Santos
Serviços Prestados
pelo Hotel

Continue navegando