Programação Web - Qwerty Escola de Educação...

32
QWERTY ESCOLA DE EDUCAÇÃO PROFISSIONAL FELIPE SOARES MACEDO Programação Web Dom Pedrito 2014

Transcript of Programação Web - Qwerty Escola de Educação...

QWERTY ESCOLA DE EDUCAÇÃO PROFISSIONAL

FELIPE SOARES MACEDO

Programação Web

Dom Pedrito

2014

QWERTY ESCOLA DE EDUCAÇÃO PROFISSIONAL

FELIPE SOARES MACEDO

Programação Web

Trabalho cujo objetivo tem como

desenvolver em programação web um

software de gerenciamento do setor de

T.I de um escritório na Disciplina

linguagens e técnicas de programação

como requisito básico para a

apresentação do Trabalho de Conclusão

de Curso, do Curso de Técnico em

Informática.

Professor Orientador: Thiago Guedes

Antunes

Dom Pedrito

2014

Resumo

Uma aplicação desenvolvida para rodar em ambiente web, através de

solicitações entre cliente e servidor, representa um novo conceito baseado

em acessibilidade e portabilidade, a análise dos processos de organização

do escritório de advocacia, foi realizada através de diagramas,

determinando e orientando a criação do sistema. O programa facilita o

controle de processos que circulam dentro do escritório, e também auxilia

o setor de informática, onde pode se fazer o cadastro de novos processos,

emitindo relatórios para fiscalizar essas ações, permitindo o acesso em

qualquer maquina conectada a rede. As informações são comutadas entre

o navegador do dispositivo do usuário e o servidor que deve interpretar os

dados, incluindo e selecionando a informação disponível no banco de

dados. Utilizando tecnologias como a linguagem PHP e banco de dados

PostgreSQL é possível garantir todos os requisitos técnicos exigidos para

a sua construção e desenvolvimento. A validação dos formulários pode ser

realizada no próprio navegador, otimizando o desempenho, não

necessitando aguardar uma resposta do servidor.

Palavras chave: Web. PHP. PostgreSQL. Acessibilidade.

Abstract

An application developed to run on web through requests between client

and server is based on a new accessibility and portability, the analysis of

the organization processes of the law firm, the concept was carried

through diagrams, determining and guiding the creation of the system.

The program facilitates the control of processes that circulate within the

office, and also helps the computer industry, where it can do the

registration of new processes, sending reports to monitor these actions,

allowing access on any machine connected to the network. The

information is switched between the browser user's device and the server

must interpret the data, including selecting and information available in

the database. Using technologies such as PHP and PostgreSQL database

can ensure all technical requirements for the construction and

development. The validation of forms can be done in the browser itself,

optimizing performance, not needing to wait for a server response.

Keywords: Web. PHP. PostgreSQL. Accessibility.

Lista de Figuras

Figura 01: Modelo de caso de uso........................................................... 16

Figura 02: Tela de Entrada e Saída......................................................... 17

Figura 03: Relatório de monitoramento de processos............................. 18

Figura 04: Tabela de Processos Digitalizados......................................... 19

Figura 05: Relatório de processos digitalizados...................................... 20

Figura 06: Tabela de Cadastro de Advogados........................................ 21

Figura 07: Relatório de Advogados........................................................ 22

Sumário

1 INTRODUÇÃO 8

1.2 JUSTIFICATIVA 9

1.3 OBJETIVOS 9

1.3.1 OBJETIVO GERAL 9

1.3.2 OBJETIVOS ESPECÍFICOS 10

2 DESENVOLVIMENTO 11

2.1 APLICAÇÃO WEB 11

2.2 LINGUAGEM DE MARCAÇÃO DE HIPER TEXTO (HTML) 12

2.3 CASCADING STYLE SHEETS (CSS) 12

2.4 LINGUAGEM PHP 13

2.5 BANCO DE DADOS POSTGRESQL 13

2.6 SERVIDOR APACHE 14

2.9 NOTEPAD++ 15

2.8 METODOLOGIA 15

2.8.1 ANÁLISE DE REQUISITOS 15

2.9 DESENVOLVIMENTO DO PROGRAMA 16

2.9.1 CRIAÇÃO DA TABELA ENTRADA E SAÍDA 17

2.9.2 DESENVOLVIMENTO DA TABELA PROCESSOS

DIGITALIZADOS 18

2.9.3 DESENVOLVIMENTO DA TABELA ADVOGADOS 20

2.9.4 RELATÓRIO EM PDF 21

