Buscar

Trabalho acadêmico PIM VI


Continue navegando


Prévia do material em texto

RESUMO 
Para resolver o um problema de vendas de livro pela internet, uma livraria 
resolveu contratar uma empresa para construir um sistema para venda de livros numa 
loja virtual. 
Estando cientes da necessidade de acompanhar o progresso tecnológico e 
melhorar o atendimento aos clientes, a Livraria irá utilizar um software para controlar 
todo o processo de vendas de livros, buscando maior qualidade, eficiência e 
organização. 
As pessoas que acessarem o site terão o acervo de livros bem amplo, 
podendo ser adicionados no carrinho para uma possível compra. Quando um usuário 
for efetuar tal compra na loja pela primeira vez, terá que fazer um cadastro de login e 
senha para efetivar a compra de livros, caso já possua um cadastro, apenas digitar 
seu login e senha para prosseguir na compra. E no momento da finalização da compra 
terá a opção de pagamento somente por cartão de crédito, após a inserção dos dados 
do cartão o sistema faz a conexão com a operadora de cartão para validar o crédito, 
caso a validação for positiva é finalizado a compra, caso contrário é informado ao 
usuário que a compra não foi efetuada porque a operadora não autorizou a compra. 
Todo o projeto foi baseado nos conhecimentos obtidos nas disciplinas: Análise 
de Sistemas Orientada a Objetos e Banco de Dados. 
 
 
Palavras chave: Software, Livraria, Livros. 
 
 
 
ABSTRACT 
To solve your book sales problem on the internet, a bookstore decided to hire 
a company to build a system for selling books in a virtual store. 
Being aware of the need to monitor technological progress and improve 
customer service, the bookstore will use software to control the entire book sales 
process, seeking greater quality, efficiency and organization. 
People who access the site will have a large collection of books and can be 
added to the cart for a possible purchase. When a user makes such a purchase in the 
store for the first time, he will have to make a login and password to make the purchase 
of books, if you already have a registration is just enter your login and password to 
proceed with the purchase. And at the time of the end of the purchase will have the 
option of payment only by credit card, after inserting the data of the card the system 
makes the connection with the card operator to validate the credit, if the validation is 
positive is completed the purchase, otherwise the user is informed that the purchase 
was not made because the operator did not authorize the purchase. 
The whole project was based on the knowledge obtained in the disciplines: 
Object-oriented Systems Analysis and Database. 
 
 
Keywords: Software, Bookstore, Books. 
 
 
 
SUMÁRIO 
1. INTRODUÇÃO ............................................................................................... 8 
2. MODELO CASOS DE USO E ATORES ...................................................... 10 
2.1. Principais atores envolvidos no sistema ....................................................... 10 
2.2. Principais objetivos do sistema ..................................................................... 11 
2.3. Relação entre Atores e Casos de Uso .......................................................... 11 
2.4. Cenários do tipo <<extends>> ou de <<include>> ....................................... 12 
3. PROTÓTIPOS DAS TELAS ......................................................................... 14 
3.1. Tela de Caso de Uso de Login ..................................................................... 14 
3.2. Tela de Caso de Uso de Consultar Acervo ................................................... 14 
3.3. Tela de Caso de Uso de Cadastro de Pessoa .............................................. 15 
3.4. Tela de Caso de Uso de Finalizar Compra ................................................... 16 
4. ESPECIFICAÇÃO DE CASOS DE USO ...................................................... 17 
4.1. Consultar Acervo .......................................................................................... 17 
4.2. Cadastro do Usuário ..................................................................................... 18 
4.3. Fazer Login ................................................................................................... 18 
4.4. Pedir Livro .................................................................................................... 19 
4.5. Realizar Reserva .......................................................................................... 20 
4.6. Pagar por Cartão de Crédito ......................................................................... 20 
4.7. Requisitos Funcionais e não Funcionais ...................................................... 21 
4.7.1. Requisitos Funcionais .......................................................................... 21 
4.7.2. Requisitos não funcionais .................................................................... 21 
4.7.3. 3. Regra de Negócio Geral ................................................................... 22 
5. DIAGRAMA DE CLASSES E ENTTIDADE RELACIONAMENTO .............. 23 
5.1. Diagrama de Classe ..................................................................................... 23 
5.2. Modelo Entidade e Relacionamento ............................................................. 24 
5.3. Diagrama de Classes de Análise .................................................................. 26 
 
 
CONCLUSÃO ........................................................................................................... 27 
REFERÊNCIAS ......................................................................................................... 28 
 
 
 
 
LISTA DE FIGURAS 
Figura 1 – Relação entre atores e caso de uso ......................................................... 12 
Figura 2 – Cenário do tipo <<include>> .................................................................... 12 
Figura 3 – Cenário do tipo <<extends>> ................................................................... 13 
Figura 4 – Tela de Login ........................................................................................... 14 
Figura 5 – Tela do Acervo ......................................................................................... 14 
Figura 6 – Tela de Livro ............................................................................................ 15 
Figura 7 – Tela de Cadastro de Pessoa .................................................................... 15 
Figura 8 – Tela de Finalizar Compra ......................................................................... 16 
Figura 9 – Diagrama de Classes ............................................................................... 24 
Figura 10 – Modelo Entidade e Relacionamento (MER) ........................................... 25 
Figura 11 – Diagrama de Classes de Análise ........................................................... 26 
 
 
8 
 
