Você está na página 1de 43

Sistema Livraria Virtual

uocumenLo de especlflcao de requlslLos e


pro[eLo do slsLema

LsLe documenLo conLem a especlflcao dos requlslLos
para um slsLema de vendas de llvros usados aLraves da
web, apresenLando a slLuao aLual e a preLendlda, alem
da modelagem necessrla a sua lmplemenLao. 1raLa-se
de um pro[eLo hlpoLeLlco uLlllzado para a dlsclpllna de
rLlca em Anllse e ro[eLo de SlsLemas.


Sumrio
1. Viso de Negcio ......................................................................................................................................... 3
1.1 Objetivo ................................................................................................................................................. 3
1.2 Situao atual ......................................................................................................................................... 3
1.3 Situao proposta.................................................................................................................................... 8
1.4 Escopo e restries ............................................................................................................................... 11
2. Requisitos.................................................................................................................................................. 12
2.1 Requisitos Funcionais ........................................................................................................................... 12
2.2 Requisitos No Funcionais .................................................................................................................... 16
3. Viso Use Case .......................................................................................................................................... 19
Pacote 01 - Venda web ............................................................................................................................... 20
Pacote 02 - Atendimento pedidos................................................................................................................. 25
4. Modelagem Dinmica................................................................................................................................. 30
4.1 Diagrama de Sequncia ......................................................................................................................... 30
4.2 Diagrama de Estados ............................................................................................................................. 34
5. Modelos de classes ..................................................................................................................................... 35
5.1 Modelo Classes de Domnio .................................................................................................................. 35
5.2 Modelo Classes Especificao ............................................................................................................... 36
6. Viso de Implantao ................................................................................................................................. 40
6.1. Modelos de Banco de Dados ................................................................................................................. 40
6.2 Modelo de Componentes ....................................................................................................................... 42
6.3 Modelo de Implantao ......................................................................................................................... 43
Sistema Livraria Virtual Documento de projeto do software Pgina:3

1. Viso de Negcio

Escopo do sistema:

Neste projeto o sistema abrange aplicativo para venda de livros usados atravs da web e o controle e acompanhamento dos
pedidos.
1.1 Objetlvo


custom Obj eti...
Sistema para Livraria Virtual
Obj eti vo do si stema:
O Si stema para Li vrari a Vi rtual tem por obj eti vo a i mpl antao de um si stema de i nformao que possi bi l i te a venda de l i vros
usados da Li vrari a Usados e Reusados atravs da Web.

Figura: 1 Objetivo
1.2 Sltuudo utuul


custom Situao atual
Si tuao atual :
Atual mente as vendas de l i vros usados so real i zadas apenas na l oj a (fsi ca) Usados e Reusados. Al m de vendas de l i vros usados,
tambm so real i zadas compras e trocas de l i vros.
A l i vrari a possui um si stema de i nformao que atende ao cadastro de l i vros e o control e de vendas, o qual roda em ambi ente
desktop. Este si stema contempl a:
Cadastro de l i vros, tendo os preos di ferenci ados por exempl ares;
Regi stro de venda dos l i vros, com nota fi scal ;
Regi stro dos dados bsi cos dos cl i entes que efetuam venda de l i vros ou trocas para a l i vrari a.
A empresa tem o obj eti vo de ampl i ar suas vendas atravs da venda pel a Web e para tanto desej a que sej a desenvol vi do um
si stema de i nformao para atender s suas necessi dades.
Para a el aborao do proj eto de software, foram real i zadas entrevi stas com o propri etri o da l i vrari a e funci onri os, as quai s
encontram-se em anexo. Nessas entrevi stas foi forneci do o model o de banco de dados atual do si stema, para que sej am
reaprovei tados os cadastros j exi stentes.

Figura: 2 Situao atual
Sistema Livraria Virtual Documento de projeto do software Pgina:4

Documentao de levantamentos
Os documentos apresentados neste item foram coletados durante o levantamento dos requisitos do sistema, atravs de reunies
com o proprietrio e funcionrios da livraria.
Documentao de levantamentos - (Custom diagram)

custom Documentao de levantame...
Memri as de Reuni o
Memri aReuni o1
Memri aReuni o2

Figura: 3
Sistema Livraria Virtual Documento de projeto do software Pgina:5

MemriaReunio1

Sistema: Sistema Livraria Virtual Usados e Reusados Verso: 1.0
MEMRIA DE REUNIO
Cdigo: 1 Data: 15/10/2008 Hora incio: 09:00 Hora trmino: 11:00
Entrevistador(es):
Entrevistado(s): Jos Ribas/Proprietrio
Assunto: Viso do proprietrio quanto ao sistema a ser desenvolvido
Descrio:
A empresa atua h 20 anos com compra, venda e troca de livros usados.
Atualmente a livraria possui um sistema para controle de vendas, porm apenas para a
frente de caixa (o sistema melhor explicado pelo responsvel). Este sistema, desktop,
permite o cadastro dos livros e a venda (caixa).
A livraria possui livros nas mais diversas categorias: cincias, agricultura, informtica,
geografia, etc.
Deseja-se realizar as vendas de livros usados atravs da web, porm no sero
realizadas trocas e compras de livros usados, por considerar isso um pouco complicado
pela internet.
Pretende-se permitir facilidades de busca de livros por ttulo, autor, categorias. Tambm
disponibilizar uma foto, pois por tratar-se de livros usados importante apresentar seu
estado fsico.
A venda dever se efetuar atravs de cartes de crdito conveniados, depsito bancrio
ou boleto e o cliente poder comprar vrios ttulos numa mesma compra.
Ser necessrio cobrar o transporte dos livros, os quais somente sero entregues no
Brasil. Os livros sero enviados por Sedex dos Correios, podendo ser rastreados pelo site
dos Correios (www.correios.com.br).
Na loja, deseja-se fazer todo o acompanhamento do pedido do cliente, desde sua
solicitao, pagamento, preparao da encomenda e envio e recepo.
Espera-se que este sistema aumente substancialmente a venda de livros da livraria,
ampliando os lucros e a rea de atuao da mesma.

Adrian Alves/Engenheira de requisitos o
Sistema Livraria Virtual Documento de projeto do software Pgina:6


MemriaReunio2

Sistema: Sistema Livraria Virtual Usados e Reusados Verso: 1.0
MEMRIA DE REUNIO
Cdigo: 1 Data: 17/10/2008 Hora incio: 09:00 Hora trmino: 11:00
Entrevistador(es):
Entrevistado(s): Ana Maria Heil/Estoquista, Jorge Ferreira/Vendas
Assunto: Funcionalidade atual da livraria
Descrio:
Existe um sistema utilizado atualmente que possui as seguintes caractersticas:
o Permite o cadastro dos livros (ttulo, autor, edio, editora, palavras-chave, etc.)
o Permite o controle dos exemplares. Este item difere-se de livrarias comuns, pois cada
exemplar tem uma caracterstica peculiar que seu estado de conservao.
o Quando um livro adquirido, ele registrado e, caso necessite de manuteno, fica
cadastrada esta situao e ele no pode ser vendido.
o O preo do livro pode variar em funo do seu estado de conservao, assim o sistema
permite cadastrar o preo por exemplar.
o O sistema permite realizar a venda dos livros, fazendo o controle de caixa e
atualizando a situao do livro para vendido.
o O sistema permite o controle do caixa para a compra de livros, registrando a nova
aquisio (livro).
o O sistema no contempla um mdulo de trocas detalhado, isso feito atravs de uma
compra e uma venda, no tendo relao entre as mesmas.
o O sistema no prov o cadastro de clientes, somente um registro simples dos
fornecedores (pessoas que vendem ou trocam livros).
o O sistema roda numa verso desktop, tendo um banco de dados centralizado e dois
computadores ligados em rede, um no caixa e outro no setor de controle dos livros
(estoque), por onde passam os novos livros adquiridos.
Como hoje a venda apenas na loja, os procedimentos so simples:
o Quando um livro adquirido, ele registrado no sistema e colocado disposio na
prateleira.
o Quando um livro adquirido est em ms condies, ele passa pela manuteno antes
de ir para a prateleira.
o Quando o livro vendido, ele registrado no caixa e dada sua baixa.
Adrian Alves/Engenheira de requisitos o
Sistema Livraria Virtual Documento de projeto do software Pgina:7

o Os clientes podem contar com a ajuda dos vendedores para localizar um determinado
ttulo, porm no existe computador para consulta dos mesmos na loja.
No existe um controle de estoque semelhante s outras livrarias, pois os livros
disponveis so aqueles fornecidos pelos clientes, no h compra de livros novos. Por isso
no tem como controlar estoque mnimo ou mximo. Trata-se dos livros individualmente,
apesar de vrios terem os mesmos dados (que so compartilhados na medida do
possvel). Por exemplo, se j existe um determinado livro de uma edio, cadastrado um
novo exemplar para o mesmo, informando seu estado de conservao. Porm, se no
existe um livro igual, todos os dados so cadastrados.
Acredita-se que para venda web possa se aproveitar todo o cadastro de livros j
existentes.
V-se a necessidade de um cadastro de clientes, pois ser necessrio o controle de
pagamento e o envio dos livros.
Ser necessria uma nova equipe no setor de estoque que dever ficar responsvel pelo
atendimento e acompanhamento dos pedidos dos clientes web.
Sugere-se que a busca dos livros seja feita por ttulo, autor, palavra-chave, categoria.
Os funcionrios disponibilizaram um modelo de banco de dados do sistema atual para que
sejam estudadas as informaes j existentes.

Sistema Livraria Virtual Documento de projeto do software Pgina:8


1.S Sltuudo propoxtu


custom Situao proposta
Si tuao proposta:
Pretende-se desenvol ver e i mpl antar um si stema para a venda de l i vros usados atravs da Web. Neste proj eto no se pretende
al terar o si stema atual para vendas na l oj a fsi ca, o qual est em pl eno funci onamento, nem os procedi mentos adotados para tal
fi m.
Para o novo si stema, pretende-se uti l i zar toda a base de dados j exi stente na l i vrari a, no sendo necessri o i mpl ementar cadastro
para os l i vros, por exempl o.
Dentre as pri nci pai s funci onal i dades a serem i mpl ementadas, destacam-se:
Cri ao de uma i nterface web para venda de l i vros pel a Internet;
Pesqui sas si mpl es e avanadas ao acervo de l i vros;
Apresentao dos detal hes dos l i vros pesqui sados, com fotografi a i ndi vi dual para apresentar seu estado fsi co;
Cadastro de cl i entes, com l ogi n, para real i zar a venda;
Integrao com prestadoras de carto de crdi to e bancos para concreti zar a venda;
Integrao com Correi os para val i dao de CEP;
Control e e acompanhamento dos pedi dos.
Os di agramas de ati vi dades em anexo apresentam as si tuaes pretendi das para as pri nci pai s funci onal i dades do si stema.

Figura: 4 Situao proposta
Sistema Livraria Virtual Documento de projeto do software Pgina:9

1.3.1 Diagrama de atividades para vendas

act 1.3.1 Diagrama de atividades para vend...
Cl i ente web Si stema Correi os Insti tui o fi nancei ra
Inci o
Informa parmetros de
pesquisa
Pesquisa e apresenta
livros
Seleciona livros e coloca
na cesta de compras
Armazena cesta
Finaliza compra
Realiza cadastro
Registra ou atualiza
dados do cliente
Registra pedido
Cl i ente novo?
Informa login e senha e
atualiza cadastro
Informa dados de
pagamento
Envia dados para
prestadora de carto
Processa carto
Forma de
pagamento?
Envia dados para banco Gera boleto
Fornece informaes para
depsito
Valida CEP
Fi nal i za
compra
Fi m
[Bol eto
bancri o]
[Depsi to bancri o]
[Pagamento com
carto]
[Si m]
[No]

Figura: 5 Diagrama de atividades

Sistema Livraria Virtual Documento de projeto do software Pgina:10

1.3.2 Diagrama de atividades para atendimento do pedido
act 1.3.2 Diagrama de atividades para atendimento do pedi...
Funci onri o l i vrari a Si stema Correi os
Inci o
Consulta pedidos
pendentes
Apresenta listagem de
pedidos
Seleciona pedido para
atender
Localiza livros nas
prateleiras
Atualiza status do pedido
(enviado)
Empacota e envia por
Sedex
Realiza a entrega ao
cliente
Entrega AR (Aviso de
Recebimento)
Recebe AR
Atualiza status do pedido
(recebido)
Fi m

Figura: 6 Diagrama de atividades
Sistema Livraria Virtual Documento de projeto do software Pgina:11

1.4 Fxcopo e rextrlex


custom Escopo e restries
Escopo do si stema:
Neste proj eto o si stema abrange apl i cati vo para venda de l i vros usados atravs da web e o control e e acompanhamento dos
pedidos.
Restries:
- No faz parte do escopo deste proj eto o cadastro de l ivros, j exi stente no atual si stema da empresa.
- Dever ser modifi cado o cadastro de l ivros para i nseri r a fotografi a dos mesmos.
- Como o si stema para fi ns di dti cos, no sero consi derados control es mais complexos, tai s como:
Probl emas com entrega de pedi dos (extravi ado, endereo inexistente, etc.).
Pedi dos atendi dos parcial mente.
Endereo de entrega di ferente do endereo do cl i ente.
Outras formas de envi o da encomenda que no sej am Sedex.
Rastreamento do pedido, que ser sugerido ser fei to atravs do site dos Correi os, que fornece esse servi o para
encomendas por Sedex.

Figura: 7 Escopo e restries
Sistema Livraria Virtual Documento de projeto do software Pgina:12


2. Requisitos

2.1 Requlxltox Funclonulx



custom 2.1 Requisitos Funcionais
Mdul o Loj a Mdul o Cl i ente
RF03 - O si stema deve permi ti r que o cl i ente sel eci one um
ou mai s l i vros para compra.
RF02 - O si stema deve permi ti r a vi sual i zao dos detal hes
de um l i vro, i ncl ui ndo fotografi a.
RF01 - O si stema deve permi ti r a consul ta aos l i vros
atravs de categori as ou parametri zada.
RF05 - O si stema deve permi ti r efeti var uma compra de
l i vros sel eci onados.
RF06 - O si stema deve possi bi l i tar o auto-cadastro de
cl i entes no momento da compra, caso o mesmo ai nda no
estej a cadastrado.
RF07 - O si stema deve permi ti r a venda atravs de carto
de crdi to, bol eto bancri o ou depsi to em conta correte.
RF10 - O si stema deve permi ti r o atendi mento dos pedi dos
pel o funci onri o da l oj a
RF11 - O si stema deve permi ti r ao funci onri o, atual i zar o
status do pedi do.
RF12 - O si stema deve permi ti r real i zar consul tas aos
pedi dos
RF13 - O si stema deve permi ti r a confi rmao de
pagamento de pedi dos.
RF04 - O si stema dever permi ti r a excl uso de i tens da
cesta de compras.
RF05 - O si stema deve permi ti r consul tar a qual quer
momento a cesta de compras.
RF08 - O si stema deve cal cul ar o frete a parti r do CEP
i nformado.
RF09 - O si stema deve conferi r o CEP do cl i ente a parti r
do si te dos Correi os.

Figura: 8 Requisitos funcionais
Sistema Livraria Virtual Documento de projeto do software Pgina:13


RF01 - O sistema deve permitir a consulta aos livros atravs de categorias ou
parametrizada.
O sistema deve permitir que o cliente selecione uma categoria e veja todos os livros, ou selecione pesquisa avanada para
parametrizar a consulta.
Na consulta parametrizada poder ser por: categoria, ttulo, autor, editora, ano de edio e assunto.
Responsabilidades (requisitos externos)
NF02 - O sistema para consulta deve permitir o acesso a no mnimo 15 usurios simultaneamente. (Proposed, Low
difficulty)

NF04 - A interface disponvel para o cliente deve ser simples de forma que um usurio inexperiente possa oper-lo
(Proposed, Low difficulty)

RF02 - O sistema deve permitir a visualizao dos detalhes de um livro, incluindo
fotografia.
O sistema deve permitir que o cliente selecione um livro consultado e apresente todos seus dados, incluindo uma
fotografia.
Responsabilidades (requisitos externos)
NF02 - O sistema para consulta deve permitir o acesso a no mnimo 15 usurios simultaneamente. (Proposed, Low
difficulty)

NF04 - A interface disponvel para o cliente deve ser simples de forma que um usurio inexperiente possa oper-lo
(Proposed, Low difficulty)

RF03 - O sistema deve permitir que o cliente selecione um ou mais livros para compra.
O sistema deve permitir que o cliente v selecionando livros para compra a medida em que vai pesquisando, para finalizar
a compra posteriormente.
Responsabilidades (requisitos externos)
NF02 - O sistema para consulta deve permitir o acesso a no mnimo 15 usurios simultaneamente. (Proposed, Low
difficulty)

NF04 - A interface disponvel para o cliente deve ser simples de forma que um usurio inexperiente possa oper-lo
(Proposed, Low difficulty)

RF04 - O sistema dever permitir a excluso de itens da cesta de compras.
Dever ser possvel excluir livros da cesta de compra.
Responsabilidades (requisitos externos)
NF04 - A interface disponvel para o cliente deve ser simples de forma que um usurio inexperiente possa oper-lo
(Proposed, Low difficulty)

RF05 - O sistema deve permitir consultar a qualquer momento a cesta de compras.
O sistema deve apresentar os livros que foram inseridos na cesta de compras.
Responsabilidades (requisitos externos)
NF04 - A interface disponvel para o cliente deve ser simples de forma que um usurio inexperiente possa oper-
lo (Proposed, Low difficulty)

RF05 - O sistema deve permitir efetivar uma compra de livros selecionados.
O sistema deve possibilitar ao cliente efetivar a compra dos livros j selecionados, informando os dados do cliente e dados
de pagamento.
Sistema Livraria Virtual Documento de projeto do software Pgina:14

Responsabilidades (requisitos externos)
NF04 - A interface disponvel para o cliente deve ser simples de forma que um usurio inexperiente possa oper-lo
(Proposed, Low difficulty)

NF05 - O rastreamento do pedido aps enviado ser feito atravs do site dos Correios (www.correios.com.br)
(Proposed, Medium difficulty)

RF06 - O sistema deve possibilitar o auto-cadastro de clientes no momento da compra,
caso o mesmo ainda no esteja cadastrado.
O sistema deve permitir a um cliente no cadastrado seu auto-cadastro.
Caso j seja cadastrado, deve informar e-mail e senha e acessar seus dados cadastrais.
Responsabilidades (requisitos externos)
NF03 - As senhas de acesso ao sistema no devem estar diretamente visveis no banco de dados e sim de algum
modo criptografado. (Proposed, Medium difficulty)

NF04 - A interface disponvel para o cliente deve ser simples de forma que um usurio inexperiente possa oper-lo
(Proposed, Low difficulty)

NF06 - Somente clientes cadastrados podem realizar pedidos. (Proposed, Medium difficulty)

RF07 - O sistema deve permitir a venda atravs de carto de crdito, boleto bancrio ou
depsito em conta correte.
O pagamento das compras ser realizado atravs dos cartes de crdito conveniados com a loja, boleto bancrio ou depsito
em conta corrente.
Responsabilidades (requisitos externos)
NF04 - A interface disponvel para o cliente deve ser simples de forma que um usurio inexperiente possa oper-lo
(Proposed, Low difficulty)

RF08 - O sistema deve calcular o frete a partir do CEP informado.
Este requisito visa garantir ao cliente o preo que dever pagar para o transporte do pedido.

RF09 - O sistema deve conferir o CEP do cliente a partir do site dos Correios.
Este requisito visa garantir a validade do CEP informado, evitando erros na informao do endereo.

RF10 - O sistema deve permitir o atendimento dos pedidos pelo funcionrio da loja
A partir do momento que o pedido do cliente realizado, o funcionrio poder atend-lo aps efetivado o pagamento.
Responsabilidades (requisitos externos)
NF01 - O sistema deve possuir um mecanismo de segurana para evitar que pessoas no autorizadas tenham
acesso ao sistema ou a dados privados. (Proposed, Low difficulty)

NF03 - As senhas de acesso ao sistema no devem estar diretamente visveis no banco de dados e sim de algum
modo criptografado. (Proposed, Medium difficulty)

NF07 - O perodo mximo para efetivao do pagamento de um pedido de 3 dias teis. (Proposed, Medium
difficulty)

RF11 - O sistema deve permitir ao funcionrio, atualizar o status do pedido.
Aps atender um pedido, o funcionrio poder informar seu status:
Sistema Livraria Virtual Documento de projeto do software Pgina:15

- Pedido pago
- Pedido enviado
- Pedido recebido/encerrado
- Pedido cancelado
Responsabilidades (requisitos externos)
NF01 - O sistema deve possuir um mecanismo de segurana para evitar que pessoas no autorizadas tenham acesso
ao sistema ou a dados privados. (Proposed, Low difficulty)

NF03 - As senhas de acesso ao sistema no devem estar diretamente visveis no banco de dados e sim de algum
modo criptografado. (Proposed, Medium difficulty)

RF12 - O sistema deve permitir realizar consultas aos pedidos
O sistema vai permitir que sejam realizadas consultas aos pedidos: por status, totais vendidos, etc.
Responsabilidades (requisitos externos)
NF01 - O sistema deve possuir um mecanismo de segurana para evitar que pessoas no autorizadas tenham acesso
ao sistema ou a dados privados. (Proposed, Low difficulty)

NF03 - As senhas de acesso ao sistema no devem estar diretamente visveis no banco de dados e sim de algum
modo criptografado. (Proposed, Medium difficulty)

RF13 - O sistema deve permitir a confirmao de pagamento de pedidos.
A confirmao de pagamento dos pedidos dever ser realizada pelo funcionrio da loja quando for depsito em conta
corrente, caso contrrio ser feita automaticamente atravs de informaes recebidas da prestadora de carto de crdito
ou banco (boleto).
Responsabilidades (requisitos externos)
NF01 - O sistema deve possuir um mecanismo de segurana para evitar que pessoas no autorizadas tenham
acesso ao sistema ou a dados privados. (Proposed, Low difficulty)

NF03 - As senhas de acesso ao sistema no devem estar diretamente visveis no banco de dados e sim de algum
modo criptografado. (Proposed, Medium difficulty)


Sistema Livraria Virtual Documento de projeto do software Pgina:16

2.2 Requisitos No Funcionais

req 2.2 Requisitos No Funcionais
Requi si tos no funci onai s associ ados aos funci onai s
Requi si tos no funci onai s gerai s do si stema
NF03 - As senhas de acesso ao si stema no devem
estar di retamente vi svei s no banco de dados e si m de
al gum modo cri ptografado.
NF01 - O si stema deve possui r um mecani smo de
segurana para evi tar que pessoas no autori zadas
tenham acesso ao si stema ou a dados pri vados.
NF02 - O si stema para consul ta deve permi ti r o acesso a
no mni mo 15 usuri os si mul taneamente.
NF04 - A i nterface di sponvel para o cl i ente deve ser
si mpl es de forma que um usuri o i nexperi ente possa
oper-l o
NF08 - O si stema ser desenvol vi do no banco de dados
Postgres
NF09 - O si stema ser desenvol vi do em Java
NF05 - O rastreamento do pedi do aps envi ado ser
fei to atravs do si te dos Correi os (www.correi os.com.br)
NF06 - Somente cl i entes cadastrados podem real i zar
pedi dos.
NF07 - O perodo mxi mo para efeti vao do pagamento
de um pedi do de 3 di as tei s.

Figura: 9 Requisitos no funcionais


NF05 - O rastreamento do pedido aps enviado ser feito atravs do site dos Correios
(www.correios.com.br)

Responsabilidades (requisitos externos)
RF05 - O sistema deve permitir efetivar uma compra de livros selecionados. (Proposed, High difficulty)
O sistema deve possibilitar ao cliente efetivar a compra dos livros j selecionados, informando os dados do cliente e
dados de pagamento.


NF06 - Somente clientes cadastrados podem realizar pedidos.

Responsabilidades (requisitos externos)
RF06 - O sistema deve possibilitar o auto-cadastro de clientes no momento da compra, caso o mesmo ainda no esteja
cadastrado. (Proposed, Medium difficulty)
O sistema deve permitir a um cliente no cadastrado seu auto-cadastro.
Caso j seja cadastrado, deve informar e-mail e senha e acessar seus dados cadastrais.


Sistema Livraria Virtual Documento de projeto do software Pgina:17

NF07 - O perodo mximo para efetivao do pagamento de um pedido de 3 dias teis.

Responsabilidades (requisitos externos)
RF10 - O sistema deve permitir o atendimento dos pedidos pelo funcionrio da loja (Proposed, Low difficulty)
A partir do momento que o pedido do cliente realizado, o funcionrio poder atend-lo aps efetivado o pagamento.
NF08 - O sistema ser desenvolvido no banco de dados Postgres

NF09 - O sistema ser desenvolvido em Java

NF01 - O sistema deve possuir um mecanismo de segurana para evitar que pessoas no
autorizadas tenham acesso ao sistema ou a dados privados.

Responsabilidades (requisitos externos)
RF10 - O sistema deve permitir o atendimento dos pedidos pelo funcionrio da loja (Proposed, Low difficulty)
A partir do momento que o pedido do cliente realizado, o funcionrio poder atend-lo aps efetivado o pagamento.
RF11 - O sistema deve permitir ao funcionrio, atualizar o status do pedido. (Proposed, Medium difficulty)
Aps atender um pedido, o funcionrio poder informar seu status:
- Pedido pago
- Pedido enviado
- Pedido recebido/encerrado
- Pedido cancelado
RF12 - O sistema deve permitir realizar consultas aos pedidos (Proposed, Medium difficulty)
O sistema vai permitir que sejam realizadas consultas aos pedidos: por status, totais vendidos, etc.
RF13 - O sistema deve permitir a confirmao de pagamento de pedidos. (Proposed, Medium difficulty)
A confirmao de pagamento dos pedidos dever ser realizada pelo funcionrio da loja quando for depsito em conta
corrente, caso contrrio ser feita automaticamente atravs de informaes recebidas da prestadora de carto de
crdito ou banco (boleto).

NF03 - As senhas de acesso ao sistema no devem estar diretamente visveis no banco de
dados e sim de algum modo criptografado.

Responsabilidades (requisitos externos)
RF06 - O sistema deve possibilitar o auto-cadastro de clientes no momento da compra, caso o mesmo ainda no esteja
cadastrado. (Proposed, Medium difficulty)
O sistema deve permitir a um cliente no cadastrado seu auto-cadastro.
Caso j seja cadastrado, deve informar e-mail e senha e acessar seus dados cadastrais.
RF10 - O sistema deve permitir o atendimento dos pedidos pelo funcionrio da loja (Proposed, Low difficulty)
A partir do momento que o pedido do cliente realizado, o funcionrio poder atend-lo aps efetivado o pagamento.
RF11 - O sistema deve permitir ao funcionrio, atualizar o status do pedido. (Proposed, Medium difficulty)
Aps atender um pedido, o funcionrio poder informar seu status:
- Pedido pago
- Pedido enviado
- Pedido recebido/encerrado
- Pedido cancelado
RF12 - O sistema deve permitir realizar consultas aos pedidos (Proposed, Medium difficulty)
O sistema vai permitir que sejam realizadas consultas aos pedidos: por status, totais vendidos, etc.
Sistema Livraria Virtual Documento de projeto do software Pgina:18

Responsabilidades (requisitos externos)
RF13 - O sistema deve permitir a confirmao de pagamento de pedidos. (Proposed, Medium difficulty)
A confirmao de pagamento dos pedidos dever ser realizada pelo funcionrio da loja quando for depsito em conta
corrente, caso contrrio ser feita automaticamente atravs de informaes recebidas da prestadora de carto de
crdito ou banco (boleto).

NF02 - O sistema para consulta deve permitir o acesso a no mnimo 15 usurios
simultaneamente.

Responsabilidades (requisitos externos)
RF01 - O sistema deve permitir a consulta aos livros atravs de categorias ou parametrizada. (Proposed, Medium
difficulty)
O sistema deve permitir que o cliente selecione uma categoria e veja todos os livros, ou selecione pesquisa avanada
para parametrizar a consulta.
Na consulta parametrizada poder ser por: categoria, ttulo, autor, editora, ano de edio e assunto.
RF02 - O sistema deve permitir a visualizao dos detalhes de um livro, incluindo fotografia. (Proposed, Low
difficulty)
O sistema deve permitir que o cliente selecione um livro consultado e apresente todos seus dados, incluindo uma
fotografia.
RF03 - O sistema deve permitir que o cliente selecione um ou mais livros para compra. (Proposed, Medium
difficulty)
O sistema deve permitir que o cliente v selecionando livros para compra na medida em que vai pesquisando, para
finalizar a compra posteriormente.

NF04 - A interface disponvel para o cliente deve ser simples de forma que um usurio
inexperiente possa oper-lo

Responsabilidades (requisitos externos)
RF01 - O sistema deve permitir a consulta aos livros atravs de categorias ou parametrizada. (Proposed, Medium
difficulty)
O sistema deve permitir que o cliente selecione uma categoria e veja todos os livros, ou selecione pesquisa
avanada para parametrizar a consulta.
Na consulta parametrizada poder ser por: categoria, ttulo, autor, editora, ano de edio e assunto.
RF02 - O sistema deve permitir a visualizao dos detalhes de um livro, incluindo fotografia. (Proposed, Low
difficulty)
O sistema deve permitir que o cliente selecione um livro consultado e apresente todos seus dados, incluindo uma
fotografia.
RF03 - O sistema deve permitir que o cliente selecione um ou mais livros para compra. (Proposed, Medium
difficulty)
O sistema deve permitir que o cliente v selecionando livros para compra a medida em que vai pesquisando, para
finalizar a compra posteriormente.
RF04 - O sistema dever permitir a excluso de itens da cesta de compras. (Proposed, Medium difficulty)
Dever ser possvel excluir livros da cesta de compra.

RF05 - O sistema deve permitir consultar a qualquer momento a cesta de compras. (Proposed, Medium difficulty)
O sistema deve apresentar os livros que foram inseridos na cesta de compras.
RF05 - O sistema deve permitir efetivar uma compra de livros selecionados. (Proposed, High difficulty)
O sistema deve possibilitar ao cliente efetivar a compra dos livros j selecionados, informando os dados do cliente e
dados de pagamento.
RF06 - O sistema deve possibilitar o auto-cadastro de clientes no momento da compra, caso o mesmo ainda no
esteja cadastrado. (Proposed, Medium difficulty)
O sistema deve permitir a um cliente no cadastrado seu auto-cadastro.
Caso j seja cadastrado, deve informar e-mail e senha e acessar seus dados cadastrais.
RF07 - O sistema deve permitir a venda atravs de carto de crdito, boleto bancrio ou depsito em conta correte.
(Proposed, Low difficulty)
O pagamento das compras ser realizado atravs dos cartes de crdito conveniados com a loja, boleto bancrio ou
depsito em conta corrente.
Sistema Livraria Virtual Documento de projeto do software Pgina:19

3. Viso Use Case

Modelo de Casos de Uso
Os casos de uso podem ser descritos de duas formas, o modelo casual ou o caso de uso detalhado.

O formato casual, apresenta uma descrio em alto nvel que consiste em explicar sucintamente o objetivo e o
funcionamento do caso de uso, indicando algumas excees importantes, mas no necessariamente todas
(WAZLAWICK, 2004, p. 64-65).

O formato detalhado contempla a descrio dos cenrios, sendo eles: principal, alternativo e de exceo. O cenrio
principal descreve o que normalmente acontece quando um caso de uso realizado. Os cenrios alternativos
descrevem o que acontece quando o ator faz uma escolha alternativa, diferente da descrita no fluxo principal, para
alcanar o seu objetivo. Os cenrios de exceo descrevem o que acontece quando algo inesperado ocorre na
interao entre ator e casos de uso (BEZERRA, 2002, p. 66-67).

Neste projeto foram adotados os dois modelos, a ttulo de exemplificao. A descrio casual ser adotada para casos de uso
bsicos, enquanto que o formato detalhado ser aplicado aos casos de uso essenciais do negcio.


Organizao dos pacotes - (Analysis diagram)

analysis Organizao dos pacotes
Pacote 02 - Atendimento pedidos
+ Funci onari o
+ UC02.02 Efeti va pagamento de pedi do
+ UC02.03 Efeti va pagamento automti co de pedi do
+ UC02.04 Regi stra pagamento
+ UC02.05 Atende pedi do
+ UC02.06 Atual i za status do pedi do
+ UC02.07 Consul ta pedi dos
+ UC 02.01 Loga no Si stema
Pacote 01 - Venda web
+ Banco
+ Correi os
+ Insti tui o Fi nancei ra
+ Prestadora de Carto de Crdi to
+ Cl i ente
+ UC01.01 Consul ta l i vros
+ UC01.02 Consul ta avanada
+ UC01.03 Insere l i vro na cesta de compras
+ UC01.04 Reti ra l i vros da cesta de compras
+ UC01.05 Consul ta cesta de compras
+ UC01.06 Fi nal i za compra
+ UC01.07 Cadastra cl i ente

Figura: 10 Diagrama de pacotes de casos de uso

Sistema Livraria Virtual Documento de projeto do software Pgina:20

Pucote 01 - VenJu web

uc Pacote 01 - Venda w...
Cliente
UC01.01 Consulta livros
UC01.02 Consulta
avanada
UC01.03 Insere livro na
cesta de compras
UC01.04 Retira livros da
cesta de compras
UC01.05 Consulta cesta
de compras
UC01.06 Finaliza compra
Prestadora de Carto de
Crdito
Banco
UC01.07 Cadastra cliente
Esteretipo INCLUDE
Ocorre quando h uma parte
do comportamento que
semel hante em mai s de um
caso de uso e voc no quer
fi car copi ando a descrio
deste comportamento.
Estereti po EXTEND
Ocorre quando voc estiver descrevendo uma
variao de comportamento normal e desej a
util i zar a forma mais control ada, expli cando os
pontos de extenso no caso de uso-base. Ou
sej a, uti li zado para descrever cenri os
opci onai s de um caso de uso (os casos de uso
descrevem cenrios que sempre acontecero no
sistema, j os casos de uso estendido, descrevem
cenri os que somente ocorrero em uma
situao especfica).
Correios
Instituio Financeira
i ncl ude
extend

Figura: 11 Pacote venda web
Banco
Este ator refere-se ao software que ser acessado para comunicao com instituio financeira (banco) para gerao de
boleto de pagamento.
Cliente
Este ator representa os clientes que acessam o site da livraria virtual.
Correios
Este ator representa os Correios e os servios web prestados pelo mesmo
Instituio Financeira

Sistema Livraria Virtual Documento de projeto do software Pgina:21

Prestadora de Carto de Crdito
Este ator refere-se ao software de comunicao entre o site da livraria e a prestadora de carto de crdito, atravs de um
webservice para efetuar pagamento.

UC01.01 Consulta livros
Este cenrio permite ao Cliente consultar livros, selecionando uma categoria que deseja listar.
O sistema apresenta uma lista dos livros da categoria selecionada, com seus dados bsicos (ttulo, autor) e possibilita um link
para os detalhes e fotografia do livro.
Responsabilidades (requisitos externos)
RF01 - O sistema deve permitir a consulta aos livros atravs de categorias ou parametrizada. (Proposed, Medium
difficulty)
O sistema deve permitir que o cliente selecione uma categoria e veja todos os livros, ou selecione pesquisa
avanada para parametrizar a consulta.
Na consulta parametrizada poder ser por: categoria, ttulo, autor, editora, ano de edio e assunto.
RF02 - O sistema deve permitir a visualizao dos detalhes de um livro, incluindo fotografia. (Proposed, Low
difficulty)
O sistema deve permitir que o cliente selecione um livro consultado e apresente todos seus dados, incluindo uma
fotografia.
Restries
O usurio dever ter acesso web utilizando um browser: (Pr-condio, Status is Proposed)

A consulta de livros realizada: (Ps-condio, Status is Proposed)

UC01.02 Consulta avanada
Opcionalmente o Cliente pode selecionar a consulta avanada, onde sero disponibilizados diversos parmetros para uma
filtragem mais refinada dos livros cadastrados.
Responsabilidades (requisitos externos)
RF01 - O sistema deve permitir a consulta aos livros atravs de categorias ou parametrizada. (Proposed, Medium
difficulty)
O sistema deve permitir que o cliente selecione uma categoria e veja todos os livros, ou selecione pesquisa
avanada para parametrizar a consulta.
Na consulta parametrizada poder ser por: categoria, ttulo, autor, editora, ano de edio e assunto.
Restries
O usurio dever ter acesso web utilizando um browser: (Pr-condio, Status is Proposed)

A consulta avanada de livros foi realizada: (Ps-condio, Status is Proposed)

UC01.03 Insere livro na cesta de compras
Neste caso de uso, o cliente pode selecionar um livro da listagem apresentada na consulta, ou no detalhe, e inseri-lo na sua
cesta de compras.
Responsabilidades (requisitos externos)
RF03 - O sistema deve permitir que o cliente selecione um ou mais livros para compra. (Proposed, Medium
difficulty)
O sistema deve permitir que o cliente v selecionando livros para compra a medida em que vai pesquisando, para
finalizar a compra posteriormente.
Restries
O cliente realizou uma pesquisa de livros: (Pr-condio, Status is Proposed)

Um livro foi inserido na cesta de compras: (Ps-condio, Status is Proposed)

UC01.04 Retira livros da cesta de compras
Neste caso de uso o Cliente pode acessar sua cesta de compras e retirar livros que no deseja comprar.
Responsabilidades (requisitos externos)
Sistema Livraria Virtual Documento de projeto do software Pgina:22

Responsabilidades (requisitos externos)
RF04 - O sistema dever permitir a excluso de itens da cesta de compras. (Proposed, Medium difficulty)
Dever ser possvel excluir livros da cesta de compra.
Restries
O cliente acessou a cesta de compras: (Pr-condio, Status is Proposed)

Um livro foi retirado da cesta de compras: (Ps-condio, Status is Proposed)

UC01.05 Consulta cesta de compras
Neste caso de uso, o Cliente pode a qualquer momento verificar os itens selecionados na sua cesta de compras.
Responsabilidades (requisitos externos)
RF05 - O sistema deve permitir consultar a qualquer momento a cesta de compras. (Proposed, Medium difficulty)
O sistema deve apresentar os livros que foram inseridos na cesta de compras.
Restries
O cliente acessou a cesta de compras: (Pr-condio, Status is Proposed)

A lista de livros da cesta de compras foi apresentada: (Ps-condio, Status is Proposed)

UC01.06 Finaliza compra
Neste caso de uso o Cliente poder finalizar sua compra.
O sistema solicita o login e senha e, caso o cliente ainda no seja cadastrado, solicitar os dados para cadastro.
Aps, o sistema vai solicitar a forma de pagamento, onde o cliente devem informar os dados conforme o tipo de pagamento
desejado: carto de crdito, depsito bancrio ou boleto.
Aps realizar o registro do pedido, o mesmo registrado com o status "Pedido realizado". Os livros solicitados tero seu
status alterados para "Vendido".
Responsabilidades (requisitos externos)
RF05 - O sistema deve permitir efetivar uma compra de livros selecionados. (Proposed, High difficulty)
O sistema deve possibilitar ao cliente efetivar a compra dos livros j selecionados, informando os dados do cliente
e dados de pagamento.
RF07 - O sistema deve permitir a venda atravs de carto de crdito, boleto bancrio ou depsito em conta
correte. (Proposed, Low difficulty)
O pagamento das compras ser realizado atravs dos cartes de crdito conveniados com a loja, boleto bancrio
ou depsito em conta corrente.
RF08 - O sistema deve calcular o frete a partir do CEP informado. (Proposed, Medium difficulty)
Este requisito visa garantir ao cliente o preo que dever pagar para o transporte do pedido.
Restries
Um ou mais livros foram inseridos na cesta de compras: (Pr-condio, Status is Proposed)

Um pedido foi registrado: (Ps-condio, Status is Proposed)

Cenrios
1. Finaliza compra - Principal
1. Aps consultar sua cesta de compras (UC01.05) o cliente clica em "Finalizar pedido".
2. O sistema solicita o e-mail e senha do cliente.
3. O cliente informa e-mail e senha e o sistema confere.
4. O sistema calcula o frete e apresenta o total do pedido.
5. O sistema solicita a forma de pagamento: carto de crdito, boleto bancrio ou depsito em conta corrente.
6. O cliente seleciona a forma de pagamento e informa os dados especficos.
7. O cliente clica em "Confirmar pedido".
8. O sistema efetua o pagamento conforme a forma de pagamento selecionada. 8.1 Caso seja carto de
crdito, envia para a Prestadora de Carto de crdito. 8.2 Caso seja boleto, envia para o banco. O banco
gera o boleto e o cliente pode imprimi-lo para pagamento. 8.3 Caso seja depsito, informa ao cliente os
dados da conta corrente para depsito.
Sistema Livraria Virtual Documento de projeto do software Pgina:23

Responsabilidades (requisitos externos)
9. O sistema salva os dados do pedido, registrando-o como "Pedido realizado" e, para cada livro, o status
"Vendido".
10. Sistema apresenta mensagem de sucesso da operao
11. O caso de uso encerrado.


2. Usurio no cadastrado - Alternativo
1. No passo 3 do fluxo 1, caso o cliente no seja cadastrado no sistema, seleciona a opo "Ainda no sou
cadastrado".
2. O caso de uso (UC01.07) executado.


3. Senha invlida - Exceo
1. No passo 3 do fluxo 1, caso o e-mail ou senha informados sejam invlidos, o sistema emite mensagem
"E-mail no cadastrado ou senha invlida".
2. Retorna ao passo 2 do fluxo 1.


4. Forma de pagamento carto de crdito - Alternativo
1. No passo 5 do fluxo 1, caso a forma de pagamento selecionada seja "Carto de Crdito", o sistema
habilita os tipos de carto aceitos e os campos de nmero do carto, cdigo de segurana e validade.


5. Forma de pagamento depsito - Alternativo
1. No passo 5 do fluxo 1, caso a forma de pagamento selecionada seja "Depsito bancrio", o sistema
habilita os bancos disponveis para depsito.


Testes
Teste Detalhe
1. Finaliza compra
test.
Status: Not Run
1. Aps consultar sua cesta de compras (UC01.05) o cliente clica em "Finalizar
pedido".
2. O sistema solicita o e-mail e senha do cliente.
3. O cliente informa e-mail e senha e o sistema confere.
4. O sistema calcula o frete e apresenta o total do pedido.
5. O sistema solicita a forma de pagamento: carto de crdito, boleto bancrio ou
depsito em conta corrente.
6. O cliente seleciona a forma de pagamento e informa os dados especficos.
7. O cliente clica em "Confirmar pedido".
8. O sistema efetua o pagamento conforme a forma de pagamento selecionada. 8.1
Caso seja carto de crdito, envia para a Prestadora de Carto de crdito. 8.2 Caso
seja boleto, envia para o banco. O banco gera o boleto e o cliente pode imprimi-lo
para pagamento. 8.3 Caso seja depsito, informa ao cliente os dados da conta
corrente para depsito.
9. O sistema salva os dados do pedido, registrando-o como "Pedido realizado" e, para
cada livro, o status "Vendido".
10. O caso de uso encerrado.

Aceitao O sistema emite boleto bancrio para pagamento com os dados infomados no
pedido.
O sistema avisa o sucesso da operao.
Resultados:
2. Usurio no cadastrado
test.
Status: Not Run
1. No passo 3 do fluxo 1, caso o cliente no seja cadastrado no sistema, seleciona a
opo "Ainda no sou cadastrado".
2. O caso de uso (UC01.07) executado.

Sistema Livraria Virtual Documento de projeto do software Pgina:24

Teste Detalhe
Aceitao aberta uma tela de cadastro de cliente (UC01.07) e o cliente cadastrado

Ao final, gerado o boleto bancrio.
O sistema avisa o sucesso da operao.

Resultados:
3. Senha invlida
test.
Status: Not Run
1. No passo 3 do fluxo 1, caso o e-mail ou senha informados sejam invlidos, o
sistema emite mensagem "E-mail no cadastrado ou senha invlida".
2. Retorna ao passo 2 do fluxo 1.

Aceitao Sistema emite mensagem "E-mail no cadastrado ou senha invlida"
Resultados:
4. Forma de pagamento
carto de crdito
test.
Status: Not Run
1. No passo 5 do fluxo 1, caso a forma de pagamento selecionada seja "Carto de
Crdito", o sistema habilita os tipos de carto aceitos e os campos de nmero do
carto, cdigo de segurana e validade.

Aceitao O sistema habilita os campos do carto de crdito
O sistema avisa o sucesso da operao.
Resultados:
5. Forma de pagamento
depsito
test.
Status: Not Run
1. No passo 5 do fluxo 1, caso a forma de pagamento selecionada seja "Depsito
bancrio", o sistema habilita os bancos disponveis para depsito.

Aceitao O sistema apresenta nmero da agncia 123 e conta 456-1 da Caixa para
depsito.
O sistema avisa o sucesso da operao.
Resultados:

UC01.07 Cadastra cliente
Neste caso de uso o cliente realizar seu auto-cadastro, informando seus dados pessoais e endereo.
Responsabilidades (requisitos externos)
RF06 - O sistema deve possibilitar o auto-cadastro de clientes no momento da compra, caso o mesmo ainda no
esteja cadastrado. (Proposed, Medium difficulty)
O sistema deve permitir a um cliente no cadastrado seu auto-cadastro.
Caso j seja cadastrado, deve informar e-mail e senha e acessar seus dados cadastrais.
RF09 - O sistema deve conferir o CEP do cliente a partir do site dos Correios. (Proposed, Medium
difficulty)
Este requisito visa garantir a validade do CEP informado, evitando erros na informao do endereo.
Restries
Usurio ainda no tem registro: (Pr-condio, Status is Proposed)

Um usurio foi cadastrado: (Ps-condio, Status is Proposed)


Sistema Livraria Virtual Documento de projeto do software Pgina:25

Pucote 02 - AtenJlmento peJlJox


uc Pacote 02 - Atendimento pedidos
Funcionario
UC 02.01 Loga no
Sistema
Descri o do caso de
uso: O formato casual ,
apresenta uma
descri o em al to nvel
que consi ste em
expl i car suci ntamente
o obj eti vo e o
funci onamento do caso
de uso, i ndi cando
al gumas excees
i mportantes, mas no
necessari amente todas.
(WAZLAWICK, 2004, p.
64-65)
Descri o do caso de uso: O formato
detal hado contempl a a descri o dos
cenri os, sendo el es: pri nci pal , al ternati vo
e de exceo. O cenri o pri nci pal descreve
o que normal mente acontece quando um
caso de uso real i zado. Os cenri os
al ternati vos descrevem o que acontece
quando o ator faz uma escol ha al ternati va,
di ferente da descri ta no fl uxo pri nci pal ,
para al canar o seu obj eti vo. Os cenri os
de exceo descrevem o que acontece
quando al go i nesperado ocorre na
i nterao entre ator e casos de uso
(BEZERRA, 2002, p. 66-67).
UC02.02 Efetiva
pagamento de pedido
UC02.05 Atende
pedido
UC02.06 Atualiza
status do pedido
UC02.07 Consulta
pedidos
Banco
(fromPacote 01 - Venda web)
Prestadora de Carto de
Crdito
(fromPacote 01 - Venda web)
Instituio Financeira
(fromPacote 01 - Venda web)
UC02.03 Efetiva
pagamento automtico
de pedido
UC02.04 Registra
pagamento
i ncl ude
i ncl ude

Figura: 12 Pacote atendimento de pedidos
Funcionario
Este ator representa a(s) pessoa(s) que trabalham na livraria, realizando o atendimento e acompanhamento dos pedidos.


UC 02.01 Loga no Sistema
Este caso de uso permite que o funcionrio faa o login no sistema. Para tanto, informa seu e-mail e senha, habilitando as
funcionalidades desejadas. Este cenrio permite conferir ao sistema segurana da informao, bem como auferir
responsabilidade de uso do sistema.
Caso o e-mail ou senha informada sejam incorretas, o sistema emitir um aviso ao usurio.
Responsabilidades (requisitos externos)
NF01 - O sistema deve possuir um mecanismo de segurana para evitar que pessoas no autorizadas tenham acesso
ao sistema ou a dados privados. (Proposed, Low difficulty)

Restries
O usurio acessou uma rea restrita do sistema: (Pr-condio, Status is Proposed)

O usurio foi autenticado no sistema: (Ps-condio, Status is Proposed)

UC02.02 Efetiva pagamento de pedido
Este caso de uso permite que o funcionrio da livraria efetive o pagamento de um pedido, atravs da conferncia do depsito
bancrio realizado pelo cliente.
Caso sejam transcorridos 3 dias e o pagamento no tenha sido confirmado, o funcionrio tem a possibilidade de
cancelar o pedido.
Sistema Livraria Virtual Documento de projeto do software Pgina:26

Responsabilidades (requisitos externos)
RF13 - O sistema deve permitir a confirmao de pagamento de pedidos. (Proposed, Medium difficulty)
A confirmao de pagamento dos pedidos dever ser realizada pelo funcionrio da loja quando for depsito em
conta corrente, caso contrrio ser feita automaticamente atravs de informaes recebidas da prestadora de carto
de crdito ou banco (boleto).
Restries
O funcionrio deve estar logado no sistema: (Pr-condio, Status is Proposed)

Pedidos foram realizados: (Pr-condio, Status is Proposed)

Um ou mais pedidos foram confirmados ou cancelados: (Ps-condio, Status is Proposed)

Cenrios
1. Efetiva pagamento de pedido - Principal
1. O sistema apresenta tela com a listagem dos pedidos com o status "Pedido realizado".
2. O funcionrio seleciona o pedido que deseja confirmar pagamento.
3. O funcionrio informa dados do pagamento e confirma.
4. O sistema executa o UC02.04 - Efetiva pagamento de pedido e emite aviso de sucesso da operao
5. O caso de uso encerrado.


2. Pedido cancelado - Alternativo
1. No passo 3 do fluxo 1, caso tenham sido transcorridos 3 dias teis e o pagamento no foi efetivado, o
funcionrio vai registrar o cancelamento do pedido.
2. O sistema executa o UC02.04 - Pedido cancelado e emite aviso de sucesso da operao
3. O caso de uso encerrado


3. Problema na operao - Exceo
1. No passo 4 do fluxo 1 ou no passo 2 do fluxo 2, caso a transao no seja efetuada, o sistema emite
mensagem de erro.


Testes
Teste Detalhe
1. Efetiva pagamento de
pedido
Standard test.
Status: Not Run
1. O sistema apresenta tela com a listagem dos pedidos com o status "Pedido
realizado".
2. O funcionrio seleciona o pedido que deseja confirmar pagamento.
3. O funcionrio informa dados do pagamento e confirma.
4. O sistema executa o UC02.04 - Efetiva pagamento de pedido e emite aviso de
sucesso da operao
5. O caso de uso encerrado.

Aceitao Sistema informa que pagamento foi registrado com sucesso
Resultados:
2. Pedido cancelado
Standard test.
Status: Not Run
1. No passo 3 do fluxo 1, caso tenham sido transcorridos 3 dias teis e o pagamento
no foi efetivado, o funcionrio vai registrar o cancelamento do pedido.
2. O sistema executa o UC02.04 - Pedido cancelado e emite aviso de sucesso da
operao
3. O caso de uso encerrado

Aceitao Sistema informa que pedido foi cancelado.
Os livros do pedido esto disponveis.
Resultados:
3. Problema na operao -
Pagamento
Standard test.
1. No passo 4 do fluxo 1 ou no passo 2 do fluxo 2, caso a transao no seja efetuada,
o sistema emite mensagem de erro.
Sistema Livraria Virtual Documento de projeto do software Pgina:27

Teste Detalhe
Status: Not Run
Aceitao Sistema emite mensagem de erro, informando que o pagamento no foi
efetuado.
Resultados:
4. Problema na operao -
Cancelamento
Standard test.
Status: Not Run
1. No passo 4 do fluxo 1 ou no passo 2 do fluxo 2, caso a transao no seja efetuada,
o sistema emite mensagem de erro.

Aceitao Sistema emite mensagem de erro, informando que o cancelamento no foi
efetuado.
Resultados:
UC02.03 Efetiva pagamento automtico de pedido
Este caso de uso permite que seja feita a baixa automatica do pagamento de pedidos efetivados por carto de crdito ou
boleto bancrio.
Tambm permite que sejam cancelados pedidos negados pela prestadora de carto de crdito.
Responsabilidades (requisitos externos)
RF13 - O sistema deve permitir a confirmao de pagamento de pedidos. (Proposed, Medium difficulty)
A confirmao de pagamento dos pedidos dever ser realizada pelo funcionrio da loja quando for depsito em
conta corrente, caso contrrio ser feita automaticamente atravs de informaes recebidas da prestadora de
carto de crdito ou banco (boleto).
Restries
Pedidos foram realizados: (Pr-condio, Status is Proposed)

Um ou mais pedidos foram confirmados ou cancelados: (Ps-condio, Status is Proposed)

Cenrios
1. Pagamento automtico - Principal
1. Para cada instituio financeira com a qual a livraria conveniada, o sistema se conecta com o servio
de troca de dados e obtem os dados de baixa de pagamentos
2. O sistema processa o arquivo recebido validando-o
3. Para cada pedido, o sistema executa o UC02.04 - Efetiva pagamento de pedido
4. O caso de uso encerrado.


2. Pagamento negado para o carto de crdito - Exceo
1. No passo 3 do fluxo 1, caso a prestadora de carto de crdito tenha negado a compra, o sistema vai
registrar o cancelamento do pedido.
2. O sistema executa o UC02.04 - Cancela pedido


UC02.04 Registra pagamento
Este caso efetiva a baixa do pagamento do pedido, manualmente ou processo de recebimento de baixas de instituies
financeiras.
O status do pedido registrado como "Pagamento confirmado".
Responsabilidades (requisitos externos)
RF13 - O sistema deve permitir a confirmao de pagamento de pedidos. (Proposed, Medium difficulty)
A confirmao de pagamento dos pedidos dever ser realizada pelo funcionrio da loja quando for depsito em
conta corrente, caso contrrio ser feita automaticamente atravs de informaes recebidas da prestadora de
carto de crdito ou banco (boleto).
Restries
Foi verificado o pagamento efetivo dos pedidos: (Pr-condio, Status is Proposed)

Um ou mais pedidos foram confirmados ou cancelados: (Ps-condio, Status is Proposed)

Cenrios
Sistema Livraria Virtual Documento de projeto do software Pgina:28

Responsabilidades (requisitos externos)
1. Efetiva pagamento de pedido - Principal
1. Para cada pedido informado, o sistema registra o pagamento, alterando o status do pedido para
"Pagamento confirmado".
2. O caso de uso encerrado.


2. Pedido cancelado - Exceo
1. No passo 1 do fluxo 1, caso a prestadora de carto de crdito tenha negado a compra ou o funcionrio
tenha cancelado o pedido, o sistema vai registrar o cancelamento do pedido.
2. O sistema registra o pedido com o status "Pedido cancelado" e, para cada livro, o status "Disponvel".


UC02.05 Atende pedido
Este caso de uso permite que o funcionrio faa o atendimento do pedido.
O funcionrio vai consultar a lista de pedidos pendentes (solicitados e pagos), localizar na prateleira os livros
comprados, embal-los e emitir etiqueta com endereo do cliente para envio.
Em seguida, vai registrar no sistema o status do pedido como "Preparado para envio".
Responsabilidades (requisitos externos)
RF10 - O sistema deve permitir o atendimento dos pedidos pelo funcionrio da loja (Proposed, Low difficulty)
A partir do momento que o pedido do cliente realizado, o funcionrio poder atend-lo aps efetivado o
pagamento.
Restries
O funcionrio deve estar logado no sistema: (Pr-condio, Status is Proposed)

Pedidos tiveram pagamento confirmado: (Pr-condio, Status is Proposed)

Um ou mais pedidos foram atendidos: (Ps-condio, Status is Proposed)

UC02.06 Atualiza status do pedido
Neste caso de uso o funcionrio ir atualizar o status dos pedidos, aps preparados para envio.
1. Assim que a encomenda for postada nos Correios, o funcionrio registra o nmero do Sedex, a data de postagem
e altera o status do pedido para "Produto em transporte".
2. Assim que o funcionrio confirmar o recebimento do pedido pelo cliente, registra a data de recebimento e altera
o status do pedido para "Pedido entregue".

Responsabilidades (requisitos externos)
RF11 - O sistema deve permitir ao funcionrio, atualizar o status do pedido. (Proposed, Medium
difficulty)
Aps atender um pedido, o funcionrio poder informar seu status:
- Pedido pago
- Pedido enviado
- Pedido recebido/encerrado
- Pedido cancelado
Restries
O funcionrio deve estar logado no sistema: (Pr-condio, Status is Proposed)

Pedidos foram postados nos Correios: (Pr-condio, Status is Proposed)

O status de envio de pedios pelos Correios foi atualizado : (Ps-condio, Status is Proposed)

UC02.07 Consulta pedidos
Este caso de uso permite realizar a consulta aos pedidos, permitindo filtrar por status, cliente, livro, perodo dos
pedidos.
Sistema Livraria Virtual Documento de projeto do software Pgina:29

O sistema apresenta uma listagem dos pedidos selecionados e permite visualizar os detalhes do pedido desejado.
Responsabilidades (requisitos externos)
RF12 - O sistema deve permitir realizar consultas aos pedidos (Proposed, Medium difficulty)
O sistema vai permitir que sejam realizadas consultas aos pedidos: por status, totais vendidos, etc.
Restries
O funcionrio deve estar logado no sistema: (Pr-condio, Status is Proposed)

Um ou mais pedidos foram consultados: (Ps-condio, Status is Proposed)


Sistema Livraria Virtual Documento de projeto do software Pgina:30

4. Modelagem Dinmica

4.1 lugrumu Je Sequnclu

SQ01.0 Finaliza compra


sd SQ01.06 Finaliza compra
alt Validao do usurio
[Usuri o cadastrado]
[Novo usuri o]
Cl i ente Tel aCestaCompra :
Tel aCestaCompra
Ctl rCestaCompra :
Ctrl CestaCompra
Cl i ente :Cl i ente Correios ItemCesta :
ItemCesta
Control eConfi rmaPedi do
:
Ctrl Confi rmaPedi do
Insti tui o fi nancei ra
Pedi do :Pedido
Pagamento :
Pagamento
Exempl ar :
Exemplar
seq UC01.07 - Cadastra cliente
[Cl i ente novo]
Tel aConfi rmaoPedi do
:
Tel aConfi rmacaoPedi do
WebServi ce :
WebServi ceCompra
Fi nal i zaPedi do()
PedeLogi nSenha()
Informa l ogi n e senha()
ConfereLogi n()
Vali daLogi n() :bool ean
[Usuri o i nvl i do]:Msg(E-mai l no cadastrado ou
senha i nvl i da)
[Sel eci ona Ai nda no sou cadastrado]:
NovoCl i ente()
NovoCl i ente()
[Usuri o vl i do]:
GetCEP()
getItensCesta()
Sol i ci taCal cul oFrete(CEP)
Cal culaTotal ()
Abre()
Show(Total pedi do)
Sel eci ona forma de pagamento()
Habi l i taCamposPagamento(FormaPagto)
Preenche i nformaes do pagamento()
Confi rmaPedi do()
Confi rmaPedi do()
getItensCesta()
[Pagamento carto ou bol eto]:
Sol i ci taServi co()
Sol i ci taServi co()
New(Pedi do
Real i zado)
New()
Para cada i tem da cesta
*Atual i zaStatus(Vendi do)
[Depsi to bancri o]:
ApresentaDadosConta()
[Sucesso]:Msg(Pedi do
Real i zado)

Figura: 13 Diagrama de sequncia finaliza compra
Sistema Livraria Virtual Documento de projeto do software Pgina:31

SQ02.02 Efetiva pagamento de pedido
sd UC02.02 Efetiva pagamento de pedi...
Funci onri o Li stagemPedi dos :
Li stagemPedi dos
Confi rmacao :
Tel aConfi rmacaoPagamento
Pagamento :
Ctrl Pagamento
Pedi do :Pedi do Exempl ar :
Exempl ar
alt Baixa do pedido
[Bai xa pagamento]
alt Cancelamento do pedido
[Cancel amento do pedi do]
Regi straPagamento
:
Ctrl Regi straPagamento
(fromSQ02.04 Regi stra pagamento)
alt Confirma pagamento
[Pagamento efeti vado]
[Pedi do cancel ado]
Li staPedi dos= Consul taPedi dos(Pedi do Real i zado)
Show()
Sel eci ona pedi do()
AbrePedi do(Pedi do)
GetDetal hesPedi do(Pedi do)
GetExempl aresPedi do()
Abre()
Show()
Informa dados do pagamento()
Confi rmaPagamento()
Sucesso=
Confi rmaPagamentoPedi do()
:bool ean
Sucesso=
Confi rmaPagamentoPedi do()
:bool ean
[Sucesso]:
Msg(Pagamento com
sucesso)
[Not Sucesso]:Msg(Pagamento
no real i zado)
[Passou 3 di as tei s e o pagamento no foi efetuado]:
Cancel aPedi do()
Sucesso=
Cancel aPedi do()
:bool ean
Sucesso=
Cancel aPedi do()
:bool ean
[Sucesso]:Msg(Cancel amento
real i zado com sucesso)
[Not Sucesso]:Msg(Cancel amento no real i zado)

Figura: 14 Efetiva pagamento de pedido
Sistema Livraria Virtual Documento de projeto do software Pgina:32

SQ02.03 Efetiva pagamento automtico de pedido


sd SQ02.03 Efetiva pagamento automtico de pedi...
Insti tui o fi nancei ra BaixaPagamentoAutomti ca
:
Ctrl PagamentoAutomatico
Pedi do :Pedi do
(fromSQ02.02 Efeti va pagamento de pedi do)
alt Baixa do pedido
[Bai xa pagamento]
alt Cancelamento do pedido
[Cancel amento do pedi do]
LogProcessamento
:
LogProcessamento
Regi straPagamento
:
Ctrl Regi straPagamento
(fromSQ02.04 Regi stra pagamento)
WebServi ce :
WebServi ceConfi rmacao
Para cada i nsti tui o fi nancei ra
*Sol i ci taServico()
SubmeteRequi si cao()
Retorna pacote()
Val i daPacote()
Para cada pedi do
*Val i daPedi do() :
bool ean
[Pedi do Vl i do]:
ProcessaPagamento()
[Pagamento efeti vado]:
Confi rmaPagamentoPedi do()
:bool ean
[Pagamento no efeti vado]:
Cancel aPedi do() :bool ean
Regi straLog()

Figura: 15 Efetiva pagamento automtico de pedido
Sistema Livraria Virtual Documento de projeto do software Pgina:33

SQ02.04 Registra pagamento

sd SQ02.04 Registra pagamento
alt Cancelamento do pedido
[Cancel amento do pedi do]
alt Baixa do pedido
[Bai xa pagamento]
Pedi do :Pedi do
(from SQ02.02 Efeti va pagamento de pedi do)
Exempl ar :
Exempl ar
(from SQ02.02 Efeti va pagamento de pedi do)
Regi straPagamento
:
Ctrl Regi straPagamento
Pagamento :
Pagamento
Atual i zaStatus(Pagamento
Confi rmado)
Confi rmaPagamento(14-11-2008, Pago)
Atual i zaStatus(Pedi do
Cancel ado)
Para cada exempl ar
*Atual i zaStatus(Di sponvel )

Figura: 16 Registra pagamento
Sistema Livraria Virtual Documento de projeto do software Pgina:34

4.2 lugrumu Je FxtuJox


stm Estados do pedido
Di agrama de Estados para a Cl asse Pedi do
Fi nal i za pedi do
Pedido realizado
Pagamento
confirmado
Preparado para envio
Produto em transporte
Pedido entregue
Pedido cancelado
Atendi do
Cancel ado
[Confi rmao do pagamento]
Aps 3 di as [Pagamento
no efetuado]

Figura: 17 Estados do pedido

Sistema Livraria Virtual Documento de projeto do software Pgina:35

5. Modelos de classes

S.1 MoJelo Cluxxex Je omnlo


class Modelo Lgi...
Pessoa
- nomePessoa: char
- tel efone: i nt
- emai l : Char
- senha: i nt
- Val i daUsuari o(Integer, Integer) : Bool ean
Funcionario
- matri cul a: i nt
Cliente
- endereco: char
- dataNasci mento: Integer
- CPF: Char
- CEP: LongInt
- Bai rro: char
+ Val i daLogi n() : bool ean
+ GetCEP() : void
Livro
- ano: int
- ti tul o: char
- ISBN: char
- Resumo: l ong
- Edi cao: i nt
- Assunto: char
+ Consul taLi vro(char) : l i st
+ GetDetal hes() : voi d
Exemplar
- IDExempl ar: i nt
- EstadoCoservacao: char = Bom
- Si tuacaoExempl ar: char = Disponvel
- PrecoVenda: double
- PrecoCompra: doubl e
- DataAqui si cao: i nt
- Local i zacao: char
- Foto: l ong
+ Atual izaEstado(i nt) : voi d
+ NovoExempl ar() : voi d
+ GetExempl ares() : voi d
+ Excl ui Exempl ar() : voi d
+ GetExempl aresPedido() : voi d
+ Atual izaStatus(char) : voi d
Palavra_chave
- descri cao_pc: char
Autor
- nome_autor: char
Editora
- nome_edi tora: char
Cidade
- nomeCi dade: char
- Estado: char
Categoria
- DescricaoCategori a: char
NotaFiscal
- NumeroNota: i nt
- Data: i nt
- Val orTotal : doubl e
Pedido
- NumeroPedi do: doubl e
- Si tuacaoPedi do: char = Pedi do real i zado
- Val orFrete: doubl e
- DataPedido: i nt
- dataEnvi o: i nt
- dataEntrega: i nt
- NumeroCorrei os: char
+ Consul taPedi dos(bool ean) : voi d[] {query}
+ GetDetal hesPedi do(Pedi do) : voi d
+ Atual i zaStatus(char) : voi d
+ Val i daPedi do() : bool ean
+ New(char) : voi d
Pagamento
- DataPagamento: i nt
- Si tuacaoPagamento: char
+ Confi rmaPagamento(date, char) : void
+ New() : voi d
Boleto
- Banco: char
- NumeroBol eto: char
Cartao
- Bandei ra: char
- Numero: char
- MesVal i dade: i nt
- AnoVal i dade: i nt
Deposito
- Banco: char
1
0..*
0..*
1
1..* 0..*
1
0..*
1
0..*
1..*
0..1
1
0..*
1
0..1
1
1
0..*
1

Figura: 18 Modelo de classes de domnio
Sistema Livraria Virtual Documento de projeto do software Pgina:36

5.2 Modelo Classes Especificao

CE01.0 Finaliza compra


class CE01.06 Finaliza compra
Camada de Model o
Camada de Controle
Camada de Vi so
TelaCestaCompra
+ Finali zaPedi do() : void
+ PedeLoginSenha() : voi d
+ Msg(char) : voi d
+ Show() : void
+ NovoCl i ente() : void
CtrlCestaCompra
+ ConfereLogi n() : void
+ ConfirmaPedi do() : voi d
+ NovoCl i ente() : void
CtrlConfirmaPedido
+ Cal culaTotal() : void
+ Confi rmaPedi do() : void
Pessoa
Cliente
- endereco: char
- dataNascimento: Integer
- CPF: Char
- CEP: LongInt
- Bairro: char
+ Vali daLogi n() : boolean
+ GetCEP() : voi d
ItemCesta
+ getItensCesta() : void
Exemplar
- IDExemplar: int
- EstadoCoservacao: char = Bom
- Si tuacaoExempl ar: char = Disponvel
- PrecoVenda: doubl e
- PrecoCompra: double
- DataAquisi cao: i nt
- Local izacao: char
- Foto: l ong
+ Atual izaEstado(int) : voi d
+ NovoExemplar() : void
+ GetExemplares() : voi d
+ Excl uiExempl ar() : voi d
+ GetExemplaresPedi do() : voi d
+ Atual izaStatus(char) : voi d
Pedido
- NumeroPedi do: doubl e
- SituacaoPedido: char = Pedido reali zado
- ValorFrete: double
- DataPedi do: i nt
- dataEnvi o: i nt
- dataEntrega: int
- NumeroCorrei os: char
+ ConsultaPedidos(bool ean) : void[] {query}
+ GetDetal hesPedi do(Pedido) : void
+ Atuali zaStatus(char) : void
+ Vali daPedi do() : boolean
+ New(char) : void
Pagamento
- DataPagamento: int
- Si tuacaoPagamento: char
+ Confi rmaPagamento(date, char) : void
+ New() : voi d
TelaConfirmacaoPedido
+ Abre() : voi d
+ ApresentaDadosConta() : voi d
+ Show() : voi d
+ Habil itaCamposPagamento(char) : voi d
+ Confi rmaPedi do() : void
+ Msg(char) : void
WebServiceCompra
+ Soli ci taServi co() : void

Figura: 19 Finaliza compra
Sistema Livraria Virtual Documento de projeto do software Pgina:37

CE02.02 Efetiva pagamento de pedido


class CE02.02 Efetiva pagamento de pedi...
CtrlRegistraPagamento
+ Confi rmaPagamentoPedi do() : bool ean
+ Cancel aPedi do() : bool ean
Camada de Model o
Camada de Control e
Camada de Vi so
ListagemPedidos
+ Show() : voi d
CtrlPagamento
+ AbrePedi do(Pedi do) : voi d
+ Confi rmaPagamentoPedi do() : bool ean
+ Cancel aPedi do() : bool ean
TelaConfirmacaoPagamento
+ Abre() : voi d
+ Show() : voi d
+ Confi rmaPagamento() : voi d
+ Cancel aPedi do() : voi d
+ Msg(Sucesso) : voi d
Pedido
- NumeroPedi do: doubl e
- Si tuacaoPedi do: char = Pedi do real i zado
- Val orFrete: doubl e
- DataPedi do: i nt
- dataEnvi o: i nt
- dataEntrega: i nt
- NumeroCorrei os: char
+ Consul taPedi dos(bool ean) : voi d[] {query}
+ GetDetal hesPedi do(Pedi do) : voi d
+ Atual i zaStatus(char) : voi d
+ Val i daPedi do() : bool ean
+ New(char) : voi d
Exemplar
- IDExempl ar: i nt
- EstadoCoservacao: char = Bom
- Si tuacaoExempl ar: char = Di sponvel
- PrecoVenda: doubl e
- PrecoCompra: doubl e
- DataAqui si cao: i nt
- Local i zacao: char
- Foto: l ong
+ Atual i zaEstado(i nt) : voi d
+ NovoExempl ar() : voi d
+ GetExempl ares() : voi d
+ Excl ui Exempl ar() : voi d
+ GetExempl aresPedi do() : voi d
+ Atual i zaStatus(char) : voi d
1..*
0..1

Figura: 20 Efetiva pagamento de pedido

Sistema Livraria Virtual Documento de projeto do software Pgina:38

CE02.03 Efetiva pagamento automtico de pedido


class CE02.03 Efetiva pagamento automtico de pedi...
Camada Vi so
LogProcessamento
- Insti tui cao: char
- Data: Date
- Log: char
+ Regi straLog() : voi d
Camada de Model o
Camada de Control e
Pedido
- NumeroPedi do: doubl e
- Si tuacaoPedi do: char = Pedi do real i zado
- Val orFrete: doubl e
- DataPedi do: i nt
- dataEnvi o: i nt
- dataEntrega: i nt
- NumeroCorrei os: char
+ Consul taPedi dos(bool ean) : voi d[] {query}
+ GetDetal hesPedi do(Pedi do) : voi d
+ Atual i zaStatus(char) : voi d
+ Val i daPedi do() : bool ean
+ New(char) : voi d
CtrlRegistraPagamento
+ Confi rmaPagamentoPedi do() : bool ean
+ Cancel aPedi do() : bool ean
CtrlPagamentoAutomatico
+ Val i daPacote() : voi d
+ ProcessaPagamento() : voi d
WebServiceConfirmacao
+ Sol i ci taServi co() : void

Figura: 21 Efetiva pagamento automatico de pedido
Sistema Livraria Virtual Documento de projeto do software Pgina:39

CE02.04 Registra pagamento


class CE02.04 Registra pagamento
Camada de Model o
Camada de Control e
Pedido
- NumeroPedi do: doubl e
- Si tuacaoPedi do: char = Pedi do real i zado
- Val orFrete: doubl e
- DataPedi do: i nt
- dataEnvi o: i nt
- dataEntrega: i nt
- NumeroCorrei os: char
+ Consul taPedi dos(bool ean) : voi d[] {query}
+ GetDetal hesPedi do(Pedi do) : voi d
+ Atual i zaStatus(char) : voi d
+ Val i daPedi do() : bool ean
+ New(char) : voi d
Exemplar
- IDExempl ar: i nt
- EstadoCoservacao: char = Bom
- Si tuacaoExempl ar: char = Di sponvel
- PrecoVenda: doubl e
- PrecoCompra: doubl e
- DataAqui si cao: i nt
- Local i zacao: char
- Foto: l ong
+ Atual i zaEstado(i nt) : voi d
+ NovoExempl ar() : voi d
+ GetExempl ares() : voi d
+ Excl ui Exempl ar() : voi d
+ GetExempl aresPedi do() : voi d
+ Atual i zaStatus(char) : voi d
CtrlRegistraPagamento
+ Confi rmaPagamentoPedi do() : bool ean
+ Cancel aPedi do() : bool ean
Pagamento
- DataPagamento: i nt
- Si tuacaoPagamento: char
+ Confi rmaPagamento(date, char) : voi d
+ New() : voi d
1
1
1..*
0..1

Figura: 22 Registra pagamento


Sistema Livraria Virtual Documento de projeto do software Pgina:40

. Viso de Implantao

6.1. MoJelox Je Bunco Je uJox

.1.1 Modelo de Banco de Dados Atual

class 6.1.1 Modelo de Banco de Dados At...
Autor
Chave Pri mri a, col umn
*PK autorID: integer
col umn
* nome_autor: varchar(50)
JoinAutorToItem
Chave Pri mri a, col umn
*pfK i temID: i nteger
*pfK autorID: integer
Cidade
Chave Pri mri a, col umn
*PK ci dadeID: i nteger
col umn
nome_ci dade: varchar(40)
Editora
Chave Pri mri a, col umn
*PK edi toraID: i nteger
col umn
nome_edi tora: varchar(60)
Exemplar
Chave Pri mria, col umn
*PK exempl arID: integer
Chave estrangei ra, column
*FK i temID: i nteger
column
EstadoConservao: text = D
Si tuacao: char(1)
PrecoVenda: deci mal (10,2)
PrecoCompra: decimal (10,2)
DataAqui sicao: ti mestamp
FK i dPessoa: i nteger
Local i zacao: varchar(50)
Livro
Chave Pri mria, col umn
*PK i temID: integer
Chave estrangei ra, column
FK ci dadeID: i nteger
FK edi toraID: integer
col umn
ano: smal l int
ISBN: int
ti tul o: varchar(200)
Resumo: varchar(500)
edi cao: i nteger
FK i dCategori a: i nteger
Palavra_chave
Chave Pri mri a, col umn
*PK pal avra_chaveID: i nteger
Chave Pri mri a
*pfK i temID: i nteger
col umn
descricao_pc: char(20)
Venda
Chave Pri mria
*pfK NumeroNota: number
*pfK exempl arID: integer
column
Desconto: deci mal (10,2)
Val orTotalItem: deci mal (10,2)
NotaFiscal
Chave Pri mri a
*PK NumeroNota: number
col umn
Data: timestamp
Val orTotal: deci mal(10,2)
Vendedor: varchar(50)
Pessoa
Chave Primri a, col umn
*PK pessoaID: i nteger
col umn
nome_pessoa: varchar(50)
endereco: varchar(200)
tel efone: char(10)
Pessoa que forneceu o
l i vro.
Categoria
Chave Primri a
*PK idCategoria: i nteger
col umn
Descri caoCategori a: varchar(50)
FK_Li vro_Categori a PK_Categori a
FK_Exempl ar_Pessoa
PK_Pessoa
Z
FK_Pal avra_chave_Item
PK_Item
FK_Venda_Exemplar
PK_Exempl ar FK_Exempl ar_Item
P
PK_Item
FK_Item_Edi tora
PK_Editora
FK_Venda_NotaFi scal
PK_NotaFi scal
FK_Item_Ci dade
PK_Ci dade
Autor
PK_Autor
Item
P
PK_Item
Figura: 23 Modelo ER do sistema atual
Sistema Livraria Virtual Documento de projeto do software Pgina:41

6.1.2 Modelo de Banco de Dados Proposto


dm 6.1.2 Modelo de Banco de Dados Propo...
Autor
Chave Pri mria
*PK autorID: integer
col umn
* nome_autor: varchar(50)
PK
+ PK_Autor(integer)
JoinAutorToItem
Chave Pri mri a
*pfK i temID: integer
*pfK autorID: i nteger
FK
+ FK_JoinAutorToItem_Autor(i nteger)
+ FK_JoinAutorToItem_Li vro(i nteger)
+ Item(i nteger)
+ Autor(i nteger)
PK
+ PK_JoinAutorToItem(i nteger, i nteger)
Cidade
Chave Pri mri a
*PK ci dadeID: integer
col umn
nome_ci dade: varchar(40)
PK
+ PK_Ci dade(i nteger)
Editora
Chave Pri mri a
*PK edi toraID: i nteger
col umn
nome_editora: varchar(60)
PK
+ PK_Edi tora(i nteger)
Exemplar
Chave Pri mri a
*PK exempl arID: i nteger
Chave estrangei ra
*FK itemID: integer
NumeroPedi do: number
col umn
EstadoConservao: text = D
Si tuacao: char(1)
PrecoVenda: decimal (10,2)
PrecoCompra: deci mal(10,2)
DataAqui si cao: ti mestamp
FK idPessoa: i nteger
Local izacao: varchar(50)
Foto: char(10)
FK
+ FK_Exempl ar_Li vro(i nteger)
+ FK_Exempl ar_Pessoa(i nteger)
PK
+ PK_Exempl ar(i nteger)
Livro
Chave Primri a
*PK i temID: i nteger
Chave estrangei ra
FK ci dadeID: integer
FK editoraID: i nteger
col umn
ano: small i nt
ISBN: i nt
ti tul o: varchar(200)
Resumo: varchar(500)
edicao: integer
FK i dCategoria: i nteger
FK
+ FK_Li vro_Categoria(i nteger)
+ FK_Li vro_Cidade(integer)
+ FK_Li vro_Editora(integer)
+ FK_Item_Ci dade(i nteger)
+ FK_Item_Edi tora(i nteger)
PK
+ PK_Item(i nteger)
Palavra_chave
Chave Primri a
*PK palavra_chaveID: i nteger
*pfK i temID: integer
col umn
descri cao_pc: char(20)
FK
+ FK_Pal avra_chave_Item(integer)
+ FK_Pal avra_chave_Li vro(i nteger)
PK
+ PK_Pal avra_chave(i nteger, i nteger)
Venda
Chave Pri mri a
*pfK NumeroNota: number
*pfK exempl arID: i nteger
col umn
Desconto: decimal (10,2)
Val orTotal Item: deci mal (10,2)
FK
+ FK_Venda_Exemplar(integer)
+ FK_Venda_NotaFiscal (number)
PK
+ PK_Venda(i nteger, number)
NotaFiscal
Chave Pri mria
*PK NumeroNota: number
col umn
Data: timestamp
ValorTotal: decimal(10,2)
Vendedor: varchar(50)
PK
+ PK_NotaFiscal (number)
Pessoa
Chave Primri a
*PK pessoaID: integer
Chave estrangeira
FK ci dadeID: integer
col umn
nome_pessoa: varchar(50)
endereco: varchar(200)
tel efone: char(10)
eMai l : char(100)
senha: char(10)
dataNasci mento: ti mestamp
CEP: char(8)
Bairro: char(40)
CPF: char(11)
FK
+ FK_Pessoa_Ci dade(integer)
PK
+ PK_Pessoa(integer)
Categoria
Chave Primria
*PK i dCategori a: i nteger
col umn
Descri caoCategoria: varchar(50)
PK
+ PK_Categoria(i nteger)
Funcionario
Chave Pri mria
*PK Matri cul a: integer
col umn
nome_pessoa: varchar(50)
telefone: char(10)
eMai l: char(100)
senha: char(10)
PK
+ PK_Pessoa(i nteger)
Pedido
Chave Primri a
*PK NumeroPedido: number
Chave estrangei ra
*FK pessoaID: integer
FK NumeroNota: number
col umn
* SituacaoPedido: number
Val orFrete: decimal (10,2)
DataPedido: ti mestamp
dataEnvi o: timestamp
dataEntrega: timestamp
NumeroCorrei os: char(10)
FK
+ FK_Pedi do_NotaFi scal(number)
+ FK_Pedi do_Pessoa(integer)
PK
+ PK_Pedi do(number)
Legenda:
Tabel a modifi cada
Tabel a Nova
Pagamento
Chave Pri mria
*pfK NumeroPedi do: number
column
DataPagamento: ti mestamp
* Si tuacaoPagamento: number
NumeroBol eto: char(30)
Chave estrangei ra
*FK idInsti tui cao: number
FK
+ FK_Pagamento_Insti tui caoFi nanceira(number)
+ FK_Pagamento_Pedi do(number)
PK
+ PK_Pagamento(number)
InstituicaoFinanceira
Chave Pri mria
*PK i dInsti tuicao: number
col umn
NomeInsti tui cao: char(10)
Banco
Agenci a: char(10)
Conta: char(10)
Carto
Bandei ra: char(10)
PK
+ PK_Insti tuicaoFi nanceira(number)
LogProcessamento
Chave Pri mria
*pfK idInsti tui cao: number
column
Data: timestamp
Log: text
FK
+ FK_LogProcessamento_Insti tuicaoFi nanceira(number)
PK
+ PK_LogProcessamento(number)
FK_Venda_Exemplar
PK_Exempl ar
FK_Li vro_Editora
PK_Edi tora
FK_Palavra_chave_Livro
PK_Item
FK_JoinAutorToItem_Li vro
PK_Item
FK_Joi nAutorToItem_Autor
PK_Autor
FK_Li vro_Categori a
PK_Categori a
FK_Exempl ar_Pessoa
PK_Pessoa
FK_Livro_Cidade
PK_Cidade
FK_Exempl ar_Li vro
PK_Item
FK_LogProcessamento_Insti tuicaoFi nanceira
PK_Insti tuicaoFi nanceira
FK_Venda_NotaFi scal
PK_NotaFi scal
FK_Pedi do_Pessoa
PK_Pessoa
FK_Exempl ar_Pedido
P
PK_Pedido
Z
FK_Pedi do_NotaFi scal
Z
PK_NotaFi scal
Z
FK_Pagamento_Pedido
PK_Pedi do
FK_Pagamento_Insti tuicaoFi nanceira
PK_Insti tuicaoFi nanceira
FK_Pessoa_Cidade PK_Ci dade

Figura: 24 Modelo ER Proposto
Sistema Livraria Virtual Documento de projeto do software Pgina:42

6.2 MoJelo Je Componentex

cmp Component Mo...
Banco de dados
SisLivraria
Web Service
(servidor)
Web Service
(cliente)
Navegador
HTTP

Figura: 25 Modelo de componentes

Sistema Livraria Virtual Documento de projeto do software Pgina:43

6.S MoJelo Je Impluntudo

cmp 6.3 Modelo de Implanta...
Arqui tetura Livrari a Vi tual
Servidor Banco Servidor WEB
Banco de dados
SisLivraria
Instituio financeira
Web Service
(servidor)
Web Service
(cliente)
Computador cliente
Navegador
Computador funcionrio
Navegador
HTTP

Figura: 26 Modelo de implantao

Você também pode gostar