Você está na página 1de 15

Projeto Integrador Desenvolvimento

Web
Eliomar Gomes Campos

Curso Tcnico em Informtica


Educao a Distncia
2016

EXPEDIENTE
Professor Autor
Eliomar Gomes Campos
Design Instrucional
Deyvid Souza Nascimento
Maria de Ftima Duarte Angeiras
Renata Marques de Otero
Terezinha Mnica Sincio Beltro
Reviso de Lngua Portuguesa
Letcia Garcia
Diagramao
Izabela Cavalcanti
Coordenao
Anderson Elias
Coordenao Executiva
George Bento Catunda
Coordenao Geral
Paulo Fernando de Vasconcelos Dutra

Artefato produzido pela Secretaria Executiva de Educao Profissional de


Pernambuco, em convnio com o Ministrio da Educao (Rede e-Tec Brasil).
Setembro, 2016

1.Projeto Integrador Desenvolvimento Web


1.1 Apresentao
O Projeto Integrador do mdulo de Desenvolvimento Web 2016.1 oferece uma oportunidade ao
estudante de aperfeioar os conhecimentos vistos em mdulos separados e exercitados nas
atividades semanais.
Planejamos este projeto para unificar todos os conhecimentos vistos anteriormente na confeco
de um produto que rena o que foi visto e exercitado nas competncias j apresentadas. Assim,
ser necessria a leitura atenta do contedo dos cadernos de estudo das disciplinas de Banco de
Dados, Lgica de Programao, Desenvolvimento Web com PHP e Orientao a Objeto com PHP,
assim como as videoaulas disponibilizadas no AVA. Utilize-os para tirar dvidas. O que preciso
para a realizao da atividade se encontra neles, mas, caso precise, utilize o frum do AVA e
pesquise na internet outras formas de exposio do contedo.
Este projeto beneficia o aluno de vrias formas. Em uma primeira perspectiva ele vem como uma
forma de fortalecer o que foi visto nas disciplinas do mdulo de forma separada, unindo esses
contedos para uma melhor fixao do conhecimento. Em outra perspectiva, se o estudante no
conseguiu a mdia em uma competncia, a nota correspondente quela competncia pode ser
alterada caso a nota do Projeto Integrador seja maior.

1.2 O produto
Suponha que voc foi contratado para participar do desenvolvimento de uma aplicao web para
uma locadora de filmes, que apenas cadastra, lista e exclui os dados dos clientes, filmes e locaes.
O sistema dever possuir pginas para cadastros de novos clientes, filmes e locaes, com
formulrios para preenchimento dos dados que podero ser enviados para armazenamento no
banco de dados. O sistema dever tambm possuir pginas que exibam a lista de todos os clientes,
filmes e locaes realizadas. Tais informaes devero ser buscadas no banco de dados.

1.3 O Sistema
O sistema dever possuir as seguintes funcionalidades:
1 - Pgina de Filmes: dever ter um formulrio para preenchimento dos campos: Ttulo (texto),
Valor (numrico), Status (combobox), e Gnero (combobox). Ao clicar no boto Cadastrar, sero
invocadas as pginas de controle e persistncia para salvar os dados preenchidos no banco de
dados. Logo abaixo do formulrio, e na mesma pgina, devero ser listados todos os filmes
cadastrados. Um boto para excluir dever ficar ao lado de cada filme listado e, ao clicar no boto
excluir, sero invocadas as pginas de controle e persistncia para excluir o respectivo registro no
banco de dados. A Figura 1 apresenta tais caractersticas dessa pgina.

Figura 1 Pgina Filmes.


Fonte: Autor.
Descrio: A figura apresenta como dever ser a pgina de filmes, esta possui um formulrio para cadastro de um novo
filme, e uma tabela contendo a lista de todos os filmes cadastrados no banco de dados. Associado a cada linha da
tabela, um boto para excluir o registro desejado.

2 - Pgina de Clientes: esta pgina dever possuir um formulrio para preenchimento dos campos:
Nome (texto), CPF (texto), E-mail (texto), e Endereo (texto). Ao clicar no boto Cadastrar, sero

invocadas as pginas de controle e persistncia para salvar os dados preenchidos no banco de


dados. Logo abaixo do formulrio, e na mesma pgina, devero ser listados todos os clientes
cadastrados. Um boto para excluir dever ficar ao lado de cada Cliente listado e, ao clicar no boto
excluir, sero invocadas as pginas de controle e persistncia para excluir o respectivo registro no
banco de dados. A Figura 2 apresenta tais caractersticas dessa pgina.

