Curso da Ciência da Computação Disciplina

Propaganda
Curso da Ciência da Computação
Disciplina Desenvolvimento de
Aplicações Web
Semestre 2011.02
Turma 852
Trabalho Final
1. Descrição dos Requisitos da Aplicação
Construir uma aplicação Java que implemente uma pequena
parte de um sistema para uma locadora de automóveis, com as
funcionalidades de cadastro e listagem de automóveis.
O sistema deverá apresentar uma tela inicial (Figura 1)
oferecendo um menu com as opções “Cadastrar” e “Listar”
automóveis.
Figura 1 – Tela inicial da aplicação "Locadora de Automóveis".
A tela de cadastro deverá oferecer as opções para pesquisar,
inserir, alterar e excluir um automóvel (Figura 2). A chave de
pesquisa será o chassi do automóvel. Já a tela de listagem deverá
exibir a lista completa com todas as informações dos automóveis
disponíveis para aluguel (Figura 3).
2
Figura 2 - Tela "Cadastro de Automóvel".
Figura 3 - Tela "Lista de Automóveis".
3
2. Descrição da Implementação da Aplicação
Deverá ser construída uma pequena aplicação web dinâmica,
utilizando os diferentes recursos ensinados em sala de aula para
construir aplicações web: frames, tabelas, links, imagens, css,
java script, servlets e jsps.
A aplicação deverá ser implementada seguindo a estrutura de
entidades ilustrada no diagrama a seguir (Figura 4):
Figura 4 - Entidades da aplicação "Locadora de Automóveis".
Os dados de automóveis deverão ser armazenados no banco
de dados relacional MySQL. O script SQL
“LocadoraAutomoveis.sql”, para criar a tabela “AUTOMOVEL”
do banco de dados “LOCADORA_AUTOMOVEIS”, deverá ser
fornecido dentro de uma subpasta “bd” do projeto.
4
A tabela “AUTOMOVEL” deverá possuir os seguintes
campos (Figura 5): CHASSI (uma seqüência alfanumérica de 17
caracteres, por exemplo, “9B4ABW45121192B57”), MODELO
(string que descreve o modelo do automóvel, por exemplo, “Palio
1.0 Celebration 1.0 Flex”), MARCA (string que descreve o nome
da empresa fabricante do automóvel, por exemplo, “Fiat”, “Ford”,
“Honda”, etc), PLACA (uma seqüência alfanumérica de 7
caracteres, por exemplo, “BDI3423”), COR (string que descreve a
cor do automóvel, por exemplo, “Prata”, “Branco”, “Vermelho”,
etc), ANO_FABRICACAO (inteiro indicando ano de fabricação
do automóvel, por exemplo, “2010”), AR_CONDICIONADO
(string que indica se o automóvel possui ar condicionado, por
exemplo, “Sim” ou “Não”), PORTAS (inteiro indicando o
número de portas do automóvel, por exemplo, “4”), FOTO (nome
do arquivo de imagem, armazenado na pasta “img” da aplicação,
com a foto miniatura do automóvel, como por exemplo,
“./img/auto1.jpg”) e VALOR_DIARIA (valor da diária em reais
do aluguel do automóvel, por exemplo, “200.00”).
5
Figura 5 - Estrutura de campos da tabela "AUTOMOVEL".
6
Deverá ser utilizada a seguinte estrutura de pastas para
organizar os arquivos estáticos do programa: css, img, html e js.
Todas as classes Java criadas dentro do projeto deverão ser
armazenadas a partir do seguinte pacote raiz:
br.edu.unicarioca.semestre22011.infA09.turma852.alunoXX
XXXXXXXX.locadoraAutomovel,
onde XXXXXXXXXX é o código de 10
dígitos de matrícula do aluno.
A estrutura de pacotes a ser criada deve seguir o modelo
Model View Controler (MVC), com um pacote para as classes de
modelo e um segundo para as classes de controle. A visão, por
sua vez, será representada pelos jsps armazenados na pasta
“/WEB-INF/jsp”.
A figura a seguir (Figura 6) ilustra a estrutura de pastas a ser
seguida pelo projeto “LocadoraAutomoveis” criado no Eclipse.
7
Figura 6 - Estrutura de pastas do projeto “LocadoraAutomoveis”.
8
OBS: Este trabalho final segue uma estrutura bem semelhante de
telas e de organização do código fonte do exemplo “Locadora de
Filmes” postado no 28Horas. Portanto, utilize este exemplo como
base para construção deste trabalho.
3. Critérios de Correção
O trabalho valerá 10 pontos. A avaliação levará em conta os
seguintes critérios:
• Foram implementados todos os requisitos solicitados? Ver
seções 1 e 2.
• O programa compila e executa corretamente? Programas
que não compilam ou com erros de execução evidentes, que
impeçam a avaliação de todo trabalho (por exemplo, tela
inicial não abre ou não insere um registro), receberão notas
bem baixa (0 a 4), de acordo com a gravidade do erro.
• A interface gráfica e seus eventos foram implementados
corretamente?
• Foram utilizados recursos de css, java script e imagens
para incrementar a interface visual e a navegação entre telas?
Estes critérios são mesmos utilizados no trabalho 1.
• Os conceitos de orientação a objetos, organização de
pastas do conteúdo estático e estruturação do programa (uso
do MVC) foram aplicados corretamente?
• O código está bem escrito, formatado e comentado?
9
• O trabalho foi bem testado? É de extrema importância que
todas as funcionalidades (pesquisar, incluir, alterar e excluir)
sejam bem testadas.
4. Entrega do Trabalho
Este trabalho poderá ser feito SOMENTE DE FORMA
INDIVIDUAL. Trabalhos em dupla, trio, quarteto, etc, não serão
permitidos, sendo considerados como CÓPIA.
A data e hora de entrega do trabalho serão divulgadas em
tarefa no 28Horas. Não serão permitidos atrasos.
O envio do trabalho deverá ser feito através de upload no
28Horas de um arquivo compactado utilizando o seguinte padrão
de nome: TrabalhoFinal_XXXXXXXXXX.zip, onde
XXXXXXXXXX é código de 10 dígitos da matrícula do aluno.
No caso de problemas de implementação ou execução do
trabalho entregue, o professor poderá solicitar, a qualquer
momento, a apresentação do trabalho em uma máquina do
laboratório, podendo o aluno ser argüido.
Por fim, trabalhos SEMELHANTES, seja o ORIGINAL ou
seja(m) a(s) CÓPIA(S), receberão nota ZERO. O mesmo serve
para trabalhos com códigos de página CÓPIA da Internet (a
Internet deve servir apenas como fonte de consulta e obtenção de
conteúdo e imagens).
10
Download