Академический Документы
Профессиональный Документы
Культура Документы
Ana Gavinho
Feverieo 2004
UML
U M L Diagrama de classes
Classes
Atributos Operaes
Generalizao
Herana mltipla
Agregao
Composio
Classes associativas
Feverieo 2004 UML 2
Classe
Uma classe descreve de um conjunto de objetos que compartilham os mesmos atributos, operaes, relacionamentos e semntica. representada graficamente como um retngulo e implementa uma ou mais interfaces. Cada classe deve ter um nome que a diferencia de outras classes. O nome pode ser composto por qualquer nmero de caracteres e determinados sinais de pontuao. Na prtica, nomes de classes so substantivos ou expresses breves, definidos a partir do vocabulrio do sistema.
Pedido
LinhaPedido
Produto
Feverieo 2004
UML
Atributos
Um atributo uma propriedade nomeada de uma classe que descreve um intervalo de valores que as instncias podem apresentar. Uma classe pode ter qualquer nmero de atributos ou mesmo nenhum. Um atributo representa alguma propriedade do item que est sendo modelado, compartilhado por todos os objetos desta classe. Um objeto de uma classe poder ter valores especficos para cada um dos seus atributos. Os atributos podem ser representados apresentando apenas seu nome, ou acrescentando tambm seu tipo e valor por omisso
Feverieo 2004 UML 4
Atributos
Pedido
Nome
Nome e tipo
Nome, tipo e
Feverieo 2004
UML
Operaes
Operaes so processos que a classe sabe realizar. Correspondem claramente a mtodos de uma classe.
Uma operao a implementao de um servio que pode ser solicitado por algum objeto da classe para modificar o comportamento. Uma classe pode ter qualquer nmero de operaes ou no ter nenhuma. Muitas vezes, a chamada a uma operao em determinado objeto altera os dados ou o estado do objeto. As operaes podem ser representadas exibindo somente seu nome ou indicando sua assinatura (nome, lista de parmetros, tipo a ser retornado no caso de funes) .
Feverieo 2004 UML 6
Operaes
Produto codigo : Integer nome : String status : String
Associao
Uma associao um relacionamento estrutural que especifica objetos de um item conectados a objetos de outro item. Indica que existe uma ligao entre objetos das classes associadas. A partir de uma associao entre duas classes, voc capaz de navegar do objeto de uma classes para o objeto de outra classe. Uma associao pode ter um nome, que utilizado para descrever a natureza do relacionamento. Voc pode atribuir uma direo para o nome, fornecendo um triangulo de orientao que aponta a direo como o nome poder ser lido.
Feverieo 2004
UML
Associao
Pedido numero dataRecebida : date preco : Money PrePago : Boolean = Falso expedir() encerrar() 0..* faz 1 Cliente nome endereco classe de Feverieo 2004 credito()
UML
LinhaPedido 1 possui quantidade 1..* preco 0..* 1 Produto codigo : Integer nome : String status : String desativarProduto() alterarStatus(codigo : integer) obterStatus(codigo : integer) : String
9
Multiplicidade
Indica quantos objetos podem participar de um dado relacionamento. Geralmente indica limites superiores e inferiores para objetos participantes, mas pode indicar um valor explicito.
1 0..1 0..* 1..* 5 Exatamente um; Zero ou um Zero ou muitos; Um ou muitos; Exatamente cinco;
Ao determinar a multiplicidade em uma extremidade da associao, para cada objeto da extremidade oposta deve haver a mesma quantidade de objetos nesta extremidade.
Feverieo 2004 UML 10
LinhaPedido
Navegao
Em uma associao, possvel navegar de objetos de um tipo ate objetos de outro tipo. A menos que seja especificado o contrario, a navegao bidirecional, mas ela pode ser limitada a apenas uma direo. A navegao representada por uma seta indicando a direo a ser seguida. Geralmente, o objeto da origem armazena alguma referncia ao objeto destino.
Feverieo 2004 UML
Pedido numero dataRecebida : date preco : Money PrePago : Boolean = Falso expedir() encerrar() 0..* faz 1 Cliente nome endereco classe de credito()
12
Associaes n - rias
uma associao entre trs ou mais classes, onde uma classe pode aparecer mais de uma vez. So mostradas como diamantes conectados atravs de linhas a cada classe participante. Uma classe associativa pode estar conectada ao diamante por uma linha tracejada.
FORNECEDOR
*
PECA
*
CLIENTE
*
FORNECIMENTO
Feverieo 2004 UML 13
Auto-associaes
Quando h o relacionamento de uma classe consigo prpria. Os objetos de uma mesma classe esto associados entre si, e precisam comunicar-se uns com os outros. Tambm chamada de associao reflexiva ou associao unria.
Empregado funcionario
gerente 1
0..n Supervisiona
Feverieo 2004
UML
14
Generalizao
um relacionamento entre itens gerais (chamados superclasses ou classes-me) e tipos mais especficos destes itens (chamados subclasses ou classes-filha). chamada de relacionamento um tipo de. A classe filha herda os atributos e operaes da classes me. Freqentemente, a classe filha tem atributos e operaes prprios, alem daqueles encontrados na classe me. Os objetos da classe filha podem ser utilizados em qualquer local que a classe me ocorra, mas no o inverso. Uma classe pode ter zero, uma ou mais classes me. Uma classe que no tenha uma classe me e tenha uma ou mais classes filha chamada de classe raiz ou classe de base. Uma classe que no tem classes filha chamada de classe folha.
Feverieo 2004 UML 15
Generalizao
Cliente nome endereco classe de credito()
Pessoal numCartaoCredito
UML
16
Herana mltipla
Na generalizao, quando uma classe-filha possui mais de uma classe-me, ela herda a estrutura e o comportamento (atributos e operaes) das suas classes-me, ocorrendo a herana mltipla. Esta deve ser usado com cuidado, pois poder haver problema se a estrutura e o comportamento das classes-me se sobrepuserem.
itemSujeitoAJuros Ativos
Herana simples
Herana mltipla
ContaBancaria Imoveis
Feverieo 2004
UML
17
Herana mltipla
A herana mltipla pode ser substituda pela delegao, onde a classe-filha herda apenas de uma classe-me e pela agregao obtm o comportamento e estrutura de outras classes.
Ativos
itemSujeitoAJuros
ContaBancaria
Imoveis
Feverieo 2004
UML
18
Agregao
Faz a modelagem de um relacionamento todo/parte, no qual uma classe representa um item maior (o todo) formado por itens menores (as partes). um relacionamento do tipo parte de ou tem um, que significa que um objeto do todo contem os objetos das partes. representado como um losango aberto na extremidade do todo.
1..* Escola
membro
0..*
Aluno
Feverieo 2004
UML
19
Composio
Na composio, um objeto parte pode pertencer a apenas um objeto todo. A remoo do objeto todo produz um efeito em cascata nos objetos parte, fazendo com que sejam removidos tambm. representado como um losango fechado na extremidade do todo.
1 Escola 1..* memb ro tem 1..* Departamento
0..*
Aluno
Feverieo 2004 UML 20
Classes associativas
Uma associao entre duas classes pode ter propriedades. A classe de associao permite acrescentar atributos e operaes a associao. Ela representada como uma classe anexada a uma associao por uma linha tracejada.
Empresa *
21
U M L Diagrama de classes
Classes
Propriedades Mtodos Visibilidade Qualificadores Classes Abstratas Responsabilidade Interface Diagramas de classes e o modelo conceitual
Feverieo 2004
UML
22
Atributos X Propriedades
A propriedade um valor nomeado, que denota uma caracterstica de um elemento.
Um atributo uma propriedade nomeada de uma classe que descreve um intervalo de valores que as instncias podem apresentar. Ex: o cliente Jose mora na avenida Central, numero 25. Nome: Jose
Endereo: av.Central, 25
Feverieo 2004 UML 23
Operaes X Mtodos
Operaes so processos que a classe sabe realizar. Uma operao algo realizado em um objeto, o procedimento de chamada.
No exemplo ao lado, as subclasses reescrevem a operao calcularSaldo da superclasse. Temos uma nica operao com trs mtodos distintos.
Feverieo 2004
calcularSaldo()
RendaFixa calcularSaldo()
UML
Poupanca calcularSaldo()
24
Visibilidade
Tanto para atributos como para operaes, temos trs nveis de visibilidade utilizando os seguintes smbolos:
Public (pblico)
Protected (protegido)
O elemento pode ser usado pela classe que o definiu e por suas subclasses. Private (privado) O elemento pode se usado somente pela classe que o definiu.
Feverieo 2004 UML 25
Visibilidade
Pblico
Protegido
Privado
Feverieo 2004
UML
26
Qualificadores
Permite a busca de objetos associados a um dado objeto. um atributo de associao cujo valor particiona o conjunto de objetos relacionados a um objeto da associao. No exemplo, a partir de um pedido e de um produto, possvel navegar ate um ou nenhum objeto de LinhaPedido, pois pode haver uma linha de pedido para cada instancia de produto.
Pedido numero dataRecebida : date preco : Money PrePago : Boolean = Falso expedir() encerrar()
Feverieo 2004 UML 27
Item do pedido
Produto 0..1
Classes abstratas
Na hierarquia de generalizao, as classes mais especificas herdam da classe mais geral atributos e operaes. Muitas vezes, as classes que no so folhas podem estar incompletas (sem atributos ou operaes) ou simplesmente no se deseja que tenham objetos. Estas classes so chamadas abstratas, e possuem o nome em itlico.
Feverieo 2004
Seguridade
valorPresente() historico()
UML
28
Responsabilidade
Descrio de alto nvel do propsito de uma classe. um contrato ou obrigaes de uma determinada classe. Uma classe pode ter qualquer nmero de responsabilidades mas, na pratica, toda classe bem estruturada tem pelo menos uma responsabilidade. A medida que os modelos so aprimorados, responsabilidades so traduzidas em um conjunto de atributos e operaes capazes de atende-las. Uma responsabilidade pode corresponder a uma operao, a um atributo ou um aglomerado de atributos e operaes. As responsabilidades so um texto de formato livre e podem ser representadas um compartimento ao final da classe, ou em uma nota anexada a classe.
Feverieo 2004 UML 29
Responsabilidade
Nota anexada a classe
Pedido
Responsabilidades - verificar itens em estoque - determinar preo - validar pagamento
Feverieo 2004
UML
30
Interface
uma coleo de operaes utilizadas para especificar o servio de uma classe. Ela no especifica qualquer estrutura (no incluem atributos) nem qualquer implementao (no incluem mtodos). A classe pode ter varias interfaces, e estas representam uma especificao completa do comportamento da classe. Porem, no contexto de uma associao, uma classe pode mostrar apenas parte de seu comportamento atravs da interface. Uma interface representada graficamente como um crculo. Para diferenciar a interface de uma classe, podemos utilizar a letra I antes do nome de cada interface.
ISensor
Feverieo 2004
ISpell
UML
IUnknown
31
Interface
Em sua forma expandida, uma interface pode ser apresentada como uma classe estereotipada, listando suas operacoes no compartimento apropriado
<<interface>>
IObserver
IObserver
update()
Feverieo 2004
UML
32
Bibliografia
Utilizando UML e Padres
Craig Larman Editora Bookman UML - Guia do usurio Grady Booch, James Rumbaugh e Ivar Jacobson Editora Campus
UML Essencial Um breve guia para linguagem-padro de modelagem de objetos Martin Fowler e Kendall Scott Editora Bookman Modelagem de objetos artaves da UML Jose Davi Furlan Editora Makron Books
Feverieo 2004
UML
34