Faculdades Integradas do Vale do Ivaí Instituto Superior ... · inclui um computador e um software...
Transcript of Faculdades Integradas do Vale do Ivaí Instituto Superior ... · inclui um computador e um software...
Faculdades Integradas do Vale do Ivaí Instituto Superior de Educação - ICEI
Recredenciada pela Portaria nº. 545 de 11/05/2012 – D.O.U. – 14/05/2012
LUCAS ANTUNES CHELI
E-COMMERCE REDE ONNIX DE FARMÁCIAS
IVAIPORÃ 2013
LUCAS ANTUNES CHELI
E-COMMERCE REDE ONNIX DE FARMÁCIAS
Trabalho de Conclusão de Curso apresentado a Faculdade Integrada do Vale do Ivaí, como requisito parcial para obtenção do título de Tecnólogo em Análise e Desenvolvimento de Sistemas.
Orientador: Prof. Paulo Ricardo de Araújo
IVAIPORÃ/PR 2013
LUCAS ANTUNES CHELI
E-COMMERCE REDE ONNIX DE FARMACIAS
Trabalho de Conclusão de Curso apresentado a Faculdade Integrada do Vale do Ivaí, como requisito parcial para obtenção do título de Tecnólogo em Análise e Desenvolvimento de Sistemas, sob apreciação da seguinte banca examinadora:
Aprovado (a) em _____/_____/_____
________________________________________________ Professor:
________________________________________________
Professor:
________________________________________________ Professor:
“Eu gosto do impossível porque lá a concorrência é
menor”
AGRADECIMENTOS
Primeiramente e acima de tudo agradeço a Deus e aos meus pais, Lourival
e Fatima, por sempre me apoiarem e me proverem de ensinamentos para a vida
toda sem exigir nada em troca, ao meu orientador Paulo Ricardo Araújo que em
momento algum omitiu o conhecimento e sempre me orientou tornando esse projeto
realidade, aos meus colegas de classe, ao professor Pedro Henrique de Souza que
sempre sanou minhas dúvidas, a minha namorada que sempre me apoiou para dar
continuidade em todo o trabalho e tolerou a frustação nos momentos difíceis e a
todos os professores da instituição, enfim gostaria de agradecer a todos que
ajudaram de alguma forma para a conclusão do projeto, muito obrigado a todos.
RESUMO
Cheli, Lucas Antunes. E-Commerce Rede Onnix de Farmácias . Trabalho de conclusão de curso (superior de tecnologia em Analise e Desenvolvimento de Sistemas) – Faculdades Integradas do Vale do Ivaí. Ivaiporã, 2013.
A consolidação da internet como umas das maiores revoluções tecnológicas da humanidade vem revolucionando o mundo dos negócios e possui como base a tecnologia da informação para melhorar os processos de negócios nas empresas. Esta ferramenta vem se sobrepondo aos outros sistemas de venda onde rapidez, comodidade e segurança são fatores primordiais para o sucesso. O uso da tecnologia pode com certeza melhorar os processos de atendimento, venda e marketing da empresa, por isso, este projeto está voltado ao desenvolvimento de um web site de vendas com a finalidade de aumentar o lucro da empresa, com uma nova modalidade de vendas e marketing inédita na região, trazendo para os clientes mais agilidade nos pedidos e comodidade.
ABSTRACT
Cheli, Lucas Antunes. E-Commerce Rede Onnix de Farmácias . Trabalho de conclusão de curso (superior de tecnologia em Analise e Desenvolvimento de Sistemas) – Faculdades Integradas do Vale do Ivaí. Ivaiporã, 2013.
The consolidation of the internet as one of the greatest technological revolutions of
mankind has revolutionized the business world and has based information technology
to improve business processes in enterprises. This tool is overlapping the other sales
systems where speed, convenience and security are key factors for success. The use
of technology can definitely improve care processes, sales and marketing company,
so this project aims to develop a web site sales in order to increase the profit of the
company, with a new sales mode and unprecedented marketing initiative in the
region, bringing customers more agility and comfort applications.
Conteúdo
1. INTRODUÇÃO .................................................................................................................... 10
1.1. OBJETIVOS .................................................................................................................. 10
1.1.1 Objetivo geral ....................................................................................................... 10
1.1.2 Objetivos específicos .......................................................................................... 10
1.2 JUSTIFICATIVA ........................................................................................................... 11
2. FUNDAMENTAÇÃO TEÓRICA ....................................................................................... 12
2.1 ENGENHARIA DE SOFTWARE ................................................................................. 12
2.2 CICLO DE VIDA ........................................................................................................... 13
2.3 CICLO DE VIDA INCREMENTAL ............................................................................. 13
2.4 TÉCNICA DE COLETA DE DADOS ........................................................................... 15
2.5 REQUISITOS FUNCIONAIS ........................................................................................ 15
2.6 REQUISITOS NÃO FUNCIONAIS .............................................................................. 16
2.7 CAPTURA DE REQUISITOS ....................................................................................... 16
2.8 STAKEHOLDERS ......................................................................................................... 17
2.9 UML ............................................................................................................................... 17
2.10 DIAGRAMAS DE CASO DE USO ............................................................................. 18
2.11 DIAGRAMA DE SEQUÊNCIA .................................................................................. 19
2.12 DIAGRAMA DE CLASSE .......................................................................................... 20
2.13 HTML ........................................................................................................................... 21
2.14 CSS ............................................................................................................................... 21
2.15 JAVA SCRIPT ............................................................................................................. 22
2.16 PHP ............................................................................................................................... 22
2.17 MYSQL ........................................................................................................................ 23
2.18 BANCO DE DADOS ................................................................................................... 23
3. DESENVOLVIMENTO ....................................................................................................... 25
3.1 ANALISE DO AMBIENTE ORGANIZACIONAL ...................................................... 25
3.1.1 Identificação da empresa ................................................................................... 25
3.1.2 Definição do ramo de atividade ......................................................................... 25
3.1.3 Descrição do mini mundo do sistema ............................................................... 26
3.1.4 Organograma da empresa ................................................................................. 26
3.1.5 Plataforma tecnológica da empresa ................................................................. 27
3.2 FERRAMENTAS UTILIZADAS .................................................................................. 27
3.3 REQUISITOS ................................................................................................................. 28
3.3.1 Requisitos funcionais .......................................................................................... 28
3.3.2 Requisitos não funcionais ................................................................................... 29
3.3.2.1 Segurança ......................................................................................................... 29
3.3.2.2 Portabilidade ..................................................................................................... 30
3.3.2.3 Requisitos de usabilidade ............................................................................... 30
3.3.2.4 Requisitos de confiabilidade ........................................................................... 30
3.3.2.5 Requisitos de desempenho ............................................................................ 31
3.4 CRONOGRAMA DE CONFECÇÃO ............................................................................ 31
3.5 DIAGRAMA DE CASO DE USO ................................................................................. 32
3.6 DESCRIÇÕES TEXTUAIS DOS CASOS DO USO .................................................... 33
3.8 DIAGRAMAS DE SEQUÊNCIA .................................................................................. 48
3.9 PROJETO DE BANCO DE DADOS ............................................................................. 56
3.9.1 Diagrama de entidade relacionamento ............................................................ 57
3.9.2 Dicionário de dados ............................................................................................. 57
3.10 PROJETO DE INTERFACE GRÁFICA ..................................................................... 60
3.11 PROJETO DE IMPLANTAÇÃO ................................................................................. 63
3.11.1 Diagrama de instalação .................................................................................... 64
4. CONCLUSÃO ...................................................................................................................... 64
REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................................... 65
Lista de figuras Figura 1 - Ciclo De vida incremental ......................................................................... 14
Figura 2 - Organograma da empresa ........................................................................ 27
Figura 3- Diagrama de caso de uso .......................................................................... 33
Figura 4 - Diagrama de Classe .................................................................................. 48
Figura 5 - Diagrama de Sequencia manter cadastro ................................................. 49
Figura 6 - Diagrama de Sequencia fazer login usuario ............................................. 50
Figura 7 Diagrama de Sequencia realizar compra .................................................... 51
Figura 8 Diagrama de Sequencia manter produtos ................................................... 52
Figura 9 Diagrama de Sequencia acessar fale conosco ........................................... 53
Figura 10 Diagrama de Sequencia manter fale conosco ........................................... 54
Figura 11 Diagrama de Sequencia manter usuários ................................................. 55
Figura 12 Diagrama de Sequencia fazer login administrador .................................... 56
Figura 13 Diagrama Entidade Relacionamento ......................................................... 57
Figura 14 - Tela de Login .......................................................................................... 61
Figura 15 - Tela de produtos ..................................................................................... 61
Figura 16 - Tela cadastro de cliente .......................................................................... 62
Figura 17 - Tela Painel administrativo ....................................................................... 62
Figura 18 – Tela Menu e barra de status .................................................................. 63
Figura 19 - Tela rodapé ............................................................................................. 63
Figura 20 - Diagrama de instalação .......................................................................... 64
9
1. INTRODUÇÃO
Com o passar do tempo o comércio eletrônico evoluiu de uma simples
ferramenta que ligava compradores e vendedores, para mercados eletrônicos
complexos conectando produtores, fornecedores, e clientes, através de uma rede de
relacionamentos eletrônicos. Aborda-se, no entanto, o crescimento acelerado dos
chamados E-business (negócios eletrônicos). Nesse novo ambiente virtual, com
linguagem própria o comércio eletrônico com suas aplicações inovadoras e
revolucionárias, é tido como uma das tendências emergentes com maior potencial de
inovação nas estratégias e nos processos de negócios nos vários setores
econômicos.
O Comércio Eletrônico é um tipo de transação comercial feita especialmente
por meio de componentes eletrônicos como redes de computadores. É o ato de
vender ou comprar via Internet, TV, telefones, entre outros. O mercado mundial está
absorvendo o comércio eletrônico em grande escala, muitos ramos da economia
agora estão ligados ao comércio eletrônico. A revolução que está ocorrendo no
mundo vem afetando as formas de fazer negócios e alterando a estrutura das
organizações, bem como as relações entre consumidores e fornecedores. E, uma
das novas formas de negociações é o comércio eletrônico, ou seja, compra e venda
de produtos e serviços através das redes de computadores.
10
1.1. OBJETIVOS
1.1.1 Objetivo geral
Este projeto objetiva a criação de um web site de vendas para a Rede
Onnix de farmácias, possibilitando a venda de produtos online.
1.1.2 Objetivos específicos
• Criar um web site de vendas para facilitar e trazer um diferencial para os
clientes;
• Possibilitar uma melhoria no atendimento ao cliente;
• Facilitar na escolha e compra de produtos;
• Facilitar o marketing e as atividades de promoção de produtos;
• Colaborar com o crescimento da empresa.
11
1.2 JUSTIFICATIVA
A ideia de criar um web site voltado para o ramo de saúde (farmácia) será
para viabilizar o atendimento, tornando mais pratico e cômodo para os usuários que
poderão fazer tudo de dentro da sua casa, consultar preços de medicamentos,
perfumarias e conveniências, poderão também visualizar promoções e produtos em
estoque, realizar compras e consultar registros de compras anteriores. Isso pode
agilizar o atendimento a um usuário que esteja com algum problema de saúde que
não possa sair de sua casa, o usuário também poderá sugerir, reclamar e elogiar o
estabelecimento de saúde, visando melhorar cada vez mais o atendimento e a
usabilidade do sistema.
12
2. FUNDAMENTAÇÃO TEÓRICA
2.1 ENGENHARIA DE SOFTWARE
Atualmente é quase impossível viver em um planeta sem softwares, o
mundo seria um caos, e a vida seria extremamente difícil. Infraestruturas e serviços
são controlados por sistemas computacionais, e a maioria dos produtos elétricos
inclui um computador e um software que o controla. A área de entretenimento faz um
uso intensivo de software, portanto, a engenharia de software é essencial para o
funcionamento de sociedades nacionais e internacionais.
Quando se fala em software muitas pessoas pensam que software é simplesmente
outra palavra para programas de computador, mais quando falamos em software ou
engenharia de software, não se trata de um simples programa de computador e sim
toda a documentação associada a dados de configurações necessários para fazer
um programa operar corretamente (Sommerville, 2011).
Segundo Sommerville (2011, p.03) a engenharia de software tem por objetivo apoiar o desenvolvimento profissional do software, mais do que a programação individual. Ela inclui técnicas que apoiam especificação, projeto e evolução de programas, que normalmente não são relevantes para o desenvolvimento de software pessoal.
Software de computador é o produto que profissionais de software
desenvolvem e ao qual dão suporte no longo prazo. Abrem programas executáveis
em um computador de qualquer porte ou arquitetura, conteúdos, informações
descritivas tanto na forma impressa como na virtual, abrangendo praticamente
qualquer mídia eletrônica. A engenharia de software abrange um processo, um
conjunto de métodos e um leque de ferramentas que possibilitam aos profissionais
desenvolverem software de altíssima qualidade. Os engenheiros de software criam e
dão suporte a ele e, praticamente, todos do mundo industrializado o utilizam, direta
ou indiretamente (Pressman, 2011).
13
2.2 CICLO DE VIDA
Processo de software é o conjunto de atividades que constituem o
desenvolvimento de um sistema computacional. Estas atividades são agrupadas em
fases, como: definição de requisitos, análise, projeto, desenvolvimento, teste e
implantação. Em cada fase são definidas, além das suas atividades, as funções e
responsabilidades de cada membro da equipe, e como produto resultante, os
artefatos (Spínola, 2009).
O que diferencia um processo de software do outro é a ordem em que as
fases vão ocorrer, o tempo e a ênfase dados a cada fase, as atividades presentes, e
os produtos entregues. Com o crescimento do mercado de software, houve uma
tendência a repetirem-se os passos e as práticas que deram certo. A etapa seguinte
foi a formalização em modelos de ciclo de vida. Em outras palavras, os modelos de
ciclo de vida são o esqueleto, ou as estruturas pré-definidas nas quais encaixamos
as fases do processo. De acordo com a NBR ISO/IEC 12207:1998, o ciclo de vida é
a Estrutura contendo processos, atividades e tarefas envolvidas no desenvolvimento,
operação e manutenção de um produto de software, abrangendo a vida do sistema,
desde a definição de seus requisitos até o término de seu uso (Spínola, 2009).
2.3 CICLO DE VIDA INCREMENTAL
No modelo incremental, de Mills em 1980, os requisitos do cliente são
obtidos, e, de acordo com a funcionalidade, são agrupados em módulos. Após este
agrupamento, a equipe, junto ao cliente, define a prioridade em que cada módulo
será desenvolvido, escolha baseada na importância daquela funcionalidade ao
negócio do cliente. Cada módulo passará por todas as fases (Spinola, 2009).
De acordo com Pressman (2011), o modelo incremental libera uma série de
versões, denominadas incrementais, que oferecem, progressivamente, maior
funcionalidade para o cliente à medida que cada incremento é entregue.
O ciclo de vida incremental tem seu foco voltado para a entrega de um produto operacional em blocos. Os primeiros blocos são versões seccionadas do produto final, mas eles possuem capacidade para atender
14
ao usuário e também oferecem uma plataforma para a avaliação do usuário (Pressman, 2011).
Ciclo de vida incremental é uma abordagem para o desenvolvimento de software na
qual alguns dos incrementos desenvolvidos são entregues ao cliente e implantados
para uso em um ambiente operacional. Em um processo de entrega incremental os
clientes identificam, em linhas gerais, os serviços a serem fornecidos pelo sistema.
Eles identificam quais dos serviços são mais e menos importantes para eles. Uma
série de incrementos de entrega são, então, definidos, com cada incremento
proporcionando um subconjunto de funcionalidade do sistema. A atribuição de
serviços aos incrementos depende da ordem de prioridade dos serviços, os serviços
de maior prioridade são implementados e entregues em primeiro lugar (Sommerville
2011). A figura a seguir ilustra o ciclo de vida incremental.
Figura 1 - Ciclo De vida incremental
15
2.4 TÉCNICA DE COLETA DE DADOS
A engenharia de requisitos, no contexto de engenharia de software, é um
processo que engloba todas as atividades que contribuem para a produção de um
documento de requisitos. Para realizar a captura de requisitos é preciso utilizar o
primeiro processo da engenharia de requisitos, a identificação. Para identificá-los,
será necessário o uso de alguma técnica para levantamento.
Entrevistas formais e informais com o cliente fazem parte da maioria dos processos da captura de requisitos. Nessas entrevistas a equipe desenvolvedora formula as questões para o cliente sobre o sistema que ele usa e o sistema a ser desenvolvido. Os requisitos são derivados das respostas a essas questões (SOMMERVILLE, 2007, pag.101).
2.5 REQUISITOS FUNCIONAIS
“São declarações de serviços que o sistema deve fornecer, de como o
sistema deve reagir a entradas especificas e de como o sistema deve se comportar
em determinadas situações” (SOMMERVILLE, 2011). Requisitos funcionais do
sistema variam de requisitos gerais, que abrangem o que o sistema deve fazer, até
requisitos muito específicos, que refletem os sistemas e as formas de trabalho em
uma organização.
Um requisito consiste em uma declaração sobre um produto pretendido que especifica o que ele deveria fazer ou como deveriam operar, eles vêm de muitas formas diferentes e em diferentes níveis de abstração, mas precisamos nos certificar que eles sejam tão claros quanto o possível e que saberemos reconhecer quando forem preenchidos (PREECE, 2005).
Na engenharia de requisitos, dentro do contexto da engenharia de
software, requisitos funcionais especificam as ações que um sistema deve ser capaz
de executar, sem levar em consideração as restrições físicas como desempenho,
robustez ou confiabilidade. A princípio, pode-se dizer que os requisitos funcionais
descrevem as funções que um software deverá desempenhar. Os requisitos
funcionais descrevem o que o sistema deve fazer. Esses requisitos dependem do
tipo de software que está sendo desenvolvido, dos usuários a que o software se
16
destina e da abordagem geral considerada pela organização ao redigir os requisitos.
Eles descrevem as funções do sistema detalhadamente (SOMMERVILLE, 2007,
p.81).
2.6 REQUISITOS NÃO FUNCIONAIS
SOMMERVILLE (2011) diz que os requisitos não funcionais, como o nome
sugere, são requisitos que não estão diretamente relacionados com os serviços
específicos oferecidos pelo sistema e seus usuários Segundo PREECE (2005)
requisitos não funcionais indicam quais são as limitações no sistema e em seu
desenvolvimento.
Na engenharia de requisitos, dentro do contexto da engenharia de software,
os requisitos não funcionais estão relacionados ao uso da aplicação em termos de
usabilidade, desempenho, segurança, disponibilidade. De uma maneira mais simples
pode-se dizer que eles descrevem as qualidades globais do sistema. Ressalta-se
ainda que a avaliação desses requisitos começa na fase de desenvolvimento e vai
até os testes finais do software.
Os requisitos não funcionais são aqueles não diretamente relacionados às funções específicas fornecidas pelo sistema. Eles podem estar relacionados às propriedades emergentes do sistema, como confiabilidade, tempo de resposta e espaço de armazenamento (SOMMERVILLE, 2007).
2.7 CAPTURA DE REQUISITOS
No contexto de engenharia de software, captura de requisitos ou elicitação
de requisitos é um processo que engloba todas as atividades que contribuem para a
produção de um documento de requisitos. Para realizar a captura de requisitos é
preciso utilizar o primeiro processo da engenharia de requisitos, a identificação. Para
identificá-los, será necessário o uso de alguma técnica para levantamento.
Entrevistas formais e informais com o cliente fazem parte da maioria dos
processos da captura de requisitos. Nessas entrevistas a equipe desenvolvedora
formula as questões para o cliente sobre o sistema que ele usa e o sistema a ser
desenvolvido. Os requisitos são derivados das respostas a essas questões
17
(SOMMERVILLE, 2007, pag.101). Na prática, a técnica utilizada para a captura de
requisitos do sistema aqui proposto será a citada anteriormente, entrevistas e
questionários. Essas entrevistas podem ser fechadas, onde o cliente responde a um
conjunto de perguntas predefinidas ou podem ser abertas, nas quais não existe um
roteiro predefinido. As entrevistas são úteis para obter um entendimento geral sobre
o que o cliente faz como ele interage com o sistema e as dificuldades que enfrenta
com o sistema atual.
2.8 STAKEHOLDERS
Segundo PREECE (2005, p. 191) os stakeholders são um conjunto
surpreendentemente grande de indivíduos que tem uma participação no
desenvolvimento de um produto.
Os stakeholders são indivíduos ou organizações que serão afetados pelo sistema e que tem influencia direta ou indireta nas necessidades desse sistema. O grupo de stakeholders de certo produto será maior do que o grupo de pessoas que você normalmente consideraria usuários, ainda que obviamente ele os incluísse. Podemos perceber que o grupo de stakeholders inclui a própria equipe de desenvolvimento e seus gestores, os usuários diretos e seus gerentes, os que irão receber os resultados do produto, as pessoas que perderão seus empregos por causa da introdução de um novo produto e assim por diante (PREECE, 2005).
PHILLIPS (2002, p.9) define “Stakeholder como um termo usado para se
referir a qualquer pessoa ou grupo afetado pelo projeto, direta ou indiretamente”. Na
engenharia de software, stakeholders são definidos como pessoas que de alguma
forma são afetadas pelo sistema, ou podem ser tanto os usuários que irão trabalhar
com o sistema, quanto às pessoas que serão beneficiadas com o mesmo.
2.9 UML
A UML (Unified Modeling Language) significa ”Linguagem de Modelagem
Unificada”. É uma linguagem de especificação, documentação, visualização e
desenvolvimento de sistemas orientados a objetos. A UML permite que a equipe de
18
desenvolvedores de sistemas visualize os produtos de seus trabalhos em diagramas
padronizados. Ela provê tais aspectos (PENDER, 2004):
• Especificação : A UML é uma excelente linguagem de modelagem para a
especificação dos diferentes aspectos de um sistema orientado a objeto.
• Documentação: Os documentos produzidos pela especificação, são materiais
importantes para controlar, medir, e refletir sobre um sistema durante o seu
desenvolvimento e implantação.
• Visualização: A representação dos modelos visuais facilita a comunicação e faz
com que os membros da equipe de desenvolvimento tenham a mesma visão do
sistema como um todo. Cada símbolo gráfico tem uma semântica bem definida
através da notação UML.
• Construção: Geração automática de código a partir do modelo visual e geração
do modelo visual a partir do código. O principal objetivo da UML é representar
qualquer tipo de sistema ou software, em termos de diagramas orientados a
objeto. Naturalmente, o uso mais comum é para criar modelos de sistemas de
software. Vale ainda ressaltar que a UML facilita a comunicação de todas as
pessoas envolvidas no processo de desenvolvimento de um sistema - gerentes,
coordenadores, analistas, desenvolvedores - por apresentar um vocabulário de
fácil entendimento.
2.10 DIAGRAMAS DE CASO DE USO
O objetivo do diagrama de caso de uso é identificar todos os recursos aos
que os clientes esperam que o sistema ofereça suporte, mas ele não revela qualquer
detalhe sobre a implementação desses recursos (Pender, 2004).
O diagrama de caso de uso modela as expectativas dos usuários para usar o sistema. As pessoas e os sistemas que interagem com o sistema alvo são chamados de atores, e os recursos do sistema que os atores utilizam são chamados de casos de usos. Alguns casos de uso interagem com outros
19
casos de usos, em relacionamento modelado por meio de setas de dependência (Pender, 2004).
Booch, Rumbaugh, Jacobson (2005) definem que:
Os diagramas de caso de uso são aplicados para modelar a visão de caso
de uso do sistema. Eles são muitos importantes para visualizar, especificar e
documentar o comportamento de um elemento. Esses diagramas fazem com que
sistemas, subsistemas e classes fiquem acessíveis e compreensíveis, por
apresentarem uma visão externa sobre como esses elementos podem ser utilizados
no contexto. As etapas da construção de um diagrama de caso de uso são:
• Definir o contexto, os atores e casos de uso;
• Avaliar os atores e casos de uso, para fins de refinamento;
• Definir os relacionamentos de inclusão;
• Definir os relacionamentos de extensão;
• Avaliar atores e casos de uso para oportunidades de generalização
• (propriedades compartilhadas).
2.11 DIAGRAMA DE SEQUÊNCIA
O foco do diagrama de sequencia está na identificação de interações entre
os objetos com o tempo. O maior benefício do diagrama é que ele ajuda a identificar
as mensagens trocadas entre os objetos (Pender, 2004).
No diagrama de sequencia a troca de mensagens exige um transmissor e um receptor, um receptor precisa ter uma interface para poder receber uma mensagem. Logo, se uma mensagem tiver que ser enviada de um objeto para outro, o receptor terá de definir uma interface em conformidade com a mensagem (Pender, 2004).
Como citado anteriormente, o diagrama de sequência tem o objetivo de
mostrar como as mensagens são trocadas entre os objetos no decorrer do tempo
para realização de uma operação. Segundo Bezerra (2007) “o objetivo do diagrama
de sequência é apresentar as interações entre objetos na ordem temporal em que
20
elas acontecem”. O diagrama de sequência é um diagrama de interação que dá
ênfase à ordenação temporal das mensagens. Um diagrama de sequência mostra
um conjunto de papéis e as mensagens enviadas e recebidas pelas instâncias que
representam os papéis. Use o diagrama de sequência para ilustrar a visão dinâmica
de um sistema (Booch, Rumbaugh, Jacobson, 2005).
2.12 DIAGRAMA DE CLASSE
O diagrama de classe é núcleo do processo de modelagem de objetos.
Serve para modelar as definições de recursos essenciais à operação correta do
sistema. Ele é a origem para geração e também de conversão do código para o
modelo (Pender, 2004).
O diagrama de classe modela os recursos usados para montar e operar o sistema. Os recursos representam pessoas, materiais, informações, e comportamentos. Os diagramas de classe modelam cada recurso em termos de estrutura, relacionamentos e comportamentos, e a sua notação é surpreendentemente simples. Ele inclui uma série de outras construções de modelagem para abordar a gama de recursos e mecanismos de projeto comuns aos sistemas (Pender, 2004).
O diagrama de classes provavelmente é o diagrama mais utilizado da UML.
Seu principal objetivo é definir a base para que os outros diagramas apresentem
outras visões do sistema. Ele descreve a visão estática do sistema em termos de
classes e relacionamentos entre as classes. Com certeza este diagrama é o mais
importante em uma documentação de software, onde podemos encontrar as
informações sobre métodos, atributos, nome das funções e como serão integradas.
Os diagramas de classes são os diagramas encontrados com maior frequência na modelagem de sistemas orientados a objetos. Um diagrama de classes mostra um conjunto de classes, interfaces e colaborações e seus relacionamentos. [...] São usados para fazer a modelagem estática do projeto de um sistema. São importantes não só para a visualização, a especificação e a documentação de modelos estruturais, mas também para a construção de sistemas executáveis por intermédio de engenharia de produção e reversa (BOOCH, RUMBAUGH, JACOBSON, 2005).
21
O diagrama de classes se encontra no centro do processo de modelagem
de objetos. Ele é o diagrama principal para capturar todas as regras que governam a
definição e o uso de objetos. Como o repositório para todas as regras, ele também é
a principal fonte para a engenharia direta (transformar um modelo em código) e o
alvo para a engenharia reversa (transformar código em um modelo) [...] O diagrama
de classes provavelmente é o diagrama mais utilizado da UML (PENDER, 2004).
2.13 HTML
HTML (abreviação para a expressão inglesa HyperText Markup Language,
que significa Linguagem de Marcação de Hipertexto) é a linguagem com que se
escrevem as páginas web. As páginas web podem ser visualizadas pelo usuário
mediante uma aplicação chamada navegador . Podemos dizer portanto, que o HTML
é a linguagem usada pelos navegadores para mostrar as páginas webs ao usuário,
sendo hoje em dia a interface mais extensa na rede.
Esta linguagem nos permite aglutinar textos, imagens e áudios, e combiná-los a nosso gosto. Ademais, e é aqui onde está a sua vantagem em relação aos livros e revistas, o HTML nos permite a introdução de referências a outras páginas por meio dos links hipertextos. O HTML se criou a princípio com objetivos de divulgação. Porém, não se pensou que a web chegaria a ser uma área de ócio com caráter multimídia, de modo que, o HTML se criou sem dar respostas a todos os possíveis usos que lhe dariam posteriormente e ao todo coletivo de gente que o utilizariam no futuro. Entretanto, frente a este deficiente planejamento, com o tempo, foi se incorporando modificações, as quais são os padrões do HTML. Numerosos padrões já se apresentaram (Samy, 2008).
2.14 CSS CSS é a abreviação para o termo em inglês Cascading Style Sheet,
traduzido para o português como folhas de estilo em cascata.
Cascading Style Sheets é uma linguagem de estilo, utilizada para descrever a apresentação de um documento escrito em uma linguagem de marcação como HTML, XHTML ou XML. Essas definições são aplicadas a documentos de diversas maneiras, alterando a forma como as informações são apresentadas. (Samy, 2008)
22
O CSS é uma linguagem de estilo utilizada para definir a apresentação de
documentos escritos em uma linguagem de marcação, o CSS define cores,
posicionamento na tela, estilos de linhas, bordas e tudo o mais relacionado à
apresentação, A grande vantagem do uso de CSS é de separar a marcação HTML
da apresentação do site, em outras palavras, vale dizer que o HTML destina-se
unicamente a estruturar e marcar o conteúdo, ficando por conta das CSS toda a
responsabilidade pelo visual do documento. (Samy, 2008, p. 50)
2.15 JAVASCRIPT
JavaScript é uma linguagem utilizada para implementar as funcionalidades de
um sistema auxiliando na interação do usuário com o software, voltado para o
desenvolvimento web, com o Javascript podemos criar caixas de diálogos,
mensagens de pequenas informações, alterar estilos entre outros implementos.Com
JavaScript, podemos escrever marcação HTML e inseri-la na marcação de um
documento existente. Por exemplo: inserção de data/hora no documento, inserção
de uma mensagem de boas-vindas ou, ainda, inserção de conteúdos diferenciados e
escolhidos de acordo com o navegador do usuário. Podemos, até mesmo, gerar o
HTML completo de uma página web.
JavaScript é capaz de definir, alterar e controlar de forma dinâmica a apresentação de um documento HTML, com os aspectos relacionados a cor de fundo textos links, ou mesmo interferir no posicionamento dos elementos HTML de um documento. É possível manipular a folha de estilos associada ao documento criando regras CSS ou anulando regras existentes (Samy, 2010 p. 24).
2.16 PHP
PHP e uma das linguagens mais utilizadas na web, hoje são mais de 10
milhões de sites no mundo inteiro que utilizam PHP a principal diferença em relação
às outras linguagens e a capacidade que o PHP tem de interagir com o mundo Web
(Niederauer, 2004 pag. 19). PHP é uma linguagem que permite criar sites WEB
dinâmicos, possibilitando uma interação com o usuário através de formulários,
parâmetros da URL e links. A diferença de PHP com relação a linguagens
semelhantes a JavaScript é que o código PHP é executado no servidor, sendo
23
enviado para o cliente apenas HTML puro. Desta maneira é possível interagir com
bancos de dados e aplicações existentes no servidor, com a vantagem de não expor
o código fonte para o cliente.
Basicamente, qualquer coisa que pode ser feita por algum programa CGI pode ser feita também com PHP, como coletar dados de um formulário, gerar páginas dinamicamente ou enviar e receber cookies.PHP também tem como uma das características mais importantes o suporte a um grande número de bancos de dados, como dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL e vários outros. Construir uma página baseada em um banco de dados torna-se uma tarefa extremamente simples com PHP (Niederauer, 2004).
2.17 MYSQL
“O Mysql é um banco de dados completo, robusto e extremamente rápido,
com todas as características existentes nos principais bancos de dados pagos
existentes no mercado” Suehring (2002). É atualmente um dos bancos de dados
mais populares, com mais de 10 milhões de instalações pelo mundo, devido a sua
confiabilidade e compatibilidade com os sistemas operacionais existentes. É
importante ressaltar que o Mysql tem um alto poder de execução e armazenamento.
Dependendo da plataforma onde será utilizado, suas tabelas poderão armazenar
espaços extraordinários, ficando limitados apenas ao hardware em questão.
Suehring (2002, p.21) ressalta que o MySql concorre com alguns de seus
correspondentes comerciais em muitas áreas. Particularmente em desempenho,
escalabilidade e estabilidade, o MySql pode ter um desempenho tão bom ou melhor
que seus concorrentes.
MySQL é um software de banco de dados que suporta linguagem de consulta de banco de dados chamada de SQL. A SQL é um padrão de comunicação com banco de dados de qualquer tipo, não importado os métodos subjacentes de escrever e ler os dados (Maxfield, 2002, p.37).
2.18 BANCO DE DADOS
De acordo com Elmasri, Navathe (2005, p.3) “os bancos de dados se
tornaram componentes essenciais no cotidiano da sociedade moderna. No decorrer
24
do dia, a maioria de nós se depara com atividades que envolvem alguma interação
com os bancos de dados. Por exemplo, se formos ao banco para efetuarmos um
depósito ou retirar dinheiro, se fizermos reservas em um hotel ou para a compra de
passagens aéreas, se acessarmos o catálogo de uma biblioteca informatizada para
consultar uma bibliografia ou se comprarmos produtos como livros, brinquedos ou
computadores de um fornecedor por intermédio de sua página Web, muito
provavelmente essas atividades envolverão uma pessoa ou um programa de
computador que acessará um banco de dados (ELMASRI, NAVATHE, 2005, p.3).
Um banco de dados é basicamente apenas um sistema computadorizado de
manutenção de registros. O banco de dados, por si só, pode ser considerado como
equivalente eletrônico de um armário de arquivamento; ou seja, ele é um repositório
ou recipiente para uma coleção de arquivos de dados computadorizados (DATE
2004, p.3). De acordo com Date (2004, p.3) define que os usuários de um sistema
que possua um banco de dados podem realizar (ou melhor, solicitar que o sistema
realize) diversas operações envolvendo tais arquivos – por exemplo:
• Acrescentar novos arquivos ao banco de dados
• Inserir dados em arquivos já existentes
• Buscar dados de arquivos já existentes
• Excluir dados de arquivos já existentes
• Alterar dados de arquivos já existentes
• Remover arquivos existentes do banco de dados
25
3. DESENVOLVIMENTO
3.1 ANALISE DO AMBIENTE ORGANIZACIONAL
Neste tópico será descrito os itens primordiais para o web site, serão
descritos os dados da empresa e suas filiais os cargos de cada funcionário, o ramo
de atividade e o organograma da empresa, e por fim a plataforma tecnológica que a
loja matriz e suas filiais dispõem.
3.1.1 Identificação da empresa
• Nome: Drogaria Onnix
• Endereço: Avenida Brasil – 1280
• Telefone: (43)3472-1105
• Cidade: Ivaiporã – PR.
• Proprietário: Luiz Aparecido De Carvalho
3.1.2 Definição do ramo de atividade
A empresa atua no ramo de medicamentos a mais de 19 anos e tem ótima
aceitação do publico alvo, e com os serviços prestados a população de Ivaiporã a
drogaria se tornou ponto de referencia na venda e entrega de seus produtos, a loja
oferece um serviço de atendimento personalizado, grande estoque de
medicamentos, perfumarias e conveniências. A missão da empresa é atender seus
clientes com qualidade, fornecendo produtos de qualidade e aceitação do mercado.
26
3.1.3 Descrição do mini mundo do sistema
Insatisfeito com as filas causadas em dias de pico, a espera no caixa e na
linha telefônica o proprietário da Onnix Drugstore busca uma solução para seus
problemas, pois, somente com o sistema próprio da farmácia, que as vendas são
realizadas uma a uma pelos atendentes nos computadores não é suficiente e isso
acaba gerando uma demora e a clientela acaba procurando o concorrente, o que
para ele não é nada interessante, o website será implantado para resolver esses
problemas, oferecendo o serviço todo online, a partir dai o cliente pode efetuar o
pedido direto de sua casa, verificar preços e promoções e com esses serviços
diminuir o fluxo de pessoas na loja física, e sem perda de consumidores.
3.1.4 Organograma da empresa
Em um organograma, os órgãos são dispostos em níveis que representam a
hierarquia existente entre eles, quanto mais alto estiver o órgão, maior a autoridade.
27
Figura 2 - Organograma da empresa
3.1.5 Plataforma tecnológica da empresa
A empresa dispõe de um computador para gerenciamento do web site.
• Processador: Pentium Dual-Core CPU T4500 2.30 GHz.
• Memória (RAM): 8,00 GB.
• Sistema operacional: Windows 7 Starter – 32 bits.
• Acesso a internet: 10 Mega (Fibra Ótica).
3.2 FERRAMENTAS UTILIZADAS
Tabela 1 - Ferramentas Utilizadas
Item Ferramenta Versão Licen ça Linguagem de Programação
HTML 4,5 Freeware
Linguagem de programação
CSS 3 Freeware
28
Linguagem de Programação
JavaScript Freeware
Linguagem de Programação
PHP 5.4.0 Freeware
Banco de Dados MySql 5.2 Freeware
Modelagem de Dados Astah
Community 6.6.3 Freeware
Editor de Códigos Notepad++ 5.9.8 Freeware
Linguagem de Programação
JQuery Freeware
Linguagem de Programação
Ajax Freeware
3.3 REQUISITOS
3.3.1 Requisitos funcionais
Os requisitos funcionais são aqueles que descrevem o comportamento do
sistema, suas ações para cada entrada, ou seja, é aquele que descreve as
funcionalidades, as quais se esperam para que sistema forneça. Eles dependem do
tipo de software que está sendo desenvolvido, do conhecimento passado pelos
usuários sobre o negocio em si e do que se deve fazer o software que se espera
desenvolver.
A especificação de um requisito funcional deve determinar o que se espera
que o software faça, sem a preocupação de como ele faz. É importante diferenciar a
atividade de especificar requisitos da atividade de especificação que ocorre durante
o design do software. No design do software deve-se tomar uma decisão de quais
funções o sistema efetivamente terá para satisfazer aquilo que os usuários querem,
ou melhor, que o processo de negocio exige.
RF01 - O web site deve permitir a visualização de todos os produtos cadastrados.
RF02 - O web site deve manter dados da empresa e mostra-los ao usuário.
RF03 - O web site possuirá pagina de cadastro de usuários.
29
RF04 - O web site deve permitir ao usuário acrescentar vários produtos em seu carrinho de compras.
RF05 - O web site deve permitir que o usuário faça o login e digite a sua senha.
RF06 - O web site deve disponibilizar pagina de promoções.
RF07 – O web site deve disponibilizar pagina de fale conosco ao cliente.
RF08 - O web site deve permitir que o usuário escolha o endereço para entrega do pedido.
RF09 - O web site deve manter dados do usuário restritos somente ao usuário.
RF10 - O web site deve permitir que o administrador tenha acesso a todas as partes do sistema.
RF11 - O web site deve ser dividido por categorias.
RF12 - O web site deve ter um controle de nível de usuários.
RF13 - O web site permitirá ao usuário a alteração de dados de cadastro do usuário.
RF14 – O web site deve permitir visualização dos produtos adquiridos.
Quadro 1- Requisitos Funcionais
3.3.2 Requisitos não funcionais
Os requisitos não funcionais não estão ligados diretamente com as funções
fornecidas pelo sistema. Em geral se preocupam com padrões de qualidade como
confiabilidade, desempenho, robustez, segurança, usabilidade, portabilidade,
legibilidade, qualidade, manutenção, entre outros. São muito importantes, pois
definem se o sistema será eficiente para a tarefa que se propõe a fazer. Um sistema
ineficiente certamente não será usado, os requisitos não funcionais podem ser
divididos em muitos subitens, alguns destes encontram-se listados nos tópicos
abaixo.
3.3.2.1 Segurança
Segundo Bezerra (2007 p.24) segurança “é limitações do sistema em relação
a acessos não autorizados”.
30
A segurança é o julgamento da probabilidade de que um sistema possa resistir a instruções acidentais ou intencionais. Essas instruções têm como alvo a base de dados, onde ficam armazenadas as informações da empresa. (sommerville, 2007. p32)
RS01 A base de dados deve estar protegida e só pode ser acessada pelo
administrador. RS02 A área restrita do site só pode ser acessada por login e senha.
Quadro 2 - Requisitos de Segurança
3.3.2.2 Portabilidade
Segundo Bezerra (2007 p.24) Portabilidade é “restrições sobre as
plataformas de hardware e de software nas quais o sistema será implantado e sobre
o grau de facilidade para transportar o sistema para outras plataformas”.
RP01 O sistema pode ser rodada em qualquer plataforma, Windows, Linux.
RP02 O sistema executa nos browsers Explorer, Firefox e Chrome.
Quadro 3 - Requisitos de Portabilidade
3.3.2.3 Requisitos de usabilidade
Relata Bezerra (2007 p.24) que “usabilidade são requisitos que se
relacionam ou afetam a usabilidade do sistema. Incluem requisitos sobre facilidade
de uso e a necessidade ou não de treinamentos dos usuários”.
RU01 O sistema deve ser utilizável para qualquer pessoa.
RU02 Não é necessário treinar para utilizar o sistema.
RU03 Serão escolhidas cores leves para não ser cansativo ao usuário.
Quadro 4 - Requisitos de Usabilidade
3.3.2.4 Requisitos de confiabilidade
31
De acordo com Bezerra (2007 p.23) “confiabilidade corresponde às medidas
quantitativas da confiabilidade do sistema, tais como o tempo médio entre falhas,
recuperação de falhas ou quantidades de erros por milhares linhas de códigos”.
RC01 O sistema deve estar disponível 24hrs dependendo apenas do servidor.
RC02 Caso ocorra um erro no sistema, imediatamente o erro deve ser reparado.
Quadro 5 - Requisitos de Confiabilidade
3.3.2.5 Requisitos de desempenho
De acordo com Bezerra (2007 p.23) “desempenho é requisito que define o
tempo de resposta esperados para funcionalidades do sistemas”.
RD01 A velocidade de upload e carregamento das paginas dependerão na banda
de internet do usuário.
Quadro 6 - Requisitos de Desempenho 3.4 CRONOGRAMA DE CONFECÇÃO
Tabela 2 - Cronograma de Confecção
Atividades M A R
A B R
M A I
J U N
J U L
A G O
S E T
O U T
N O V
Leitura Bibliográfica Levantamento de requisitos Entrevistas e Questionários Documentação do sistema Elaboração de diagramas Desenvolvimento de aplicação
32
3.5 DIAGRAMA DE CASO DE USO
33
Figura 3- Diagrama de caso de uso
3.6 DESCRIÇÕES TEXTUAIS DOS CASOS DO USO
UC-01: Manter Cadastro.
34
• Definição do UC
Este caso de uso descreve passo a passo como o usuário realiza e
altera o cadastro no web site.
• Atores envolvidos
Usuário.
• Pré-condições
1- O usuário deve estar em qualquer pagina do web site.
2- O usuário deve acessar a pagina de cadastro de clientes.
3- Para alterar o cadastro o usuário deverá estar logado no web site.
• Fluxo Básico
1- Para se cadastrar no web site o usuário deve clicar no link “Faça seu login
ou cadastre-se” que será redirecionado para uma nova tela.
1.1- O web site exibe a tela “Cadastro de Usuários”.
1.2- O web site solicita nome completo.
1.3- O web site solicita CPF.
1.4- O web site solicita sexo.
1.5- O web site solicita data de nascimento.
1.6- O web site solicita telefone fixo.
1.7- O web site solicita celular.
1.8- O web site solicita e-mail.
1.9- O web site solicita confirmação de e-mail.
1.10- O web site solicita senha.
1.11- O web site solicita confirmação de senha.
1.12- O web site solicita o CEP.
1.13- O web site solicita endereço.
1.14- O web site solicita numero residencial.
1.15- O web site solicita complemento.
1.16- O web site solicita cidade.
1.17- O web site solicita estado.
1.18- Com todos os dados corretos, o usuário então finaliza o cadastro
clicando no botão “SALVAR”.
2- Para alterar o cadastro o usuário deve estar logado no web site e clicar no
link “Alterar cadastro” que ficará contido na barra de status.
35
2.1- O web site redirecionará para a tela “Cadastro de Usuários”.
2.2- A tela “Cadastro de Usuários” exibirá para o usuário o formulário de
cadastro com todos os seus dados preenchidos de acordo com o que
foi salvo na base de dados.
2.3- O usuário então altera os campos necessários e clica no botão
“SALVAR”.
• Fluxo Alternativo
Nome completo digitado com quantidade abaixo ou acima de caracteres
(RN01).
1.2 – O web site exibe a mensagem “Por favor, digite o nome corretamente”.
CPF digitado incorretamente (RN02).
1.3 – O web site exibe a mensagem “Por favor, digite um CPF válido”.
Telefone fixo digitado incorretamente (RN03).
1.6 – O web site exibe a mensagem “Por favor, digite o telefone
corretamente”.
Celular digitado incorretamente (RN04).
1.7 – O web site exibe a mensagem “Por favor, digite um número de celular
válido”.
Confirmação de e-mail diferente do campo e-mail (RN05).
1.9 – O web site exibe a mensagem “E-mail diferente, por favor, digite um e-
mail igual”.
Senha digitada incorretamente (RN06).
1.10 – O web site exibe a mensagem “Por favor, digite a senha corretamente”.
Confirmação de senha diferente do campo senha (RN07).
1.11 – O web site exibe a mensagem “Senha diferente, por favor, digite uma
senha igual”.
CEP digitado incorretamente (RN08).
1.12 – O web site exibe a mensagem “Por favor, digite um CEP válido”.
Endereço digitado incorretamente (RN09).
1.13 – O web site exibe a mensagem “Por favor, digite um endereço válido”.
Número residencial digitado incorretamente (RN10).
1.14 – O web site exibe a mensagem “Por favor, digite um numero residencial
válido”.
36
Complemento digitado incorretamente.
1.15 – O web site exibe a mensagem “Por favor, digite um complemento
válido”.
Dados pessoais incorretos (RN12).
1.18 - O web site exibe a mensagem “Há Campo(s) incorreto(s) verifique”.
Campos vazios ou incorretos (RN12).
3.3 - O web site exibe a mensagem “Há Campo(s) incorretos(s) verifique”.
• Regras de negócio
RN01 – O campo nome completo deve conter de 06 a 20 caracteres.
RN02 – O campo CPF deve conter 11 dígitos.
RN03 – O campo telefone fixo deve conter 10 dígitos.
RN04 – O campo celular deve conter 10 dígitos.
RN05 – O campo confirmação de e-mail deve ser idêntico ao campo e-mail.
RN06 – O campo senha deve conter de 05 a 12 caracteres.
RN07 – O campo confirmação de senha deve ser idêntico ao campo senha.
RN08 – O campo CEP deve conter 08 dígitos.
RN09 – O campo endereço deve conter de 10 a 25 caracteres.
RN10 – O campo número residencial deve conter de 02 a 06 dígitos.
RN11 – O campo complemento deve conter de 04 a 12 caracteres.
RN12 – Campos de dados pessoais com asterisco são todos obrigatórios.
UC-02: Fazer Login.
• Descrição do UC
37
Esse caso de uso descreve como o usuário faz o login no web
site.
• Atores envolvidos
Usuário.
• Pré-condições
1- O usuário deve estar navegando no web site.
2- O usuário deve estar cadastrado no web site para realizar o login.
• Fluxo Básico
1- O usuário solicita login através do link localizado na barra de status que
fica no topo do web site “Faça seu login ou cadastre-se”.
2- O web site exibe a tela de login.
3- O web site solicita o e-mail do usuário.
4- O web site solicita a senha do usuário.
5- O usuário, após ter digitados os campos, clica no botão entrar.
6- Com todos os dados preenchidos corretamente, o web site então loga o
usuário.
• Fluxo Alternativo
E-mail do usuário digitado incorretamente (RN01).
2.1 – O web site exibe a mensagem “E-mail incorreto”.
Senha do usuário digitado incorretamente (RN02).
3.2 – O web site exibe a mensagem ”Senha incorreta”.
Usuário e senha não encontrados na base de dados (RN03).
5.1 – O web site exibe a mensagem “Usuário não encontrado”.
Campos Vazios (RN04).
5.2 – O web site exibe a mensagem “Campos vazios ou preenchidos
incorretamente”.
• Regras de Negócio
RN01 – E-mail deve estar validado dentro dos padrões de e-mail.
RN02 – Senha deve conter de 05 a 12 caracteres.
RN03 – E-mail e senha devem estar cadastrados na base de dados, e devem
estar ligados um ao outro.
RN04 – Campos de login e senhas não podem ficar em branco.
38
UC-03: Realizar Compra.
• Descrição do UC
39
Esse caso de uso descreve como o usuário realiza compras no
web site.
• Atores envolvidos
Usuário.
• Pré-condições
1- O usuário deve estar logado no web site.
2- O usuário deve ter selecionado pelo menos 01 produto para finalizar a
compra.
• Fluxo Básico
1- O web site exibe a tela home.
2- O usuário então navega pelo web site.
3- O usuário seleciona os produtos que deseja e os adiciona-o no carrinho de
compras.
4- Após ter escolhido todos os produtos que deseja, o web site solicita a
confirmação do usuário para o endereço de entrega.
5- O web site redireciona o usuário para o site do pagseguro.
6- O usuário no site do pagseguro, seleciona a forma de pagamento
desejada.
7- Com a forma de pagamento e o endereço definidos, o usuário então clica
no botão “finalizar a compra” no pagseguro.
• Fluxo Alternativo
Usuário não logado no web site (RN01).
4.1 – O web site redireciona o usuário para a pagina de login.
Endereço de entrega não confirmado pelo usuário (RN02).
4.2 – O web site exibe a mensagem “Por favor, verifique todos os campos
para finalizar a compra”.
• Regras de Negócio
RN01 – O usuário deve estar logado no web site.
RN02 – Campos de forma de endereço de entrega são obrigatórios.
40
UC-04: Acessar Fale Conosco.
• Descrição do UC
41
Esse caso de uso mostrará os passos necessários para o usuário enviar uma
mensagem através do fale conosco.
• Atores envolvidos.
Usuário.
• Pré-condição.
1- O usuário deverá estar no web site.
• Fluxo principal.
1- O usuário clica no link fale conosco no rodapé disponível em todas as páginas
do web site.
2- O web site redirecionará o usuário para o formulário de fale conosco.
3- O usuário preenche os campos com seu nome e e-mail e escreve sua
mensagem no campo adequado.
4- O usuário deverá clicar no botão de enviar mensagem.
5- O web site deverá gravar a mensagem do usuário na base de dados.
6- O web site deverá mostrar ao usuário uma mensagem dizendo que a gravação
foi bem sucedida.
• Fluxo alternativo.
Usuário não preencheu os campos do formulário (RN01).
3- O web site exibe a mensagem ”Campo(s) Obrigatórios”.
• Regras de negócio
RN01- Campos do formulário “Fale conosco” são todos obrigatórios.
UC-05: Manter Produto.
• Descrição do UC
42
Esse caso de uso descreve como o administrador adiciona e
altera produtos no web site.
• Atores envolvidos
Administrador.
• Pré-condições
1- O administrador deve estar logado no web site.
• Fluxo Básico
1- O web site exibe o painel administrativo.
2- Para adicionar um novo produto, o administrador deve clicar no link
“Cadastrar um novo produto” que será redirecionado para uma nova tela.
2.1- O web site exibe a tela “Cadastro de Produtos”.
2.2- O web site solicita nome.
2.3- O web site solicita laboratório.
2.4- O web site solicita categoria.
2.5- O web site solicita preço de custo.
2.6- O web site solicita preço de venda.
2.7- O web site solicita preço de promoção.
2.8- O web site solicita código de barras.
2.9- O web site solicita imagem do produto.
2.10- O web site solicita informações.
2.11- Com todos os dados corretos, o administrador então finaliza o cadastro
clicando no botão “SALVAR”.
3- Para alterar um produto já cadastrado no web site, o administrador deve
retornar ao painel administrativo e clicar no link “Gerenciamento de
Produtos”.
3.1- O web site exibirá uma tela com uma listagem de todos os produtos
cadastrados, logo à frente de cada produto haverá um botão “alterar”, o
administrador então clica no botão “alterar” do produto que deseja
alterar.
3.2- O web site redirecionará para a tela “Cadastro de Produtos”.
3.3- A tela “Cadastro de Produtos” exibirá para o administrador o formulário
de cadastro com todos os dados do produto preenchidos de acordo
com o que foi salvo na base de dados.
43
3.4- O administrador então altera os campos necessários e clica no botão
“SALVAR”.
• Fluxo Alternativo
Nome digitado com quantidade abaixo ou acima de caracteres (RN01).
2.3 – O web site exibe a mensagem “Por favor, digite o nome corretamente”.
Laboratório não selecionado (RN02).
2.4 – O web site exibe a mensagem “Por favor, selecione um laboratório”.
Categoria não selecionada (RN03).
2.5 – O web site exibe a mensagem “Por favor, selecione uma categoria”.
Preço de custo digitado incorretamente (RN04).
2.6 – O web site exibe a mensagem “Por favor, digite somente números
validos”.
Preço de venda digitado incorretamente (RN05).
2.7 – O web site exibe a mensagem “Por favor, digite somente números
validos”.
Código de barras digitado incorretamente (RN06).
2.9 – O web site exibe a mensagem “Por favor, digite a código de barras
corretamente”.
Imagem do produto não selecionada (RN07).
2.10 – O web site exibe a mensagem “Por favor, selecione uma imagem para
o produto”.
Informações digitado incorretamente (RN08).
2.11 – O web site exibe a mensagem “Por favor, digite informações válidas”.
Campos vazios ou incorretos (RN09).
2.12 - O web site exibe a mensagem “Campo(s) obrigatórios(s)”.
Campos vazios ou incorretos (RN09).
3.3 - O web site exibe a mensagem “Campo(s) obrigatórios(s)”.
• Regras de negócio
RN01 – O campo nome deve conter de 05 a 30 caracteres.
RN02 – O campo laboratório não pode ser vazio.
RN03 – O campo categoria não pode ser vazio.
RN04 – O campo preço de custo deve conter de 03 a 10 dígitos.
RN05 – O campo preço de venda deve conter de 03 a 10 dígitos.
RN06 – O campo código de barras deve conter de 05 a 15 dígitos.
44
RN07 – O campo imagem do produto não pode ser vazio.
RN08 – O campo informações deve conter de 10 a 1.000 caracteres.
RN09 – Todos os campos com asterisco devem estar preenchidos.
UC-06: Manter Fale Conosco.
• Descrição do UC
45
Esse caso de uso descreve como o administrador visualiza e
manipula as informações do fale conosco.
• Atores envolvidos
Administrador.
• Pré-condições
1- O administrador deve estar logado no web site.
• Fluxo Básico
1- O web site exibe o painel administrativo.
2- O administrador seleciona o link “Fale Conosco (Mensagens Recebidas)”.
3- O web site redirecionará para a tela de mensagens recebidas através do
fale conosco.
4- Na tela de mensagens recebidas constarão o nome do usuário, assunto, e-
mail de contato e a mensagem.
5- Assim o administrador poderá então estar respondendo ou não às
mensagens.
UC-07: Manter Usuários do sistema.
• Descrição do UC
46
Esse caso de uso descreve como o administrador altera e exclui
dados de usuários no web site.
• Atores envolvidos
Administrador.
• Pré-condições
1- O administrador deve estar logado no web site.
• Fluxo Básico
1- O web site exibe o painel administrativo.
1.1- O administrador seleciona o link “Gerenciamento de usuários”.
2- Quando clicado em “Gerenciamento de usuários” já cadastrado no web
site, o administrador terá acesso a uma lista com todos os usuários
cadastrados, logo a frente do nome de cada usuário será exibido dois
botões “alterar” e “excluir”.
2.1- Se a opção selecionada for “alterar”, o web site redirecionará para a
tela “Cadastro de Usuários”.
2.2- A tela “Cadastro de Usuários” exibirá para o administrador o formulário
de cadastro com todos os dados do usuário preenchidos de acordo
com o que foi salvo na base de dados.
2.3- O administrador então altera os campos necessários e clica no botão
“SALVAR”.
2.4- Se a opção selecionada for ”excluir”, o web site então excluirá o usuário
selecionado.
• Fluxo Alternativo
Dados pessoais incorretos (RN01).
3.7 – O web site exibe a mensagem “Campo(s) incorreto(s), verifique”.
• Regras de negócio
RN01– Campos de dados pessoais são todos obrigatórios.
UC-08: Fazer Login.
• Descrição do UC
47
Esse caso de uso descreve como o administrador faz o login no
web site.
• Atores envolvidos
Administrador.
• Pré-condições
1- O administrador deve estar na pagina de login.
2- O administrador deve estar cadastrado no web site para realizar o login.
• Fluxo Básico
3- O web site exibe a tela de login.
4- O web site solicita o e-mail do usuário.
5- O web site solicita a senha do usuário.
6- O administrador, após ter digitados os campos, clica no botão entrar.
7- Com todos os dados preenchidos corretamente, o web site então loga o
administrador.
• Fluxo Alternativo
E-mail do usuário digitado incorretamente (RN01).
2.1 – O web site exibe a mensagem “E-mail incorreto”.
Senha do usuário digitado incorretamente (RN02).
3.2 – O web site exibe a mensagem ”Senha incorreta”.
Usuário e senha não encontrados na base de dados (RN03).
5.1 – O web site exibe a mensagem “Usuário não encontrado”.
Campos Vazios (RN04).
5.2 – O web site exibe a mensagem “Campos vazios ou preenchidos
incorretamente”.
• Regras de Negócio
RN01 – E-mail deve estar validado dentro dos padrões de e-mail.
RN02 – Senha deve conter de 05 a 12 caracteres.
RN03 – E-mail e senha devem estar cadastrados na base de dados, e devem
estar ligados um ao outro.
RN04 – Campos de login e senhas não podem ficar em branco.
3.7 MODELO DE CLASSES
48
Figura 4 - Diagrama de Classe
3.8 DIAGRAMAS DE SEQUÊNCIA
49
3.8.1 Diagrama de sequência manter cadastro
Figura 5 - Diagrama de Sequencia manter cadastro
3.8.2 Diagrama de sequência fazer login
50
Figura 6 - Diagrama de Sequencia fazer login usuário
3.8.3 Diagrama de sequência realizar compra
51
Figura 7 Diagrama de Sequencia realizar compra
3.8.4 Diagrama de sequência manter produtos
52
Figura 8 Diagrama de Sequencia manter produtos
3.8.5 Diagrama de sequência acessar fale conosco
53
Figura 9 Diagrama de Sequencia acessar fale conosco
3.8.6 Diagrama de sequência manter fale conosco
54
Figura 10 Diagrama de Sequencia manter fale conosco
3.8.7 Diagrama de sequência manter usuários
55
Figura 11 Diagrama de Sequencia manter usuários
3.8.8 Diagrama de sequência fazer login administrad or
56
Figura 12 Diagrama de Sequencia fazer login administrador
3.9 PROJETO DE BANCO DE DADOS
57
3.9.1 Diagrama de entidade relacionamento
Figura 13 Diagrama Entidade Relacionamento
3.9.2 Dicionário de dados
58
Tabela 3 - Usuário Nome Tipo Tamanho Descrição Obrigatório Chave
id_usuario Int 11 Código controle usuário
Sim PK
nome Varchar 50 Nome do usuário
Sim
dt_nasc Date Data de Nascimento do usuário
Sim
cpf Varchar 14 CPF do usuário
Sim
endereço Varchar 50 Endereço do usuário
Sim
numero Int 11 Numero da casa do usuário
Sim
cep Varchar 09 CEP do usuário
Sim
telefone_fixo Varchar 10 Telefone fixo do usuário
Sim
celular Varchar 10 Celular do usuário
Sim
complemento Varchar 20 Complemento do
endereço do usuário
Sim
sexo Varchar 05 Sexo do usuário
Sim
senha Varchar 50 Senha do usuário
Sim
email Varchar 30 E-mail do usuário
Sim
bairro varchar 20 Bairro do usuário
Sim
nivel Int 10 Nivel do usuário
Sim
Tabela 4 - Produto
Nome Tipo Tamanho Descrição Obrigatório Chave
59
id_produto Int 11 Código de controle de
produto
Sim PK
nome Varchar 20 Nome do produto
Sim
informacoes Varchar 1000 Informações do produto
Sim
preco_custo Varchar 10 Preço de custo do produto
Sim
imagem_produto Varchar 50 Caminho da imagem do
produto
Sim
codigo_barras Varchar 40 Código de barras do produto
Sim
preco_venda Varchar 10 Preço de venda do produto
Sim
preco_promocao Varchar 10 Preço de promoção do
produto
Sim
Tabela 5 - Laboratório
Nome Tipo Tamanho Descrição Obrigatório Chave id_laboratorio Int 11 Código de
controle de laboratório
Sim PK
nome Varchar 40 Nome do laboratório
Sim
Tabela 6 - Estado
Nome Tipo Tamanho Descrição Obrigatório Chave id_estado Int 11 Código de
controle de estado
Sim PK
nome Varchar 30 Nome do estado
Sim
uf Varchar 03 UF do estado
Sim
Tabela 7 - Cidade
Nome Tipo Tamanho Descrição Obrigatório Chave id_cidade Int 11 Código de
controle da cidade
Sim PK
60
nome Varchar 255 Nome da cidade
Sim
Tabela 8 - Tipo_endereco
Nome Tipo Tamanho Descrição Obrigatório Chave id_tipoend Int 11 Código de
controle do tipo de
endereço
Sim PK
nome Varchar 20 Nome do tipo de
endereço
Sim
3.10 PROJETO DE INTERFACE GRÁFICA
3.10.1 Tela de login do sistema
61
Figura 14 - Tela de Login
3.10.2 Tela de produtos
Figura 15 - Tela de produtos 3.10.3 Tela de cadastro de cliente
62
Figura 16 - Tela cadastro de cliente
3.10.4 Painel administrativo
Figura 17 - Tela Painel administrativo
3.10.5 Menu da tela principal
63
Figura 18 – Tela Menu e barra de status
3.10.6 Rodapé do sistema
Figura 19 - Tela rodapé
3.11 PROJETO DE IMPLANTAÇÃO
64
Para realizar a instalação do site é necessário apenas implantar os arquivos
do sistema (PHP, HTML, CSS) em um servidor web, juntamente com a base de
dados (Mysql) que também deverá ser armazenada no servidor de banco de dados.
Além disso, também deverá ser adquirido um domínio para acesso dos usuários
através da web.
3.11.1 Diagrama de instalação
Figura 20 - Diagrama de instalação
4. CONCLUSÃO
65
Após os estudos realizados para o desenvolvimento desse projeto, os
resultados alcançados podem ser considerados satisfatórios. É fato que ainda há
muito trabalho a ser realizado para que a ferramenta proposta venha a ser
comercializada, não descartando essa possibilidade, visto que grande parte do
projeto está concluída necessitando apenas de ajustes ou melhorias. Vale ratificar
que ocorreram algumas dificuldades, a principal delas foi a falta de entendimento
com relação as linguagens de programação que exigiam um pouco mais de
conhecimento.
No projeto foi destacada e defendida a importância de um web site de
vendas em uma empresa do ramo da saúde e os benefícios que ele pode trazer,
tornando tudo mais prático e cômodo para os usuários e lucrativo para o proprietário
do estabelecimento.
REFERÊNCIAS BIBLIOGRÁFICAS
66
BEZERRA, Eduardo, 2º edição, Princípios de Analise e Projetos de Sistemas com UML – Rio de Janeiro, Editora: Campus, 2007. BOOCH, Grady, RUMBAUGH, James, JACOBSON, Ivar, UML Guia do Usuário , 2ª Edição, tradução de Fabio Freitas da Silva e Cristina de Amorim Machado – Rio de Janeiro, Editora: Campus, 2005. ELMASRI, Ramez: NAVATHE, Shamkant, Sistemas de banco de dados , 4ª edição, revisor técnico Luis R. Figueredo – São Paulo, editora: Pearson Addison Wesley, 2005. LEWIS, Joseph R. CSS avançado / Joseph R. Lewis e Meitar Moscovitz; tradução Edgard B. Damiani. São Paulo: Novatec Editora, 2010. NIEDERAUER,Juliano; Aprenda a criar Websites dinâmicos e interativos co m PHP e banco de dados / Juliano Niederauer – São Paulo: Novatec, 2004. PENDER, Tom. UML, a Bíblia , Tradução Daniel Vieira - Rio de Janeiro: Editora Campus, 2004. PHILLIPS, Joseph, Gerência de Projetos de Tecnologia da Informação , tradução de Ana Beatriz Tavares e Daniela Lacerda Guazelli – Rio de janeiro, editora: Elsevier, 2003. PREECE ,Jennifer; ROGERS, Yvonne; SHARP, Helen. Design de interação : além da interação homem-computador , Bookman, 2005. PRESSMAN, Roger S., DAVID, Lowe, Engenharia WEB , tradução Daniel Vieira – Rio de Janeiro, 2009. SILVA, Mauricio Samy, Criando Sites com HTML – São Paulo, Editora: Novatec, 2008.
SILVA, Maurício Samy. CSS3 : desenvolva aplicações web profissionais
com uso dos poderosos recursos de estilização CSS3 / Maurício Samy Silva ;
São Paulo : Novatec Editora, 2012.
SILVA, Mauricio Samy. JavaScript: Guia do programador /Mauricio Samy silva. São Paulo: Novatec Editora, 2010. SPINOLA, Rodrigo. Revista engenharia de software- Ciclo de de vida de software. Devmedia, 2010.
SOMMERVILLE, Ian, Engenharia de Software , 8ª edição, tradução Mauricio de Andrade – São Paulo, Editora: Pearson Addison Wesley, 2011.
67
SOMMERVILLE, Ian, Engenharia de Software , 8ª edição, tradução de Selma Melnikoff, Reginaldo Arakaki e Edilson de Andrade Barbosa – São Paulo, Editora: Pearson Addison Wesley, 2007. SUEHRING, Steve, MySQL a Bíblia ; tradução Edson Furmankiewicz - Rio de Janeiro: Elsevier, 2002.