1. INTRODUÇÃO 
Tendo o objetivo de apresentar o conhecimento adquirido com as disciplinas: 
“Análise de Sistemas Orientada a Objetos”, “Banco de Dados” e “Gestão Estratégica 
de RH”, este projeto está elaborado de acordo com o tema proposto: “Levantamento 
e a Análise de Requisitos de um Sistema”, que tem como cenário uma livraria virtual. 
Estão apresentados no contexto do projeto as técnicas que serão utilizadas 
na análise de requisitos, o desenvolvimento do sistema e o armazenamento de dados 
do sistema da loja virtual, que foram adquiridas com o aprendizado das disciplinas 
neste bimestre. 
Utilizando o conhecimento obtido na disciplina “Análise de Sistemas Orientada 
a Objetos” foram identificados os atores que interagem com o sistema, que por sua 
vez não foram muitos. Foram identificados os casos de usos, que são os objetivos do 
sistema. Cada caso deuso foi descrito passo a passo para mostrar o fluxo do processo, 
começo, meio e fim. Identificando os fluxos alternativos e as regras de negócio. 
Com base na disciplina “Banco de Dados”, foi pensado na esquematização 
da base de dados, ou seja, quais são as informações que desejamos armazenar e a 
forma como os dados devem ser agrupados. 
A fim de não haver informações redundantes, foi criado um fluxo de alguns 
passos que foram adotados, como: 
O conteúdo dos campos, dessa forma foi identificado previamente o conteúdo 
a ser incluído na base de dados, pensando em possíveis futuras inclusões. 
O tipo de informação (metadados), determinando assim se iriam ser números, 
textos, datas, etc. 
O enquadramento da Base de Dados, criando um padrão para os nomes da 
base de dados. Determinando também a ordem em que estes seriam organizados. 
O relacionamento das tabelas entre si, pensando sempre se existiria uma 
necessidade se relacionar com outras tabelas por meio de um dado comum. 
Chave primaria e índices, assim foi gerado uma forma única de identificar um 
item específico, facilitando a busca pelo mesmo e uma futura relação com outras 
tabelas ‘filho’. 
E a disciplina “Gestão Estratégica de RH” não tem um tópico específico, mas 
foi utilizada na organização do desenvolvimento do trabalho. As tarefas eram 
delegadas a cada membro e depois o grupo discutia sobre o assunto e chegava a 
9 
 
uma conclusão sem conflitos. Assim todos os requisitos, pedido para o trabalho, foram 
desenvolvidos sem problemas. 
 
10 
 
