A) Data de entrega: 17/11/2014 Datas de apresentao: 17/11/2014 e 19/11/2014 B) Objetivo: O objetivo consolidar o conhecimento sobre conceitos e construo de sistemas orientados a objetos em arquiteturas multicamadas na web atravs da explorao dos tpicos discutidos na disciplina de Programao de Software Aplicado. C) Enunciado do problema: O propsito do trabalho , atravs de uma aplicao que d suporte gesto de um restaurante, permitir o controle do processo de reserva de mesas. Para reservar uma mesa, o cliente dever primeiro realizar o login no sistema atravs de um e-mail/senha previamente cadastrados. Para realizar um cadastro, o cliente deve fornecer sem nome completo, telefone de contato, e-mail e senha. Aps a etapa de login, o cliente tem acesso consulta de disponibilidade de mesas para um determinado dia e a possibilidade de efetuar reservas. Para efetuar uma reserva, o cliente dever indicar a data, horrio (manh, tarde ou noite) e o nmero de pessoas previsto para a refeio. Caso existam mesas disponveis, a reserva fica registrada. importante salientar que o sistema somente permite a realizao de reservas com antecedncia de pelo menos um dia. Por fim, deve ser permitido ao cliente cancelar uma reserva a qualquer momento, desde que respeitado o perodo de um dia de antecedncia. J no lado da gerncia do restaurante, o sistema deve permitir a consulta das reservas para qualquer dia, bem como a possibilidade de cancelar reservas a qualquer momento. Com relao s variveis de funcionamento do restaurante, o sistema deve permitir as seguintes configuraes: Dias e horrio de funcionamento do restaurante. Com relao ao horrio entende-se que um restaurante trabalha em perodos de tempo, que podem ser manh, tarde ou noite (e qualquer combinao). Nmero de mesas disponveis para reserva. Nmero de pessoas por mesa. D) Requisitos: Os seguintes itens so obrigatrios na implementao do sistema: Arquitetura multicamada (pelo menos 3 camadas) explorando os padres vistos em aula; Interface grfica de usurio via web; Persistncia em banco de dados relacional; Utilizao de pelo menos um framework; Disponibilizao de pelo menos uma das funcionalidades via web services. Os seguintes requisitos adicionais sero avaliados na execuo do trabalho: Qualidade da independncia entre camadas; Correta implementao do conceito de transao nas operaes de acesso ao banco de dados (quando necessrio); Correta implementao do tratamento de excees; Correta implementao do tratamento da entrada de dados com validao das informaes (quando necessrio).
E) Desenvolvimento, apresentao e avaliao do trabalho:
O trabalho pode ser realizado individualmente ou em grupos de, no mximo, 3 alunos. O desenvolvimento do trabalho pode ser realizado em qualquer ambiente de programao e linguagem orientada a objetos. Os trabalhos sero apresentados no laboratrio. Durante a apresentao, TODOS os alunos devem estar presentes e aptos a responder as perguntas. Respostas insatisfatrias por um aluno ou a sua ausncia acarretaro descontos na nota final. A apresentao do trabalho de inteira responsabilidade dos alunos (configurao da mquina, do ambiente de software, banco de dados, etc) e o cdigo-fonte utilizado dever ser o mesmo entregue ao professor. tarefa do grupo garantir que o sistema esteja apto a ser executado no dia da apresentao. Sistemas que no consigam ser executados ou apresentados no dia da apresentao recebero nota zero. Mensagens de erro apresentadas durante a execuo do programa, mesmo que a aplicao no pare de executar, sero consideradas como erros de execuo. Em caso de erro de sintaxe (compilao), o peso final do trabalho ser valorado em zero. Em caso de erro de semntica (contedo), o peso final do trabalho sofrer uma reduo. Os trabalhos sero avaliados de acordo com critrios a serem estabelecidos pelo professor da disciplina, considerando o que pedido no enunciado e o que foi realizado com sucesso pelo sistema. Tambm sero avaliadas a modelagem do sistema (correta criao das classes necessrias, com seus atributos e mtodos, encapsulamento, e correto estabelecimento de relaes entre as classes) e sua implementao de acordo com os conceitos de orientao a objetos e arquitetura multicamada. Trabalhos copiados resultaro em nota zero para todos os alunos envolvidos. F) Entrega do trabalho: Todos os arquivos necessrios a execuo do sistema, bem como os arquivos-fonte e os arquivos de documentao, devero ser empacotados em um nico arquivo (.zip) e submetidos atravs do sistema Moodle at a data de entrega. Devem fazer parte da documentao (documento texto): o Diagrama de classe do sistema. o Diagrama relacional da base de dados. o Diagrama de pacotes (mostrando a arquitetura multicamada do sistema). o Os diagramas devem estar disponveis em imagens com resoluo suficiente e de fcil visualizao. No sero aceitos diagramas que estejam em formato original da ferramenta de desenho (como Visio, Astah, e outros). No sero aceitos trabalhos enviados por correio eletrnico. No sero aceitos trabalhos enviados fora do prazo estabelecido.