Figura 2 Pgina Clientes.


Fonte: Autor.
Descrio: A figura apresenta como dever ser a pgina de clientes. Esta possui um formulrio para cadastro de um
novo cliente e uma tabela contendo a lista de todos os clientes cadastrados no banco de dados. Associado a cada linha
da tabela, um boto para excluir o registro desejado.

3 - Pgina de Locaes: esta pgina dever possuir um formulrio para preenchimento dos campos:
Data de Locao (date), Data de Devoluo (date), Filme (combobox), e Cliente (combobox). O
campo Filme dever listar apenas o ttulo de todos os filmes cadastrados, e apenas os filmes com
status disponvel devero aparecer na lista desse campo ( obrigatrio implementar esta regra!). O
campo Cliente dever listar apenas o nome de todos os clientes cadastrados. Ao clicar no boto
Cadastrar, sero invocadas as pginas de controle e persistncia para salvar os dados preenchidos
no banco de dados. Logo abaixo do formulrio, e na mesma pgina, devero ser listados todas as
locaes cadastradas. Um boto para excluir dever ficar ao lado de cada Locao listada, e ao clicar

no boto excluir, sero invocadas as pginas de controle e persistncia para excluir o respectivo
registro no banco de dados. A Figura 3 apresenta tais caractersticas dessa pgina.

Figura 3 Pgina Locaes.


Fonte: Autor.
Descrio: A figura apresenta como dever ser a pgina de locaes, que possui um formulrio para cadastro de uma
nova locao e uma tabela contendo a lista de todas as locaes cadastradas no banco de dados. Associado a cada linha
da tabela, um boto para excluir o registro desejado.

4 - Pgina de Deteco de Plgio: a fim de evitar trabalhos totalmente copiados de outros colegas
alunos, o menu dessa pgina dever possuir o seu primeiro e ltimo nome (e somente o primeiro e
ltimo). Um formulrio para preenchimento dos campos: Primeiro Nome (texto) e ltimo Nome
(texto). Ao clicar no boto Cadastrar, sero invocadas as pginas de controle e persistncia para
salvar os dados preenchidos no banco de dados. Todas as classes dessa pgina devero ser
nomeadas com o seu primeiro e ltimo nome. Voc dever cadastrar apenas os nomes dos seus
parentes (que possuam o seu ltimo nome), tais dados podem ser fictcios, o importante conter o
seu ltimo nome. Logo abaixo do formulrio, e na mesma pgina, devero ser listados todos os
parentes cadastrados. Um boto para excluir dever ficar ao lado de cada parente listado. Ao clicar
no boto excluir, sero invocadas as pginas de controle e persistncia para excluir o respectivo
registro no banco de dados. A Figura 4 apresenta tais caractersticas dessa pgina.

Figura 4 Pgina Deteco de Plgio.


Fonte: Autor.
Descrio: A figura apresenta como dever ser a pgina de parentes. Esta possui um formulrio para cadastro de um
novo parente e uma tabela contendo a lista de todos os parentes cadastrados no banco de dados. Associado a cada
linha da tabela, um boto para excluir o registro desejado.

1.4 Arquitetura
O projeto j est iniciado com a organizao desejada. Utilizando PHP Orientado a Objetos, voc
deve seguir estes mesmos requisitos para completar o projeto. As pginas referentes ao cadastro,
listagem e excluso dos filmes j esto implementadas, bastando voc apenas completar o projeto
adicionando as pginas de clientes, locaes, e deteco de plgio.
Como voc j viu em disciplinas anteriores, na orientao a objetos cada classe tem apenas uma
responsabilidade. Dessa forma, o trabalho fica mais organizado e fcil de entender, entre outros
benefcios. Portanto, este projeto foi organizado de acordo com os padres de projetos (mais
conhecido como design pattern). Para isso, organizamos as classes em quatro partes: visualizao,
controle, modelo e persistncia, ou como so mais conhecidas: view, controller, model, e
persistence, respectivamente. A Tabela 1 relembra as responsabilidades de cada parte.

View

Controller

Persistence

Model

Pginas responsveis
apenas pela forma
como as informaes
so apresentadas ao
usurio, ou seja, o
design do website,
compe arquivos de
layout HTML, CSS e
imagens

Pginas responsveis
apenas por receber
dados provenientes
das pginas da view,
e encaminh-los para
os mtodos das
classes de
persistncia.

Classes que contm