2. MODELO CASOS DE USO E ATORES 
Caso de uso é a descrição de uma sequência de atividades executadas por 
um agente externo ao sistema sem que sejam revelados detalhes do 
funcionamento interno ao sistema, por isso dizemos que o caso de uso 
mostra a visão comportamental externa ao sistema (Versolatto.,2015, pg 61). 
Modelar um Caso de uso é como contar uma história, em ambos os casos 
existe um padrão, um conjunto de regras que serve para padronizar o “conto” de 
maneira que a pessoa que for utilizá-lo entenda a funcionalidade de modo único que 
o sistema oferece, seguindo um padrão específico. 
O modelo de casos de uso são os objetivos que o sistema deve executar para 
atingir o que precisa, e serve como um contrato estabelecido entre o cliente e os 
desenvolvedores. Também é usado como fonte de informações essencial para 
atividades de análise, design e teste. E representa uma possível utilização do sistema 
por atores, que podem ser pessoas, dispositivo físico, mecanismo ou subsistema que 
interage com o sistema alvo, utilizando algum de seus serviços. 
Atores são os agentes externos ao sistema que executam uma determinada 
ação e que esperam algum resultado, ou seja, interagem diretamente com o 
sistema a partir dos casos de uso (Versolatto.,2015, pg 61). 
Um caso de uso demonstra a interação entre o sistema e os atores envolvidos, 
para atingir um ou mais objetivos. Deve estar relacionado a um processo bem definido, 
com começo, meio e fim. 
2.1. Principais atores envolvidos no sistema 
Ator é qualquer entidade externa que interage com o sistema: usuários, 
outros sistemas de software ou até mesmo dispositivos de hardware. 
Um ator nunca é um componente interno do sistema, ou mesmo qualquer 
detalhe interno ou componente de implementação dele. 
Um sistema nunca é um ator de si mesmo (Versolatto.,2015, pg 61). 
Na identificação de um ator, é utilizado um substantivo no singular. Evitar tipos 
genéricos, como Usuários e Clientes, opte pela descrição, como Usuário e Cliente. 
11 
 
Existem dois tipos de atores: principal e secundário. Os atores principais 
interagem diretamente com o sistema computacional, já os atores secundários 
interagem com outros atores. 
Atores principais do sistema: usuário e proprietário da loja. 
Atores secundários: sistema da operadora de cartão. 
2.2. Principais objetivos do sistema 
É muito importante identificar o caso de uso por um nome que o represente, 
utilizando frases iniciadas com verbos no infinitivo, seguido pela meta ou tarefa a ser 
realizada. Por exemplo: “Efetuar saque de conta‑corrente”. 
Considerando que numa loja virtual o usuário abre o site e faz as consultas 
desejadas, e somente se for comprar algo que fará o acesso por “Login” e “Senha”, 
portanto, vamos considerar que no sistema da livraria será necessário fazer login 
antes de acessar o acervo. 
Acessar Site por Meio de Login e Senha; 
Cadastrar Usuário; 
Consultar Acervo de Livros; 
Pedir Livro 
Realizar Reserva; 
Pagar por Cartão de Crédito; 
2.3. Relação entre Atores e Casos de Uso 
Um relacionamento de associação pode existir entre um ator e um caso de 
uso. Esse tipo de associação é normalmente chamado como uma Associação de 
Comunicação, desde que ela represente uma comunicação entre um ator e um caso 
de uso. Uma associação é representada como uma linha que liga os elementos a 
serem relacionados. A navegação em somente uma direção pode ser representada 
pela adição de uma seta que indica a direção na linha da associação. Não pode existir 
no modelo um caso de uso iniciado por dois atores. Existem somente 3 tipos de 
relacionamentos entre os casos de uso: <<include>>, <<extends>> e a generalização, 
ilustrado na figura 1. 
12 
 
Figura 1 – Relação entre atores e caso de uso 
 
Fonte: Desenvolvido pelos alunos 
2.4. Cenários do tipo <<extends>> ou de <<include>> 
Quando um caso de uso possui um comportamento parcial comum a vários 
outros casos de uso é chamado de <<include>>. Esse tipo de relacionamento é 
obrigatório a inclusão do outro caso de uso evitando repetir comportamento, tendo o 
reuso de códigos, conforme ilustrado na figura 2. 
Figura 2 – Cenário do tipo <<include>> 
 
Fonte: Desenvolvido pelos alunos 
Os cenários de includes para o cliente serão: login, autenticação, compra, 
pagamento e para os administradores e funcionários serão: configuração, entrada de 
livro, saída de livro, ajuste de estoque. 
Um relacionamento de <<extends>> é usado para mostrar comportamento 
opcional, comportamento que somente é executado sobre determinadas condições, 
como o caso de fazer login em uma loja virtual, o cadastro será chamado somente em 
caso do usuário não tiver cadastro, conforme ilustrado na imagem 3. 
 