2.9.5 LINKS ÚTEIS 22

3 RESULTADOS E APROVAÇÕES 23

4 CONCLUSÃO 24

ANEXOS 25

REFERENCIAS 32

8

1 INTRODUÇÃO

Através dos anos a tecnologia da informação foi ficando cada vez mais

presente na vida do homem, sendo que hoje é praticamente indispensável o

uso de computadores, maquinas que são capazes de dar o mais variado tipo de

tratamento automático de informações ou processamento de dados. Utilizando

a análise para o desenvolvimento de sistemas podemos encontrar o melhor

caminho racional para que a informação possa ser processada, estudando os

diversos sistemas existentes entre hardwares e softwares até chegar ao usuário

final.

Sabendo que hoje a tecnologia da informação é inevitável tanto no

âmbito caseiro como no âmbito comercial, não podemos deixar de usar essa

tecnologia ao nosso favor. Com isso será realizado no escritório FREITAS,

MELLEU E LORETO ADVOGADOS ASSOCIADOS, uma automatização

no setor de informática, que é importante para a determinação de resultados e

qualidade das informações. Analisar os problemas de gerenciamento e

controle de processos é a etapa inicial para a determinação das características

funcionais para o desenvolvimento do sistema que deve auxiliar essas

funções.

Através dos diagramas é possível determinar as tabelas a serem criadas

no PostgreSQL, este banco de dados demonstra uma grande estabilidade e

desempenho para web, não necessitando de muitos recursos de hardware no

servidor onde se encontra.

Para atender todas as condições necessárias e propostas é utilizado um

browser como uma ferramenta para utilização do software, criando diversos

benefícios na facilidade de utilização do sistema. Para maximizar o

desenvolvimento e o desempenho proposto, é utilizada a linguagem PHP

(PHP: Hypertext Preprocessor) que possui uma grande quantidade de

9

extensões e bibliotecas disponíveis para criar um programa seguro e

funcional, permitindo uma vasta diversidade de mecanismos para gerenciar os

dados armazenados. Cada página de código PHP é responsável por realizar

uma função, em uma tela em especifico, dentro de um modulo responsável

por determinada entidade, Um período de testes e homologação do sistema

garante uma qualidade superior na sua operacionalidade, superando

dificuldades primárias de consertos de erros com a verificação na

compatibilidade da estrutura disponível. É indispensável propostas de testes

locais no computador do programador e homologação no servidor da

empresa.

1.2 JUSTIFICATIVA

A intenção do desenvolvimento de um software para um escritório de

advocacia no setor de T.I é trazer para ele mais agilidade, eficácia,

organização na hora de tratar dos processos que chegam ao escritório,

organizando-os, fazendo um controle de entrada e saída, e distribuí-los para

seus respectivos responsáveis.

1.3 OBJETIVOS

1.3.1 OBJETIVO GERAL

Desenvolver páginas web na linguagem PHP, que irá organizar um

escritório de advocacia no setor de T.I.

10

1.3.2 OBJETIVOS ESPECÍFICOS

a) Identificar as necessidades dos advogados;

b) Identificar os problemas de organização no setor de informática;

c) Criar um controle de entrada e saída de processos;

d) Criar um controle de processos digitalizados;

e) Criar uma tela que cadastre os advogados do escritório com seus

respectivos dados;

f) Gerar relatórios dos controles.

11

2 DESENVOLVIMENTO

As informações trocadas e armazenadas entre a empresa e seus clientes e

parceiros é de grande valor para o gerenciamento e a sobrevivência no

mercado. Segundo Stallings (2003, p. 5):

“Uma empresa sobrevive e prospera com informações: as informações dentro da

organização e as informações trocadas com fornecedores, cliente e agências reguladoras.

Além do mais, a informação precisa ser consistente, acessível e estar no local certo.”

A utilização de um software para gerenciamento de informação é

constantemente utilizada por conseguir uma ótima organização e

acessibilidade. A construção de sistemas off-line ou em localhost amplia as

possibilidades de gestão. É essencial construir um sistema robusto, seguro,

que consiga armazenar uma grande quantidade de dados.

2.1 APLICAÇÃO WEB

Aplicação web é qualquer sistema executado através de um navegador,

seja na internet ou em redes privadas, localizado em um servidor web, as

quais transferem dados da maneira cliente e servidor, (TURBAN; MCLEAN;

WETHERBE, 2002):

“O navegador solicita ou envia informações a ser processada no servidor, este

devolve ao cliente onde o navegador imprime o resultado, se difere de um site, pois existe

