Post on 08-Feb-2019
Projeto Orientado a Objetos
ESPECIALIZAÇÃO EMESPECIALIZAÇÃO EMGESTÃO DE TECNOLOGIAS DA INFORMAÇÃOGESTÃO DE TECNOLOGIAS DA INFORMAÇÃO
Projeto Orientado a ObjetosProjeto Orientado a Objetos
AULA 04AULA 04
Projeto de Sistemas;Projeto Orientado a Objetos;Estruturação em Camadas;
Projeto Orientado a Objetos em Camadas;Um Exemplo Ilustrativo.
Goiânia, outubro de 2005Goiânia, outubro de 2005
Projeto Orientado a Objetos
Projeto de Sistemas
Projeto:
“Processo de aplicação de várias técnicas e
princípios com propósito de definir um dispositivo,princípios com propósito de definir um dispositivo,
um procedimento ou um sistema com detalhes
suficientes para permitir a sua realização física”.
Projeto Orientado a Objetos
Projeto de Sistemas
Projeto:
“Esforço finito, isto é, com início e fim, para
produzir um produto . Este esforço consiste naproduzir um produto . Este esforço consiste na
aplicação e técnicas diretamente ligadas aos
paradigmas tecnológicos adotado na execução do
projeto”.
Projeto Orientado a Objetos
Projeto de Sistemas
Projeto de Sistemas:
“Etapa do ciclo de vida que propicia a aproximaçãode um modelo conceitual (isento do tecnologia) aum modelo passível de ser implantado emum modelo passível de ser implantado emcomputador”
Modelo ConceitualModelo ConceitualModelo ConceitualModelo ConceitualModelo FísicoModelo Físico
Projeto de SistemasProjeto de Sistemas
Projeto Orientado a Objetos
Projeto de Sistemas
Elementos Principais Projeto de Sistemas:
a) Ajuste do Nível de Abstração;
a) Refinamento ;a) Refinamento ;
a) Modularidade;
• C(M1+M2) > C(M1) + C(M2)
Projeto Orientado a Objetos
Projeto Orientado a Objetos
Projeto Orientado a Objetos CIH Ingrediente
CódigoNomeEstoque
Incluir()Alterar()Excluir()Consultar()Sair()
Ingrediente
CódigoNomeEstoque
Incluir()Consultar()Excluir()Alterar()Consistir()
Composição
Quantidade
Incluir()
CIH Avalia Quitanda
CódigoNomeNota
CIH IngredienteIngrediente
CIH Receita
CódigoNomeModoFazerIngredientes
Incluir()Alterar()Excluir()Consultar()Sair()
Incluir()Nota
Avaliar()Sair()
Receita
CódigoNomeModoFazerNota
Incluir()Alterar()Excluir()Consultar()Consistir()Avaliar()
Código
Nome
Estoque
Incluir()
Alterar()
Excluir()
Consultar()
Sair()
CIH Receita
Código
Nome
ModoFazer
Ingredientes
Incluir()
Alterar()
Excluir()
Consultar()
Sair()
Código
Nome
Estoque
Incluir()
Consultar()
Excluir()
Alterar()
Consistir()
Composição
Quantidade
Incluir()
CIH Avalia Quitanda
Código
Nome
Nota
Avaliar()
Sair()Receita
Código
Nome
ModoFazer
Nota
Incluir()
Alterar()
Excluir()
Consultar()
Consistir()
Avaliar()
Projeto Orientado a Objetos
Sistema em Camadas
1) Camadas de Software;
2) Projeto Orientado a Objetos em Camadas;2) Projeto Orientado a Objetos em Camadas;
3) Exemplo de Aplicação;
4) Projeto OO e UML.
Projeto Orientado a Objetos
Projeto Orientado a Objetos em Camadas
Projeto Orientado a Objetos em Camadas CIH Ingrediente
Código
Nome
Estoque
Incluir()
Alterar()
Excluir()
Consultar()
Sair()
Ingrediente
Código
Nome
Estoque
Incluir()
Consultar()
Excluir()
Alterar()
Consistir()
Composição
Quantidade
CIH Avalia Quitanda
Código CIH Ingrediente IngredienteIngrediente
Negócio Visual Persistência
CIH Receita
Código
Nome
ModoFazer
Ingredientes
Incluir()
Alterar()
Excluir()
Consultar()
Sair()
Quantidade
Incluir()
Nome
Nota
Avaliar()
Sair()Receita
Código
Nome
ModoFazer
Nota
Incluir()
Alterar()
Excluir()
Consultar()
Consistir()
Avaliar()
Composição
Quantidade
Incluir()
Código
Nome
Estoque
Incluir()
Alterar()
Excluir()
Consultar()
Sair()
CIH Receita
Código
Nome
ModoFazer
Ingredientes
Incluir()
Alterar()
Excluir()
Consultar()
Sair()
CIH Avalia Quitanda
Código
Nome
Nota
Avaliar()
Sair()
Código
Nome
Estoque
Incluir()
Consultar()
Excluir()
Alterar()
Consistir()
Receita
Código
Nome
ModoFazer
Nota
Incluir()
Alterar()
Excluir()
Consultar()
Consistir()
Avaliar()
Código
Nome
Estoque
Incluir()
Consultar()
Excluir()
Alterar()
Consistir()
Receita
Código
Nome
ModoFazer
Nota
Incluir()
Alterar()
Excluir()
Consultar()
Consistir()
Avaliar()
Projeto Orientado a Objetos
Camada Visual (Camada Interação Humana)
Responsável pela interação com os usuários do
sistema. É normalmente uma tela, um dispositivo de
impressão, sensor, etc .impressão, sensor, etc .
Ela não deve conhecer a lógica da aplicação, e sim
os objetos da camada de negócio e os serviços
desses objetos que resolvem o seus problemas.
Projeto Orientado a Objetos
Camada Visual (Camada Interação Humana)
A principal responsabilidade desta camada é
tratar convenientemente as particularidades do
dispositivo de interação humana no qual ela sedispositivo de interação humana no qual ela se
apresenta.
Projeto Orientado a Objetos
Camada de Negócio
Contém a lógica do sistema, ou seja, consistências,regras do negócio e outros conhecimento ligadosao sistema que não sejam relativos a apresentação(CIH) e armazenamento de informações .(CIH) e armazenamento de informações .
Um determinado cenário de um Caso de Uso deveter um serviço na camada de negócio que o trate.
Projeto Orientado a Objetos
Camada de Persistência
Nesta camada é tratada toda lógica relativa ao
armazenamento e recuperação de informação
do objeto com o banco de dados.
O quantitativo de implementação a ser feita
nesta camada depende da tecnologia do SGBD
utilizado.
Projeto Orientado a Objetos
Camada de Persistência
Atualmente a tecnologia mais utilizada é a
relacional, portanto, os objetos persistentes
devem ter serviços que façam odevem ter serviços que façam o
interfaceamento entre o paradigma de objetos e
a tecnologia relacional de SGBD .
Projeto Orientado a Objetos
Exemplo de Aplicação - O Problema
Uma empresa de cartão de crédito oferece
atualmente aos seus clientes a possibilidade de
emissão de extrato de seus gastos . Isto se dáemissão de extrato de seus gastos . Isto se dá
através de um balcão de atendimento aos clientes
localizado na sede da empresa.
Projeto Orientado a Objetos
O Problema
A arquitetura desse sistema é a seguinte :
Estação AtendimentoServ. BD Atendimento
Estrutura de rede local 10/100 Mb
Projeto Orientado a Objetos
O Problema
O projeto do sistema é o seguinte :
DFD MERCliente
ClienteCliente
ListarExtrato
Fatura Movimento
Extrato
Cliente
Fatura MovimentoComposição
Pagamento
1
N
1 N
Projeto Orientado a Objetos
Evoluções na Aplicação
1) Postos avançados de Atendimento.
2) Terminais de auto-atendimento aos clientes.
3) Permitir emissão de extrato nas lojas.3) Permitir emissão de extrato nas lojas.
4) Permitir emissão de extrato na Internet.
EE agoraagora ??
Projeto Orientado a Objetos
Buscando a Solução
Pode-se verificar que as várias interfaces de
sistemas (estação-cliente, auto-atendimento,
PDV, Internet) tem o conhecimento daPDV, Internet) tem o conhecimento da
seqüência de passos para atingir a solução do
problema (emitir o extrato).
Projeto Orientado a Objetos
Buscando a Solução
Cada nova interface ou CIH (Componente de
Interação Humana) criada deverá possuir
também todo este conhecimento para atambém todo este conhecimento para a
emissão do extrato.
Projeto Orientado a Objetos
Buscando a Solução - Camadas
A divisão do sistema em camadas perfeitamente
isoladas uma das outras, poderia:
1) Evitar a perda de coesão verificada (replicação
de funcionalidades);
Projeto Orientado a Objetos
Buscando a Solução - Camadas
2) Facilitar o uso da estrutura de hardware
(evitando perdas de investimento);
3) Tornar o sistema mais adequado para ser
utilizado em meios de comunicação não muito
velozes.
Projeto Orientado a Objetos
Camadas: Visual, Negócio e Persistência
PCPC
PDVPDVEmitirExtrato()EmitirExtrato() PCPC
AutoAuto--AtendAtendimentoimento
InternetInternet
EmitirExtrato()EmitirExtrato() PCPC
VisualVisual NegócioNegócio PersistênciaPersistência
Projeto Orientado a Objetos
Projeto Orientados a Objetos e UML
Diagramas da UML para apoio a Projeto OO :
1) Diagrama de Componente;
2) Diagrama de Execução.
Projeto Orientado a Objetos
Diagrama de Execução
Mostra a arquitetura física do hardware e do
software no sistema e também os tipos de
conexões entre os elementos da arquitetura.
Mostra quais os componentes de software que são
executados nos diversos servidores da estrutura.
Projeto Orientado a Objetos
Diagrama de Execução - Exemplo
<<TCP/IP>>Cliente1 :
<<TCP/IP>>
SQL <<TCP/IP>>
Cliente 2 :
Servidor deAplicação :
SGBD :SQL/SERVER
Projeto Orientado a Objetos
Diagrama de Componente
Descreve os componentes de software e suas
dependências entre si. Um componente é o produto
da implementação de um conjunto de classes.
O propósito de um componente é servir como um
container de classes que estarão disponíveis em
um determinado nó da arquitetura física.
Projeto Orientado a Objetos
Diagrama de Componente - Exemplo
SGBD
DB.dll
Lógica deNegócios
Regras.dll
Serv. WEB
Asp.dllDB.dll Regras.dll Asp.dll
Aplicação
Sistema.exe
Projeto Orientado a Objetos
DebateDebate