13 
 
Figura 3 – Cenário do tipo <<extends>> 
 
Fonte: Desenvolvido pelos alunos 
O caso de uso de extensão não tem execução obrigatória, mas opcional. No 
sistema terá um cenário extends, que é a reserva de livros, que será chamada 
somente em caso do livro não tiver disponível no acervo. 
 
14 
 
3. PROTÓTIPOS DAS TELAS 
Nesse capítulo será apresentado um esboço de cada tela do sistema onde o 
usurário poderá se cadastrar na loja virtual, acessar o acervo e efetuar a compra do 
livro. 
3.1. Tela de Caso de Uso de Login 
Quando o usuário for comprar o livro terá de acessar o sistema através de 
uma tela de “Login”, conforme está ilustrado na imagem 4, inserindo “Login” e “Senha” 
e pressionar o botão “Entrar” para ter o acesso. O login será utilizado o e-mail do 
usuário cadastrado no sistema. 
Figura 4 – Tela de Login 
Fonte: Desenvolvido pelos alunos 
3.2. Tela de Caso de Uso de Consultar Acervo 
Com o acesso autorizado pela tela de “Login”, o usuário terá acesso ao acervo 
dos livros cadastrado no sistema. Aparecerá uma tela contendo um campo para 
pesquisa dos livros desejados, e logo abaixo uma lista de links por categoria, onde é 
possível ser levado a uma lista de livros da categoria que foi escolhida, conforme 
ilustrado na figura 5. 
Figura 5 – Tela do Acervo 
Fonte: Desenvolvido pelos alunos 
15 
 
Ao selecionar o livro desejado, o sistema abre uma tela contendo o livro com 
algumas informações do mesmo. Logo abaixo existem dicas de outros livros que 
foram compradosjuntos, e/ou com o mesmo tema, e no lado direito o botão para 
inserir o livro no carrinho, conforme ilustrado na figura 6. 
Figura 6 – Tela de Livro 
Fonte: Desenvolvido pelos alunos 
3.3. Tela de Caso de Uso de Cadastro de Pessoa 
Caso for a primeira vez que o usuário está acessando a livraria virtual, então 
é necessário se cadastrar. Nesse cadastro é necessário: nome, CPF, RG, Telefone, 
E-mail, Senha e Endereço completo e data de nascimento. Esses dados serão 
utilizados para acesso ao sistema, a emissão de nota fiscal e para entrega do livro 
comprado, conforme ilustrado na figura 7. 
Figura 7 – Tela de Cadastro de Pessoa 
 
Fonte: Desenvolvido pelos alunos 
 
16 
 
3.4. Tela de Caso de Uso de Finalizar Compra 
Após o usuário inserir todos os livros desejados no carrinho e clicar para 
compra-los, o sistema entra na tela de finalização de compra exibindo o endereço de 
entrega do produto, forma de entrega e forma de pagamento, que por sua vez só terá 
cartão de crédito como forma única de pagamento. 
Nessa tela o sistema permite o usuário editar de endereço ou inserir outro 
para entrega, mudar a quantidade do produto na lista, selecionar o tipo de entrega ou 
voltar para escolher mais livros, conforme ilustrado na figura 8. 
Figura 8 – Tela de Finalizar Compra 
 
Fonte: Desenvolvido pelos alunos 
 
17 
 