12

um nível significativo de regras e interações das informações entre os lados de servidor e

cliente.“

2.2 LINGUAGEM DE MARCAÇÃO DE HIPER TEXTO

(HTML)

A linguagem HTML é utilizada para produzir paginas web. São

interpretados por navegadores para gerar paginas estáticas. Foi criada em

1990 por Tim Berns- Lee com a finalidade de tornar possível o acesso e a

troca de informações entre seus colegas.

Um código HTML é formado por tags, as quais possuem comandos

dentro dos símbolos menor que “<” e maior que “>”. Essas tags dividem o

conteúdo permitindo uma formatação específica.

2.3 CASCADING STYLE SHEETS (CSS)

CSS é uma linguagem para construção de aparência em documentos

escritos em linguagem de marcação. Foi desenvolvido pela W3C com o

objetivo de padronizar a customização de conteúdo web. Remoaldo (2008)

afirma que o estilo e características visuais de uma página devem ser

completamente descritos na linguagem CSS. A linguagem deve se

,incorporado ao HTML, diretamente ou através de um link para um arquivo

“.css”.

A utilização de formatação através de códigos CSS facilita o

desenvolvimento, reduzindo a quantidade instruções. Conforme Somera

(2006 p. 10):

13

“A linguagem HTML também pode ser usada para definir o layout de web sites.

Contudo, a CSS proporciona mais opções, é mais precisa e sofisticada, além de ser

suportada pela maioria dos navegadores atuais. A principal diferença entre HTML e CSS é

que o primeiro é usado para formatar conteúdos e o segundo para conteúdos já

estruturados.”

2.4 LINGUAGEM PHP

O PHP (PHP Hypertext Preprocessor) é uma linguagem para criação de

scripts executados no servidor, foi projetada especificamente para web. Pode

ser embutido em um código HTML, quando este código executar em um

cliente, é solicitado algo ao servidor web, o PHP irá executar e retornar as

informações para o navegador. Por ser interpretado no servidor, o usuário só

conseguirá ler as tags em HTML e não o código em PHP. Essa solução

apresenta ser veloz e multiplataforma.

2.5 BANCO DE DADOS POSTGRESQL

O PostgreSQL é um sistema de gerenciamento de banco de dados objeto

relacional (SGBDOR), ele foi o pioneiro em muitos conceitos objetos-

relationais que agora estão se tornando disponíveis em alguns bancos de

dados comerciais.

O PostgreSQL possuí código fonte aberto e fornece suporte às

linguagens SQL92/SQL99, além de outras funcionalidades modernas.

14

2.6 SERVIDOR APACHE

O software Apache é um servidor web livre. Foi criado em 1995, por

Rob Mc

Cool, funcionário da National Center for Super Computing Applications

(NCSA). Com saída de Rob da NCSA, várias pessoas começaram a adaptar o

software as suas necessidades. Brian Behlendorf e Cliff Skolnick foram os

responsáveis pela continuação do projeto, criaram a Fundação Apache com

mais oito pessoas. A fundação passou a controlar e disponibilizar patches com

adição de recursos (ALECRIM, 2006).

A origem do nome Apache é baseada em uma tribo de índios americanos

que detinham de grandes estratégias e resistências em combate. O servidor é

compatível com o protocolo HTTP, existindo versões para diversas

plataformas. Composto por módulos que realizam as mais variadas funções e

recursos, como compatibilidade com PHP, Python, módulo de criptografia

através de camada SSL entre outros. Conforme Coar e Bowen (2008, XI):

“O pacote básico distribuído pela Apache Software Foundation é razoavelmente

abrangente e bastante poderoso, e foi feito um grande esforço por parte dos programadores

para evitar que o software sofresse do problema de ter muitos recursos que ninguém usa.

Um aspecto do pacote o torna especialmente interessante: ele inclui extensibilidade por

padrão.”

A extensibilidade por padrão, garante uma grande compatibilidade com

novos módulos, permitindo ao servidor Apache tornar-se mais competitivo

com relação a diversos recursos implementados por programadores de todo o

mundo. Por ser um software livre, continua sendo melhorado por diversas

pessoas voluntárias, garantindo sua inovação em manter novas versões com

desempenho para os servidores.

15

O Apache é capaz de executar códigos em diversas linguagens como

PHP,

Perl, Shell Script e Active Server Pages (ASP). Pode ser configurado

como servidor HTTP ou FTP. Sua compatibilidade com o banco de dados

PostgreSQL, garante a utilização do conjunto PHP e PostgreSQL.

