Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato...

28
Projeto Orientado a Objetos ESPECIALIZAÇÃO EM ESPECIALIZAÇÃO EM GESTÃO DE TECNOLOGIAS DA INFORMAÇÃO GESTÃO DE TECNOLOGIAS DA INFORMAÇÃO Projeto Orientado a Objetos Projeto Orientado a Objetos AULA 04 AULA 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 2005 Goiânia, outubro de 2005

Transcript of Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato...

Page 1: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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

Page 2: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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”.

Page 3: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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”.

Page 4: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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

Page 5: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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)

Page 6: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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()

Page 7: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 8: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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()

Page 9: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 10: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 11: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 12: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 13: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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 .

Page 14: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 15: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

Projeto Orientado a Objetos

O Problema

A arquitetura desse sistema é a seguinte :

Estação AtendimentoServ. BD Atendimento

Estrutura de rede local 10/100 Mb

Page 16: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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

Page 17: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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 ??

Page 18: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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).

Page 19: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 20: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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);

Page 21: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 22: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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

Page 23: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 24: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 25: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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

Page 26: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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.

Page 27: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

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

Page 28: Aula03 - Projeto OO.ppt [Modo de Compatibilidade] · DFD MER Cliente Cliente Cliente Listar Extrato Fatura Movimento Extrato Fatura Composição Movimento Pagamento 1 N 1 N. ... conexões

Projeto Orientado a Objetos

DebateDebate