4. ESPECIFICAÇÃO DE CASOS DE USO 
[...] é um conjunto de métodos, procedimentos e ferramentas que tem por 
objetivo descobrir, analisar, documentar, verificar e validar esses requisitos. 
[...] suas principais características e objetivos e uma visão a respeito da 
sequência de execução dessas atividades (Versolato, 2015, pg 59). 
4.1. Consultar Acervo 
Breve descrição: permitir que os usuários realizem consultas ao acervo de 
livros do site para verificar sua existência e disponibilidade. 
Ator: Usuário. 
Pré-condição: os usuários estarem com o site aberto. 
Pós-condição: não se aplica. 
Fluxo principal: 
1 - O sistema exibe a tela de consulta ao acervo; 
2 - O usuário informa um parâmetro de busca (autor ou título) (F1, F2, R1); 
3 - O sistema exibe a lista de livros com título, autor e local da obra; 
4 - O caso de uso é encerrado. 
Fluxo alternativo: 
F1 - O sistema não encontra o livro procurado: 
• O sistema exibe a mensagem “Livro não encontrado”; 
• Retorna ao passo 1 do fluxo principal. 
F2 - Obra não disponível: 
• O sistema exibe um botão para reserva e um para cancelar; 
• Pressiona o botão de cancelar; 
• Volta ao passo 1 do fluxo principal. 
Regra de Negócio: 
R1 – Validação do campo 
• O sistema só libera o botão de consulta se o campo estiver preenchido 
pelo menos 5 letras; 
• Volta ao passo 1 do fluxo principal. 
18 
 
4.2. Cadastro do Usuário 
Breve descrição: o usuário entra no formulário de cadastro e insere todos seus 
dados pessoais, endereço, e-mail, senha e salva. 
Ator: Usuário. 
Pré-condição: ser maior de 18 anos; 
Pós-condição: os dados do usuário serão gravados no banco de dados; 
Fluxo principal: 
1 - Entra na tela de cadastro, e clicar no botão cadastrar usuário; 
2 - Preencher todos os campos do formulário: nome completo, cpf, rg, telefone, 
data de nascimento, e-mail, senha de acesso, senha de confirmação, nome 
da rua, cep, número, cidade, estado, país (R1, R2). 
3 - Clicar no botão para salvar os dados (F1); 
4 - O caso de uso é finalizado. 
Fluxo alternativo: 
F1 - Todos os campos não foram preenchidos: 
• O sistema exibe uma mensagem “É necessário preencher os campos 
obrigatórios” e deixar os campos que estão vazios em vermelho; 
• Retorna ao passo 2 do fluxo principal. 
Regra de Negócio: 
R1 – Idade menor de 18 anos 
• O sistema exibe uma mensagem “A idade dever ser maior que 18 anos”. 
• Retorna ao passo 2 do fluxo principal. 
R2 – A senha não confere nos 2 campos 
• O sistema exibe uma mensagem “As senhas não conferem, tente 
novamente.” 
• Retorna ao passo 2 do fluxo principal. 
4.3. Fazer Login 
Breve descrição: o usuário entra na tela de login, insere login, senha e 
confirma. 
Ator: Usuário. 
Pré-condição: ser cadastrado no sistema; 
Pós-condição: não se aplica; 
19 
 
Fluxo principal: 
1 - Abrir a tela de login; 
2 - Inserir login e senha; 
3 - Clicar no botão para logar; 
4 - O sistema valida o login (F1); 
5 - O caso de uso é finalizado. 
Fluxo alternativo: 
F1 - Login ou Senha não conferem: 
• O sistema exibe uma mensagem “Login ou senha inválida”; 
• Volta ao passo 2 do fluxo principal. 
4.4. Pedir Livro 
Breve descrição: permite o usuário selecionar um livro por vez e inserir no 
carrinho, escolher a quantidade de livros, excluir o livro do carrinho, voltar as compras 
sem finalizar e finalizar a compra. 
Ator: Usuário. 
Pré-condição: ser cadastrado no sistema; 
Pós-condição: ter um cartão de crédito para efetuar o pagamento; 
Fluxo principal: 
1 - O usuário filtra o livro (F1); 
2 - Insere no carrinho; 
3 - Entra no carrinho; 
4 - Clica no botão para finalizar; 
5 - Sistema verifica se o usuário está logado (F2); 
6 - Caso de uso é encerrado. 
Fluxo alternativo: 
F1 – Livro não está disponível 
• sistema exibe uma mensagem “Produto indisponível, quer fazer reserva?” 
exibindo botão de “Reservar” e “Cancelar”; 
• Volta ao passo 1 do fluxo principal. 
F2 – Usuário não está logado: 
• Se não está logado o sistema exibe uma mensagem “Necessário fazer 
Login”; 
20 
 