2.9 NOTEPAD++

Notepad++ é um editor de texto e códigos fonte completo que suporta as

mais diversas linguagens de programação e, sendo assim, uma ótima

alternativa ao bloco de notas. Dessa forma, com uma ferramenta mais

avançada e versátil que outros editores de texto, você tem suporte às

linguagens C, C++, Java, C#, XML, HTML, PHP, Javascript, ASCII art,

doxygen, ASP, VB/VBS, SQL, Objective-C, CSS, Pascal, Perl, Python, Lua,

TeX, TCL, Assembly, Ruby, Lisp, Scheme, Properties, Diff, Smalltalk,

Postscript, VHDL, Ada, Caml, AutoIt, KiXtart, Matlab.

2.8 METODOLOGIA

O projeto do aplicativo utiliza-se da fundamentação teórica para

definição de seus funcionamentos e requisitos técnicos. O código fonte é

dividido em arquivos PHP, onde cada um é responsável por um módulo.

2.8.1 ANÁLISE DE REQUISITOS

A definição das características do aplicativo deve ser analisada conforme

a estrutura da empresa. Satisfazendo as necessidades do usuário,

16

automatizando as atividades. Para determinar como o software deve acatar os

processos, é realizado a análise de requisitos da aplicação. Seguem em tópicos

os requisitos do aplicativo em questão:

· O Aplicativo deve permitir o controle de entrada e saída dos processos

· Deve salvar e manter armazenados os processos digitalizados;

· Devera ter uma tela de cadastro dos advogados do escritório;

· Devera gerar relatório dos cadastros.

2.9 DESENVOLVIMENTO DO PROGRAMA

Depois de feitas as analises dos requisitos e com base na metodologia

começou a ser estudado o desenvolvimento do programa, e em cima do

modelo de caso de uso, começou a ser de fato desenvolvido.

Figura 01: Modelo de Caso de Uso

17

2.9.1 CRIAÇÃO DA TABELA ENTRADA E SAÍDA

Para a criação desta tabela foi analisado durante dois meses o movimento

dos processos dentro da empresa, com base na analise pode-se constar que

havia um pequeno porcentual de atraso na devolução dos processos, mesmo

sendo um pequeno porcentual, traz problemas para a empresa, para fazer o

controle desses processos, foi criada a tabela de cadastro de entrada e saída.

Figura 02: Tabela de cadastro de entrada e saída

Onde nessa tabela é cadastrado o numero do processo, as partes, os

respectivos responsáveis e as datas, que são a data que chegou ao escritório e

a data na qual deve sair para devolução ao fórum, que pode ser acompanhado

pelo relatório no menu “Monitorar Prazos”.

Meri
Textbox
Meri
Textbox

18

Figura 03: Relatório de monitoramento de processos.

2.9.2 DESENVOLVIMENTO DA TABELA PROCESSOS

DIGITALIZADOS

No setor de informática, diariamente são digitalizados inúmeros

processos com o intuito de armazena-los no computador do responsável pela

área para futuras consultas, no entanto como a quantidade de processos é

bastante alta, pode-se a ver o risco de perder o controle e não saber quais

processos foi ou não digitalizados, pra isso foi desenvolvida a tabela de

processos digitalizados.

Meri
Textbox
Meri
Textbox

19

Figura 04: Tabela de Processos Digitalizados.

Nessa tabela é possível cadastrar o numero do processo, as partes, o

objeto da ação, a data que foi digitalizado, o intervalo das folhas que foram

digitalizadas e em que pasta foi salva no computador que fica salvo os

processos. Com essas informações é possível fazer um controle total dos

processos que foram digitalizados, contendo vários tipos de filtro para melhor

controle. Assim como na tabela anterior, também é possível monitorar esses

cadastros através do menu “Monitorar Digitalizações”.

Meri
Textbox
Meri
Textbox

20

Figura 05: Relatório de processos digitalizados.

2.9.3 DESENVOLVIMENTO DA TABELA ADVOGADOS

Muitas vezes os advogados quando estão elaborando seus trabalhos,

necessitam dos dados de outro advogado do escritório, para agilizar e

conseguir esses dados com eficácia, foi desenvolvida a tabela de Advogados,

nela conta o cadastro de todos os advogados com seus respectivos dados

pessoais. Assim como as outras tabelas mencionadas anteriormente, nesta

parte também consta duas tabelas, uma onde é cadastrado o advogado e outra

onde pode visualizar esses dados.

