Uml

lcbj 2,047 views 24 slides Oct 23, 2008
Slide 1
Slide 1 of 24
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24

About This Presentation

No description available for this slideshow.


Slide Content

UML
Msc Luiz Barboza

InterfaceUm abstração
Descreve:
Propriedades (atributos)
Comportamento (operações)
Relacionamentos
Semântica
Nome da classe
Atributos
Operações
Professor
name
ProfessorId : UniqueId
create()
save()
delete()
change()
UML
Representação de Classe

Boundary
Entity
Control
<<boundary>>
<<control>>
<<entity>>
=
=
=
Revisão

Uso do Diagrama de Classe
Modelar uma visão estática do sistema, pode
ser obtido com técnicas de analise com base
no:
Entidades do sistema.
Arquitetura desejada.
Modelo da base de dados.
Estudante
+ get tuition()
+ add schedule()
+ get schedule()
+ delete schedule()
+ has pre-requisites()
Professor
- name
- employeeID : UniqueId
- hireDate
- status
- discipline
- maxLoad
+ submitFinalGrade()
+ acceptCourseOffering()
+ setMaxLoad()
+ takeSabbatical()

Mecanismo de organização para
agrupamento de outros elementos.
Pacote
Camada de
Negócio

Relacionamento fraco entre dois elementos
Usado quando não existe uma relação de
associação permanente entre os dois
elementos.
Em termos técnicos se trata tipicamente
passagem de parâmetros ou variáveis locais
de métodos.
Aluno NotaParc
Dependências

Associações
Relacionamentos estruturais permanentes
Dependência
Relacionamento ‘fraco’ temporário.
Ambas são identificadas pelo diagrama de seqüência
gerado na atividade de análise.
Association
Estudante
NotaFinal
NotaParcial
Dependency
Dependências vs. Associações

Processo de Análise
Identificar
Associação vs Dependência
Refinamento de Associação
Composição
Agregação
Atributo Primitivo x Associação
Navegabilidade
Multiplicidade

Agregação
Tempo de vida da classe ‘parte’ independente do tempo da
classe ‘todo’
Composição
Tempo de vida restrito.
Todo Parte1..*0..*
Multiplicidade > 1
Multiplicidade = 1
1Todo Parte0..*
Composição
Associação:
Agregação vs Composição

Atributo Primitivo vs
Associação
Associação quando:
Elemento não restrito a um tipo primitivo
Tipicamente um atributo correlacionado a outros
da mesma classe.
Alem da propriedade o elemento possuir um
comportamento.
Ex Cliente vs Endereço.

Navegabilidade
Indica o sentido da navegação
Para cada destino de navegação é preciso um
atributo na classe de origem
Nome do atributo determina pelo nome da
extremidade destino da associação
Estudante
Curso
curso
Associação nomeada:
‘Role’ (papel)

Multiplicidade
2..4
0..1
1..*
0..*
1
*
Não especificado
Apenas 1
Zero ou mais
Um ou mais
Zero ou um
‘Range’ específico
Vários ‘Range’
2, 4..6

Multiplicidade = 1, ou Multiplicidade = 0..1
Atributo simples
Multiplicidade > 1
É preciso utilizar alguma estrutura de dados
Implementação da
Multiplicidade
0..*0..1
instructor
MateriaProfessor
0..*0..1
instructor
Needs a
container
Professor Materia

Estrutura de Dados
Explícito
Por nota
instructorProfessor Materia
0..*0..1
Materia
<<entity>>
Professor
<<entity>>
CadastroaMaterias
+ new()
+ add()
1
0..*
0..10..1
+instructor
Materia
0..*0..1
instructor
ListaLigada
Professor

Item
ListClasse
Parametrizada
Tipo
Classe Parametrizada (Template)
Generics
Classe que necessita de um tipo adicional
para sua instanciação
Tipicamente Coleções
ex Lista, Dicionário, Fila e Pilha

Generalização (Herança)
Define
Relacionamento de ‘é-um’
Herança de atributos e métodos
Conta
balance
name
number
Withdraw()
CreateStatement()
CCorrente Poupança
GetInterest()
Superclass
Subclasses
Relacionamento
Generalização

Leao
talk ()
Tigre
talk ()
Animal
{abstract}
talk () {abstract}
Classes Concretas e Abstratas
Abstrata
Basta um método sem comportamento, abstrato
Não pode ser instanciado
Concreto
Caso precise redefinir o método,
indicar como ‘virtual’ (C#)
Pode ser instanciado

Window
WindowWithScrollbar
Scrollbar
Esta correto?
Generalização vs Agregação
Generalização = relação ‘é-um’
Agregação = relação ‘tem-um’

Scrollbar
Window
WindowWithScrollbar
11
Window
WindowWithScrollbar
Scrollbar
WindowWithScrollbar “é-uma” Window
WindowWithScrollbar “tem-uma” Scrollbar
Generalização vs Agregação

1: cadastrarCliente()
Objeto Cliente Objeto Fornecedor
Mensagem
:Boundary :Control
Escopo de atividade
Chamada local
Linha de vida
1.1:
validarCredito()
Numeração de
seqüência de
mensagens
UML: Diagrama de Seqüência

UML
Msc Luiz Barboza
Tags