• Volta ao caso de uso “Fazer Login” passo 2. 
4.5. Realizar Reserva 
Breve descrição: com a indisponibilidade do livro, o usuário poderá reservar o 
livro preenchendo um formulário com o e-mail e o título do livro desejado. 
Ator: Usuário. 
Pré-condição: livro estar indisponível; 
Pós-condição: não se aplica; 
Fluxo principal: 
1 - Clicar no botão de reserva; 
2 - Inserir o e-mail; 
3 - Sistema valida e-mail (R1); 
4 - Caso de uso é encerrado. 
R1 – E-mail inválido: 
• O sistema exibe uma mensagem “E-mail inválido”; 
• Volta ao passo 2 do fluxo principal. 
4.6. Pagar por Cartão de Crédito 
Breve descrição: o usuário clica no botão finalizar compra, o sistema abre uma 
tela mostrando a opção de cartão de crédito como forma única de pagamento, valor 
total e um formulário para preencher os dados do cartão. O usuário preenche os dados 
do cartão e confirma o pagamento. 
Ator: Usuário. 
Pré-condição: deve haver um ou mais livros no pedido; 
Pós-condição: transação finalizada com sucesso; 
Fluxo principal: 
1 - Insere os dados do cartão (R1); 
2 - Clica no botão para finalizar; 
3 - Sistema da operadora valida transação (F1, R2); 
4 - Sistema gera comprovante de transação. 
5 - Caso de uso é encerrado. 
Fluxo alternativo: 
F1 - Operadora nega transação: 
21 
 
• Sistema exibe uma mensagem “Desculpe, operadora não autorizou a 
transação, entrar em contato com a mesma”; 
• Volta ao passo 1 do fluxo principal. 
Regra de negócio: 
R1 – Data vencimento do cartão é inválida 
• Sistema exibe uma mensagem “Data inválido, tente novamente ou 
verifique com a operadora.” 
• Volta ao passo 1 do fluxo principal. 
R2 – Número do cartão é inválido 
• Sistema exibe uma mensagem “Dados do cartão estão inválido, tente 
novamente.” 
• Volta ao passo 1 do fluxo principal. 
4.7. Requisitos Funcionais e não Funcionais 
O sistema oferecerá o acesso ao acervo de livro da livraria virtual através de 
login e senha, onde possibilitará ao usuário realizar pedido, reserva ou apenas 
consultar livros. 
4.7.1. Requisitos Funcionais 
• Consultar livros; 
• Cadastrar usuário; 
• Logar no sistema; 
• Inserir livro no pedido (carrinho); 
• Fazer reserva; 
• Fazer pagamento do pedido; 
• Inserir dados do cartão 
• Validar transação da compra; 
 
4.7.2. Requisitos não funcionais 
• Linguagem de desenvolvimento do sistema; 
• Tipo de Banco de dados a ser utilizado 
• Cadastro de históricodo pedido. 
 
22 
 
4.7.3. 3. Regra de Negócio Geral 
• Não poderá existir usuários iguais no sistema com mesmo e-mail; 
• Não poderá existir um pedido vazio no pagamento. 
 
 
23 
 
5. DIAGRAMA DE CLASSES E ENTTIDADE RELACIONAMENTO 
5.1. Diagrama de Classe 
[...] diagrama de classes é um diagrama UML que tem como objetivo 
representar a estrutura estática das classes de um sistema de software. 
Resumindo, um diagrama de classes é a representação das classes, seus 
atributos, métodos e o relacionamento entre essas classes [...] (Versolato, 
2015, pg. 118). 
No diagrama de classes da livraria virtual, temos a classe principal “Pessoa”, 
que vai conter todo o cadastro do cliente, e que associa à classe “Endereço”, essas 
duas classes têm a cardinalidade 1:1..N. Mas para isso essas duas classes precisam 
de uma classe intermediária para poder se relacionar, que é a classe 
“PessoaEndereço”, ou seja, uma pessoa pode possuir um endereço ou mais, caso a 
pessoa mude de endereço ou queira que o livro seja entregue em outro local, ao 
efetuar a compra o usuário pode editar o endereço ou inserir outro. Então a associação 
das três classes fica: “Pessoa” associa à “PessoaEndereco” com cadinalidade 1:1..N 
e “PessoaEndereco” associa à “Endereco” com cardinalidade 1:1..N. 
Depois que foi feita a consulta e o usuário inserir algum livro no carrinho, 
poderá ser feito a finalização do pedido, que é a classe “PedidoLivro”, que está 
associada à classe “Pessoa”, onde a cardinalidade é 1 : 0..N, ou seja, uma pessoa 
pode ou não fazer um pedido e também pode fazer várias pedidos. A classe 
“PedidoLivro” está associada ao “ItemPedido” com cardinalidade 1:1..N, onde todos 
os itens do pedido que vão ser armazenados, e que se associa à classe “Livro” com 
carnicalidade 1:1..N, que fornece as informações dos livros que o usuário selecionou 
na consulta. 
A classe “Pagamento” associa à classe “HistoricoPagamento” com 
cardinalidade 1:1 e a classe “Pagamento” depende da interface “OperadoraCartao”, 
que é um ator do sistema. Todos esses processos são ilustrados na figura 10. 
 
