Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Caractersticas do
Desenvolvimento
Estruturado de Sistemas
Desenvolvimento
Estruturado de Sistemas
Anlise Estruturada
Modelo de dados
DER;
Desenvolvimento
Estruturado de Sistemas
Desenvolvimento
Estruturado de Sistemas
Desenvolvimento
Estruturado de Sistemas
Desenvolvimento
Estruturado de Sistemas
Modelagem de Objetos
Introduo
Modelagem de Objetos
Introduo
Dcada de 60 Programao
baseada em objetos foi discutida pela
primeira vez pelos que trabalhavam
com a linguagem SIMULA;
Dcada de 70 A linguagem
SMALLTALK, desenvolvida pela
XEROX implementava na prtica os
conceitos de orientao a objetos;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
Modelagem de Objetos
Introduo
Modelagem de Objetos
Introduo
Histrico da Orientao a
Objetos:
Dcada de 90 Implementao
de sistemas muito maiores e mais
complexos, com grande esforo do
trabalho dedicado a interface com
o usurio. Argumenta-se que
atualmente 75% do esforo
computacional de construo de
um sistema pode estar
relacionado a interface.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
10
Modelagem de Objetos
Introduo
11
Modelagem de Objetos
Introduo
Domnio do problema e as
responsabilidades do sistema;
Comunicao entre usurios, analistas e
desenvolvedores;
Mudana contnua;
Reusabilidade.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
12
Modelagem de Objetos
Introduo
13
Modelagem de Objetos
Introduo
Metodologias mais antigas, como Anlise e Projeto Estruturados,
baseiam-se em outras dimenses de decomposio
Sistema de
Biblioteca
A&P Estruturados
Bibliotecrio
Livro
Biblioteca
Sistema
Registra
Emprstimos
Adiciona
Recursos
Reporta
Multas
14
Modelagem de Objetos
Conceitos Bsicos
Modelagem de Objetos
Conceitos Bsicos
Evento
16
Modelagem de Objetos
Conceitos Bsicos
Exemplos de eventos:
17
Modelagem de Objetos
Conceitos Bsicos
Objeto
18
Modelagem de Objetos
Conceitos Bsicos
Exemplos de objetos
19
Modelagem de Objetos
Conceitos Bsicos
Classe
20
Modelagem de Objetos
Conceitos Bsicos
Nome da classe
Nome
Data de nascimento
Propriedades
Matrcula
CancelarMatricula
Matricular(Disciplina)
Representao
UML
para a classe
Servios
ObterHistorico
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
21
Modelagem de Objetos
Conceitos Bsicos
Estado de um objeto
Amarelo
Vermelho
22
Modelagem de Objetos
Conceitos Bsicos
Pacotes:
um mecanismo
de propsito geral
para organizar
elementos
semanticamente
relacionados em
grupos.
Interface do
Usurio
Objetos do
Sistema
Utilidades
Banco de
Dados
23
Modelagem de Objetos
Conceitos Bsicos
Componentes
Grficos.dll
24
Modelagem de Objetos
Conceitos Bsicos
Encapsulamento
25
Modelagem de Objetos
Conceitos Bsicos
Encapsulamen
to
Estrutura
encapsulada de
dados
CLASSES
B
3,14
Operaes permissveis
- a nica maneira de
manipular a estrutura
de dados. O mtodo da
operao est oculto do
usurio.
abc
26
Modelagem de Objetos
Conceitos Bsicos
Mensagem
27
Modelagem de Objetos
Conceitos Bsicos
Polimorfismo
Ex.:
Objeto:
circulo quadrado
Propriedades: raio, centro
lado, altura
Servios:
rea, desenhar
rea, desenhar
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
28
Modelagem de Objetos
Conceitos Bsicos
Herana
29
Modelagem de Objetos
Conceitos Bsicos
Herana
SERES VIVOS
POLGONOS
TRINGULO
QUADRILTEROS
QUADRADOS
RETNGULOS
VEGETAIS
MAMFEROS
ANIMAIS
AVES
30
Modelagem de Objetos
Conceitos Bsicos
31
Modelagem de Objetos
Conceitos Bsicos
feita por
Hspede
Quarto
32
Modelagem de Objetos
Conceitos Bsicos
Pessoa
Marido
casado com
33
Modelagem de Objetos
Conceitos Bsicos
Contrato
0..*
1.*
Pessoa
0..*
{ou}
1.*
Empresa
34
Modelagem de Objetos
Conceitos Bsicos
Cliente
Processo
Fila
35
Modelagem de Objetos
Conceitos Bsicos
0..*
1..*
Cliente
1..*
Regras
Contratuais
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
36
Modelagem de Objetos
Conceitos Bsicos
37
Modelagem de Objetos
Conceitos Bsicos
Carga
1..*
Encomenda
38
Modelagem de Objetos
Conceitos Bsicos
Onibus
1..*
Assento
Motor
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
39
Modelagem de Objetos
Conceitos Bsicos
40
Modelagem de Objetos
Conceitos Bsicos
seguinte forma:
- Um funcionrio um
tipo de pessoa;
ou
- Uma certa pessoa
pode ser um
funcionrio;
Funcionrio
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
41
Modelagem de Objetos
Conceitos Bsicos
Carro
Barco
Anfbio
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
42
Modelagem de Objetos
Conceitos Bsicos
Multiplicidade
43
Anlise e Projeto
Orientados
O que Anlise e Projeto?
a Objetos
Anlise o qu
Projeto como
Investigao do problema e
dos requisitos
Requisitos
Casos de uso
Restries
Vocabulrio
Objetos
Arquitetura
Instalao & Operao
Interface do usurio
45
Anlise e Projeto
Orientados
a Objetos
Conceito
de domnio
Representao
na anlise
Representao
no projeto
Livro
ttulo
Livro
ttulo
imprimir()
Ex : Representao de
um Conceito na APOO
public class Livro
do objeto LIVRO em
{
public void imprimir();
Representao
um sistema de
no cdigo
private String titulo;
biblioteca
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
46
Anlise e Projeto
Orientados
Exemplo
Jogo de Dados
a Um
Objetos
Exemplo
Jogador
Este caso de uso comea quando o jogador
rola os dados. Se o total dos dados for sete, o
jogador ganha; do contrrio, ele perde.
47
Anlise e Projeto
Orientados
Modelagem na APOO (cont.)
aModelo
Objetos
Exemplo
conceitual: Conceitos,
atributos, e associaes que
Ex.:
Jogador
Rola
Dado
nome
valor
1
Joga
1
JogoDeDados
Inclui
48
Anlise e Projeto
Orientados
(cont.)
a Modelagem
Objetosna APOO
Exemplo
Diagramas de colaborao
Ex.:
:Jogador
1: r1 := rola()
2: r2 := rola()
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
d1 : Dado
d2 : Dado
49
Anlise e Projeto
Orientados
na APOO
(cont.)
a Modelagem
Objetos
Exemplo
Diagramas de classes de projeto: Como os objetos
Ex.:
Jogador
nome
joga()
1
Joga
1
JogoDeDados
Dado
Rola
1
valor
rola()
2
Inclui
inicializa()
50
UML Linguagem
Unificada de Modelagem
Viso geral da UML para
programadores
Linguagem Unificada de
Modelagem - UML
um processo ou metodologia
APOO
regras de projeto
52
Linguagem Unificada de
Modelagem - UML
53
Linguagem Unificada de
Modelagem - UML
O que UML:
54
Linguagem Unificada de
Modelagem - UML
Linguagem de Modelagem
Linguagem cujo vocabulrio e regras tm seu
foco voltado para a representao conceitual e
fsica de um sistema, Booch, Rumbaugh&
Jacobson
notao (principalmente grfica)
No processo
Define como expressar modelos
Usa padres (design patterns) para resolver
problemas comuns
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
55
Linguagem Unificada de
Modelagem - UML
Origem e Evoluo:
Parceiros
da UML
Microsoft,
Oracle, HP,
IBM, ...
Industrializao
(Set97)
UML 1.0
Padronizao
(Jan97)
Outros
mtodos
UML 1.1
Unificao II
(Out96)
Unificao I
(Out95)
OMT-2
OOSE
Booch91
OMT-1
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
Fragmentao
56
Linguagem Unificada de
Modelagem - UML
Suporte ao desenvolvimento de aplicaes
Objects
Business Objects
Relationships
Large scale system
ORDBMS
Oracle
Application partitioning
Classes
Components
Microsoft
Scenarios
Use Cases
ActiveX/COM
Microsoft
Business Process
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
CORBA
OMG
57
Linguagem Unificada de
Modelagem - UML
Diagramas bsicos:
58
Linguagem Unificada de
Modelagem - UML
Diagramas bsicos:
Diagramas de seqncia: como os
objetos trabalham juntos para
realizarem os processos do ambiente;
Diagrama de colaboraes: mtostra a
interao organizada em torno dos
objetos e suas ligaes uns com os
outros;
OBS: Estes dois diagramas representam
os diagramas de interao.
59
Linguagem Unificada de
Modelagem - UML
Diagramas bsicos:
60
Linguagem Unificada de
Modelagem - UML
Os diagramas da UML
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
de
de
de
de
de
de
de
de
de
Classes
Modela aspectos estticos
Casos de Uso
Seqncia
Diagramas
Modelam
Colaborao de Interao
aspectos
Atividades
dinmicos
Estados
Pacotes
Componentes
Diagramas
Utilizao
fsicos
61
Linguagem Unificada de
Modelagem - UML
62
Linguagem Unificada de
Modelagem - UML
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
de
de
de
de
de
de
Classe completo;
Colaborao entre objetos;
Pacotes;
Componentes;
Atividades;
Implantao/distribuio.
63
Ferramentas de Modelagem
Orientados a Objetos
Ferramentas Modelagem
Orientadas a Objetos
Argo UML
Outros.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
65
UML Linguagem
Unificada de Modelagem
Anlise Orientada a
Objetos com UML
UML
Diagrama de Caso de USO
68
UML
Diagrama de Caso de USO
69
UML
Diagrama de Caso de USO
Caso de Uso:
70
UML
Diagrama de Caso de USO
Atores
Representao em UML:
Cliente
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
71
Incluso
72
Incluso
73
Generalizao
74
Generalizao
75
Extenso
76
UML
Diagrama de Caso de USO
77
UML
Diagrama de Caso de USO
78
UML
Diagrama de Caso de USO
Normalmente no so eventos ou
passos individuais, mas um processo
completo ligado as regras do negcio
79
UML
Diagrama de Caso de USO
80
UML
Diagrama de Caso de USO
Exemplo:
81
UML
Diagrama de Caso de
USO
Observe que um ator
inicia o caso de uso.
Exemplo: cenrio do evento
Cliente deseja marcar uma consulta
compem o cenrio
identificar propriedades
objetos no cenrio.
82
UML
Diagrama de Caso de USO
Conseqncias no modelo
paciente
Agenda consulta
para o paciente
Efetua
bloqueio de
horrios
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
Secretria
83
UML
Diagrama de Caso de USO
84
UML
Diagrama de Caso de USO
Efetuar
bloqueio de
horrios
<<uses>>
Secretria
Agendar
cirurgia
Mdico
<<extends>>
Agendar consulta
pr-cirrgica
85
UML
Diagrama de Caso de USO
86
UML
Diagrama de Caso de USO
Comprar Itens
Cliente, Operador
Primrio
Um Cliente chega no caixa com itens para comprar. O
Operador registra os itens e coleta o pagamento. Ao
final, o Cliente sai com os itens.
Comprar itens
A UML no
especifica um formato rgido paraCliente
os cabealhos e a
Operador
estrutura de um caso de uso
87
UML
Diagrama de Caso de USO
Primrio
Representam os processos principais ou mais
comuns (ex.: Comprar Itens)
Secundrio
Representam processos menos importantes ou
mais raros (ex.: Cadastrar Operadores)
Opcional
Representam processos que podem ser ignorados
ou includos em futuras verses do sistema (ex.:
Solicitar Estoque para um Novo Produto)
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
88
UML
Diagrama de Caso de USO
Alto-nvel
Expandido
89
UML
Diagrama de Caso de USO
Essencial
Real
90
UML
Diagrama de Caso de USO
Recomendaes de Notao
91
UML
Diagrama de Caso de USO
92
93
Diagrama de Classe
(Construindo o Modelo
Conceitual)
Inclui:
Navegabilidade;
Dependncias;
95
Conceitos
Associaes entre conceitos
Atributos de conceitos
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
96
Venda
Cliente
data
hora
Venda
data
hora
artefato do software, no
faz parte do modelo conceitual
classe do software; no
faz parte do modelo conceitual
imprima()
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
97
Identificando Conceitos
Regras teis:
98
Container de coisas
Loja; Avio
Coisas em um container
Item; Passageiro
Sistemas externos
Servio de crdito; Controle de trfego areo
Nomes abstratos
Fome; Aracnofobia
Organizaes
Departamento de vendas; Companhia area
Eventos
Poltica de devoluo; Poltica de cancelamento
Catlogos
Catlogo de produtos; Catlogo de peas
Registros contratuais
Recibo, Contrato de trabalho; Registro de manuteno
Servios financeiros
Linha de crdito; Aes
Manuais, livros
doOrientado
empregado;
Manual
Anlise Manual
e Projeto
a Objetos
de reparos
UML
Prof. Ronaldo C. Oliveira
99
Passos sugeridos:
1. Liste os conceitos candidatos para os casos de
usos em questo usando a lista de categorias
comuns e identificao textual de nomes;
2. Desenhe-os em um modelo conceitual;
3. Adicione as associaes necessrias para
registrar os relacionamentos para os quais
preciso preservar alguma memria;
4. Adicione os atributos necessrios para cumprir
os requisitos de informao.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
100
Nome da classe
Nome
Data de nascimento
Propriedades
Matrcula
CancelarMatricula
Matricular(Disciplina)
Representao
UML
para a classe
Servios
ObterHistorico
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
101
Associao simples
Reserva
feita por
Hspede
Quarto
102
Carga
1..*
Encomenda
103
Onibus
1..*
Assento
Motor
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
104
Relao de
generalizao/especializao
GEN-ESPEC ou Herana
Interpreta-se da
seguinte forma:
Pessoa
- Um funcionrio um
tipo de pessoa;
ou
- Uma certa pessoa
pode ser um
funcionrio;
Funcionrio
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
105
Multiplicidade
106
Observao:
107
Identificando Associaes
Regras teis:
108
Atributo
Notao na UML
Venda
atributos
data
horainicial
: Time
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
109
Identificando Atributos
110
111
Escola
nome : Nome
endereco : Sequencia de Caracteres
1
telefone : Numero
0..*
tem
1..*
Departamento
nome : Nome
atrib uido a
1..*
1
1..*
possui
memb ro
1..*
*
Aluno
matricula : Nmero
frequenta
*
Curso
ensina
cdigoCurso: Nmero
nome: Nome
*
1..*
1..*
Instrutor
titulo : Nome
Pessoa
Nome
Endereo
Anlise e Projeto Orientado a Objetos
Telefone
UML
Prof. Ronaldo C. Oliveira
112
Diagrama de Interao
UML
Diagrama de Interao
114
UML
Diagrama de Interao
115
Diagrama de Seqncia
UML
Diagrama de Seqncia
Objetos;
Mensagens;
Linha da vida;
Foco de controle;
Retorno.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
117
UML
Diagrama de Seqncia
Diagramas de seqncia
:Instncia da Classe B
mensagem1()
mensagem2()
mensagem3()
118
UML
Diagrama de Seqncia
Comprar tens
Ator
:Sistema
Caixa
Repita at no
existir mais itens
entrarItem(cdigo, quantidade)
encerrarVenda()
Texto explicativo
Lgica, controle,
Iterao
Deve ser trazido do
Use case
fazerPagamento(valor)
119
UML
Diagrama de Seqncia
Eventos e Operaes
Caixa
:Sistema
entraritem(cdigo, quantidade)
120
UML
Diagrama de Seqncia
Representando Operaes:
Exemplos de operaes:
entrarItem(cdigo, quantidade)
encerrarVenda()
fazerPagamento(quantia)
121
UML
Diagrama de Seqncia
Regras teis:
1. Identificar os atores que operam diretamente com o
sistema. Desenhar uma linha vertical representando
cada um desses atores;
2. Desenhar uma linha vertical representando cada um
dos objeto (classes) que o caso de uso manipula;
3. A partir da descrio das seqncias tpicas de
eventos dos casos de uso, identificar os eventos de
sistema que cada ator gera. Ilustrar os eventos no
diagrama atravs de mensagens.;
4. Opcionalmente, incluir o texto do caso de uso
esquerda do diagrama.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
122
UML
Diagrama de Seqncia
Regras teis:
123
UML - Diagrama de
Seqncia
Exemplo
124
UML - Diagrama de
Seqncia
Exemplo Clinica Mdica
:Agenda
Paciente
Secretria
MarcarConsulta()
ObterHorariosVagos()
SelecionarHorario()
[Horario selecionado]
EfetivarAgendamento(horario,
Nome,Telefone)
Agendar(ConsultaMarcada)
125
Diagrama de Estados
UML
Diagrama de Estados
127
UML
Diagrama de Estados
Incio do diagrama
Final do diagrama
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
128
UML
Diagrama de Estados
129
UML
Diagrama de Estados
130
UML - Diagrama de
Estados
Exemplo
Matriculado
efetivar matricula
Cursando Disciplina
matricular
matricular
aprovar
Aprovado
concluir curso
reprovar
Reprovado
deseistir do curso
131
UML - Diagrama de
Estados
Exemplo Clinica Mdica
132
Utilizando a Ferramenta
Rational ROSE
Ferramenta ROSE
134
Ferramenta ROSE
135
Ferramenta ROSE
Logical View:
136
Ferramenta ROSE
Component View:
137
Ferramenta ROSE
Deployment View:
Definio do diagrama de
implantao e distribuio, onde so
representados caractersticas fsicas
onde o software ir funcionar, ou seja,
servidores, desktops, ligao entre as
mquinas, protocolo de comunicao
e perifricos instalados.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
138
Exerccio: Sistema de
Biblioteca
140
Estudo de Caso
141
Resoluo do Exerccio:
Sistema de Biblioteca
143
Aluno
Emprestar Livro
Bibliotecria
144
trabalha
1
possui
realiza
Pessoa
nome
endereco
telefone
email
cpf
Biblioteca
nomeBiblioteca
0..*
Emprestimo
dataEmprestimo
dataDevolucao
0..*
contem
1..*
1..*
*
Livro
nome
descrio
autor
seo
1..*
contem
requisita
0..*
1
efetua
Reserva
dataReserva
1..*
1
Anlise e Projeto
Orientado a Objetos descrio
Aluno
matricula
UML
Prof. Ronaldo C. Oliveira
145
Classe Aluno
Aluno em Dia
Pagar Debito
Registra Debito
146
Classe Livro
Disponibilizar Livro
Livro em Manuteno
Extraviar Livro
Livro Disponivel
Livro Extraviado
Arrumar Livro
Liberar Rezerva
Reservar Livro
Livro Reservado
Devolver Livro
Emprestar Livro
Livro Emprestado
147
: Bibliotecria
: Emprestimo
: Aluno
: Livro
: Reserva
SolicitarEmprest(Aluno, Obra)
VerificaRezerva(Obra)
CriaEmprestimo( )
VerificaAluno(Aluno)
VerificaLivro( )
EfetuarEmprestimo( )
148
1: SolicitarEmprest(Aluno, Obra)
: Emprestimo
: Aluno
: Bibliotecria
4: VerificaAluno(Aluno)
2: VerificaRezerva(Obra)
:
Reserva
5: VerificaLivro( )
: Livro
: Aluno
149
Exerccio
Lista de eventos
Diagrama de caso de uso (com cenrios)
Modelo conceitual
Diagramas de estado de objeto
Diagramas de seqncia
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
150
Linguagem Unificada de
Modelagem UML
Projeto Orientado a Objetos
com UML
Diagrama de Classe
Completo
UML
Diagrama de Classe
Inclui:
Navegabilidade;
Dependncias;
153
UML
Diagrama de Classe
Passos sugeridos:
1. Liste os conceitos candidatos para os casos de
usos em questo usando a lista de categorias
comuns e identificao textual de nomes;
2. Desenhe-os em um modelo conceitual;
3. Adicione as associaes necessrias para
registrar os relacionamentos para os quais
preciso preservar alguma memria;
4. Adicione os atributos necessrios para cumprir
os requisitos de informao.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
154
UML
Diagrama de Classe
155
UML
Diagrama de Classe
Nome da classe
Atributos (campos)
Operaes (mtodos)
156
UML
Diagrama de Classe
Associao simples
Reserva
feita por
Hspede
Quarto
157
UML
Diagrama de Classe
Associaes
ClasseA
papel
ClasseB
Java
Public class ClasseA {
private ClasseB papel;
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
158
UML
Diagrama de Classe
Associaes
ClasseA
Java
papel_
a
1
papel_b
*
ClasseB
159
UML
Diagrama de Classe
Associaes
ClasseA
Java
papel_
a
3
papel_b
*
ClasseB
160
UML
Diagrama de Classe
Carga
1..*
Encomenda
161
UML
Diagrama de Classe
Onibus
1..*
Assento
Motor
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
162
UML
Diagrama de Classe
Associaes Agregao e
papel_b
Composio
ClasseA
ClasseB
ClasseA
papel_b
3
ClasseB
Java
Public class ClasseA {
private ClasseB papel_b[];
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
163
UML
Diagrama de Classe
Relao de
generalizao/especializao
GEN-ESPEC ou Herana
Interpreta-se da
seguinte forma:
Pessoa
- Um funcionrio um
tipo de pessoa;
ou
- Uma certa pessoa
pode ser um
funcionrio;
Funcionrio
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
164
UML
Diagrama de Classe
Relao de
generalizao/especializao
ClasseA
ClasseB
Java
Public class ClasseA {
...
}
Public class ClasseB extends ClasseA {
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
165
UML
Diagrama de Classe
Java
public abstract class FormaGeometrica {
...
}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
166
UML
Diagrama de Classe
ListaDePresena
Data
Horrio
TotalAlunosPresentes
ListadePresena depende
de Alunos e Disciplinas,
pois seu mtodo presente
utilizar a informao de
aluno e disciplina, cujo o
objetivo marcar como
presente um aluno em uma
determinada disciplina, em
data e horrio.
167
UML
Diagrama de Classe
Interface
168
UML
Diagrama de Classe
Exemplo de Interface
public interface ContratoModelo {
<<interfae>>
ContratoModelo
emitirTexto(txt: String)
<<implementa>>
ContratoVenda
emitirTexto(txt: String)
169
UML
Diagrama de Classe
Navegao
170
UML
Diagrama de Classe
Navegao Exemplo
possui
Senha
171
UML
Diagrama de Classe
Visibilidade:
Pblico (+ ou
): Qualquer classificador que
possui visibilidade para o classificador
determinado capaz de usar a caracterstica;
Protegido (# ou
): Qualquer descendente do
classificador capaz de usar a caracterstica;
Privado (- ou
): somente a prpria
classificador e capaz de usar a caracterstica.
OBS.: a caracterstica pode ser um atributo ou
um mtodo da classe
172
UML
Diagrama de Classe
Regras teis:
1. Identificar todas as classes que participam da soluo proposta pelos
diagramas de interao;
2. Desenhe as classes num diagrama de classe;
3. Inclua os atributos identificados no modelo conceitual;
4. Adicione mtodos tal como identificados nos diagramas de interao;
5. Adicione informao sobre o tipo dos atributos e mtodos;
6. Adicione as associaes necessria para permitir a visibilidade de
atributos requisitada;
7. Adicione setas de navegabilidade para indicar a direo da
visibilidade de atributos;
8. Adicione relacionamentos de dependncia para indicar outros tipos de
visibilidade.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
173
UML
Diagrama de Classe
174
Exemplo - Diagrama de
Classe
Escola
nome : Nome
endereo : Sequencia de caracteres
telefone : Numero
adicionarAluno()
removerAluno()
obterAluno()
adicionarDepartamento()
removerDepartamento()
obterDepartamento()
obterTodosOsDepartamentos()
Departamento
nome : Nome
possui
adicinarInstrutor()
removerInstrutor()
obterInstrutor()
obterTodosOsInstrutores() 1..*
1..*
0..*
1..*
1..*
possui
membro
atribuido a
1..*
*
frequenta
Aluno
matricula : Numero
*
Curso
nome : Nome
codigoCurso : Numero
responsvel
*
ensina
1..*
1..*
Pessoa
Instrutor
nome : Nome
endereo : Sequencia de caracteres
formacao
Sequenciade caracteres
Anlise e Projeto Orientado
a :Objetos
telefone : Numero
UML
Prof. Ronaldo C. Oliveira
0..*
175
Diagrama de Interao
UML
Diagrama de Interao
177
Diagrama de Seqncia
UML
Diagrama de Seqncia
Objetos;
Mensagens;
Linha da vida;
Foco de controle;
Retorno.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
179
UML
Diagrama de Seqncia
Regras teis:
1. Identificar os atores que operam diretamente com o
sistema. Desenhar uma linha vertical representando
cada um desses atores;
2. Desenhar uma linha vertical representando cada um
dos objeto (classes) que o caso de uso manipula;
3. A partir da descrio das seqncias tpicas de
eventos dos casos de uso, identificar os eventos de
sistema que cada ator gera. Ilustrar os eventos no
diagrama atravs de mensagens.;
4. Opcionalmente, incluir o texto do caso de uso
esquerda do diagrama.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
180
UML - Diagrama de
Seqncia
Exemplo
181
UML - Diagrama de
Seqncia
Exemplo Clinica Mdica
:Agenda
Paciente
Secretria
MarcarConsulta()
ObterHorariosVagos()
SelecionarHorario()
[Horario selecionado]
EfetivarAgendamento(horario,
Nome,Telefone)
Agendar(ConsultaMarcada)
182
Diagrama de Seqncia
Exemplo Folha de
:FolhaPagamento
Pagamento
:Gerente
pagamento()
:FolhaPagamentoDB
func:Funcionario
getListaFunc()
listaFunc: Vector
getFunc(id)
f: Funcionario
pague
Para cada id do vetor
Repetio
(lao)
183
184
Diagrama de Colaborao
UML
Diagrama de Colaborao
186
UML
Diagrama de Colaborao
Diagrama de colaborao
1: mensagem1()
:instanciaClasse A
2: mensagem2()
3: mensagem3()
:instanciaClasse B
187
UML
Diagrama de Colaborao
Notao Bsica
Classes e instncias
Venda
:Venda
classe
instancia
s1: Venda
Instancia definida
1: marcarConculta(horrio)
:Agenda
Linha de conexo
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
188
UML
Diagrama de Colaborao
Regras teis:
1. Criar um diagrama em separado para cada uma das
operaes de sistema sendo desenvolvidas no ciclo
atual.
189
UML - Diagrama de
Colaborao
Exemplo
190
UML - Diagrama de
Colaborao
Exemplo Clnica Mdica
1:MarcarConsulta
4:EfetivarAgendamento
:Paciente
:Secretria
3:SelecionarHorario
2:ObterHorariosVagos
5:Agendar(Consulta)
:Agenda
191
UML - Diagrama de
Colaborao
Exemplo Clnica Mdica
2: getListaFunc( )
3: getFunc(id)
1: pagamento( )
: Folha
Pagamento
: Folha
PagamentoDB
: Gerente
4: pagar( )
:
Funcionario
192
Diagrama de Atividades
UML
Diagrama de Atividades
194
UML
Diagrama de Atividades
195
UML
Diagrama de Atividades
Os diagramas de atividades no
so importantes somente para a
modelagem de aspectos dinmicos
de um sistema, mas tambm para
a construo de sistemas
executveis por meio de
engenharia de produo e reversa.
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
196
UML
Diagrama de Atividades
Estados de ao:
Estados de atividade:
Transio:
Objetos
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
197
UML
Diagrama de Atividades
198
UML - Diagrama de
Atividades
Exemplo
Selecionar Local
Contratar arquiteto
Fazer Trabalho no Local
Desenvolver Projeto
Orar Projeto
Concluir Construo
[rejeitado]
:CertificadoDeHabitese
[else]
{concludo}
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
199
UML - Diagrama de
Atividades
Exemplo
Mostrar Caixa de
Mensagem
Disco Cheio
Mostrar Caixa de
Mensagem
Imprimindo
Criar arquivo
PostScript
Remover Caixa
de Mensagem
200
Diagrama de
Componentes
UML
Diagrama de
O objetivo do diagrama de componentes
Componentes
mostrar quais so os elementos fsicos
202
UML
Diagrama de
Os componentes so a implementao
Componentes
fsica dos conceitos e das funcionalidades
203
UML
Diagrama de
Um diagrama de componentes
Componentes
Programa principal
Subprogramas
Tarefas
Dependncias
DLLs
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
204
UML - Diagrama de
Componentes
Exemplo
Gerenciador de
comunicao
net.dll
grficos.dll
SGBD.dll
Sistema
Acadmico
205
Diagrama de
Implantao/Distribuio
UML
Diagrama de Implantao
207
UML
Diagrama de Implantao
208
UML - Diagrama de
Implantao
Exemplo
ClienteA:
P4 - 2 GHz
<<TCP/IP>>
ClienteB:
AMD 1GHz
Serv Apli:
HP/UX
SQL <<TCP/IP>>
Serv de BD:
Oracle
<<TCP/IP>>
Impressora:
LaserJet HP
209
UML - Diagrama de
Implantao
Exemplo
<<processor>>
Principal
<<processor>>
Backup
Deploys
BusRules.exe
Clientes
210
Estudo de Caso
Controle de reserva e
locao de quartos de
hotel
212
Informaes relevantes:
213
Informaes relevantes:
Quando o cliente no comparecer ao hotel para hospedarse at as 12:00 horas no dia da reserva, ela dever ser
cancelada, disponibilizando novamente o quarto;
Quando o cliente ocupar um quarto reservado
previamente, o funcionrio faz o registro do cliente. Caso
o quarto no esteja reservado, uma mensagem de
rejeio da ocupao ser emitida. Caso contrrio, um
pacote com informaes teis e a confirmao sero
fornecidos ao cliente;
Quando o cliente deixar o hotel, notificando sua sada,
ser fornecido a conta, e o quarto ser disponibilizado
para limpeza;
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
214
Informaes relevantes:
215
216
218
Diagrama de
Caso de Uso
Liberar Quarto
Registrar Sada
Castrar Quarto
Funcionario
Casdastrar Cliente
Registrar Pagamento
Cancelar Reserva
Efetuar Reserva
Cliente
Usurio
Anlise e Projeto Orientado a Objetos
UML
Prof. Ronaldo C. Oliveira
219
: Quartos
: Usurio
: Movimento
consultar(periodo)
checar(periodo)
reservar(periodo)
reservar( )
220
: Usurio
: Quartos
: Movimento
cancelReserva(quarto)
cancelarReserva( )
221
: Cliente
: Quartos
: Movimento
: Funcionario
consultar(cpf)
regEntrada(quarto, data)
regEntrada( )
222
: Funcionario
: Quartos
: Movimento
: Recebimento
regSaida(quarto, data)
regSaida( )
receberPagamento(valor)
receber( )
223
Reservado
Ocupado
Em Limpeza
224
cadastrar()
consultar()
listar()
receber()
consultar()
listar()
realiza
Pessoa
cpf : Numero
rg : Numero
endereco : String
Cidade : String
cep : Numero
Telefone : Numero
Acessorios
codigo : Numero
Descricao : String
Recebimento
dataPgto : Date
valor : Numero
descricao : String
Funcionario
funcao : String
horarioTrab : String
0..*
1..*
contem
possui
0..*
1..*
1
Movimento
dataInicialReserva : Date
dataFinalReserva : Date
dataEntrada : Date
dataSaida : Date
casdastrar()
consultar()
atualizar()
esta incluido
checar()
0..*
regEntrada()
regSaida()
1 requisita
cancelarReserva()
Cliente
reservar()
ondeTrabalha : String
Anlise e ProjetoreceberPagamento()
Orientado a Objetos
telefoneTrab : Numero
UML
0..*
1..*
Quartos
numeroQuarto : Numero
tipo : Char
dimensao : Numero
qtdCamas : Numero
situacaoReserva : Char
tv : Char
arCondic : Char
cacastrar()
consultar()
reservar()
regEntrada()
regSaida()
cancelReserva()
liberarQuarto() 225
Funcionario.dll
Recursos
Quartos.dll
Diagrama de Pacotes e
Componentes
Movimentos
Recebiementos.dll
Movimento
226
Diagrama de
Implantao e
Distribuio
Impressora
Laserjet
Pc
Atendimento
Switch
24 portas
UNIX server
Risc 2002
Impressora
deskjet
UNIX server
Backup
Pc Servios
Gerais
Pc
Administrao
227