descadastro
site NCE
 
 
Projeto Orientado a Objetos
 
artigos publicados

Organizando a Lógica de Domínio em Aplicações OO (continuação)

 

Jonas Knopman, D.Sc.
Pesquisador NCE/UFRJ

   
 


6) Exemplos de Utilização de Módulos Tabela


6.1 Lançamento de Receitas

a. Descrição do Negócio
Uma empresa de comercialização de produtos de software trabalha com três tipos de produtos: processadores de texto, bancos de dados e planilhas. A forma de venda de cada um dos produtos é mostrada a seguir:
Processadores de texto: são vendidos à vista.
Planilhas: um terço à vista, um terço em sessenta dias, um terço em noventa dias
Banco de Dados: um terço à vista, um terço em trinta dias, um terço em sessenta dias

b. Requisitos
Ator - Objetivo
Administrador - cadastrar um contrato· obter receitas reconhecidas para um dado contrato até uma dada especificada

c. Modelo Conceitual
d. Modelo de Casos de Uso

Diagrama de Casos de Uso Inicial


CSU01 – Cadastrar Contrato
Sumário: Este caso de uso permite ao Administrador cadastrar um novo contrato de venda
Ator Primário: Administrador
Pré-Condição: Ator Administrador conectado ao sistema e autenticado
Produto vendido já está cadastrado no sistema
Fluxo Principal:
1. O caso de uso tem início quando o Ator Administrador decide lançar os dados de um novo contrato.
2. O sistema solicita os dados do contrato:
Número do contrato
Tipo do produto: [P]lanilha, [B]anco de Dados ou Processador de [T]exto
Nome do produto
Valor do contrato
Data da assinatura
3. O Ator Administrador informa os dados solicitados
4. O sistema valida os dados informados
5. O sistema registra o lançamento do contrato e as parcelas a serem pagas nas datas previstas (RN01)
6. O caso de uso se encerra

CS02 – Obter Receitas
Sumário: Este caso de uso permite ao ator Administrador obter o total de receitas reconhecidas para um contrato até uma data especificada
Ator Primário: Administrador
Pré-Condição: Ator Administrador conectado ao sistema e autenticado
Fluxo Principal:
1. O caso de uso tem início quando o ator Administrador solicita o total de receitas reconhecidas para um dado contrato
2. O sistema solicita o número do contrato e a data de interesse
3. O ator Administrador informa os dados solicitados
4. O sistema valida os dados informados
5. O sistema informa o total das receitas reconhecidas até a data especificada
6. O caso de uso se encerra

e. Diagrama Lógico do Banco de Dados


f. Diagrama Físico do Banco de Dados



CREATE TABLE contratos (
idContrato      int NOT NULL,
valor               decimal NULL,
dataAssinatura         datetime NULL,
idProduto        int NULL,
PRIMARY KEY (idContrato)
)

CREATE TABLE produtos (
idProduto        int NOT NULL,
nome               varchar(30) NULL,
tipo                varchar(1) NULL,
PRIMARY KEY (idProduto)
)

CREATE TABLE receitas (
lancadoEm      datetime NOT NULL,
idContrato       int NOT NULL,
valor             decimal NULL,
PRIMARY KEY (lancadoEm, idContrato)
)

ALTER TABLE contratos
           ADD FOREIGN KEY (idProduto)
                                      REFERENCES produtos

ALTER TABLE receitas
           ADD FOREIGN KEY (idContrato)
                                      REFERENCES contratos


g. Diagrama de Seqüência para o caso de uso Cadastrar Contrato


h. Diagrama de seqüência para o caso de uso Obter Receitas


ou, se você preferir, a tarefa de percorrer o ResultSet e determinar o total dos lançamentos pode ser transferida para a classe tabela Receita:



i. Diagrama de Classes:

 


 

 
avançar >>
         
 
    página principal
 
Núcleo de Computação Eletrônica
Universidade Federal do Rio de Janeiro
Prédio do Centro de Ciências Matemáticas e da Natureza Bloco C
Caixa Postal: 2324 - CEP: 20.010-974
Cidade Universitária - Ilha do Fundão, Rio de Janeiro - RJ Tel: 2598-3333