24 
 
Figura 9 – Diagrama de Classes 
Fonte: Desenvolvido pelos alunos 
5.2. Modelo Entidade e Relacionamento 
É um modelo abstrato desenvolvido pelo Prof. Peter Chen, a fim de 
representar as estruturas de dados de forma mais natural e mais próxima do 
mundo real dos negócios. Seus aspectos estruturais formalizam 
matematicamente a maneira como os dados estão organizados no modelo 
relacional (Pinto, 2012, pg 36). 
No diagrama modelo entidade e relacionamento (MER), a classe “Pessoa” 
associa à classe “Endereço”, é necessário ter uma classe intermediária, a classe 
“PessoaEndereco”, é responsável de intermediar as classes “Pessoa” e “Endereco”, 
portanto, caso o usuário possua mais de um endereço, então esta classe irá identificá-
los pelas chaves primárias “codigoPessoa” e “codigoEndereco” se tornando uma 
chave estrangeira na classe “PessoaEndereco”. 
Ao efetuar um pedido pela classe “Pessoa”, a classe “PedidoLivro” armazena 
a chave primária “codigoPessoa para identificar qual usuário fez o pedido, assim se 
tornando uma chave estrangeira. A classe “ItemPedido”, é responsável por armazenar 
os itens, as quantidades e os valores de cada pedidos, para que haja o cálculo total 
do pedido na classe “PedidoLivro”, nessa classe é armazenado as chaves primárias 
“códigoPedido” e “codigoLivro” para identificar o relacionamento dos itens com seu 
respectivo pedido. Quando o usuário faz uma reserva o sistema armazena a chaves 
25 
 
primárias “codigoLivro” e “codigoPessoa” que passam a ser a chave estrangeira na 
classe “ReservaLivro”. 
Logo após o pedido ser feito com sucesso, a classe “Pagamento”, que 
depende da interface “OperadoraCartao”, armazenará a chave primária 
“códigoPedido”, que passa a ser a chave estrangeira nessa classe e logo após irá 
gerar o histórico da mesma. A classe “HistoricoPagamento” irá armazenará toda a 
informação referente ao pagamento, ou seja, armazenará o “codigoPagamento”, 
“dataPedido” e “valorTotal”. 
Com isto, cada classe terá a chave estrangeira para identificar o 
relacionamento dos dados gravados, diminuindo assim os riscos de algum dado ficar 
sem o relacionamento correto no sistema. 
Por fim, a interface “OperadoraCartao”, que é um ator do sistema, irá validar 
a transação do pagamento ocorrido. Todos esses processos são ilustrados na figura 
10. 
Figura 10 – Modelo Entidade e Relacionamento (MER) 
Fonte: Desenvolvido pelos alunos 
26 
 