os mtodos de acesso
e manipulao dos
dados no banco de
dados. Por exemplo,
cadastrar, remover,
alterar e listar.

Classes que
caracterizam e
definem os objetos
de cadastro do
sistema. Tais objetos
so utilizados
principalmente pelas
classes de
persistncia para
enviar os dados
contidos neles para
as respectivas tabelas
do banco de dados.

Exemplo de arquivos:
Exemplo de arquivos:

Exemplo de arquivos:
index.php
view_cliente.php
view_filme.php

incluir_cliente.php
excluir_cliente.php
incluir_filme.php
excluir_filme.php

dao_cliente.php
dao_filme.php
conexao.php

Exemplo de arquivos:
class_cliente.php
class_filme.php

Tabela 1 Arquitetura em camadas.


Fonte: Autor

As classes de persistncia tambm so conhecidas como DAO, Data Access Object. So classes que
preenchem os atributos das classes do modelo com dados trazidos de alguma fonte, que no nosso
caso o banco de dados. As classes DAO vo guardar os comandos SQL necessrios para se
manipular o banco.

Como a aplicao j foi parcialmente desenvolvida pelo professor, voc poder estudar as pginas
j construdas para entender melhor essas responsabilidades. A Figura 6 apresenta a estrutura de
pastas, arquivos e classes do projeto completo. A Figura 7 apresenta a estrutura de pastas, arquivos
e classes que sero disponibilizados para voc. Observe na Figura 7 que est sendo disponibilizado e
mantido para voc o mesmo padro, porm, apenas contendo o cadastro, listagem e excluso de
filmes. Dessa forma, voc dever apenas acrescentar as demais pginas e classes. Na hora de
acrescentar, importante seguir os mesmos nomes do projeto completo da Figura 6, com exceo
dos arquivos e classes de deteco de plgio, que devero ser nomeados com o seu primeiro e
ltimo nome. Portanto, verifique, analise, e entenda as pginas e as classes de filmes
disponibilizadas para conseguir adicionar as demais, seguindo o mesmo raciocnio e padro.

Figura 6 Arquitetura em camadas do projeto completo.


Fonte: Autor
Descrio: A figura apresenta como dever ficar a estrutura de pastas e os
nomes dos arquivos do projeto completo, a ser entregue pelo aluno.

10

Figura 7 Arquitetura em camadas do projeto incompleto.


Fonte: Autor
Descrio: A figura apresenta a estrutura de pastas e os nomes dos arquivos do
projeto incompleto, a ser entregue pelo professor.

1.5 Banco de Dados


Voc dever criar a base de dados, tabelas e os respectivos campos seguindo as especificaes
abaixo:
1 - Nome da base de dados: locadora
2 - Tabela filme:
1.

`codigo` [INT, NOT NULL, AUTO_INCREMENT, e PRIMARY KEY]

2.

`titulo` [VARCHAR(45)]

3.

`genero` [VARCHAR(45)]

4.

`valor` [DECIMAL(4)]

5.

`status` [VARCHAR(45)]

3 - Tabela cliente:
1.

`codigo` [INT, NOT NULL, AUTO_INCREMENT, e PRIMARY KEY]

2.

`nome` [VARCHAR(45)]

3.

`cpf` [VARCHAR(45)]

4.

`email` [VARCHAR(45)]

5.

`endereco` [VARCHAR(45)]

11

4 - Tabela locacao:
1.

`codigo` [INT, NOT NULL, AUTO_INCREMENT, e PRIMARY KEY]

2.

`dataLocacao` [DATETIME]

3.

`dataDevolucao` [DATETIME]

4.

`nomeFilme` [VARCHAR(45)]

5.

`nomeCliente` [VARCHAR(45)]

5 - Tabela eliomarcampos: aqui dever ser o seu primeiro e ltimo nome


1.

`codigo` [INT, NOT NULL, AUTO_INCREMENT, e PRIMARY KEY]

2.

`primeiroNome` [VARCHAR(45)]

3.

`ultimoNome` [VARCHAR(45)]

Portanto, o banco de dados ficar com a seguinte estrutura descrita na Figura 8 abaixo:

Figura 8 Estrutura do banco de dados.


Fonte: Autor
Descrio: A figura apresenta como dever ficar a estrutura das tabelas do banco
de dados a ser entregue pelo aluno.

1.6 Ambiente de Desenvolvimento

MySQL Server: dever ser utilizado o MySQL Server como sistema gerenciador do banco de

