Académique Documents
Professionnel Documents
Culture Documents
BRUNO CARDOSO
JEAN CARLOS STRAPASSON
PEDRO FELIPE ELIAS DE SOUZA
TALITA ALINE SENDRETTI PEREIRA
JOINVILLE – SC
JUNHO 2016
0
BRUNO CARDOSO
JEAN CARLOS STRAPASSON
PEDRO FELIPE ELIAS DE SOUZA
TALITA ALINE SENDRETTI PEREIRA
JOINVILLE – SC
JUNHO DE 2016
1
BRUNO CARDOSO
JEAN CARLOS STRAPASSON
PEDRO FELIPE ELIAS DE SOUZA
TALITA ALINE SENDRETTI PEREIRA
_________________________________
Roberto Kaiser
Orientador
2
AGRADECIMENTOS
Agradecemos em primeiro lugar a Deus, por termos saúde e força para superar as
dificuldades.
3
RESUMO
4
ABSTRACT
5
LISTA DE FIGURAS
6
LISTA DE QUADROS
7
SUMÁRIO
1 INTRODUÇÃO ...................................................................................................................... 9
1.2 Justificativa ......................................................................................................................... 9
1.3 Objetivo Geral .................................................................................................................. 10
1.3.1 Objetivos Específicos .............................................................................................. 10
2 REVISÃO DE LITERATURA ............................................................................................. 11
2.1 Software ............................................................................................................................ 11
2.1.1 Tipos de Software .................................................................................................... 11
2.1.2 Tipos de Software .................................................................................................... 11
2.2 Linguagem de Programação ......................................................................................... 12
2.2.1 PHP ............................................................................................................................ 12
2.3 Outros Tipos de Linguagem .......................................................................................... 13
2.3.1 HTML ......................................................................................................................... 13
2.3.2 CSS ............................................................................................................................ 14
2.3.3 JavaScript ................................................................................................................. 14
2.3.3.1 jQuery ..................................................................................................................... 15
2.4 Banco de Dados .............................................................................................................. 15
2.4.1 Sistemas de gerenciamento de Banco de Dados .............................................. 16
2.4.1.1 MySQL ................................................................................................................... 16
2.5 Aplicações Web ............................................................................................................... 17
2.6 Aplicações Desktop......................................................................................................... 17
3 PROCEDIMENTOS METODOLÓGICOS ....................................................................... 19
3.1 Projetos de Software ...................................................................................................... 19
3.2 Análise de Requisitos ..................................................................................................... 19
3.3 UML ................................................................................................................................... 19
3.3.1 Casos de uso ............................................................................................................ 20
3.3.2 Descrição de casos de uso .................................................................................... 20
3.4 Modelagem de Banco de Dados .................................................................................. 22
3.4.1 Normalização (primeira, segunda, terceira forma normal) ................................ 22
3.4.2 Diagrama de entidade relacionamento (DER) .................................................... 23
3.4.2.1 Dicionário de dados ............................................................................................. 24
3.5 Sessões ............................................................................................................................ 24
3.6 Cookies ............................................................................................................................. 25
3.7 Autenticação de Usuários .............................................................................................. 25
3.8 Testes de Software.......................................................................................................... 26
4.1 Relatório de Intenções ................................................................................................... 27
4.1.1 Situação problema ................................................................................................... 28
4.1.2 Preposição da solução ............................................................................................ 28
4.2 Requisitos Funcionais .................................................................................................... 29
4.3 Descrições de Casos de Uso ........................................................................................ 30
4.4 Diagramas de Casos Uso .............................................................................................. 51
4.5 D.E.R ................................................................................................................................. 52
4.6 Dicionário de Dados ....................................................................................................... 53
4.7 Layout ............................................................................................................................... 55
5 CONCLUSÃO ..................................................................................................................... 65
6 REFERÊNCIAS .................................................................................................................. 66
8
1 INTRODUÇÃO
1.2 Justificativa
9
1.3 Objetivo Geral
10
2 REVISÃO DE LITERATURA
2.1 Software
Um software pode ser definido como um subsistema de um sistema
computacional. São os programas de computadores. (REZENDE, 2005, p. 2).
11
criadas após o surgimento dos programas. Diferentes possibilidades de
categorização podem ser consideradas. Um exemplo são as categorias que
consideram a aplicação. São apresentados o tipo de software básico, aplicativo e
embutido. O software básico é tido como um sistema operacional e utilitário, é
utilizado para fazer com que o hardware funcione. O software aplicativo é
empregado como ferramenta a fim de fornecer aplicações práticas e auxiliar na
execução de tarefas, tais como: editores de texto e planilhas eletrônicas. O software
embutido cuida de toda a operacionalidade de um dispositivo e reside em memória
só de leitura. (TONSIG, 2008, p. 74)
2.2.1 PHP
12
matemáticos complexos até tratamento de conexões de redes.
Os códigos PHP são interpretados pelo servidor e devolvidos em HTML para
o browser interpretar.
É uma linguagem open source bastante utilizada. O PHP pode ser utilizado
para criação de vários tipos de aplicação, inclusive, para páginas web com
conteúdo dinâmico. Apesar disso, também pode ser utilizado para criação
de aplicações independentes dos browsers. Normalmente, as aplicações
criadas com PHP são executadas nos servidores Web. (MARÇULA; BENINI
FILHO, 2007, p. 334)
2.3.1 HTML
13
2.3.2 CSS
2.3.3 JavaScript
Com o JavaScript é possível criar diversos efeitos visuais nas páginas, além
de ter bastante interatividade com o usuário, é uma linguagem com muitas
alternativas, permitindo a programação de pequenos scripts, assim como a de
programas maiores.
Seus scripts podem começar como código em páginas Web, mas no final
eles vivem em um mundo criado pelo navegador ou cliente. Em muitos
14
casos scripts inteligentes precisam conhecer mais sobre o mundo em que
vivem. Nesse caso, eles podem se comunicar com o navegador para
descobrir mais sobre ele. Seja descobrindo o tamanho da tela ou acessando
o botão snooze do navegador, os scripts têm muito a ganhar cultivando seu
relacionamento com o navegador. (MORRISON, 2008, p. XII)
2.3.3.1 jQuery
15
[...] armazenam dados substituindo grandes volumes de papéis. A obtenção
e atualização dos dados acontecem de forma mais rápida do que um ser
humano manipulando papéis. Os sistemas de banco de dados realizam o
trabalho respectivo e monótono. Disponibilizam dados a qualquer momento.
A tecnologia dos bancos de dados permite a manipulação rápida e segura
de grandes volumes de dados. (MARÇULA; BENINI FILHO, 2007, p. 179).
2.4.1.1 MySQL
16
O MySQL é um sistema de gerenciamento de banco de dados, que usa a
linguagem SQL (linguagem de consulta estruturada) como interface. Uma de suas
principais características é a portabilidade, pois funciona em diversas plataformas.
Também é conhecido pelo seu desempenho, por ser multitarefa e multiusuário. Além
disso, sua rapidez e estabilidade trazem confiabilidade em departamentos de TI e
desenvolvedora Web. “Bases de dados MySQL podem ser acessadas por PHP,
Pear, C, C++, Java, Python, etc., sendo o PHP o maior usuário desse gerenciador
de banco de dados” (SILVA, L., 2001, p. 4). Com o MySQL, pode-se criar diversas
tabelas de banco de dados. Tendo o Oracle e outros SGBD, o MySQL é muito
utilizado em sites e ambientes web.
As aplicações desktop são programas que podem ser usados sem precisar do
17
acesso à internet. “Programa executado sob um determinado sistema operacional,
que possua funções específicas. Portanto programas classificados como
educacionais jogos gráficos e de comunicações são tidos como aplicativos” (FIALHO
JUNIOR, 2002, p. 44).
No desktop temos vários atalhos de arquivos, jogos e programas, que são
chamados ícones, você pode escolher o arquivo que deseja e despejar na sua tela
principal do Windows, ele poupa trabalho para fazer a execução de programas, não
precisando ir ate o seu destino para executá-lo apenas cria-se um atalho para o
Desktop e sempre que quiser usar o programa ele estará no seu lugar especifico.
Tela principal do Windows, tida como sua área de trabalho, onde se situam
elementos de acesso a programas, denominados ícones, bem como a barra
de tarefas utilizada também para manipular as janelas dos aplicativos. É
partir do desktop que se tem acesso a todos os programas e recursos do
sistema, por ele funcionar como uma mesa de escritório, onde se encontram
todas as ferramentas de trabalho. (FIALHO JUNIOR, 2002 p. 82)
18
3 PROCEDIMENTOS METODOLÓGICOS
3.3 UML
19
objetos (OO)” (FOWLER, 2005, p. 25). Aprovada, em 1997, como um padrão, a UML
serve para auxiliar a visualização dos produtos de um trabalho em diagramas
padronizados. Sua principal vantagem consiste em sua adaptabilidade, pois se pode
selecionar os elementos que melhor expressarão a modelagem desejada.
A UML possui diagramas, que são combinados com a função de obter todas
as visões e características do sistema, divididos: em estruturais, que “[...] descrevem
os relacionamentos estruturais ou estáticos entre objetos de esquema, objetos de
dados e componentes de software. Incluem de classes, de objetos, de componentes
e diagramas de implantação” (ELMASRI; NAVATHE, 2011, p. 220); e
comportamentais, cuja “[...] finalidade é descrever o comportamento ou os
relacionamentos dinâmicos entre os componentes. Incluem diagramas de casos de
uso, de sequencia, de colaboração, de estados e de atividades” (ELMASRI;
NAVATHE, 2011, p. 220).
Dentro dos diagramas estruturais estão os diagramas de classe, de objeto,
de componentes, de implantação e de pacotes. Nos diagramas comportamentais,
encontram-se os diagramas de casos de uso e de atividades. “Evidentemente,
dependendo do porte de um sistema ou de suas características, nem todas as
visões precisam ser construídas. Cada visão apresenta diferentes diagramas que
servem como referência de modelagem para aquele contexto” (MELLO, 2002, p.
174).
20
Essa metodologia é muito usada para desenvolvimento de sistemas, assim
eles podem seguir uma ordem lógica. Os casos de usos são objetivos que precisam
ser alcançados pelo sistema. “Identifica um comportamento-chave do sistema. Sem
esse comportamento, o sistema não preencherá os requisitos do ator. Cada caso de
uso expressa um objetivo que o sistema precisa alcançar e/ou um resultado que ele
precisa produzir” (PENDER, 2004, p.313).
O mais comum ao escrever os casos de usos é fazer uma visão de fora do
sistema para facilitar a compreensão deste e visualizar todos os recursos possíveis.
Formas normais são regras que devem ser obedecidas por tabelas para que
sua estrutura seja simples e eficiente. Existem diversas formas normais, que
verificam tabelas relacionais. As três formas normais mais usadas são denominadas
22
primeira, segunda e terceira forma normal, sendo comumente abreviadas como 1FN,
2FN e 3FN. “Diz-se que uma tabela está na primeira forma normal quando ela não
contém tabelas aninhadas” (HEUSER, 2009, p. 190).
A primeira forma normal consiste na eliminação de tabelas aninhadas, “em
outras palavras, a 1FN reprova relações dentro de relações ou relações como
valores de atributo dentro de tuplas”. (ELMASRI; NAVATHE, 2011, p. 349).
A segunda forma normal baseia-se no conceito de dependência funcional
total e elimina certa parte de redundância de dados, então, pode-se afirmar que
“uma tabela encontra-se na segunda forma normal quando, além de estar na 1FN,
não contém dependências parciais” (HEUSER, 2009, p. 197).
A terceira forma normal baseia-se no conceito de dependência transitiva e
com ela elimina-se outra parte de redundância de dados. “Uma tabela encontra-se
na terceira forma normal quando, além de estar na 2FN, não contém dependências
transitivas”. (HEUSER, 2009, p. 200).
23
Identificação de atributos e chaves primárias que descreva as entidades de
maneira adequada.
Revisão e análise do DER.
Fonte (ROB; CORONEL, 2011, p.136-137).
3.5 Sessões
3.6 Cookies
Note que alguns dos métodos da classe usuários devem ser acessados
somente pelos administradores do site. São eles listar() e excluir(). Os
usuários comuns do site devem acessar somente as opções de incluir e
alterar (seu próprio cadastro) e o método autentica() deve ser invocado no
momento no qual o usuário realiza o login do site. (Soares, 2004, p. 466)
27
Figura 1: Fluxograma Projeto AGInnovation
Fonte: Os autores
28
AGInnovation mais confiável.
O web software também irá resolver a parte de comunicação com o cliente, e
na verificação do status de projeto, tonará mais prático os processos.
Web Software
Home - Página inicial da empresa, mostrando alguns detalhes, imagens e resumos.
Cases - Mostra os cases que já foram feitos pela empresa, ou seja, os projetos que
foram realizados com imagem e descrição do projeto.
Notícias - Acontecimentos importantes ocorridos na empresa e notícias sobre
inovação na área de automação.
Contato - Mostra a localização da empresa e um formulário para contato por meio
de um e-mail.
Cadastro - Formulário para que o cliente se cadastre e tenha acesso à área restrita.
Login - Onde o cliente já cadastrado, tem acesso à sua conta.
Quem Somos - Apresenta a empresa AGInnovation para que os clientes conheçam
o que ela realmente é.
Como Trabalhamos - Como funcionam os serviços da empresa, porte de
equipamento, o modo como ela trabalha visando atender todas as necessidades do
cliente.
Parceiros – Parceiros que são associados à empresa.
Bancada Didática - É inovação que a empresa trabalha, facilitando o processo do
projeto de cada cliente.
29
Cronograma de Implantação – O usuário acompanha cada detalhe do que está
sendo feito em seu projeto.
Administrador:
Super administrador:
Fonte: Os autores
Quadro 2: Cases
32
responsável sobre a respectiva
pergunta.
Fonte: Os autores
33
Quadro 6: Login
34
mostrará uma imagem e um texto
explicativo.
Pós-condição O usuário visualizou a página Quem
somos.
Fonte: Os autores
35
Fluxo principal A partir de um submenu o usuário
tem acesso à página Como
Trabalhamos.
Pós-condição O usuário visualizou a página
Como trabalhamos.
Fonte: Os autores
Fonte: Os autores
37
Quadro 12: Reuniões encaminhadas
38
ou administrador que seja
inexistente o sistema exibirá
que nenhum compromisso foi
encontrado.
39
3. O usuário faz uma pesquisa
apenas por contato ou seja
pelo nome do administrador;
4. O sistema exibe o resultado da
pesquisa escolhida pelo
usuário.
41
Fluxo principal 1. O usuário faz o login em sua
conta;
2. A partir de um menu o usuário
escolhe a opção Status do
Projeto e clica em Verificar;
3. Feito isto mostrará uma tabela
com os dados do projeto;
4. Na ultima coluna da tabela terá
Mais detalhes;
5. O usuário clica em Mais
detalhes para abrir seu
cronograma de implantação.
Pós-Condição O usuário cadastrado visualiza
detalhadamente as etapas do seu
projeto.
Fonte: Os autores
43
já foram confirmadas, primeiramente o ator confirma, e depois que ocorrer a reunião
ele finaliza.
Quadro 17: Finalizar reuniões
Observa-se neste quadro 19 que o ator tem o direito de fazer uma pesquisa
45
por data em que foi finalizada a reunião. O quadro 19 mostra o caso de uso
“Consulta de reuniões em um período”. O sistema exibe todas as reuniões que foram
realizadas em um determinado período.
Quadro 19: Consulta de reuniões em um período
47
projetos cadastrados de cada
cliente;
2. O administrador escolhe um
projeto para editar;
3. O sistema exibe os dados do
projeto a serem editados;
4. O administrador altera os
dados e clica em alterar.
Cenário de 1. O sistema não pode permitir o
exceção armazenamento em branco em
campos obrigatórios;
2. O sistema não deve permitir o
cadastro de um projeto já
existente;
3. O sistema não deve permitir
que a data de início seja menor
que a data do término previsto.
Cenário de 1. O sistema exibe a lista de
exclusão projetos cadastrados de cada
cliente;
2. O administrador escolhe um
projeto para excluir;
3. O sistema exclui os dados;
Pós-Condição O administrador cadastrou, visualizou,
editou e excluiu um projeto.
Fonte: Os autores
48
Quadro 21: Cadastro de Administradores
49
1. O super administrador altera os
dados do registro e clica em
confirmar;
2. Sistema salva a edição.
Cenário de 1. O super administrador
exclusão seleciona um registro para
excluir;
2. O super administrador confirma
a exclusão;
3. Sistema exclui o registro.
Cenário de 1. O sistema não pode permitir o
exceção armazenamento em branco em
campos obrigatórios;
2. O sistema não pode permitir a
inclusão de administradores
com registros iguais;
Pós-Condição O super administrador cadastrou,
visualizou, editou e excluiu um
administrador.
Fonte: Os autores
50
visualizada e inserida as atividades do
projeto de cada cliente.
Atores Super Administrador, administrador.
Pré-condição Um projeto tem que estar
cadastrado no sistema.
Fluxo principal 1. No status do projeto, o
administrador escolhe qual
projeto deseja verificar clicando
no ícone de “+” na coluna mais
detalhes;
2. O sistema exibe o cronograma
do cliente;
3. o administrador tem a opção de
inserir ou editar os dados do
cronograma.
Cenário inclusão 1. O administrador preenche os
campos com o mês e sua
atividade;
2. O sistema inclui a atividade no
cronograma;
3. O sistema salva o cronograma;
Cenário de edição 1. O administrador escolhe a
opção editar;
2. O administrador escolhe os
campos que ele deseja editar;
3. O administrador clica em
alterar.
Cenário de Esse cronograma não pode ser
exclusão excluído.
Pós-Condição O cronograma de implantação é
inserido no projeto.
Fonte: Os autores
Observa-se no quadro que o ator faz o preenchimento dos campos com o
mês e sua atividade apresentando as etapas do que está sendo feito para que o
cliente acompanhe o status do projeto. O ator tem a permissão de inserir e editar os
campos que foram preenchidos.
4.4 Diagramas de Casos Uso
51
A Figura 2, abaixo, apresenta um diagrama de caso de uso, a imagem dos
atores, os quais são representados como atores e têm relação às funcionalidades do
software. Ou seja, os casos de uso que são representados por uma elipse. No
diagrama existem duas ligações que podem ser utilizadas: extend e include. A linha
representada por extend tem o significado de que um caso de uso não ter
dependência de outro, já no include é preciso realizar uma ação e ter uma
dependência de outro caso de uso.
Fonte: Os autores
4.5 D.E.R
52
que tem como finalidade descrever detalhadamente os campos que deverão ser
inseridos no banco de dados, inserindo tabelas com seus respectivos campos e
fazendo o relacionamento com as outras tabelas que podem ser classificadas em
1:1; 1:N
53
Quadro 24: Dicionário de dados da tabela “administradores”
54
Quadro 28: Dicionário de dados da tabela “cliente”
4.7 Layout
Após um usuário convencional entrar no site, vide figura 4, terá a
visualização de um carrossel com algumas imagens, e, logo abaixo, resumos
falando sobre algo importante da empresa. Caso o usuário esteja interessado em ter
mais detalhes daquele resumo, poderá clicar em “saiba mais”. Após isto, o sistema
irá redirecioná-lo para outra página com o conteúdo completo do resumo. Ao lado
direito da tela, ele terá permissão de cadastro, conforme figura 5, ou, já o possuindo,
poderá fazer o login em sua conta, conforme figura 6.
55
A Figura 4 mostra a página inicial. Apresentando o portfólio da empresa.
Fonte: Os autores
A empresa utiliza o portal para fazer o seu marketing, resolvendo seus
problemas com divulgação, mostrando as informações sobre a empresa, sua visão e
seus valores.
56
A Figura 5 mostra seus cases.
Figura 5: Cases
Mostra os cases que já foram feitos pela empresa, ou seja, os projetos que
foram realizados com imagem e descrição do projeto. Tornando assim a
AGInnovantion mais confiável.
57
A Figura 6 apresenta notícias relacionadas ao ramo da empresa.
Figura 6: Noticias
58
A Figura 7 mostra a localização da empresa, e disponibiliza o acesso de
contato com a empresa.
Figura 7: Contato
No menu “Quem somos” a empresa relata sua posição no mercado, seus clientes,
sua visão e sua missão, buscando assim passar segurança e confiança para seus clientes e
futuros clientes.
59
A Figura 9 mostra a opção do menu “Como trabalhamos”.
Seu objetivo é tornar claro para o cliente como ocorrerá o seu projeto do início ao
fim.
60
A Figura 11 mostra a opção do menu “Bancada Didática”.
61
A Figura 13 mostra o acesso para o cliente realizar o Login após ter se cadastrado.
62
A Figura 15 mostra o Acesso Restrita “Inserir Administrador”.
63
A Figura 18 mostra o Acesso Restrita “Consulta Reuniões por período”.
64
5 CONCLUSÃO
65
6 REFERÊNCIAS
DENNIS, Alan; WIXOM, Barbara Haley. Análise e projeto de sistemas. 2. ed. Rio
de Janeiro (RJ): LTC, 2005.
FIALHO JUNIOR, Mozart. Dicionário de Informática. 2. ed. São Paulo: Terra, 2002.
GUEDES, Gilleanes T. A. UML 2: guia prático. São Paulo (SP): Novatec, 2007.
MORRISON, Michael. Use a cabeça! javascript. Rio de Janeiro: Alta Books, 2008.
66
NIEDERAUER, Juliano. Desenvolvendo Websites com PHP. São Paulo: Novatec,
2004.
NIEDERAUER, Juliano. PHP para quem conhece PHP: recursos avançados para a
criação de websites dinâmicos. 3.ed. São Paulo: Novatec, 2008.
SILVA, Luciano C.. Banco de dados para web. São Paulo: Érica Ltda, 2001.
67