5.3. Diagrama de Classes de Análise 
Classes de análise usadas para capturar os principais "blocos de 
responsabilidade" no sistema. Elas representam as classes prototípicas do sistema e 
são um 'primeiro passo' nas principais abstrações que o sistema deve tratar. 
A forma de organizar essas classes, também chamadas de classes de analise, 
vai ao encontro de um dos princípios fundamentais da orientação a objetos: 
divisão de responsabilidades. A divisão de responsabilidades e uma das 
características fundamentais em uma boa modelagem de sistemas. Objetos 
com responsabilidades bem definidas aumentam a sua capacidade de reuso 
(Versolato, 2015, pg 126). 
Classes de Análise podem ser enquadradas em três estereótipos: Fronteira 
(boundary) ; Controle (control) ; Entidade (entity) ; 
Fronteira: Usada para modelar a interação entre o sistema e seus atores. 
Cada classe de fronteira deve estar relacionada a pelo menos um ator e vice-versa. 
Controle: Representa coordenação, sequência, transações e controle de 
objetos. Frequentemente utilizada para encapsular controle relacionado a um caso de 
uso específico. 
Entidade: Utilizada para modelar informações que tem vida longa no sistema 
(persistentes). 
 Figura 11 – Diagrama de Classes de Análise 
 
Fonte: Desenvolvido pelos alunos 
27 
 
CONCLUSÃO 
Com o intuito de desenvolver um software para uma livraria, capaz de realizar 
a venda de livros para usuários registrados, a atividade inicial a ser realizada é o 
levantamento e analise de requisitos, identificando as necessidades ou requisitos do 
cliente. 
Primeiramente os casos de uso e atores foram identificados, e seus 
relacionamentos definidos, de modo a ser formado um cenário que mostrasse as 
principais funcionalidades do sistema de acordo com a determinação do cliente, 
criando assim uma harmonia entre cliente e desenvolvedor de como será o software 
quando finalizado. Os Casos de uso foram especificados para uma melhor 
compreensão por parte dos desenvolvedores e protótipos de tela foram criados de 
modo a facilitar esse processo. Foram descritos tudo o que e como o sistema irá 
realizar, desde cadastrar o usuário no sistema, como efetuar o pagamento, efetuar a 
reserva do livro, como fazer o login no sistema. As regras do negócio foram elaboradas 
mostrando como o processo da organização é executado. O diagrama de classes foi 
elaborado de modo a descrever toda a estrutura do sistema. 
Embora não estritamente necessárias para o desenvolvimento do software, 
essas atividades iniciais tomadas no projeto não devem ser desconsideradas, pois 
são de grande importância pois irão garantir menos dificuldades no decorrer da 
atividade do desenvolvimento do software, maior qualidade do produto final e maior 
facilidade em futuras alterações, devido a maior disponibilidade de documentação. 
 
28 
 
REFERÊNCIAS 
 
TORRES, Ani Sobral. Gestão Estratégica de Recursos Humanos. São 
Paulo, Editora Sol, 2015. 
SOBRENOME, Nome. Banco de Dados. São Paulo, Editora Sol, 2015. 
AREZI, Fábio. Casos de uso: diferenças entre include, extend 
e generalização, 2010. Disponível em: 
<https://arezi.wordpress.com/2010/10/20/casos-de-uso-diferencas-entre-include-
extend-e-generalizacao/>. Acesso em: 21/04/2018. 
ADMIN. Quando usar includee/ou extends em casos de uso, 2011. 
Disponível em: https://javabeginners.wordpress.com/2011/06/15/quando-usar-
include-eou-extends-em-casos-de-uso/. Acesso em: 21/04/2018 
VENTURA, Plínio. Caso de Uso – Include, Extend e Generalização, 2014. 
Disponível em: <http://www.ateomomento.com.br/caso-de-uso-include-extend-e-
generalizacao/>. Acesso em: 22/04/2018. 
AUGUSTO, José, UML – Diagrama de Caso de Uso E Diagrama de Classe, 
2016 Disponível em: <https://augustoprogrammer.wordpress.com/2015/03/10/uml-
diagrama-de-caso-de-uso-e-diagrama-de-classe/>. Acesso em: 24/04/2018. 
VENTURA, Plínio. Entendendo definitivamente o que é um Caso de Uso, 
2016. Disponível em: <http://www.ateomomento.com.br/o-que-e-caso-de-uso/>. 
Acesso em: 23/04/2018. 
FUNPAR. Diretrizes: Classe de Análise, Disponível em: 
<http://www.funpar.ufpr.br:8080/rup/process/modguide/md_acls2.htm>. Acesso em: 
23/05/2018.