análise orientada a objetos - facom.ufu.brbacala/daw/aula04-1 - analise e projeto.pdf · análise...
TRANSCRIPT
![Page 1: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/1.jpg)
Análise Orientada
a Objetos
Análise e Projeto
![Page 2: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/2.jpg)
Análise versus Projeto
• Foco no entendimento do
problema
• Projeto idealizado
• Comportamento
• Estrutura do sistema
• Requisitos funcionais
• Modelos simples
• Foco no entendimento da
solução
• Operações e atributos
• Performance
• Pensamento no código
• Ciclo de vida de objetos
• Requisitos não-funcionais
• Modelo complexo
2010Análise e Projeto I 2
![Page 3: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/3.jpg)
Análise e Projeto OO
• Durante a Análise
OO, a ênfase está
em achar e
descrever objetos
(ou conceitos) no
domínio do
problema
• Durante o projeto
OO, a ênfase está
em achar objetos
lógicos de software
que poderão ser
eventualmente
implementados
usando uma
linguagem OO
![Page 4: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/4.jpg)
Análise e Projeto OO
Conceito
de domínio
public class Livro
{
public void imprimir();
private String titulo;
}
Representação
no código
• Exemplo: O conceito “Livro” em um sistema de biblioteca.
Livro
título
Representação
na análise
Livro
título
Representação
no projeto
imprimir()
![Page 5: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/5.jpg)
Modelo de Analise e
Projeto
• A construção do modelo de análise e projeto é o principal objetivo desta disciplina
• O modelo de análise e projeto contém as realizações de casos de uso
• Pode ser particionado em dois modelos
– Modelo de Analise
– Modelo de Projeto
2010Análise e Projeto I 5
![Page 6: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/6.jpg)
Realização de Caso de
Uso
2010Análise e Projeto I 6
Realização de Caso
de Uso
Caso de Uso
Diagramas de ColaboraçãoDiagramas de ColaboraçãoDiagramas de Classe Diagramas de Classe
Diagramas de SequênciaDiagramas de Sequência
Descreve como o caso de uso é realizado, associando o caso de uso com classes e outros elementos de projeto
Requisitos Analise e projeto
![Page 7: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/7.jpg)
Análise Projeto Casos de Uso
Diag. Seq. de Eventos do Sistema
Modelo conceitual
Diagrama de Classes
Diag. Colaboração
Diag. sequências
![Page 8: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/8.jpg)
ATIVIDADES DA ANÁLISE E
PROJETO
2010Análise e Projeto I 8
![Page 9: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/9.jpg)
Analisar Arquitetura
• Construir e avaliar uma prova de conceito arquitetural
– Mostrar que existe uma solução possível de satisfazer os requisitos do sistema relevantes à arquitetura
2010Análise e Projeto I 9
![Page 10: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/10.jpg)
Definir uma arquitetura
candidata
• Criar o esqueleto inicial da arquitetura do sistema
• Identificar classes de análise dos casos de uso arquiteturalmente relevantes
• Atualizar a realização de caso de uso com as interações entre classes de análise
2010Análise e Projeto I 10
![Page 11: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/11.jpg)
Analisar o comportamento
• Transformar as descrições sobre o comportamento providas pelos caso de uso em um conjunto de elementos nos quais o modelo de projeto vai se basear
2010Análise e Projeto I 11
![Page 12: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/12.jpg)
Projetar Componentes
• Refinar as definições dos elementos acrescentado detalhes sobre como estes elementos implementam o comportamento requerido
• Refinar e atualizar as realizações de casos de uso com os novos elementos identificados
2010Análise e Projeto I 12
![Page 13: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/13.jpg)
Projetar Banco de Dados
• Identificar classes persistentes no modelo de projeto
• Projetar as estruturas de banco de dados (Modelo de dados)
• Definir mecanismos e estratégias para armazenar e recuperar dados
2010Análise e Projeto I 13
![Page 14: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/14.jpg)
Refinar Arquitetura
• Permitir uma transição entre os elementos e mecanismos de análise para os de projeto
• Manter a consistência e integração da arquitetura
• Descrever a arquitetura de execução e produção da aplicação
2010Análise e Projeto I 14
![Page 15: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/15.jpg)
ANÁLISE DE CASOS DE USO
![Page 16: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/16.jpg)
16
Passos da Atividade de
Análise
• Identificar as classes
– Identificar persistência
• Identificar responsabilidades das classes
• Identificar relacionamentos
• Identificar atributos
![Page 17: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/17.jpg)
17
Identificando as classes
• No primeiro passo de análise, identificaremos três tipos de classes:
– Fronteira
– Entidade
– Controle
• Tais classes são identificadas separadamente para cada de uso
![Page 18: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/18.jpg)
18
Classes de Fronteira
• 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>>
![Page 19: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/19.jpg)
19
Classes de Entidade
• Utilizadas para modelar a informação manipulada pelo sistema
• Podem ser persistentes ou não
• Conceito análogo às entidades dos diagramas ER
• São identificadas a partir do fluxo de eventos do caso de uso
• Possuem o estereótipo <<entity>>
![Page 20: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/20.jpg)
20
Classes de Controle
• 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>>
![Page 21: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/21.jpg)
Exemplo
2010Análise e Projeto I 21
registrar faltas
registrar súmulas
das 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
15/03/2005 21/28
![Page 22: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/22.jpg)
2010Análise e Projeto I 22
Exemplo
![Page 23: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/23.jpg)
2010Análise e Projeto I 23
Especificação de Casos de
Uso
• Efetuar Login
• Fluxo de eventos:
1. Usuário informa login e senha
2. Sistema checa se o login e senha conferem
3. Sistema registra a sessão do aluno e a tela principal do sistema é exibida
15/03/2005 23/28
login e senha
![Page 24: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/24.jpg)
24
Exemplo
• 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
![Page 25: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/25.jpg)
25
Exemplo
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 26: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/26.jpg)
26
Persistência
• Mas caso alguma classe de entidade precise ser persistente?
• Que classe será responsável por realizar as tarefas de persistência?
• Para cada classe de entidade que precise ser persistente, é criada uma nova classe com o estereótipo <<entity collection>>
![Page 27: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/27.jpg)
27
Exemplo
TelaLogin
<<boundary>>
CadastroUsuarios
<<entity collection>>
ControladorLogin
<<control>>
Usuario
<<entity>>
![Page 28: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/28.jpg)
28
Diagramas de interação
• 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
![Page 29: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/29.jpg)
29
Exemplo
: usuário : TelaLogin : ControladorLogin : CadastroAlunos
efetuarLogin(login, senha)
efetuarLogin(login, senha)
checar(login, senha)
registrarSessao()
![Page 30: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/30.jpg)
30
Alocando
responsabilidades
• Após identificarmos as responsabilidades (métodos) pelos diagramas de interação, devemos acrescentar os métodos nas classes previamente identificadas (1º passo)
![Page 31: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/31.jpg)
31
Classes com métodos
![Page 32: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/32.jpg)
32
Identificando
relacionamentos
• 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
![Page 33: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/33.jpg)
33
Classes com
relacionamentos
![Page 34: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/34.jpg)
34
Identificando Atributos
• 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
![Page 35: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/35.jpg)
35
Diagrama final
![Page 36: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/36.jpg)
36
Exemplo 2
Fluxo de eventos: 1. Secretária informa dados do aluno 2. Secretária seleciona a opção “confirmar cadastro” 3. Sistema checa se os dados são válidos 4. Sistema adiciona o aluno à base de dados 5. Sistema envia um e-mail para o aluno, informando-o seu login e senha 6. Sistema exibe uma mensagem de confirmação de cadastro Identificar as classes do caso de uso “adicionar aluno”
Secretária Servidor de e-mailadicionar alunos
![Page 37: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/37.jpg)
FLUXO DE ANÁLISE E
PROJETO SIMPLIFICADO
Simplificando/Instanciando o processo para um contexto específico
![Page 38: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/38.jpg)
Fluxo de atividades
simplificado
1. Analisar Arquitetura
2. Analisar Caso de Uso
3. Projetar Classes
4. Projetar Banco de Dados
2010Análise e Projeto I 38
![Page 39: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/39.jpg)
ANALISAR ARQUITETURA
![Page 40: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/40.jpg)
Analisar Arquitetura
• Esforço inicial em definir as partes do sistema e seus relacionamentos (Arquitetura Inicial)
• Definir as convenções de modelagem
• Identificar os mecanismos de análise
• Identificação das abstrações-chave
2010Análise e Projeto I 40
![Page 41: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/41.jpg)
• A estrutura de um sistema de software, que engloba
– componentes de software;
– suas propriedades visíveis externamente;
– e os relacionamentos e interações entre eles
• As primeiras decisões tomadas no projeto de um sistema
– As mais importantes!
• Uma arquitetura de software é composta por componentes e conectores
Arquitetura de Software
![Page 42: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/42.jpg)
Estilos
42
![Page 43: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/43.jpg)
Padrões de Distribuição
• Ponto a ponto
• Cliente-servidor
– Cliente “gordo” (Fat Client)
– Servidor “gordo” (Fat Server)
– 3 camadas
– Cliente-servidor Distribuído
43
![Page 44: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/44.jpg)
Ponto a ponto
44
Apresentação
Negócio
Dados
Apresentação
Negócio
Dados
![Page 45: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/45.jpg)
Cliente-servidor 3 camadas
45
Apresentação
Negócio
Dados
![Page 46: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/46.jpg)
Cliente “gordo”
46
Apresentação Negócio
Dados
![Page 47: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/47.jpg)
Arquitetura Web Tradicional
47
Navegador Web
Apresentação Negócio
Dados
![Page 48: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/48.jpg)
Clientes web (Mozilla, IE, etc.)
Servidor WEB Rede Local
Banco de Dados Relacional
Internet
Uma Arquitetura Web
![Page 49: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/49.jpg)
Componente Componente Componente
Clientes web (Mozilla, IE, etc.)
Servidor WEB Internet Rede
Local
Banco de Dados Relacional
Uma Arquitetura Web
![Page 50: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/50.jpg)
Banco de Dados Relacional
Conector (Ponte SQL)
Conector (HTTP, RMI)
Clientes web (Mozilla, IE, etc.)
Servidor WEB Rede Local
Internet
Uma Arquitetura Web
![Page 51: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/51.jpg)
Arquitetura Inicial
• Quais as principais partes do sistema?
• Como elas interagem entre si?
• Que padrões arquiteturais utilizar (no todo ou internamente nas partes) ?
– MVC
– Baseado em camadas
– Canais e filtros
– Centrado em repositório
2010Análise e Projeto I 51
![Page 52: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/52.jpg)
Exemplo de arquitetura
inicial
2010Análise e Projeto I 52
Interface Gráfica
Negócio
Dados
Módulo de Vendas
Módulo de Estoque
Socket
![Page 53: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/53.jpg)
Convenções de
modelagem
• O que são? – Que diagramas e elementos de modelagem utilizar
– Definir as regras para utilização desses componentes
– Convenções de nome
• Exemplos – Casos de uso devem ser nomeados como ações
(Cadastrar usuário)
– Cada realização de caso de uso deve conter: • Um diagrama de classes
• No mínimo um diagrama de seqüência representando o fluxo principal de ações
2010Análise e Projeto I 53
![Page 54: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/54.jpg)
Mecanismos de análise
• O que são? – Focam nos requisitos não-funcionais do
sistema
– Decisão estratégica sobre padrões, politicas e práticas a serem utilizadas no projeto
• Exemplos – Persistência
– Comunicação
– Gerenciamento de transações
– Segurança 2010Análise e Projeto I 54
![Page 55: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/55.jpg)
Identificar Abstrações-
chave
• Definir classes de análise preliminares
– Conhecimento do domínio
– Requisitos
– Outros artefatos (Glossário e modelo de negócio)
2010Análise e Projeto I 55
![Page 56: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/56.jpg)
ANALISAR CASO DE USO
![Page 57: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/57.jpg)
Objetivos
• Identificar as classes que executam o fluxo de eventos do caso de uso
• Distribuir o comportamento do caso de uso nestas classes
• Identificar atributos, responsabilidades e associações das classes
2010Análise e Projeto I 57
![Page 58: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/58.jpg)
Passo 1: Encontrar
classes de análise
• O comportamento do caso de uso é distribuído em classes de análise
2010Análise e Projeto I 58
![Page 59: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/59.jpg)
Passo 2: Distribuir
comportamento
• Para cada fluxo de eventos
– Identificar classes de análise participantes
– Alocar responsabilidades do caso de uso às classes de análise
– Modelar interações entre as classes através dos diagramas de interação
2010Análise e Projeto I 59
![Page 60: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/60.jpg)
Distribuindo
comportamento entre as
classes
2010Análise e Projeto I 60
Caso de uso
Diagrama de seqüência Diagrama de colaboração
Classes de análise
Classes de análise com
responsabilidades
![Page 61: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/61.jpg)
Alocando
responsabilidades
• Use estereótipos de análise como guia – Classes de fronteira
• Comportamento que envolve comunicação com um ator
– Classes de entidade • Comportamento que envolve informação
encapsulada na abstração
– Classes de controle • Comportamento específico ao (lógica de controle
do) caso de uso
2010Análise e Projeto I 61
![Page 62: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/62.jpg)
Guia: Alocando
responsabilidades
• Quem tem a informação necessária para realizar a responsabilidade
– isso pode envolver apenas uma classe, mas pode ser preciso criar novas classes ou relacionamentos entre classes
2010Análise e Projeto I 62
![Page 63: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/63.jpg)
Modelando interações
• Diagramas de interação (colaboração e seqüência) modelam interações do sistema com seus atores
• A interação é iniciada por um ator e envolve instâncias (objetos) das classes
• Diagramas de interação capturam a semântica do fluxo de eventos do caso de uso – Auxiliam a identificar classes, responsabilidades e
relacionamentos
– Mecanismo de validação da arquitetura
2010Análise e Projeto I 63
![Page 64: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/64.jpg)
Vários diagramas podem ser
necessários
2010Análise e Projeto I 64
![Page 65: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/65.jpg)
Colaboração X Sequência
• Colaboração
– Mostra os
relacionamentos, além
das interações
– Melhor para visualizar a
colaboração
– Melhor de ser usado em
reuniões
• Sequência
– Mostra a sequência
explicíta de mensagens
– Melhor para visualizar o
fluxo
– Melhor para cenários
complexos
2010Análise e Projeto I 65
![Page 66: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/66.jpg)
Passo 3: Descrever
Responsabilidades
• Atualizar os diagramas de classes com as responsabilidades identificadas no de iteração
• Mensagens nestes diagramas resultam em responsabilidades nas classes receptoras
2010Análise e Projeto I 66
![Page 67: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/67.jpg)
Como fazer?
2010Análise e Projeto I 67
:Cliente :Fornecedor
// Executar responsabilidade
Fornecedor
// Executar responsabilidade
diagrama de
classe
diagrama de
interação
![Page 68: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/68.jpg)
Gerenciando a
consistência
• Classes com responsabilidades similares são candidatas a serem combinadas
• Uma classe com responsabilidades disjuntas é candidata a ser dividida
• Classes sem (ou com apenas uma responsabilidade) e classes que interagem com muitas classes são candidatas a serem reexaminadas
2010Análise e Projeto I 68
![Page 69: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/69.jpg)
Passo 4: Descrever
atributos e associações
• Definir atributos
• Estabelecer agregações e associações
2010Análise e Projeto I 69
![Page 70: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/70.jpg)
Encontrando Atributos
• Possíveis fontes: conhecimento do negócio, requisitos, glossário, modelo do negócio, etc.
• São propriedades/características das classes identificadas – informação de propriedade exclusiva do objeto
– informação que pode ser lida ou escrita por operações, mas sem outro comportamento a não ser fornecer um valor
• Se a informação tem comportamento complexo ou é compartilhada, deve gerar uma classe
2010Análise e Projeto I 70
![Page 71: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/71.jpg)
Encontrando
Relacionamentos
• Interações entre objetos nos diagrama de interação pode indicar a necessidade de definir um relacionamento entre as classes
• Adicionar os elementos de um relacionamento – Tipo e nome
– Navegabilidade
– Multiplicidade
– Papéis
2010Análise e Projeto I 71
![Page 72: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/72.jpg)
Encontrando Relacionamentos
2010Análise e Projeto I 72
:Client :Supplier
Link
Supplier
PerformResponsibility()
Diagrama
de classe
Diagrama de
Colaboração
Association
Client Supplier
Client
1: PerformResponsibility
Prime suppliers
0..* 0..*
![Page 73: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/73.jpg)
Passo 5: Qualificar
mecanismos de análise
• Mapear classes de análise em mecanismos de análise
2010Análise e Projeto I 73
Classes de análise Mecanismos de análise
Estudante Persistente
ControladorMatricula Distribuição, Segurança
Curso Persistente, Interface Legado
![Page 74: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/74.jpg)
Passo 6: Unificar classes
de análise
2010Análise e Projeto I 74
Realização de Caso
de Uso
Diagramas de Classe Diagramas de Classe
…
Realização de Caso
de Uso
Diagramas de Classe Diagramas de Classe
…
Realização de Caso
de Uso
Diagramas de Classe Diagramas de Classe
…
Diagramas de Classe Diagramas de Classe
![Page 75: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/75.jpg)
PROJETAR CLASSES
![Page 76: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/76.jpg)
Objetivo
• Detalhar as partes do sistema
• Concretização dos conceitos definidos até o momento – Detalhes de implementação e ambiente de
produção • Produtos utilizados
• Linguagem de programação
• Distribuição
• Performance
• Restrições físicas
2010Análise e Projeto I 76
![Page 77: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/77.jpg)
Passos do projeto de
classes
1. Criar classes de projeto
2. Identificar classes persistentes
3. Definir métodos
4. Definir atributos
5. Definir estados
6. Definir relacionamentos
7. Contemplar os requisitos não-funcionais
2010Análise e Projeto I 77
Para cada classe:
![Page 78: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/78.jpg)
Passo 1: Criar classes de
projeto
• Converter classes de análise (Fronteira, Controle e Entidade) em classes de projeto
• Padrões de projeto podem ser incorporados
• As classes são refinadas para incorporar os mecanismos arquiteturais
2010Análise e Projeto I 78
![Page 79: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/79.jpg)
Projetando classes de
fronteira
• GUI (Graphical User Interface) – Que ferramenta de desenvolvimento de
interface gráfica será utilizada?
– Quant pode ser criada pela ferramenta?
– Que padrões serão utilizados?
• Sistemas Externos – Que tecnologias/mecanismos de integração?
– Que padrões?
– Projetar como um subsistema…
2010Análise e Projeto I 79
![Page 80: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/80.jpg)
Projetando classes de
entidade
• Classes de Entidade são
– Transitórias
– Persistentes
• São detalhadas no passo “Identificar classes persistentes”
2010Análise e Projeto I 80
![Page 81: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/81.jpg)
Projetando classes de
controle
• Decisões que deve ser tomadas:
– Elas são realmente necessárias?
– Elas podem/devem ser agrupadas?
• Como decidir?
– Complexidade
– Operações relacionadas
– Probabilidade de mudar
– Performance e distribuição
2010Análise e Projeto I 81
![Page 82: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/82.jpg)
Passo 2: Identificando
classes persistentes
• Instancias da classe precisam preservar o seu estado
• Estratégia de persistencia é definida para cada classe persistente
2010Análise e Projeto I 82
Curso BD Relacional
Candidato Arquivo
JDBC
Serialização
![Page 83: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/83.jpg)
Passo 3: Definir Métodos
• Tem como propósito mapear responsabilidades identificada na análise para métodos na classe
• Deve-se considerar
– Nome, assinatura e visibilidade dos métodos
2010Análise e Projeto I 83
![Page 84: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/84.jpg)
Mapeando operações
2010Análise e Projeto I 84
:Fornecedor :Cliente
// Realizar alguma operação
:Fornecedor :Cliente
fazerAlgo()
Projeto
Análise
+ concreto
- concreto
![Page 85: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/85.jpg)
Passo 4: Definir Atributos
• Tem como propósito formalizar a definição dos atributos
• Deve-se considerar
– Persistência
– Visibidade, nome, tipo e valor inicial
2010Análise e Projeto I 85
![Page 86: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/86.jpg)
Passo 5: Definir estado
• Tem como objetivo definir como o objeto se comporta
• Relevante apenas para objetos com ciclo de vida complexo
• Pode ser especificado em UML
– Diagrama de estados
– Diagrama de atividades
2010Análise e Projeto I 86
![Page 87: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/87.jpg)
Diagrama de Estados
• Um diagrama de estados mostra o ciclo de vida de um objeto
2010Análise e Projeto I 87
Nome do estado Variavel: Tipo = valor
Ação de entrada Ação de saída Atividade
Evento(args)
[condição]
/ Operacao(args)
^obj.enviarMensagem(args) Estado
Ações
Atividades Transição
![Page 88: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/88.jpg)
Exemplo de diagrama de
estado
2010Análise e Projeto I 88
Inicializado Aberto
Fechado
Cancelado
do: Incializa Curso
do: Finaliza curso
do: Notifica Alunos
Adiciona Aluno / contador = 0
Adiciona Aluno[ contador < 10 ]
[ contador = 10 ]
Cancela
Cancela
Cancela
![Page 89: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/89.jpg)
Passo 6: Definir
Relacionamentos
• Dependências
• Associações
– Simples
– Agregação
– Composição
• Generalização
2010Análise e Projeto I 89
![Page 90: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/90.jpg)
Passo 7: Contemplar os
requisitos não-funcionais
• Concretização dos mecanismos de análise – Incorporar responsabilidades em algumas classes
– Criar novas classes
• Exemplos: – Segurança Como armazenar as senhas? Que
algoritmo usar para criptografar uma mensagem?
– Distribuição Que tecnologia utilizar? Qual o impacto da tecnologia nos objetos já definidos?
– Tratamento de logs Que tipo de operações deve ter log (Acesso a dados, execução de negócio, …)
2010Análise e Projeto I 90
![Page 91: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/91.jpg)
Projetar Banco de Dados
• Mapear as classes persistentes em conceitos do Banco de Dados
• Definir os tipos de dados mais adequados para o BD
• Normalizar se necessário
2010Análise e Projeto I 91
![Page 92: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/92.jpg)
EXEMPLOS DE
ARQUITETURAS
![Page 93: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/93.jpg)
93
![Page 94: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/94.jpg)
94
![Page 95: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/95.jpg)
95
![Page 96: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/96.jpg)
96
![Page 97: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/97.jpg)
97
![Page 98: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/98.jpg)
98
![Page 99: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/99.jpg)
99
![Page 100: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/100.jpg)
100
![Page 101: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/101.jpg)
101
![Page 102: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/102.jpg)
102
![Page 103: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/103.jpg)
103
![Page 104: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/104.jpg)
104
![Page 105: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/105.jpg)
105
![Page 106: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/106.jpg)
106
![Page 107: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/107.jpg)
107
![Page 108: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/108.jpg)
108
![Page 109: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/109.jpg)
109
![Page 110: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/110.jpg)
110
![Page 111: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/111.jpg)
111
![Page 112: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/112.jpg)
112
![Page 113: Análise Orientada a Objetos - facom.ufu.brbacala/DAW/Aula04-1 - Analise e Projeto.pdf · Análise Orientada a Objetos Análise e Projeto . Análise versus Projeto • Foco no entendimento](https://reader031.vdocuments.site/reader031/viewer/2022022717/5c39554309d3f21b338c1e46/html5/thumbnails/113.jpg)
113