Meri
Textbox
Meri
Textbox
Meri
Textbox
Meri
Textbox
Meri
Textbox

21

Figura 06: Tabela de Cadastro de Advogados.

2.9.4 RELATÓRIO EM PDF

Todas as tabelas de cadastro acima citadas, possuem a sua respectiva tela

com as listagens dos dados cadastrados, esses dados não teriam 100% de

aproveitamento se não pudessem ser impressos, principalmente na tabela de

entrada e saída, então foi desenvolvido em php uma pagina para cada tela de

listagem que gera em uma nova guia no navegador em PDF, onde pode ser

apenas visualizada, impressa ou salva no computador.

22

Figura 07: Relatório de Advogados.

2.9.5 LINKS ÚTEIS

Este menu foi desenvolvido para que possa auxiliar o técnico a usufruir

de todas as ferramentas do sistema com excelência, nesse menu podemos

encontrar um link que redireciona ao site do escritório com todos os Códigos

Penais, Cíveis, entre outros também link dos principais sites jurídicos, assim

como também consta o download de uma apostila de “Prazos processuais”

que ajuda o técnico a estipular as datas na tela de entrada e saída, nesta

apostila conta com todos os prazos necessários para um controle eficaz.

Também encontrasse nesse menu um vídeo tutorial, ensinando todas as

funcionalidades e peculiaridades do sistema para máximo aproveitamento.

23

3 RESULTADOS E APROVAÇÕES

Após ter sido testado, foi colocado em prática e nos 2 meses que esteve em

funcionamento, obteve-se um resultado surpreendente, onde a meta estipulada

era diminuir de 12% para 5% os atrasos, como a demanda de processos no

escritório é muito grande existe uma grande dificuldade em reduzir a zero os

atrasos, por este motivo a meta era então que fosse reduzido para 5%, no

entanto ao final dos 2 meses de uso, foi reduzido o numero de atrasos para

1%, fazendo com que todas as metas fossem quebradas. Diante dessas

circunstancias o programa teve dentro da empresa uma aprovação de 100%

entre os advogados.

24

4 CONCLUSÃO

A qualidade das informações inseridas no sistema é essencial para a

tomada de decisões do setor de informática, bem como, para a empresa. É

importante que o software exija ao usuário, a inserção de todas as

informações necessárias para poder automatizar o controle dos processos que

estão no escritório assim como os que já estão digitalizados e salvos no

servidor. O gerenciamento de conhecimento desses controles é gerado através

da utilização de emissões de relatórios com dados concisos.

Conclui-se que a praticidade uma vez que imaginada, ela é de real

existência, pois através do computador, da internet, pode-se buscar uma

melhoria na transmissão de informações, e uma total organização dentro de

uma empresa, utilizando a linguagem de programação (PHP), junto com o

banco de dados (PostreSQL), consegue-se estipular várias metas para um

melhor rendimento de uma empresa, e toas as metas traçadas para este

trabalho, foram concluídas com êxito.

25

ANEXOS

Anexo 1 – Código de conexão com o banco.

26

Anexo 2 – Código de inserção de dados na tabela Advogados.

27

Anexo 3 – Código de listagem da tabela Prazos

28

Anexo 4 – Códigos e INNER JOIN (juntar duas tabelas)

29

Anexo 5 – Códigos para gerar PDF (parte1)

30

Anexo 5 – Códigos para PDF (parte2)

31

Anexo 6 – UML do Banco

32

REFERENCIAS

ALECRIM, Emerson. Conhecendo o Servidor Apache.2006. Disponível em:

<http://www.infowester.com/servapach.php>. Acesso em: 21 ago. 2014.

ABTN – Associação Brasileira de Normas Técnicas. NBR 14724: Informação e

documentação. Trabalhos Acadêmicos – Apresentação, 2011.

BENTO, Marcelo; Convertendo data com PHP. 2009. Disponível em:

<http://www.marcelobento.com.br/tag/converter-data/>. Acesso em: 25 set. 2014.

FERREIRA, Felipe. Linguagem PHP – Vantagens e Aplicações. 2010. Disponível

em: <http://www.artigonal.com/internet-artigos/linguagem-php-vantagens-

eaplicacoes-

1788643.html>. Acesso em: 23 out. 2014.

Niederauer, Juliano; Desenvolvendo Web Sites com PHP – 2. Ed. – São Paulo:

Novatec Editora, 2008.

Niederauer, Juliano; PHP para quem conhece : recursos avençados para a criação

de websites dinâmicos – 3. Ed. – São Paulo : Novatec Editora, 2008.