Tarciane Andrade [email protected]. Contexto Análise Passando de casos de uso para...
-
Upload
olivia-rio -
Category
Documents
-
view
212 -
download
0
Transcript of Tarciane Andrade [email protected]. Contexto Análise Passando de casos de uso para...
![Page 1: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/1.jpg)
Tarciane [email protected]
![Page 2: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/2.jpg)
Contexto Análise Passando de casos de uso para diagramas
de classes
22
![Page 3: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/3.jpg)
Após a etapa de análise de requisitos, temos documentos de requisitos e os casos de uso em mãos.
Queremos agora gerar um primeiro modelo do sistema a partir dos casos de uso.
Este modelo é chamado de modelo de análise.
33
![Page 4: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/4.jpg)
44
Requisitos Análise Projeto
ARQUITETURAARQUITETURA
![Page 5: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/5.jpg)
Vai proporcionar um método que permita que criemos um modelo de classes do sistema a partir dos casos de uso
Trará a resposta para a pergunta:◦ Quais classes preciso para implementar estes
casos de uso?
55
![Page 6: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/6.jpg)
A maneira como vamos realizar a etapa de análise se baseia no processo do RUP (Rational Unified Process)
A análise será orientada a casos de uso, ou seja, os casos de uso servirão de guia para a etapa de análise
66
![Page 7: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/7.jpg)
casos de uso análise Descritos na linguagem do cliente
Descrito na linguagem dos desenvolvedores
Visão externa do sistema
Visão interna do sistema
Captura as funcionalidades do sistema
Mostra, de modo abstrato, como a funcionalidade pode ser realizada
Estruturado por casos de uso
Estruturado por classes e pacotes
77
![Page 8: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/8.jpg)
Identificar as classes◦ Identificar persistência
Identificar responsabilidades das classes Identificar relacionamentos Identificar atributos
88
![Page 9: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/9.jpg)
No primeiro passo de análise, identificaremos três tipos de classes:◦ Fronteira ◦ Entidade◦ Controle
Tais classes são identificadas separadamente para cada caso de uso
99
![Page 10: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/10.jpg)
Utilizada para modelar a interação entre um ator e o sistema
Para cada interação entre um ator e caso de uso, é criada uma classe de fronteira
Possuem o estereótipo <<boundary>>
1010
![Page 11: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/11.jpg)
Utilizadas para modelar a informação manipulada pelo sistema
Podem ser persistentes ou não São identificadas a partir do fluxo de
eventos do caso de uso Possuem o estereótipo <<entity>>
1111
![Page 12: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/12.jpg)
Classes responsáveis por controlar o fluxo de execução do caso de uso
Normalmente é criada uma classe de controle para cada caso de uso
Possuem o estereótipo <<control>>
1212
![Page 13: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/13.jpg)
registrar faltas
registrar súmulasdas aulas
Professor
consultar freqüência
Aluno
editar alunos remover alunos
adicionar turma
remover turma
editar turma
Servidor de e-mailadicionar alunos
Secretária
Usuarioefetuar login
1313
![Page 14: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/14.jpg)
Efetuar Login Fluxo de eventos:1. Usuário informa login e senha2. Sistema checa se o login e senha conferem3. Sistema registra a informações do aluno e
a tela principal do sistema é exibida
1414
![Page 15: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/15.jpg)
Que classes preciso criar?◦ uma classe de fronteira para lidar com a
interação dos atores com o sistema◦ uma classe de entidade para representar as
informações relevantes do aluno◦ uma classe de controle para gerenciar o fluxo de
execução do caso de uso
1515
![Page 16: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/16.jpg)
1616
ControladorLogin UsuarioTelaLogin
ControladorLogin<<control>>
Usuario<<entity>>
TelaLogin<<boundary>>
Há diferentes opções de visualização dos estereótipos. A opção padrão é mostrada acima - os estereótipos são visualizados através da mudança dos ícones das classes. Há também a opção de se visualizar os estereótipos do modo convencional (<<estereótipo>>).
![Page 17: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/17.jpg)
Após a identificação das classes, é necessário descobrir quais são as responsabilidades de cada classe, o que cada uma precisa fazer.
Os diagramas de interação (seqüência e colaboração) são muito úteis nesta tarefa
1717
![Page 18: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/18.jpg)
1818
: usuário : TelaLogin : ControladorLogin : CadastroAlunos
efetuarLogin(login, senha)
efetuarLogin(login, senha)
checar(login, senha)
registrarSessao()
![Page 19: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/19.jpg)
Após identificarmos as responsabilidades (métodos) pelos diagramas de interação, devemos acrescentar os métodos nas classes previamente identificadas (1º passo)
1919
![Page 20: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/20.jpg)
2020
TelaLogin
efetuarLogin(login, senha)
<<boundary>>ControladorLogin
efetuarLogin(login, senha)registrarSessao()
<<control>>
Usuario<<entity>>
![Page 21: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/21.jpg)
As classes identificadas não funcionam isoladamente, elas se relacionam com as demais classes
Os diagramas de interação são muito úteis nesta tarefa
Para cada ligação presente nos diagramas de interação, é necessário um relacionamento no diagrama de classes
2121
![Page 22: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/22.jpg)
2222
Usuario<<entity>>
TelaLogin
efetuarLogin(login, senha)
<<boundary>> ControladorLogin
efetuarLogin(login, senha)registrarSessao()
<<control>>
1*
CadastroUsuarios
checar(login, senha)
<<entity collection>> 1
1
* 1
1
1
![Page 23: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/23.jpg)
Também é necessário identificar quais os atributos das classes
Um bom conhecimento do domínio do problema é bastante importante para esta tarefa, principalmente na identificação de atributos das classes de entidade
Nesta etapa ainda não precisamos indicar quais os tipos dos atributos
2323
![Page 24: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/24.jpg)
Usuariologinsenha
<<entity>>
TelaLogin
efetuarLogin(login, senha)
<<boundary>> ControladorLogin
efetuarLogin(login, senha)registrarSessao()
<<control>>
1*
CadastroUsuarios
checar(login, senha)
<<entity collection>> 1
1
* 1
1
1
2424
![Page 25: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/25.jpg)
Secretária Servidor de e-mailadicionar alunos
2525
Fluxo de eventos:1. Secretária informa dados do aluno2. Secretária seleciona a opção “confirmar cadastro”3. Sistema checa se os dados são válidos4. Sistema adiciona o aluno à base de dados5. Sistema envia um e-mail para o aluno, informando-o seu login e senha6. Sistema exibe uma mensagem de confirmação de cadastro
Identificar as classes do caso de uso “adicionar aluno”
![Page 26: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/26.jpg)
2626
Alunonomeemailloginsenha
Aluno()
<<entity>>
Email()
<<entity>>TelaAdicionarAluno
adicionarAluno()
<<boundary>>
CadastroAlunos
adicionarAluno()
<<entity collection>>ControladorAdicionarAluno
adicionarAluno()
<<control>>1
1..*
11
ComunicacaoServidorEmail
enviarEmail()
<<boundary>>
1 1
1..*
1
1 1 11
![Page 28: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/28.jpg)
2828
Contexto Projeto Refinando o modelo de análise
◦ Classes◦ Arquitetura◦ Pacotes
![Page 29: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/29.jpg)
2929
Após a etapa de análise temos um primeiro modelo do sistema
Queremos agora melhorar esse modelo, a ponto de gerarmos facilmente a implementação do sistema
Este modelo é chamado de modelo de Projeto
![Page 30: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/30.jpg)
3030
Requisitos Análise Projeto
![Page 31: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/31.jpg)
3131
Abstrato X Concreto Independente X dependente da tecnologia
de implementação Simples X detalhado Modelos por caso de uso X unificação em
um único modelo
![Page 32: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/32.jpg)
3232
Refinar o modelo de classes Projetar arquitetura
◦ Camadas◦ Separação em pacotes
Projetar Banco de Dados
![Page 33: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/33.jpg)
3333
Juntar todas as classes em um só diagrama Analisar se é necessário criar novas classes
ou remover classes existentes Eliminar os estereótipos de análise Adicionar modificadores de visibilidade aos
métodos e atributos Definir os tipos dos atributos
![Page 34: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/34.jpg)
3434
Usuariologinsenha
<<entity>>
TelaLogin
efetuarLogin(login, senha)
<<boundary>>
CadastroUsuarios
checar(login, senha)
<<entity collection>>
ControladorLogin
efetuarLogin(login, senha)registrarSessao()
<<control>>
1* 1*
1
1
1
1
![Page 35: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/35.jpg)
3535
Alunonomeemailloginsenha
Aluno()
<<entity>>
Email()
<<entity>>TelaAdicionarAluno
adicionarAluno()
<<boundary>>
CadastroAlunos
adicionarAluno()
<<entity collection>>ControladorAdicionarAluno
adicionarAluno()
<<control>>1
1..*
11
ComunicacaoServidorEmail
enviarEmail()
<<boundary>>
1 1
1..*
1
1 1 11
![Page 36: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/36.jpg)
3636
TelaLogin
efetuarLogin()
TelaAdicionarAluno
adicionarAluno()
CadastroUsuarios
checar()
ControladorLogin
efetuarLogin()registrarSessao()
*
1
*
1
1
1
1
1CadastroAlunos
adicionarAluno()
ComunicacaoServidorEmail
enviarEmail()
ControladorAdicionarAluno
adicionarAluno()
1..*
1
1..*
1
1
1
1
1
11 11
Email()
Alunonome : Stringemail : Stringlogin : Stringsenha : String
Aluno()
Usuariologin : Stringsenha : String
![Page 37: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/37.jpg)
3737
Detalhar assinatura dos métodos◦ definir todos os parâmetros dos métodos, seu
tipos e o tipo de retorno dos métodos Mapear associações em atributos Analisar a possibilidade de utilizar herança
![Page 38: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/38.jpg)
3838
TelaLogin
efetuarLogin()TelaLogin()
ControladorLogin
efetuarLogin()registrarSessao()ControladorLogin()
*
1
*
1
CadastroUsuarios
checar()CadastroUsuarios()
1
1
1
1
TelaAdicionarAluno
adicionarAluno()TelaAdicionarAluno()
CadastroAlunos
adicionarAluno()CadastroAlunos()
ControladorAdicionarAluno
adicionarAluno()ControladorAdicionarAluno()
1..*
1
1..*
1
1
1
1
1
ComunicacaoServidorEmail
enviarEmail()ComunicacaoServidorEmail()
11 11
Emailassunto : Stringremetente : Stringdestinatario : Stringcorpo : String
Email()
Alunonome : Stringemail : String
Aluno()
Usuariologin : Stringsenha : String
Usuario()
![Page 39: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/39.jpg)
3939
Identificar padrões de projeto◦ Ex: Fachada
Revisar as classes
![Page 40: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/40.jpg)
4040
CadastroUsuarios
checar()CadastroUsuarios()
CadastroAlunos
adicionarAluno()CadastroAlunos()
ComunicacaoServidorEmail
enviarEmail()ComunicacaoServidorEmail()
Emailassunto : Stringremetente : Stringdestinatario : Stringcorpo : String
Email()
Alunonome : Stringemail : String
Aluno()
Usuariologin : Stringsenha : String
Usuario()
TelaAdicionarAluno
adicionarAluno()TelaAdicionarAluno()
TelaLogin
efetuarLogin()TelaLogin()
ControladorAdicionarAluno
adicionarAluno()ControladorAdicionarAluno()
1
1
1
1
1
1
1
1
Fachada
adicionarAluno()efetuarLogin()
<<singleton>>
1
1..*
1
1..*
1
1
ControladorLogin
efetuarLogin()registrarSessao()ControladorLogin()
1
1
1
1
1
1
1 1
1..* 1..*
1 1
1 1
FachadaSingleton
![Page 41: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/41.jpg)
4141
Dividir o sistema em camadas Arquitetura bem comum:
Apresentação
Negócio
Dados
Interface com o usuário
Regras de negócio inerentesà aplicação
Código relacionado ao mecanismode persistência utilizado
ComunicaçãoComunicação entre
apresentação e negócio e com outros sistemas
![Page 42: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/42.jpg)
4242
Por que dividir em camadas?◦ Aumentar modularidade◦ Diminuir dependências◦ Facilitar possível troca de camadas
![Page 43: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/43.jpg)
4343
CadastroUsuarios
checar()CadastroUsuarios()
CadastroAlunos
adicionarAluno()CadastroAlunos()
ComunicacaoServidorEmail
enviarEmail()ComunicacaoServidorEmail()
Emailassunto : Stringremetente : Stringdestinatario : Stringcorpo : String
Email()
Alunonome : Stringemail : String
Aluno()
Usuariologin : Stringsenha : String
Usuario()
TelaAdicionarAluno
adicionarAluno()TelaAdicionarAluno()
TelaLogin
efetuarLogin()TelaLogin()
ControladorAdicionarAluno
adicionarAluno()ControladorAdicionarAluno()
1
1
1
1
11 11
Fachada
adicionarAluno()efetuarLogin()
<<singleton>>
1
1..*
1
1..*
1
1
ControladorLogin
efetuarLogin()registrarSessao()ControladorLogin()
1
1
1
1
1
1
11
1..*1..*
1 1
11Comunicação
Dados
Apresentação
Negócio
Comunicação
![Page 44: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/44.jpg)
4444
Agrupar classes em pacotes Possíveis critérios:
◦ Camadas◦ Lógica do sistema
Critérios escolhidos devem minimizar a dependência entre os pacotes
Criar um diagrama de pacotes indicando as dependências entre os pacotes
![Page 45: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/45.jpg)
4545
CadastroUsuarios
checar()CadastroUsuarios()
(from dados)CadastroAlunos
adicionarAluno()CadastroAlunos()
(from dados)
ComunicacaoServidorEmail
enviarEmail()ComunicacaoServidorEmail()
(from comunicacao)
assunto : Stringremetente : Stringdestinatario : Stringcorpo : String
Email()
(from negocio)Aluno
nome : Stringemail : String
Aluno()
(from negocio)
Usuario
login : Stringsenha : String
Usuario()
(from negocio)
TelaAdicionarAluno
adicionarAluno()TelaAdicionarAluno()
(from gui)TelaLogin
efetuarLogin()TelaLogin()
(from gui)
ControladorAdicionarAluno
adicionarAluno()ControladorAdicionarAluno()
(from negocio)
1
1
1
1
11 11
Fachada
adicionarAluno()efetuarLogin()
(from negocio)
<<singleton>>
1
1..*
1
1..*
1
1
ControladorLogin
efetuarLogin()registrarSessao()ControladorLogin()
(from negocio)
1
1
1
1
1
1
11
1..*1..*
1 1
11
Indicação do pacoteda classe
![Page 46: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/46.jpg)
4646
gui
negocio dadoscomunicacao
![Page 47: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/47.jpg)
4747
Divisão em grupos; Elaborar o diagrama de análise, projeto e
pacote para o caso de uso Registrar Faltas.
![Page 48: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/48.jpg)
4848
Caso de Uso Registrar Faltas Pré-Condição: aulas realizadas
cadastradas;◦ Este caso de uso se inicia quando o professor
entra no sistema;◦ O professor escolhe a turma de alunos;◦ O professor escolhe o aluno para cadastrar as
faltas;◦ Para cada aula realizada, o professor informa se
o aluno estava presente ou se faltou a aula;◦ O caso de uso se encerra;
![Page 49: Tarciane Andrade tarcianeandrade@gmail.com. Contexto Análise Passando de casos de uso para diagramas de classes 2.](https://reader035.fdocument.pub/reader035/viewer/2022070507/570638481a28abb8238f42ab/html5/thumbnails/49.jpg)
The Unified Software Development Process - Jacobson, Rumbaugh, Booch
The UML Reference Manual - Rumbaugh, Jacobson, Booch
Vasconcelos, Alexandre. Disciplina de Engenharia de Software, UFPE.
SWEBOK, 2004.
4949