Академический Документы
Профессиональный Документы
Культура Документы
Software
Alexandre Monteiro
Roteiro
Contexto
Projeto
Refinando o modelo de anlise
Classes
Arquitetura
Pacotes
Contexto
Contexto
Requisitos
Anlise
Projeto
Anlise X Projeto
Abstrato X Concreto
Independente X dependente da
tecnologia de implementao
Simples X detalhado
Modelos por caso de uso X
unificao em um nico modelo
Atividades - Projeto
Camadas
Separao em pacotes
Refinar o modelo de
classes
<<boundary>>
TelaLogin
efetuarLogin(login, senha)
efetuarLogin(login, senha)
registrarSessao()
1
1
<<entity collection>>
CadastroUsuarios
checar(login, senha)
<<entity>>
Usuario
login
senha
<<boundary>>
TelaAdicionarAluno
Email()
adicionarAluno()
<<entity>>
Aluno
nome
email
login
senha
1..*
1
<<control>>
ControladorAdicionarAluno
<<boundary>>
ComunicacaoServidorEmail
enviarEmail()
Aluno()
adicionarAluno()
<<entity collection>>
CadastroAlunos
1
adicionarAluno()
TelaAdicionarAluno
adicionarAluno()
1..*
Aluno()
TelaLogin
efetuarLogin()
*
1
ControladorAdicionarAluno
ComunicacaoServidorEmail
enviarEmail()
Email
assunto : Email
String
remetente : String
destinatario : String
Email()
corpo : String
adicionarAluno()
1
1
CadastroAlunos
adicionarAluno()
1
ControladorLogin
efetuarLogin()
registrarSessao()
1
Usuario
login : String
senha : String
1
CadastroUsuarios
checar()
Email()
10
Refinar o modelo de
classes
Exemplo diagrama
melhorado
Usuario
login : String
senha : String
Aluno
nome : String
email : String
Usuario()
Aluno()
TelaAdicionarAluno
adicionarAluno()
TelaAdicionarAluno()
1..*
1
ComunicacaoServidorEmail
enviarEmail()
1
ComunicacaoServidorEmail()
Email
assunto : String
remetente : String
destinatario : String
corpo : String
ControladorAdicionarAluno
1
adicionarAluno()
ControladorAdicionarAluno()
1
TelaLogin
efetuarLogin()
TelaLogin()
*
1
ControladorLogin
efetuarLogin()
registrarSessao()
ControladorLogin()
1
1
CadastroAlunos
1
CadastroUsuarios
adicionarAluno()
CadastroAlunos()
checar()
CadastroUsuarios()
Email()
12
Refinar o modelo de
classes
Fachada
Revisar as classes
13
Padres
Usuario
login : String
senha : String
Aluno
nome : String
email : String
Usuario()
Aluno()
TelaAdicionarAluno
TelaLogin
adicionarAluno()
TelaAdicionarAluno()
efetuarLogin()
TelaLogin()
1..*
1..*
1
1
<<singleton>>
Fachada
ComunicacaoServidorEmail
enviarEmail()
ComunicacaoServidorEmail()
adicionarAluno()
efetuarLogin()
1
Email
assunto : String
remetente : String
destinatario : String
corpo : String
Email()
Fachada
Singleton
1
1
1
1
ControladorAdicionarAluno
ControladorLogin
adicionarAluno()
ControladorAdicionarAluno()
1
efetuarLogin()
registrarSessao()
ControladorLogin()
1
1
CadastroAlunos
1
CadastroUsuarios
adicionarAluno()
CadastroAlunos()
checar()
CadastroUsuarios()
14
Projetar arquitetura
15
Projetar Arquitetura
Aumentar modularidade
Diminuir dependncias
Facilitar possvel troca de camadas
16
Apresentao
Camadas
TelaLogin
efetuarLogin()
TelaLogin()
1..*
Email
assunto : String
remetente : String
destinatario : String
corpo : String
Email()
enviarEmail()
ComunicacaoServidorEmail()
<<singleton>>
Fachada
adicionarAluno()
efetuarLogin()
Aluno
nome : String
email : String
Aluno()
1
1
1
ComunicacaoServidorEmail
adicionarAluno()
TelaAdicionarAluno()
1..*
Negcio
Comunicao
TelaAdicionarAluno
ControladorAdicionarAluno
adicionarAluno()
ControladorAdicionarAluno()
1
1
ControladorLogin
efetuarLogin()
registrarSessao()
ControladorLogin()
1
1
CadastroAlunos
1
CadastroUsuarios
adicionarAluno()
CadastroAlunos()
checar()
CadastroUsuarios()
Usuario
login : String
senha : String
Usuario()
Dados
17
18
Diviso do sistema em
pacotes
Camadas
Lgica do sistema
Pacotes
TelaLogin
TelaAdicionarAluno
(from gui)
(from gui)
efetuarLogin()
TelaLogin()
1..*
adicionarAluno()
TelaAdicionarAluno()
1..*
1
Indicao do pacote
da classe
<<singleton>>
Fachada
(from negocio)
assunto : String
remetente : String
destinatario : String
corpo : String
(from negocio)
1
Email()
enviarEmail()
ComunicacaoServidorEmail()
ControladorAdicionarAluno
1
adicionarAluno()
efetuarLogin()
Aluno
(from negocio)
nome : String
email : String
Aluno()
1
1
ComunicacaoServidorEmail
(from negocio)
adicionarAluno()
ControladorAdicionarAluno()
1
1
ControladorLogin
Usuario
(from negocio)
(from negocio)
efetuarLogin()
registrarSessao()
ControladorLogin()
1
1
CadastroAlunos
1
CadastroUsuarios
(from dados)
(from dados)
adicionarAluno()
CadastroAlunos()
login : String
senha : String
Usuario()
checar()
CadastroUsuarios()
20
Pacotes
gui
comunicacao
negocio
dados
21
Referncias
22