dados (SGBD). A fim de facilitar o seu trabalho, no projeto disponibilizado, j existe uma classe de
conexo pronta, basta modificar os valores de conexo ao servidor (IP, usurio, senha, e base de
dados).

12

MySQLWorkbench ou phpMyAdmin: a ferramenta para facilitar o gerenciamento dos dados

opcional, voc poder escolher at mesmo outras. Porm, recomendamos fortemente uma
dessas duas citadas.
XAMPP: dever ser o servidor web apache utilizado. Poderia ser tambm o WAMP ou

outros, mas recomendamos o XAMPP para seguirmos um padro e facilitar nosso trabalho.
Aptana Studio: IDE para desenvolvimento do cdigo php opcional, pode ser Notepad++ ou

outros.

1.7 Resumo da proposta


A Tabela 2 abaixo resume todas as especificaes solicitadas no projeto:
REQUISITO
Banco de Dados

Model

DAO ou Persistence

Controller

View

VERIFICAO
Sero analisados os comandos de criao de cada tabela no arquivo SQL. Por isso,
voc dever enviar o arquivo de backup do banco de dados (em .sql ou em .txt).
Sero analisadas as classes do modelo, responsvel pela definio e preenchimento
dos dados nos objetos. Seus atributos devem ser privados e os mtodos gets e sets
para manipulao desses atributos devem ser pblicos. Sero analisados os arquivos:
class_cliente.php, class_locacao.php e class_eliomarcampos.php (este dever ser com
o seu nome).
Sero analisadas as classes de persistncia ou manipulao direta com o banco de
dados. Essas classes devero possuir os mtodos para cadastro, listagem de todos os
registros e excluso de um registro. Sero analisados os arquivos: dao_cliente.php,
dao_locacao.php, e dao_eliomarcampos.php (este dever ser com o seu nome).
Sero analisadas as classes que recebem os valores dos formulrios quando clicamos
nos botes para cadastrar ou excluir. Essas classes devero invocar os mtodos das
classes de persistncia para cadastrar ou excluir, pois elas apenas recebem os valores
e criam os objetos com esses valores, porm o acesso direto ao banco para cadastrar
e excluir s quem tem so as classes de persistncia. Sero analisados os arquivos:
incluir_cliente.php, excluir_cliente.php, incluir_locacao.php, excluir_locacao.php,
incluir_eliomarcampos.php e excluir_eliomarcampos.php (estas duas ltimas devero
ser com o seu nome).
Sero analisadas as pginas de design e interao com o usurio, mais conhecidas
como front-end. Tais pginas sero responsveis tambm por enviar os dados de
formulrios para as classes de controle. Sero analisados os arquivos:
view_cliente.php, view_locacao.php, e view_eliomarcampos.php (este dever ser
com o seu nome). Ateno: o campo Filme da tela de locao dever listar apenas o
ttulo de todos os filmes cadastrados e apenas os filmes com status disponveis
devero aparecer na lista desse campo. Caso queira, poder alterar as imagens e o
CSS, mas NO modifique a estrutura do HTML de modo algum. Qualquer alterao
esttica NO ter acrscimo na pontuao.

Tabela 2 Resumo das solicitaes


Fonte: o autor

13

1.8 Arquivos para Envio


O projeto deve ser enviado compactado em .ZIP ou .RAR. Lembre-se de que este arquivo no pode
exceder 10 Mb. O nome do arquivo compactado deve ser o seu nome, por exemplo
EliomarGomesCampos.zip. Ele deve conter a pasta base do projeto com os arquivos PHP na mesma
estrutura da Figura 6. Acrescente o arquivo .sql do banco (ou em .txt) contendo os comandos de
criao e valores das tabelas (as ferramentas de SGBDs j possuem funes que geram esse arquivo,
geralmente a opo exportar). Este arquivo deve ser nomeado banco.sql. No deve ser enviado
nenhum outro arquivo que no foi solicitado.

ATENO
O Projeto Integrador individual. Projeto enviado sem a pgina de deteco de plgio de
acordo com o seu primeiro e ltimo nome, ou seja, com o nome de outro colega, ser
considerado plgio e, portanto, receber nota zero. Assim tambm para essa mesma pgina,
os valores preenchidos no banco, os nomes das classes, arquivos, variveis, tambm devero
conter o seu ltimo nome. Portanto, no se esquea de enviar o projeto com a pgina de
deteco de plgio, pois, sem ela, o projeto receber nota zero.

14

Você também pode gostar