Instituto Politécnico da Guarda Escola Superior de Tecnologia e Gestão. Gestão de Reservas de um Hotel e Pedidos do Restaurante

Tamanho: px
Começar a partir da página:

Download "Instituto Politécnico da Guarda Escola Superior de Tecnologia e Gestão. Gestão de Reservas de um Hotel e Pedidos do Restaurante"

Transcrição

1

2 Instituto Politécnico da Guarda Escola Superior de Tecnologia e Gestão Gestão de Reservas de um Hotel e Pedidos do Restaurante João Ricardo da Costa Nunes - N o Projeto Aplicado no Curso de Engenharia Informática 15 de novembro de 20012

3 Instituto Politécnico da Guarda Escola Superior de Tecnologia e Gestão Gestão de Reservas de um Hotel e Pedidos do Restaurante João Ricardo da Costa Nunes - N o Projeto Aplicado no Curso de Engenharia Informática Orientador: Mestre Paulo Jorge Costa Nunes da Unidade Técnico-Cientíca de Informática da ESTG. 15 de novembro de 20012

4 Agradecimentos O desempenho no desenvolvimento deste projeto não teria sido o mesmo sem o apoio, a colaboração e a paciência de algumas pessoas, às quais gostaria de agradecer. Em primeiro lugar, como não poderia deixar de ser, quero deixar um agradecimento a todos os familiares e amigos que sempre me apoiaram e incentivaram durante o percurso deste projeto. Em segundo lugar, um agradecimento aos professores da Unidade Curricular Projeto de Informática, em especial ao Professor Paulo Nunes e Professor Noel Lopes.

5 Resumo Este documento descreve o trabalho realizado no âmbito da Unidade Curricular de Projeto de Informática da Licenciatura em Engenharia Informática, na Escola Superior de Tecnologia e Gestão do Instituto Politécnico da Guarda. A evolução da tecnologia permite cada vez mais a criação de aplicações web. O facto de poder fazer reservas num hotel a partir de casa e guardar os dados em formato digital faz com que a procura de aplicações para este efeito cresça cada vez mais O trabalho consistiu em desenvolver uma aplicação web para fazer a gestão de reservas de um hotel e uma aplicação para um dispositivo móvel para a gestão de pedidos do restaurante desse mesmo hotel. A aplicação web foi desenvolvida na linguagem ASP.NET e C#, e a base de dados em SQL Server. Já a aplicação móvel foi desenvolvida para o sistema operativo Windows Phone e C#, com recurso a um WCF Service e Linq to Entities. A aplicação web permite ao cliente consultar quartos disponíveis e fazer reservas de quartos. Além desta aplicação, foi também criada uma plataforma de gestão para os funcionários fazerem o tratamento das reservas e uma plataforma para a administração para a edição de conteúdos do website. A aplicação para o dispositivo móvel permite ao funcionário do restaurante enviar os pedidos sem ter que se deslocar até à cozinha. Palavras Chave ASP.NET, C#, Aplicação Web, Aplicação para Dispositivo Móvel, WCF, Windows Phone.

6 Abstract This document describes the work done under the discipline Projeto de Informática in the graduation in Engenharia Informática from Escola Superior de Tecnologia e Gestão in the Instituto Politécnico da Guarda. The evolution of technology increasingly allows the creation of web applications. The possibility of making a hotel reservation from home and save the data in digital format increases the search of applications. The work consisted in developing a web application to manage a hotel reservation and an application for a mobile device to manage requests from the hotel restaurant. The web application was developed in language ASP.NET and C, the database in SQL Server. The mobile application has been developed for the Windows Phone operating system and C using a WCF Service and Linq to Entities. The web application allows customers to view available rooms and make room reservations. Also has been created a platform for management employees to the treatment of reserves and a platform for the administration to edit website content. The application for the mobile device allows the employee to send requests to the restaurant without having to move to the kitchen Key words ASP.NET, C#, Web Application, Application for Mobile Device, WCF, Windows Phone.

7 Conteúdo 1 Introdução Motivação Solução Contribuição Estrutura do documento Denição do problema e objetivos previstos Denição do problema Objetivos previstos Metodologia e resultados esperados Metodologia Descrição das tarefas Resultados esperados Estado da Arte Hotéis Vila Galé Natura IMB Hotels Bematech Tecnologias utilizadas Tecnologias web HTML CSS ASP.NET C# SQL Server Javascript WCF Linq to Entities Ferramentas utilizadas Microsoft Visual Studio Implementação da solução Base de Dados Modelo Relacional Descrição das tabelas

8 Tabela Clientes Tabela Funcionários Tabela Mensagens Tabela Notícias Tabela Quartos Tabela Reserva Tabela Reserva/Quarto Tabela Serviços Tabela Reserva/Serviços Tabela TiposQuartos Tabela ProdutosRestaurante Tabela PedidosRestaurante Tabela ProdutosPedidos FrontOce Utilizador Não Autenticado Mapa do Site Registo de Utilizadores Utilizador Autenticado Mapa do Site Home Page Formulário das Reservas Envio de Mensagens ao Hotel BackOce Funcionários Mapa do Site Home Page Reservas Pendentes Reservas Conrmadas Reservas Especiais Mensagens Administradores Mapa do Site Home Page Notícias Registar Funcionários Gestão de Pedidos do Restaurante Menu Mesas Lista de Pedidos por Mesa Pedir Pedido Importância do Login Divulgação Online Domínios Servidor de Alojamento

9 7 Conclusões e trabalho futuro Conclusões Trabalho futuro A Listagem de programas 79 A.1 Código para Enviar A.2 Código Imprimir Fatura A.3 Código para mostrar quartos disponíveis na página atribuir quartos. 81 A.4 Código inserir uma reserva normal

10 Lista de Figuras 3.1 Tarefas Mapa de Gantt o Passo Hotéis Vila Galé o Passo Hotéis Vila Galé o Passo Hotéis Vila Galé o Passo Hotéis Vila Galé o Passo Natura IMG Hotels o Passo Natura IMG Hotels o Passo Natura IMG Hotels o Passo Natura IMG Hotels o Passo Natura IMG Hotels Data Source do Windows Phone Arquitetura ASP.NET Modelo relacional para gestão de utilizadores Modelo relacional para a gestão de reservas Modelo relacional para a gestão do restaurante Formulário para Criar Utilizador Home Page Formulário Reserva Calendário Exemplo de erros Lista de quartos Dados da Base de Dados Quartos Ocupados Página Detalhes Reserva Exemplo de subtração dos quartos disponíveis Página Detalhes Reserva Página Finalizar Reserva Dados Cliente Página Finalizar Reserva Dados Reserva Página Finalizar Reserva Popup para imprimir Página Lista das Minhas Reservas Página Detalhe das Minhas Reservas Página Contactos Home Page Funcionários

11 6.24 Lista Reservas Pendentes Página atribuir quartos Número dos quartos disponíveis Reservas Conrmadas Atribuir Serviços Editar Serviços Imprimir Reserva Conrmada Reservas Especiais Resposta às mensagens Home Page Editar notícias Notícias Registar Funcionários Menu Mesas Lista Pedidos por Mesa Pedir Produto Página dos Pedidos

12 Lista de Tabelas 6.1 Estrutura da tabela dos Clientes Estrutura da tabela dos Funcionários Estrutura da tabela das Mensagens Estrutura da tabela das Notícias Estrutura da tabela dos Quartos Estrutura da tabela das Reservas Estrutura da tabela dos Reserva/Quarto Estrutura da tabela dos Serviços Estrutura da tabela dos Reserva/Serviços Estrutura da tabela dos Tipos de Quartos Estrutura da tabela dos Produtos do Restaurante Estrutura da tabela dos Pedidos do Restaurante Estrutura da tabela dos Produtos Pedidos

13 Lista de listagens 1 Exemplo de código HTML Exemplo de código ASP.NET Exemplo de um query em Linq to Entities Exemplo Subtract de datas Query para mostrar número de quartos ocupados Query para buscar os dados do cliente online Código para abrir a popup para imprimir Objetos HTML no C# Transferir imagens para a pasta do projeto Registar Funcionários Exemplo de função de um WCF Pintar mesas ocupadas Query que vai buscar os pratos para a list picker Colocar dos pratos na list picker Inserir Pedidos na Base de Dados

14 Glossário FTP File Transfer Protocol em português Protocolo de transferência de cheiros. IP Internet Protocol em português Protocolo de internet. Open Web Platform coleção de tecnologias Web desenvolvidas pela W3C e por outros corpos de normalização, como o Unicode Consortium, Internet Engineering Task Force, entre outros. W3C World Wide Web Consortium é um consórcio internacional que visa desenvolver padrões para a criação e interpretação de conteúdos para a Web. WWW World Wide Web é um sistema de documentação em todos os formatos (textos, imagens, vídeos) que são interligados e executados na internet. Servidor Web Um programa de computador responsável por aceitar pedidos HTTP de clientes, geralmente os navegadores, e servi-los com respostas HTTP, incluindo opcionalmente dados, que geralmente são páginas web, tais como documentos HTML com objetos embutidos. HTTP Hipertext Transfer Protocol, ou em Português, Protocolo de Transferência de Hipertexto é um protocolo de comunicação. Unicode padrão que permite aos computadores representar e manipular, de forma consistente, texto de qualquer sistema de escrita existente Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software. PK Primary Key - Chave Primária. FK Foreign Key - Chave Estrangeira. Site Um website ou site é um conjunto de páginas web, isto é, de hipertextos acessíveis geralmente pelo protocolo HTTP na internet. CSS É a abreviatura para Cascading Style Sheets, é uma linguagem que dene estilos às paginas web. ASP.NET É a abreviatura para Active Server Pages, é um ambiente de desenvolvimento de aplicações web de pequeno ou grande porte. WCF É a abreviatura para Windows Communication Foundation, é uma framework para a construção de aplicações orientadas a services. Base de Dados Conjunto de dados estruturados e relacionados entre si. 12

15 Capítulo 1 Introdução O projeto consistiu em desenvolver duas aplicações. A primeira é uma aplicação Web para a gestão de reservas de um Hotel. A aplicação destina-se aos utilizadores da Internet que pretendam reservar quartos sem qualquer custo adicional e, à administração, a gestão das reservas dos clientes. A segunda aplicação é para dispositivos móveis com o sistema operativo Windows Phone, de modo a permitir a gestão de pedidos do restaurante do hotel. O funcionário, através de um dispositivo móvel, comunica para a base de dados os pedidos que cada cliente faz, sendo depois lidos na cozinha. Os dispositivos móveis têm capacidade de armazenamento, de realizar processamento, de trocar informações via rede e, devido ao seu reduzido tamanho, de ser transportado facilmente pelo seu utilizador [5]. Com os dispositivos móveis o utilizador tem acesso a serviços e informações em qualquer lugar e a qualquer momento. Um funcionário de um restaurante tem de se movimentar constantemente entre as diversas mesas e a cozinha para atender os clientes, efetuar os pedidos à cozinha e servir as refeições. A utilização de um dispositivo móvel pelo funcionário permite simplicar o processo de comunicação entre os funcionários e os cozinheiros e aumentar a sua taxa, ou seja, mais pedidos por unidade de tempo. O trabalho do funcionário ca menos cansativo porque evita as viagens constantes desde a sala do restaurante até à cozinha. Desta forma, o funcionário pode atender os clientes de uma forma mais personalizada e mais rápida porque o pedido chega à cozinha momentos depois de ter sido efetuado. Por outro lado, enquanto o funcionário se desloca à cozinha ou ao bar para obter os artigos, já outro funcionário os selecionou e colocou à sua disposição. Nas últimas décadas a constante evolução das tecnologias e a aderência aos mercados virtuais por parte dos utilizadores, obrigou ao desenvolvimento de aplicações online por parte das empresas, de modo a não perderem competitividade. Inicialmente os websites eram maioritariamente na linguagem HTML onde não havia a preocupação com o design e a apresentação gráca na internet. Em apenas 6 anos o design evoluiu signicativamente que tornou os layouts irreconhecíveis com os anteriores. Com o passar dos anos, juntamente com a competitividade entre as empresas e a evolução, o mais importante é ter um visual agradável e, ao mesmo tempo, atraente 13

16 14 CAPÍTULO 1. INTRODUÇÃO e cativante para o utilizador, onde a Home Page contenha amostras do conteúdo que o website pode oferecer. [3] Tão ou mais importante num website, é também a utilidade para o utilizador. O facto de o utilizador poder fazer quase tudo através de um computador torna a internet um meio apetecível e com grande aderência. O projeto enquadra-se no âmbito e complexidade adequada às competências adquiridas no curso: Autonomia e capacidade de denir objetivos; Capacidade de modelação de problemas; Saber elaborar relatórios de análise, desenho e implementação de soluções; Gestão de tempo e cumprimento de prazos; O projeto realizado obedeceu as seguintes condições: Ter um orientador docente da Unidade Técnico-Cientíca de informática da ESTG do Instituto Politécnico da Guarda; Ter um plano de desenvolvimento aprovado pelo docente; 1.1 Motivação A principal motivação para o desenvolvimento deste projeto é a possibilidade de aprofundar os conhecimentos adquiridos de ASP.NET e C#, e utilizar novas tecnologias como WCF Service e Linq to Entities, de forma a desenvolver duas aplicações: gestão de reservas de hotel e gestão de pedidos de restaurante. A aplicação para a gestão de reservas de um hotel permite, por um lado, simplicar a tarefa de reservar hotel aos clientes e, por outro, permite à administração do hotel reduzir o número de tarefas de gestão de reservas, tais como registar dados de reservas efetuadas via telefone, fax ou correio eletrónico. A aplicação para a gestão de pedidos na sala de um restaurante através de um dispositivo móvel com o sistema operativo Windows Phone, permite atingir vários objetivos de uma só vez: simplicar as tarefas dos funcionários que servem à mesa no restaurante, personalizar o atendimento ao cliente e aumentar a velocidade de satisfação dos pedido por parte da cozinha do restaurante. 1.2 Solução A solução consiste em desenvolver duas aplicações: 1. Uma aplicação web com um FrontOce para os clientes efetuarem reservas no hotel, e um BackOce para os funcionários e administradores fazerem a gestão das reservas. 2. Uma aplicação para dispositivo móvel para gestão de pedidos do restaurante.

17 1.3. CONTRIBUIÇÃO Contribuição A contribuição principal deste trabalho é o desenvolvimento e implementação de uma aplicação que ajude na gestão de reservas do hotel para evitar uma má gestão e perdas de dados. A aplicação para o dispositivo móvel de gestão de pedidos do restaurante serve para ganhar tempo tanto aos empregados como aos clientes que esperam pelos pedidos, evitando assim que os empregados do restaurante tenham de se deslocar à cozinha para comunicar os pedidos. 1.4 Estrutura do documento O documento compreende cinco capítulos para além do presente capítulo, e está organizado da seguinte forma: No segundo capítulo, é descrita a denição do problema e os objetivos previstos; No terceiro capítulo, é descrita a metodologia e a calendarização do projeto; No quarto capítulo; é descrito o estado da arte de algumas aplicações já existentes; No quinto capítulo, são descritas as tecnologias utilizadas na implementação do projeto; No sexto capítulo, é descrito de forma detalhada todo o trabalho desde a base de dados até a aplicação web e a aplicação para o dispositivo móvel; No sétimo e último capítulo, são apresentadas as considerações nais sobre o trabalho e possível trabalho futuro;

18 Capítulo 2 Denição do problema e objetivos previstos 2.1 Denição do problema Desenvolver uma aplicação web para a gestão de reservas de um hotel. A aplicação deve permitir aos clientes efetuarem pedidos de reservas de quartos, aparecendo uma lista dos quartos disponíveis para as datas que o cliente selecionou. Após o cliente conrmar o pedido de reserva será enviado um com os dados da reserva. A aplicação web deverá ter uma área restrita a funcionários e administradores, onde os funcionários atribuem quartos às reservas dos clientes, atribuem também serviços pedidos pelos clientes às reservas e ainda alteram o estado das reservas. Já os administradores inserem novos quartos, editam os preços dos quartos, modicam as notícias da página principal e criam novas contas para funcionários ou administradores. Os administradores podem também inserir a ementa para o restaurante do hotel. Desenvolver uma aplicação para dispositivo móvel que permita ao funcionário do restaurante ter um menu com as mesas livres e ocupadas, e em cada mesa poder abrir e fechar contas, mostrando também quando as contas estão abertas e quais os pedidos feitos por aquela mesa. Os principais problemas a resolver são: Como registar e autenticar os utilizadores; Que sistema de gestão de base de dados utilizar para armazenar os dados das reservas e dos pedidos no restaurante; Denir sistema de navegação entre as páginas; Denir os estilos (CSS) das páginas; Desenvolver as páginas web em ASP.NET/C# e HTML; Como calcular o total da reserva, após inserir serviços pedidos pelo cliente e editar as quantidades; 16

19 2.2. OBJETIVOS PREVISTOS 17 Os principais problemas a resolver na aplicação para o dispositivo móvel: Denir sistema de navegação entre as páginas; Desenhar o interface gráco para a aplicação; Como trocar entre a dados da base de dados do website e o dispositivo móvel; 2.2 Objetivos previstos Os principais objetivos denidos no início do projeto, foram: Desenvolver uma aplicação web para a gestão total de um hotel, quer a nível de reservas, de stocks, de funcionários e eventos; Desenvolver uma aplicação para dispositivo móvel com sistema operativo Windows Phone para a gestão de pedidos do restaurante do hotel; Integrar a aplicação para gestão de pedidos do restaurante com a base de dados da aplicação web;

20 Capítulo 3 Metodologia e resultados esperados 3.1 Metodologia A metodologia utilizada para desenvolver, implementar e testar a aplicação web foi a seguinte: 1. Usar o HTML como linguagem base da construção das páginas web. 2. Usar CSS para denir os estilos das páginas web. 3. Usar Javascript para fazer slide de imagens. 4. Usar ASP.NET para a construção das páginas web. 5. Utilizar o C# para programar os objetos do ASP.NET. 6. Utilizar o SQL SERVER para a construção da base de dados. 7. Utilizar Linq to Entities para aceder do dispositivo móvel à base de dados. 8. Realização de testes e análise da eciência e abilidade da aplicação colocando pessoas que nunca viram o trabalho, a utilizar o software. 9. Visual Studio 2010 como ambiente de programação para todo projeto. 10. Utilizar o latex para produzir um relatório pata documentar o projeto. 3.2 Descrição das tarefas As principais tarefas foram: Tarefa 1 Análise dos requisitos da aplicação web; Tarefa 2 Estudo das tecnologias a utilizar. Tarefa 3 Criar a base de dados; 18

21 3.3. RESULTADOS ESPERADOS 19 Tarefa 4 Denir os estilos (CSS) para todas páginas; Tarefa 5 Criar as páginas ASP.NET/C# como linguagem base o HTML; Tarefa 6 Testes da aplicação; Tarefa 7 Elaboração do relatório. O agendamento das tarefas é apresentado na gura 3.1. Figura 3.1: Tarefas. O respetivo Mapa de Gantt é apresentado na gura 3.2. Figura 3.2: Mapa de Gantt. 3.3 Resultados esperados No nal do projeto espera-se que a aplicação web esteja pronta a ser utilizada pelos utilizadores e a aplicação para o restaurante pelos funcionários do restaurante. Na área dos clientes será possível: 1. Consultar a lista de quartos que estão disponíveis nas datas selecionadas; 2. Efetuar reservas de no máximo três quartos; 3. Consultar o estado das reservas na aplicação web e por correio eletrónico; 4. Alterar os dados pessoais da conta. Na área dos funcionários será possível:

22 20 CAPÍTULO 3. METODOLOGIA E RESULTADOS ESPERADOS 1. Alterar o estado das reservas; 2. Atribuir os quartos às reservas; 3. Atribuir serviços às reservas; 4. Responder a questões colocadas pelos utilizadores através de correio eletrónico; 5. Alterar os dados pessoais. Na área dos administradores será possível: 1. Criar contas de funcionários ou administradores; 2. Editar notícias da página principal; 3. Inserir,editar e eliminar quartos; 4. Alterar preços dos quartos; 5. Inserir,editar e eliminar serviços; 6. Inserir,editar e eliminar produtos à ementa do restaurante para ser visível no dispositivo móvel. Na aplicação para o restaurante será possível: 1. Enviar pedidos dos cliente para a base de dados; 2. Receber da base de dados a lista dos pedidos por mesa.

23 Capítulo 4 Estado da Arte No âmbito da gestão hoteleira, praticamente todos hotéis têm, hoje em dia, um website para fazer reservas online de quartos, pois pela internet não há custos adicionais para o cliente, logo a aderência a este tipo de aplicações é grande. Poder fazer pagamentos pela internet é também um fator aliciante para os clientes. Quanto à aplicação para a gestão de pedidos, existem alguns restaurantes que já usam este tipo de sistemas. O facto de poder tratar dos pedidos através de um dispositivo móvel sem ter de se deslocar até à cozinha é aliciante para os restaurantes, dependendo do seu número de mesas, pois se este tiver poucas mesas, talvez não seja benéco usar este tipo de sistema. 4.1 Hotéis Vila Galé Nos Hotéis Vila Galé, para fazer reservas de quartos é bastante simples, bastando apenas escolher as datas de entrada e saída, o tipo de quarto pretendido, um serviço que pretenda e preencher os dados pessoais. Os clientes não precisam de criar uma conta, mas têm de inserir os seus dados pessoais em todas reservas que façam no hotel. É possível reservar vários quartos numa reserva. Quanto a preços de quartos, estes dependem da localização do hotel e também do número de estrelas - quanto mais estrelas, mais caro será o preço por noite. Por exemplo, no Hotel Vila Galé do Porto com quarto estrelas, o preço de um quarto individual é de 58 Euros por noite; já no Hotel Vila Galé Atlântico no Alentejo e Algarve, o preço do mesmo tipo de quarto é de 47 Euros por noite. A aplicação web pode ser vista na gura com o formulário para selecionar o hotel e as datas Figura(4.1). O segundo passo é para ver a disponibilidade e os preços dos quartos do hotel (Figura 4.2). O terceiro passo são os detalhes da reserva: selecionar os quartos desejados e os serviços, mostrando também os termos e as condições. No nal da página, o cliente tem de introduzir os seus dados pessoais, pois, neste website, o cliente não necessita de ter conta no hotel para reservar quartos (Figura 4.3). 21

24 22 CAPÍTULO 4. Figura 4.1: 1o Passo Hotéis Vila Galé. ESTADO DA ARTE

25 4.1. HOTÉIS VILA GALÉ 23 Figura 4.2: 2 o Passo Hotéis Vila Galé. Figura 4.3: 3 o Passo Hotéis Vila Galé.

26 24 CAPÍTULO 4. ESTADO DA ARTE O quarto e último passo a reserva já está efetuada, o cliente pode imprimir os dados que selecionou da reserva (Figura 4.4). Figura 4.4: 4 o Passo Hotéis Vila Galé. A aplicação pode ser vista no endereço em https://www.vilagale.pt/. 4.2 Natura IMB Hotels O hotel Lusitânia, na Guarda, faz parte do grupo Natura IMB Hotels e também tem um sistema bastante simples de efetuar reserva de quartos. No entanto, só é possível reservar um quarto em cada reserva, mas o cliente também não precisa de ter uma conta no grupo Natura IMB Hotels, basta preencher um formulário durante o processo da reserva. Neste grupo de hotéis, é possível efetuar o pagamento logo após o pedido de reserva através de cartão de credito. Quanto a preços, o hotel é de quatro estrelas e o preço de um quarto duplo casal é de 54 Euros. O hotel Vanguarda na Guarda também faz parte do mesmo grupo hoteleiro. O formulário para efetuar reservas é o mesmo e, em comparação com o hotel Lusitânia, os preços pouco variam. O hotel Vanguarda é de três estrelas e o preço de um quarto duplo casal é de 51 Euros. Como podemos ver os preços variam em relação à localização e ao número de estrelas do hotel. Neste caso, o hotel Vanguarda, que tem três estrelas, está mais no centro da cidade é um pouco mais barato (3 Euros) do que o hotel Lusitânia que tem quatro estrelas, mas está mais longe do centro da cidade. O primeiro passo é para selecionar as datas que o cliente pretende para reservar os quartos (4.5). O segundo passo é para escolher o hotel que o cliente pretende e os quartos com os respetivos preços (Figura 4.6).

27 4.2. NATURA IMB HOTELS Figura 4.5: 1o Passo Natura IMG Hotels. Figura 4.6: 2o Passo Natura IMG Hotels. 25

28 26 CAPÍTULO 4. ESTADO DA ARTE O terceiro passo o cliente escolhe qual o tipo de quarto pretende reservar (Figura 4.7). Figura 4.7: 3 o Passo Natura IMG Hotels. O quarto passo o cliente tem de inserir os seus dados pessoais e aceitar os termos e as condições do hotel e reserva será feita (Figura 4.8). Figura 4.8: 4 o Passo Natura IMG Hotels. O quinto passo o cliente conrma os dados que inseriu e pode imprimir-los (Figura 4.9). A aplicação web pode ser vista no endereço em

29 4.3. BEMATECH Bematech Figura 4.9: 5 o Passo Natura IMG Hotels. Bematech é uma empresa brasileira do segmento da tecnologia para o comercio. Esta empresa desenvolveu uma aplicação que permite aos funcionários do restaurante realizar os pedidos na mesa e enviar automaticamente para a cozinha, tendo ainda acesso ao mapa das mesas disponíveis, assim como a conta nal do cliente. Estes recursos permitem reduzir os custos e melhorar a velocidade do atendimento aos clientes. O endereço da empresa pode ser visto em

30 Capítulo 5 Tecnologias utilizadas As tecnologias para o desenvolvimento de aplicações web são padronizadas pelo W3C. O World Wide Web Consortium é um consórcio de empresas de tecnologia, fundado por Tim Berners-Lee, em 1994, para tentar levar a web a atingir o seu potencial máximo através de protocolos comuns que promovem a evolução e asseguram a sua interoperabilidade. O W3C desenvolve padrões para a criação e a interpretação dos conteúdos para a Web. Sites desenvolvidos nestes padrões podem ser visualizados por qualquer pessoa ou tecnologia, independentemente do hardware ou do software utilizados, sendo de maneira rápida e compatível com os novos padrões e tecnologias que possam surgir com a evolução da internet.[9] 5.1 Tecnologias web HTML HTML é a linguagem base na qual se denem as páginas web. Trata-se de um conjunto de tags que servem para denir como são mostrados os objetos na página. É uma linguagem muito fácil de aprender, qualquer pessoa pode aprender facilmente e fazer o seu próprio website. Por exemplo, a tag <b> signica que o texto ca em negrito (bold), para fechar a tag </b>; <p> é paragrafo; <a> são links. Para fazer um website basta usar um editor de texto como notepadd++ ou até mesmo o bloco de notas, apenas tem de ter a extensão.html ou.htm.[1]. Esta tecnologia foi usada como a linguagem base na construção das páginas web. Exemplo de código HTML Listagem 1. 28

31 5.1. TECNOLOGIAS WEB 29 Listagem 1 Exemplo de código HTML. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" %"http://www.w3.org/tr/html4/strict.dtd"> <html> <head> <title>teste de HTML</title> </head> <body> <h1>olá Mundo</h1> <h2>olá Mundo</h2> <h3>olá Mundo</h3> <h4>olá Mundo</h4> <b>exemplo Tabela</b> <table> <tr> <td></td><td>coluna 1</td><td>Coluna 2</td> </tr> <tr> <td>linha 1</td><td>Olá </td><td>olá </td> </tr> <tr> <td>linha 2</td><td>Mundo </td><td>mundo </td> </tr> </table> <p>exemplo Teste HTML.</p> </body> </html> CSS CSS é a abreviatura para Cascading Style Sheets. É uma linguagem que dene estilos das paginas web: controla fontes, cores, margens, linhas, alturas, larguras, imagens de fundo, entre outras. O HTML também pode ser usado para denir os layouts dos websites. No entanto, o CSS é mais preciso e sosticado, pois tudo o que é relacionado com layout ca num cheiro único. O CSS é suportado por todos os navegadores e é usado para formatar conteúdos estruturados, enquanto o HTML é usado para estruturar conteúdos. Principais benefícios do uso de CSS: Controle do layout de vários documentos a partir de uma simples folha de estilos; Maior precisão no controle do layout [10]; Esta tecnologia foi usada denir os estilos(cores, etc) da página web ASP.NET ASP.NET (Active Server Pages) é uma tecnologia da Microsoft que é uma evolução do ASP. É um ambiente de desenvolvimento de aplicações web, de pequeno ou grande

32 30 CAPÍTULO 5. TECNOLOGIAS UTILIZADAS porte. Estes aplicativos correm no servidor web e necessitam do.net Framework, onde as páginas vão car disponíveis para serem acedidas por qualquer navegador. ASP.NET tem como principais características a segurança; o facto de as páginas são compiladas antes de serem executadas ganham velocidade, estabilidade, interoperabilidade; a orientação face a objetos; a inserção no.net Framework, podendo utilizar as classes do mesmo; as páginas são desenvolvidas por controlos de interface, validation, data, html entre outros: a possibilidade de criar páginas ricas em recursos e dinâmicas com acesso à base de dados de maneira simples, devido ao IDE(Integrated Develop-ment Environment). Até ao momento as páginas ASP.NET podem ser desenvolvidas em C#, Visual Basic ou J# [4]. Exemplo de código ASP Listagem 2. Listagem 2 Exemplo de código ASP.NET. Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>teste</title> </head> <body> <form id="form1" runat="server"> <div> <asp:label ID="Label1" runat="server" Text="Olá Mundo!"> </asp:label> <asp:textbox ID="TextBox1" runat="server"></asp:textbox> </div> </form> </body> </html> Esta tecnologia foi usada para a construção das páginas web C# C# é uma linguagem criada pela Microsoft, orientada a objetos, faz parte da sua plataforma.net e foi baseada em C++ e Java. A linguagem foi criada juntamente com a arquitetura.net, embora existam várias linguagens de programação que suportam esta tecnologia como o Visual Basic, C++ ou J#. C# é considerada o símbolo do.net pelas seguintes razões: Foi criada do zero para funcionar nesta plataforma sem preocupações de compatibilidade; O compilador C# foi o primeiro a ser desenvolvido;

33 5.1. TECNOLOGIAS WEB 31 A grande maioria das classes.net Framework foram desenvolvidas em C# [6]; Esta tecnologia foi usada para a construção das páginas web e para o dispositivo móvel SQL Server SQL Server é um SGBD (Sistema de Gestão de Base de Dados) criado pela Microsoft em parceria com a Sybase. A integração com o Framework.Net possibilita a construção de rotinas, utilizando as linguagens do.net como Visual Basic e C#. Atualmente, é dos mais usados no mundo, tendo competidores como os sistemas MySQL ou Oracle. O SQL Server é um dos melhores SGBD do mercado. Não obstante, está a perder espaço para o MySQL, pois o MySQL tem código livre e não tem nenhum custo. Um dos problemas do SQL Server é a diculdade, em algumas versões, do suporte para programas de outras empresas e a diculdade de instalar o programa em outros sistemas operativos que não sejam o Windows. [11] Esta tecnologia foi usada para a criação da base de dados Javascript Javascript é uma linguagem de programação utilizada para criar pequenos programas encarregados de realizar ações dentro do âmbito de um website. Trata-se de uma linguagem de programação do lado do cliente, pois é o navegador que suporta a carga de processamento. Graças à sua compatibilidade com a maioria dos navegadores modernos, é mais utilizada a linguagem de programação do lado do cliente. Com Javascript podemos criar efeitos especiais nas páginas e denir interatividades com o utilizador. O navegador do cliente é o encarregado de interpretar as instruções Javascript e executa-las para realizar estes efeitos e interatividades, de modo que o maior recurso é o próprio navegador. [2] Esta tecnologia foi usada para usar o estilos nas drop down lists e para os slides das páginas WCF Windows Communication Foundation é uma framework para a construção de aplicações orientadas a services. Através do WCF é possível enviar dados como mensagens assíncronas de um endpoint para outro. Um endpoint pode ser parte de um serviço continuamente disponível, hospedado pelo IIS, ou pode ser hospedado numa aplicação. No WCF o relacionamento entre o endereço (Address - que dene onde o endpoint reside), o contrato (Contract - que dene o que o serviço vai fazer) e a vinculação (Binding - que dene como se comunicar com o serviço), a chamada endpoint.

34 32 CAPÍTULO 5. TECNOLOGIAS UTILIZADAS Figura 5.1: Data Source do Windows Phone 7. Diferenças entre Web Service em ASP.NET e WCF Service WCF é o substituto para todas as tecnologias web service anteriores à Microsoft. WCF faz muito mais do que os web service tradicionais. Com o WCF há um grau muito mais elevado de exibilidade e portabilidade do que no ASMX tradicional, porque o WCF é projetado desde inicio para resumir todas as diferentes infraestruturas de programação distribuída, oferecidas pela Microsoft. Um endpoint no WCF pode ser comunicado com a mesma facilidade sobre SOAP/XML, pois ele pode comunicar através de TCP. ASMX é mais antigo que o WCF e tudo o que se faz no ASMX pode ser feito no WCF. Basicamente o WCF tenta agrupar logicamente todas as diferentes formas de obter duas aplicações para comunicar no mundo da Microsoft. ASMX era apenas uma das muita maneiras e, por isso, está agora agrupado no "guarda-chuva"das capacidade do WCF. Os Web Services podem ser acedidos apenas por HTTP e funcionam num ambiente sem estado, enquanto o WCF é exível, pois os seus serviços podem ser hospedados em diferentes tipos de aplicações. A principal diferença é que os Web Services usam o XmlSerializer, enquanto o WCF usa DataContractSerializer, que é melhor em desempenho em comparação ao XmlSerializer. [13] Esta tecnologia foi usada como web service para comunicar o dispositivo móvel com a base de dados Linq to Entities Lint to Entities foi usado para fazer conexões à base de dados da aplicação web através do dispositivo móvel. Linq to Entities fornece Language-Integrated Query (LINQ) e permite aos programadores criar queries no Entity Framework, usando o Visual Basic ou C#. Além disso, executa as consultas no Entity Framework,

35 5.2. FERRAMENTAS UTILIZADAS 33 e retorna objetos que podem ser usados tanto pelo Entity Framework como pelo LINQ. [12] Exemplo de um query em Linq To Entities Listagem 3. Esta tecnologia foi usada para aceder à base de dados para as tabelas relacionadas com a gestão dos pedidos do restaurante. Listagem 3 Exemplo de um query em Linq to Entities. HotelEntities1 GetIdPratoDB = new HotelEntities1(); //para conectar as tabelas da base de dados IEnumerable<int> query = from n in GetIdPratoDB.ProdutosRestaurante where n.nomeprodutores.length > 0 && n.nomeprodutores == sopa orderby n.nomeprodutores descending select n.id_produtores; 5.2 Ferramentas utilizadas Microsoft Visual Studio 2010 O Microsoft Visual Studio é um programa criado para o desenvolvimento de software (especialmente para.net Framework) e para as linguagens Visual Basic, C, C++, C# e J#. Também é possível desenvolver aplicações web usando a plataforma ASP.NET. Em 2010 foi lançado a versão com o objetivo de ser IDE mais completa, sendo possível desenvolver aplicações para o Windows Phone, SharePoint, além de melhorar os Windows Forms, Web Forms e também plataformas como Microsoft XNA. [14].

36 Capítulo 6 Implementação da solução O BackOce, FrontOce e a base de dados foram desenvolvidos no Microsoft Visual Studio 2010 com recurso às tecnologias HTML, CSS, Javascript, ASP.NET e SQL Server. A arquitetura utilizada ao longo do projeto foi a seguinte: Figura 6.1: Arquitetura ASP.NET. 6.1 Base de Dados As tabelas da gestão dos utilizadores estão na base de dados chamada ASPNETDB.MDF. As restantes tabelas, tanto da gestão reservas como da gestão dos pedidos do restaurante, estão na base de dados chamada Hotel.mdf. 34

37 6.1. BASE DE DADOS Modelo Relacional No modelo relacional estão guardados todos os dados do sistema de gestão de reservas do hotel. Foram usados três modelos relacionais: um que, por defeito, está no SQL Server do Visual Studio e que serve para guardar utilizadores, privilégios (Figura 6.2), grupos, entre outros; outro com tudo o que é necessário para a gestão de reservas (Figura 6.3) e outro, o Entity Data Model, para ser utilizado o Linq To Entities de modo a fazer os queries para o dispositivo móvel (Figura 6.4). Mais à frente serão explicadas detalhadamente as tabelas do modelo relacional para a gestão de reservas e para a gestão do restaurante. Figura 6.2: Modelo relacional para gestão de utilizadores.

38 36 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Figura 6.3: Modelo relacional para a gestão de reservas. Figura 6.4: Modelo relacional para a gestão do restaurante.

39 6.1. BASE DE DADOS Descrição das tabelas Aqui vão ser descritas as tabelas, juntamente com o dicionário de dados de cada uma Tabela Clientes Na tabela Clientes estão os dados pessoais relativamente ao cliente como o nome, morada, telefone,bi, NIF, NIB e o . Na tabela 6.1 apresenta-se a estrutura da tabela dos clientes. Campo Tipo Tamanho Validações Descrição ID Cliente (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada cliente Nome Texto 50 Carateres de A a Z Nome do cliente Morada Texto 256 Carateres de A a Z Morada do cliente Telefone Texto 9 De 9 a 15 dígitos Telefone do cliente Texto 256 Carateres de A a Z do cliente BI Texto 9 De 7 a 9 dígitos BI do cliente NIF Texto 9 Até 9 dígitos NIF do cliente NIB Texto 21 Até 21 dígitos NIB do cliente Username Texto 256 Carateres de A a Z Username do cliente Tabela 6.1: Estrutura da tabela dos Clientes. Os clientes do hotel nem sempre podem ser portugueses então o telefone pode ir até 15 dígitos Tabela Funcionários Na tabela Funcionários estão os dados pessoais relativamente aos funcionários como o nome, morada, telefone,bi, NIF, NIB, e a função. Na tabela 6.2 apresenta-se a estrutura da tabela dos funcionários. Campo Tipo Tamanho Validações Descrição ID Funcionario (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada funcionário Nome Texto 50 Carateres de A a Z Nome do funcionário Morada Texto 256 Carateres de A a Z Morada do funcionário Telefone Inteiro 9 Até 9 dígitos Telefone do funcionário Texto 256 Carateres de A a Z do funcionário BI Texto 9 De 7 a 9 dígitos BI do funcionário NIF Texto 9 Até 9 dígitos NIF do funcionário NIB Texto 21 Até 21 dígitos NIB do funcionário Username Texto 256 Carateres de A a Z Username do funcionário Funcao Texto 256 Carateres de A a Z Função do funcionário Tabela 6.2: Estrutura da tabela dos Funcionários Tabela Mensagens A tabela Mensagens serve para questões ou testemunhos que os clientes pretendam fazer ao hotel. A estrutura da tabela apresenta os dados do cliente - nome e , a mensagem e o assunto, a data do envio e um campo visto que informa o funcionário

40 38 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO se a mensagem já foi ou não lida. Na tabela 6.3 apresenta-se a estrutura da tabela das mensagens. Campo Tipo Tamanho Validações Descrição ID Mensagem (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada mensagem Nome Texto 50 Carateres de A a Z Nome do cliente Texto 256 Carateres de A a Z do cliente Assunto Texto 100 Carateres de A a Z Assunto da mensagem Mensagem Texto MAX Carateres de A a Z Corpo da mensagem Data Data e Hora DD/MM/YYYY Data do envio da mensagem HH:MM:SS Visto Booleano True ou False 0 ou 1 Informa ao funcionário se a mensagem já foi lida ou não Tabela 6.3: Estrutura da tabela das Mensagens Tabela Notícias A tabela Notícias serve para editar as notícias que se encontram na Home Page. Na tabela 6.4 apresenta-se a estrutura da tabela das notícias. Campo Tipo Tamanho Validações Descrição ID Noticia (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada notícia Titulo Texto 10 Carateres de A a Z Título da notícia Noticia Texto MAX Carateres de A a Z Texto da notícia Imagem Texto 100 Carateres de A a Z Caminho da imagem para a notícia Tabela 6.4: Estrutura da tabela das Notícias Tabela Quartos Na tabela 6.5 apresenta-se a estrutura da tabela dos quartos. Campo Tipo Tamanho Validações Descrição ID Quarto (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada quarto Nr Quarto Inteiro 3 Maior que 100 Número de cada quarto ID TipoQuarto (FK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada tipo de quarto Tabela 6.5: Estrutura da tabela dos Quartos Tabela Reserva A tabela Reserva serve para guardar os dados relativos às reservas, como as datas de entrada e saída, o ID do cliente, o custo da reserva, entre outros. Na tabela 6.6 apresenta-se a estrutura da tabela das reservas.

41 6.1. BASE DE DADOS 39 Campo Tipo Tamanho Validações Descrição ID Reserva (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada reserva ID Cliente (FK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente o cliente ID Funcionario (FK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada tipo de funcionário que valida a reserva (Permite Nulos) Data Pedido Data e Hora DD/MM/YYYY Data do pedido da reserva HH:MM:SS Data Chegada Data e Hora DD/MM/YYYY Data de check-in da reserva HH:MM:SS Data Partida Data e Hora DD/MM/YYYY Data de check-out da reserva HH:MM:SS Custo Total Decimal 2 Maior que 0 Custo do preço dos quartos a multiplicar pelo número de dias Estado Texto 10 Carateres de A a Z Estado da reserva (Pendente, Conrmada, Check-In, Check-Out e Cancelada) Pedido Texto 256 Carateres de A a Z Pedido dos quartos que o cliente selecionou reservar Observacao Texto 256 Carateres de A a Z Uma observação que o cliente pretenda escrever quando efetua a reserva (Permite Nulos) Nnoites Inteiro 3 Até 3 dígitos Número de noites que o cliente estará no hotel Nadultos Inteiro 2 Até 2 dígitos Número de adultos na reserva Ncrancas Inteiro 2 Até 2 dígitos Número de crianças na reserva Custo Servicos Decimal 2 Maior que 0 Custo total dos serviços pedidos pelo cliente durante a estadia no hotel Total Decimal 2 Maior que 0 Custo total da reserva (Custo Total + Custo Servicos) Tabela 6.6: Estrutura da tabela das Reservas Tabela Reserva/Quarto A tabela Reserva/Quarto é uma tabela N para N onde guarda o ID da reserva e o ID dos quartos da reserva. Na tabela 6.7 apresenta-se a estrutura da tabela dos quartos. Campo Tipo Tamanho Validações Descrição ID Quarto (PK)(FK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada quarto ID Reserva (PK)(FK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada reserva Tabela 6.7: Estrutura da tabela dos Reserva/Quarto Tabela Serviços A tabela Serviços é utilizada para guardar os serviços que os clientes podem pedir durante a sua estadia. Na tabela 6.8 apresenta-se a estrutura da tabela dos serviços.

42 40 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Campo Tipo Tamanho Validações Descrição ID Servico (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada serviço Tipo Servico Texto 20 Carateres de A a Z Nome do serviço Custo Decimal 2 Maior que 0 Custo de cada serviço Tabela 6.8: Estrutura da tabela dos Serviços Tabela Reserva/Serviços A tabela Reserva/Serviços é a tabela N para N, entre os serviços e as reservas. Os clientes podem pedir vários tipos de serviços durante a sua estadia. Na tabela 6.9 apresenta-se a estrutura da tabela dos Reserva/Serviços. Campo Tipo Tamanho Validações Descrição ID Servico (PK)(FK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada serviço ID Reserva (PK)(FK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada reserva Quantidade Inteiro 3 Maior que 0 Quantidade de cada serviço que é pedido pelo cliente Tabela 6.9: Estrutura da tabela dos Reserva/Serviços Tabela TiposQuartos A tabela Tipos de Quartos é onde são guardados os preços por noite de cada quarto, o total de quartos de cada tipo e ainda uma descrição. Na tabela 6.10 apresenta-se a estrutura da tabela dos tipos de quartos. Campo Tipo Tamanho Validações Descrição ID TipoQuarto (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada tipo de quarto Tipo Quarto Texto 20 Carateres de A a Z Nome do tipo de quarto Total Quarto Inteiro 3 Maior que 0 Total de quarto existentes do hotel para cada tipo de quarto Custo Decimal 2 Maior que 0 Custo de cada quarto por noite Descrição Texto 3 Carateres de A a Z Descrição do conteúdo do tipo de quarto Capacidade Inteiro 1 Maior que 0 Capacidade de pessoas para cada tipo de quarto Tabela 6.10: Estrutura da tabela dos Tipos de Quartos Tabela ProdutosRestaurante A tabela Produtos Restaurante guarda os produtos disponíveis para serem mostrados no dispositivo móvel no restaurante. Na tabela 6.11 apresenta-se a estrutura da tabela dos ProdutosRestaurante.

43 6.1. BASE DE DADOS 41 Campo Tipo Tamanho Validações Descrição ID ProdutoRes (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada produto do restaurante NomeProdutoRes Texto 20 Carateres de A a Z Nome do produto do restaurante PrecoProdutoRes Decimal 3 Maior que 0 Custo de cada produto do restaurante CategoriaProdutoRes Texto 20 Carateres de A a Z Categoria do produto do restaurante (Sopa, Prato Principal, Bebida, Sobremesa, Outros) Tabela 6.11: Estrutura da tabela dos Produtos do Restaurante Tabela PedidosRestaurante A tabela Pedidos Restaurante é onde são guardados os pedidos por mesa dos clientes. Na tabela 6.12 apresenta-se a estrutura da tabela dos PedidosRestaurante. Campo Tipo Tamanho Validações Descrição ID PedidoRes (PK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada pedido por mesa do restaurante Mesa Inteiro 2 Até 2 dígitos Número da mesa dos pedidos PrecoTotal Decimal 3 Maior que 0 Custo total dos pedidos efetuados pela mesa Estado Texto 20 Carateres de A a Z Estado da conta (Aberta ou Fechada) Tabela 6.12: Estrutura da tabela dos Pedidos do Restaurante Tabela ProdutosPedidos A tabela ProdutosPedidos é a tabela N para N, onde são guardados os vários pedidos por mesa dos clientes. Na tabela 6.13 apresenta-se a estrutura da tabela dos PedidosRestaurante. Campo Tipo Tamanho Validações Descrição ID PedidoRes (PK)(FK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada pedido por mesa do restaurante ID ProdutoRes (PK)(FK) Inteiro 5 Maior que 0 Número sequencial que identica univocamente cada produto pedido por mesa do restaurante NomePedido Texto 20 Carateres de A a Z Nome do produto que o cliente pediu Quantidade Inteiro 3 Maior que 0 Quantidade do produto pedido Preco Decimal 3 Maior que 0 Preço do produto pedido EstadoPedido Booleano True ou False 0 ou 1 Se for false signica que o pedido ainda não foi realizado, se for 1 signica que o pedido já foi realizado pela cozinha Tabela 6.13: Estrutura da tabela dos Produtos Pedidos.

44 42 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO 6.2 FrontOce O FrontOce é a parte da aplicação que se refere aos utilizadores nais, tendo estes clientes uma conta criada no website ou sendo apenas visitantes, onde é possível vericar a disponibilidade dos quartos para as datas pretendidas pelo cliente Utilizador Não Autenticado Os utilizadores não autenticados podem ver os quartos disponíveis e respetivos preços para as datas pretendidas e selecionada. Podem também comunicar com o hotel, mandando uma mensagem, para a tabela de reservas, sobre questões ou testemunhos que queiram dar. Além disso, podem ver igualmente os tipos de quartos que o hotel oferece e os serviços para entretenimento. É possível também criar as contas de cliente, onde, de seguida, é enviado um de conrmação para validar a conta Mapa do Site Default - Default.aspx Quartos & Suites - QuartosHotel.aspx Serviços Spas - Spas.aspx Golfe - Golf.aspx Eventos - Eventos.aspx Restaurante - Restaurante.aspx Ginásio - Ginasio.aspx Galerias - Galerias.aspx Reservar - Reservar.aspx Lista Quartos Disponíveis - ListaQuartos.aspx Contactos Contacte-nos - Contactos.aspx Localização - Localizacao.aspx Login - Login.aspx Registar - Register.aspx

45 6.2. FRONTOFFICE Registo de Utilizadores Na área não autenticada, os utilizadores, caso pretendam reservar quartos no hotel, devem criar a conta de cliente para o fazer. Para isso, é necessário preencher um formulário com os seus dados pessoais e, em seguida, serão enviados dois s: um com os dados inseridos e outro para conrmar e ativar a conta através de um link enviado no . Deste modo, a conta ca inativa, após ter sido criada, para evitar que uma pessoa crie a conta em nome de outra pessoa, apenas por conhecer o seu . Para melhorar a segurança foi colocado um captcha para evitar que hackers criem utilizadores em massa (Figura 6.5). Falta apenas referir que todos dados são validados antes de serem inseridos na base de dados. Figura 6.5: Formulário para Criar Utilizador.

46 44 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Utilizador Autenticado Nesta área, o cliente tem acesso a quase todas as páginas que um utilizador não autenticado, apenas os diferencia o facto do cliente poder fazer reservas de quartos do hotel, de poder alterar os seus dados pessoais, alterar a password e uma página com todas reservas efetuadas pelo cliente até à data Mapa do Site Default - Clientes/Default.aspx Quartos & Suites - Clientes/QuartosHotel.aspx Serviços Spas - Clientes/Spas.aspx Golfe - Clientes/Golf.aspx Eventos - Clientes/Eventos.aspx Restaurante - Clientes/Restaurante.aspx Ginásio - Clientes/Ginasio.aspx Galerias - Clientes/Galerias.aspx Reservar - Clientes/Reservar.aspx Lista Quartos Disponíveis - Clientes/ListaQuartos.aspx Detalhes Reserva - Clientes/DetalhesReserva.aspx Finalizar Reserva - Clientes/FinalizarReserva.aspx Minhas Reservas - Clientes/MinhasReservas.aspx Contactos Contacte-nos - Clientes/Contactos.aspx Localização - Clientes/Localizacao.aspx Minha Conta - Clientes/MinhaConta.aspx Minhas Reservas - Clientes/MinhasReservas.aspx Alterar Password - Clientes/ChangePassword.aspx Home Page Na Home Page estão disponíveis as paginas todas no FrontOce, para que o utilizador tenha acesso a informações sobre as instalações do hotel. Existe um formulário para selecionar as datas de check-in e check-out, de forma a vericar a disponibilidade dos quartos e, de seguida, poder efetuar a reserva. Figura que representa a Home Page 6.6

47 FRONTOFFICE Figura 6.6: Home Page.

48 46 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Formulário das Reservas Na página Default, há um formulário que permite ao cliente pesquisar quartos, dando a data de check-in, check-out e o número de adultos e crianças, como é visível na gura 6.7. Figura 6.7: Formulário Reserva. O formulário contém validações, pois não é possível pesquisar tipos de quartos disponíveis com os campos das datas por preencher. As datas são selecionadas através de um calendário, ao clicar no ícone como mostra a gura 6.8. Se as text box tiverem DD/MM/AAAA como texto, signica que o cliente ainda não introduziu uma data, então, é mostrada a mensagens de erro, como podemos ver na gura 6.9. O código está todo dentro de um try para vericar se a data escolhida é uma data válida. Primeiro, é preciso saber-se quantos dias há de diferença entre as datas selecionadas para depois multiplicar esse valor pelo preço por noite de cada quarto. Para isso usei o Subtract (Listagem 4) e é necessário converter para Date as datas que estão na text box. Se essa conversão falha signica que a data não é uma data válida logo o try passa para o catch que da o erro de data inválida. Listagem 4 Exemplo Subtract de datas. TimeSpan diff = Convert.ToDateTime(tbCheckOut.Text).Subtract(Convert.ToDateTime(tbCheckIn.Text)); int TotalNoOfDays = diff.days; Se as datas forem então válidas falta ainda vericar se a data de check-out é após da data de check-in. A fórmula usada é simples: subtrai-se a data de check-out à

49 6.2. FRONTOFFICE 47 Figura 6.8: Calendário. Figura 6.9: Exemplo de erros.

50 48 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO data de check-in para dar o número de dias. Para isso, o Subtract também é muito útil: se o número de dias for negativo, dá o erro e não deixa avançar para a próxima página. Página Lista de Quartos: Nesta página é mostrado a lista de quartos e a sua disponibilidade (Figura 6.10). Figura 6.10: Lista de quartos. Nesta página, mostra-se numa tabela os tipos de quartos que o hotel tem, a capacidade de cada um, a descrição, o preço e ainda os quartos disponíveis. Neste exemplo, mostra-se o número de quartos disponíveis para exemplicar o funcionamento. Aqui é feita uma vericação na base de dados para se saber se existem quartos disponíveis ou não para as datas selecionadas pelo cliente, ou seja, no page load da página, vai-se à tabela N para N entre a tabela reserva e quartos, e conta-se quantos tipos de quartos estão na tabela entre as datas selecionadas pelo cliente. Vê-se também se a data de check-in é menor que a data de chegada da base de dados e se a data de check-out é maior que a data de partida da base de dados (Listagem do query 5). De seguida, subtrai-se o total de quartos que existe no hotel ao número de quartos ocupados e obtém-se o número de quartos disponíveis. No entanto, é necessário referir que apenas as reservas com estado Conrmada ou Check-In contam como quartos ocupados. Figura 6.11: Dados da Base de Dados. Como podemos ver na Figura 6.11 existem duas reservas nas datas de 20/08/2012 até 30/08/2012 e, neste exemplo, o cliente introduziu as datas 28/08/2012 e 30/08/2012.

51 6.2. FRONTOFFICE 49 Listagem 5 Query para mostrar número de quartos ocupados. SELECT COUNT(*) AS Expr1 FROM [Reserva/Quarto] INNER JOIN Quartos ON [Reserva/Quarto].id_quarto = Quartos.id_quarto INNER JOIN Reserva ON [Reserva/Quarto].id_reserva = Reserva.id_reserva WHERE (Reserva.estado AND (Quartos.id_tipoquarto BETWEEN Reserva.data_chegada AND Reserva.data_partida) OR BETWEEN Reserva.data_chegada AND Reserva.data_partida)) OR < Reserva.data_chegada > Reserva.data_partida)) Nestas datas há dois quartos duplos ocupados, mas como no total há 30 quartos, signica que há 28 quartos disponíveis como é visível através da imagem acima disponível (Figura 6.10). Em caso de o número de quartos disponíveis ser 0, o cliente não pode reservar aquele tipo de quarto nas datas que escolheu como se pode observar na gura Página Detalhes Reserva Figura 6.12: Quartos Ocupados. Na página Detalhes Reserva estão os quartos selecionados pelo cliente na página Lista de Quartos (Figura 6.13). Só é possível reservar três quartos por cada reserva - caso o cliente pretenda mais quartos, será feita uma reserva especial pelo que terá de entrar em contacto com o hotel. Figura 6.13: Página Detalhes Reserva. Em cada botão Reservar da página Lista Quartos há uma variável que é incrementada, isto para subtrair ao número de quartos disponíveis. Como é visível na gura

52 50 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO 6.14, agora o número de quartos disponíveis é 27, ou seja, decrementou um porque o cliente já selecionou um quarto duplo para reservar. Isto serve para evitar que haja, por exemplo, dois quartos disponíveis do tipo individual. Imaginemos que um cliente quer três quartos individuais, assim, ao decrementar o valor, evito que o cliente reserve quartos que depois poderão não estar disponíveis. Figura 6.14: Exemplo de subtração dos quartos disponíveis. Na página Detalhes da Reserva, também é possível eliminar a seleção dos quartos, sendo que, se o cliente pretender continuar, obrigatoriamente tem de voltar à lista de quartos e escolhe-los. O valor dos quartos disponíveis também volta ao que estava anteriormente. Ainda na página Detalhes Reserva, há um campo para escrever observações e é necessário aceitar os termos e condições do hotel para reservar quartos (Figura 6.15). Figura 6.15: Página Detalhes Reserva. O botão seguinte é para ir para a página Finalizar Reserva onde se fazem ainda

53 6.2. FRONTOFFICE 51 algumas validações. A capacidade dos quartos tem de ser maior ou igual ao número de adultos que o cliente selecionou e é necessário que a check box esteja a true. Página Finalizar Reserva Após estar tudo validado na página Finalizar Reserva, primeiro aparecem os dados do cliente que está online na página, ou seja, o cliente, para fazer reservas, tem de ter uma conta no site para o conseguir fazer (Figura O query (Listagem 6 tem a condição where do username seja igual ao username do utilizador online. Listagem 6 Query para buscar os dados do cliente online. SELECT id_cliente, nome, morada, telefone, , username, bi, nif, nib FROM Clientes WHERE (username SqlDataSourceId.SelectParameters["username"].DefaultValue = User.Identity.Name; Figura 6.16: Página Finalizar Reserva Dados Cliente. A segunda tabela é dedicada aos detalhes da reserva, onde são mostrados os dados que o cliente selecionou, como é visível na gura O botão reservar insere o pedido na base de dados. Após o cliente clicar em reservar, os dados são inseridos na tabela Reservas (Figura 6.18 e é enviado um para o cliente com os dados da reserva. O painel onde estão as tabelas ca a false, cando visível o painel para poder imprimir a reserva ou continuar para a página Minhas Reservas. No botão imprimir abre uma popup (Figura 6.19) em Javascript (Listagem 7) para poder imprimir o painel onde estão as tabelas dos dados da reserva, onde o cliente pode guardar os dados da reserva em pdf. Página Minhas Reservas No botão Continuar, o utilizador é reencaminhado para a página Minhas Reservas. Esta página é onde o cliente pode vericar o estado das suas reservas (Figura 6.20). Nesta página, são apenas mostradas as reservas do cliente que fez o login. Aqui

54 52 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Figura 6.17: Página Finalizar Reserva Dados Reserva. Figura 6.18: Página Finalizar Reserva. Listagem 7 Código para abrir a popup para imprimir. protected void btimprimir_click(object sender, EventArgs e) { Panel1.Visible = true; Session["ctrl"] = Panel1; ClientScript.RegisterStartupScript(this.GetType(), "onclick", "<script language=javascript>window.open('imprimir.aspx','imprimir', height=600px,width=600px,scrollbars=1');</script>"); }

55 6.2. FRONTOFFICE 53 Figura 6.19: Popup para imprimir. Figura 6.20: Página Lista das Minhas Reservas.

56 54 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO faz-se um select à tabela reservas onde o username é igual ao username do utilizador online. Para ver os dados da reserva mais detalhados, o cliente necessita selecionar uma reserva do grid view e os dados são mostrados. Na gura 6.21 é visível a reserva efetuada neste exemplo. Figura 6.21: Página Detalhe das Minhas Reservas Envio de Mensagens ao Hotel Os utilizadores autenticados e não autenticados podem contactar o hotel, enviando os dados para a tabela Mensagens, onde, de seguida, os funcionários responderão para o que o utilizador indicar (Figura 6.22). Todos dados são validados e obrigatórios. Figura 6.22: Página Contactos.

57 6.3. BACKOFFICE BackOce O BackOce é a parte da aplicação que se refere aos funcionários e administradores, podendo-se aqui gerir as reservas efetuadas pelos clientes, entre outros. Esta área está dividida em duas partes: a parte visível aos funcionários e a parte dos administradores. Os funcionários fazem o tratamento das reservas e os administradores alguma gestão do hotel Funcionários Os funcionários fazem o tratamento das reservas, podendo cancelar reservas, assim como também os clientes o podem fazer até 48h antes da data de check-in. O estado das reservas pode ser alterado pelos funcionários - conrmada, check-in (cliente já entrou) e check-out (cliente já saiu). Nesta área, também se podem adicionar à conta dos clientes, que tenham as reservas conrmadas, serviços pedidos pelos clientes como por exemplo, massagens. Os funcionários podem ainda efetuar reservas especiais, isto quando os clientes pretenderem mais que três quartos e para isso contactam o hotel, daí o facto de elas serem chamadas de especiais Mapa do Site Default - Funcionarios/MenuPrincipalFunc.aspx Reservas Reservas Pendentes - Funcionarios/Reservas.aspx Atribuir Quartos - Funcionarios/AtribuirQuartos.aspx Lista de Quartos - Funcionarios/ListaQuartos.aspx Detalhes Reserva - Funcionarios/DetalhesReserva.aspx Finalizar Reserva - Funcionarios/FinalizarReserva.aspx Reservas Conrmadas - Funcionarios/ReservasConrmadas.aspx Reservas Especiais - Funcionarios/ReservasEspeciais.aspx Lista Quartos Especial - Funcionarios/ListaQuartosEspecial.aspx Finalizar Reserva Especial - Funcionarios/FinalizarReservaEspecial.aspx Entradas de Hoje - Funcionarios/ReservasCIHoje.aspx Saída de Hoje - Funcionarios/ReservasCOHoje.aspx Mensagens - Funcionarios/Mensagens.aspx Minha Conta - Funcionarios/MinhaConta.aspx Alterar Password - Funcionarios/ChangePassword.aspx

58 56 CAPÍTULO IMPLEMENTAÇÃO DA SOLUÇÃO Home Page home page Na dos funcionários há um menu para as funcionalidades que o estes podem efetuar. Há mensagens a vermelho para chamar a atenção para novas reservas efetuadas pelos clientes e para novas mensagens, mostrando o número de reservas ou mensagens novas através de um que faz o de reservas pendentes e mensagens não lidas. É ainda possível ver as entradas e saídas de hoje do hotel, onde a data de ou seja igual à data de hoje (Figura 6.23). check-in query check-out count Figura 6.23: Home Page Funcionários Reservas Pendentes Nesta área, encontram-se as reservas feitas pelos clientes e que ainda não foram vistas pelos funcionários. Após a con rmação, o funcionário pode atribuir os quartos às reservas (Figura 6.24). Atribuir Quartos Nesta página os dados veem por sessão da página das reservas pendentes. uma reserva especial, é necessário colocar o visto para atribuir mais que três quartos; se

59 6.3. BACKOFFICE 57 Figura 6.24: Lista Reservas Pendentes. for uma reserva normal, só pode haver três quartos selecionados, como já foi referido anteriormente (Figura 6.25). Nesta fase, houve um problema: mostrar os quartos disponíveis para as datas que estão na reserva. Em primeiro lugar, é preciso escolher o tipo de quarto e, de seguida, aparece uma drop down list com o número dos quartos do tipo selecionado antes, mas só podem aparecer o número dos quartos que estão disponíveis. A forma como se resolveu o problema foi ao fazer um select aos quartos que estão ocupados entre as datas da reserva, guardando o número dos quartos numa lista. De seguida fez-se um select a todos os números dos quartos de cada tipo selecionado. Durante o select a todos os quartos, compara-se o número do quarto à lista onde se guardou o número dos quartos ocupado - se os números forem diferentes, adiciona-se à drop down list do número dos quartos, se forem iguais não se adiciona (Figura 6.26). Ao clicar no botão reservar, já estão selecionados os quartos desejados pelo cliente e faz-se um update à tabela Reserva, onde o estado deixa de ser Pendente e passa a ser Conrmada. Insere-se também na tabela N para N entre as reservas e os quartos. Ainda nesta página, é possível alterar o pedido do cliente. Se por algum motivo não for possível atribuir um tipo de quarto que o cliente pretendia, é possível modicar o pedido, contactando o cliente para essa mudança. Por exemplo, imaginemos que o Cliente 1, às 19 horas, faz o pedido de reserva de um quarto do tipo duplo e neste caso só há um quarto duplo livre. Posteriormente o Cliente 2 também pretende um quarto duplo e faz o pedido às 19:10 horas. Num espaço de tempo tão curto, o pedido do Cliente 1 ainda não foi processado e a reserva está Pendente (as reserva com estado Pendente não contam como quartos ocupados na página da lista dos quartos na área do cliente). Então, a alteração do pedido serve para estas situações. Neste caso, o Cliente 2 não pode car com o quarto duplo, uma vez que fez o pedido depois do Cliente 1. Então, com autorização do cliente, o funcionário pode alterar o pedido de reserva para outro tipo de quarto.

60 58 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Figura 6.25: Página atribuir quartos. Figura 6.26: Número dos quartos disponíveis.

61 6.3. BACKOFFICE 59 Falta apenas referir que é enviado um ao cliente com o número dos quartos atribuídos, assim como o aviso de que o estado da reserva foi alterado para Conrmada Reservas Conrmadas Nesta área apenas são mostradas as reservas com estado Conrmada ou Check-In. É possível fazer pesquisas de reservas pelo status ou pelo nome do cliente (Figura 6.27). Aqui o funcionário altera o estado da reserva ou cancela-a, ou altera para Check-In (Entrada no hotel do cliente) ou para Check-Out (Saída do cliente do hotel). O funcionário também pode imprimir a fatura para o cliente com todos dados sobre a reserva e pode também acrescentar serviços pedidos à reserva (por exemplo massagens). Aqui surgiu um outro problema: manipular o custo total da reserva somando os serviços pedidos. A forma que se encontrou para resolver o problema foi colocar três campos na tabela Reserva: um para o custo total em relação ao preço dos quartos multiplicado pelo número de noites, outro para calcular o custo total dos serviços pedidos, um terceiro campo para a soma entre o custo dos quartos e o custo dos serviços. Figura 6.27: Reservas Conrmadas. O funcionário tem de selecionar uma reserva, consultar os dados todos e atribuir os serviços (Figura 6.28). Os serviços são inseridos na tabela N para N entre a reserva e os serviços, podendo editar a quantidade, pois não se podem repetir serviços na mesma reserva. Aqui voltou-se a encontrar um problema: editar o total dos custos dos serviços à medida que se editam as quantidades dos serviços atribuídos. Para se resolver o problema, foi necessário guardar a quantidade anterior, multiplica-la pelo preço do serviço e subtrai-la ao total do custo dos serviços. De seguida, faz-se o mesmo processo, mas para a nova quantidade inserida e, assim, consegue-se editar a quantidade dos serviços e, ao mesmo tempo, o custo total da reserva (Figura 6.29).

62 60 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Figura 6.28: Atribuir Serviços. Figura 6.29: Editar Serviços.

63 6.3. BACKOFFICE 61 Figura 6.30: Imprimir Reserva Conrmada Reservas Especiais As reservas especiais (Figura 6.31) são um pouco semelhantes as reservas normais. Aqui, o funcionário apenas insere a quantidade de quartos que pretende reservar a pedido dos clientes. A tabela da lista de quarto serve para mostrar ao funcionário a quantidade de quartos disponíveis. Se escolher uma quantidade maior àquela que está na tabela da lista dos quartos, dá erro e não permite adicionar aquela quantidade. Após selecionar os quartos e a quantidade pretendida, vai para a página Finalizar Reservas Especiais, que é onde estão os dados todos relativos à reserva e ao cliente para que sejam vericados. Depois de efetuar a reserva, a parte de atribuir os quartos já foi referido antes, apenas na página Atribuir quartos o funcionário tem de colocar o visto no Reservas especiais para poder atribuir mais que três quartos.

64 62 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Figura 6.31: Reservas Especiais.

65 6.3. BACKOFFICE Mensagens Nesta área, o funcionário responde às questões ou testemunhos que os clientes tenham feito na página Contactos e é enviado um do hotel para o cliente com a resposta do funcionário (Figura 6.32). Figura 6.32: Resposta às mensagens Administradores Tanto os administradores como os funcionários têm um menu principal - são eles que tratam dos preços dos quartos, das ementa do restaurante, que editam as notícias da home page, que inserem, editam e eliminam novos quartos e serviços, e que inserem novas contas de funcionários ou administradores. As página dos serviços, quartos, preços e ementa do restaurante são páginas simples de comandos insert, update e delete, as quais não vale a pena pormenorizar Mapa do Site Default - Administrador/MenuAdmin.aspx Quartos

66 64 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Inserir Quartos - Administrador/InserirQuartos.aspx Editar Preços - Administrador/EditarPrecos.aspx Serviços - Administrador/Servicos.aspx Inserir Funcionários - Administrador/Register.aspx Notícias - Administrador/Noticias.aspx Produtos Restaurante - Administrador/ProdutosRestaurante.aspx Minha Conta - Administrador/MinhaConta.aspx Alterar Password - Administrador/ChangePassword.aspx Home Page home page A é o menu principal do administrador, onde se pode aceder a todas as páginas da área de administração (Figura 6.33). Figura 6.33: Home Page.

67 6.3. BACKOFFICE Notícias O template contém um slide em html na home page dos clientes para colocar notícias. Na página Default, faz-se três selects à tabela Mensagens para colocar as notícias nos slides. O administrador pode editar as notícias nesta página As notícias têm um título, imagem e texto da notícia. Na home page dos clientes, as notícias são visíveis desta forma 6.35, para que obtenha os objetos html no código C# necessito de colocar na tag um runat="server" e de seguida no código C# (Listagem 8). Falta ainda explicar o funcionamento da imagem. Na base de dados é guardado o caminho da imagem, pois esta é transferida para a pasta do projeto, chamada ImagensNoticia. O caminho é guardado como ImagensNoticias/ + nome + tempo + extensão, onde o nome é o da imagem selecionada, o tempo são os milissegundos da hora atual para que não se substituam imagens dentro da pasta, e a extensão da imagem. A imagem é transferida para a pasta ImagensNoticias da seguinte forma Listagem 9. Figura 6.34: Editar notícias. Listagem 8 Objetos HTML no C#. tit1.innertext = titulo; not1.innertext = noticia; img1.src = caminho;

68 66 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Figura 6.35: Notícias. Listagem 9 Transferir imagens para a pasta do projeto. string caminhoimagens = "C:\\Users\\João\\Documents\\Visual Studio 2010 \\WebSites\\ProjHotel\\ImagensNoticias"; int p = FileUploadImg.FileName.LastIndexOf("."); string nome = FileUploadImg.FileName.Substring(0, p); string extensao = FileUploadImg.FileName.Substring(p); string tempo = DateTime.Now.Millisecond.ToString(); FileUploadImg.SaveAs(caminhoImagens + "\\" + nome + tempo + extensao); string cam = ("ImagensNoticias/" + nome + tempo + extensao);

69 6.3. BACKOFFICE Registar Funcionários Nesta página, o administrador pode fazer novas contas para os funcionários ou administradores. É inserido na tabela que o ASP.NET cria por defeito o username, password e o respetivo role (Funcionário ou Administrador), e os restantes dados pessoais são inseridos na tabela Funcionários. Os roles denem se a conta pode ou não entrar em certas pastas do projeto, sendo que apenas administradores podem entrar na pasta Administrador e funcionários também apenas podem entrar na pasta Funcionários (Figura 6.36). O formulário (CreateUserWizard) automaticamente insere contas na tabela criada por defeito e, no evento Creating User, insere-se também na tabela Funcionários (Listagem 10). Figura 6.36: Registar Funcionários.

70 68 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Listagem 10 Registar Funcionários. if (dd.text.equals("funcionário")) { Roles.AddUserToRole(CreateUserWizard1.UserName, "Funcionarios"); } else if (dd.text.equals("administrador")) { Roles.AddUserToRole(CreateUserWizard1.UserName, "Administrador"); } SqlDataSourceFunc.InsertParameters["nome"].DefaultValue = tbnome.text; SqlDataSourceFunc.InsertParameters["morada"].DefaultValue = tbmorada.text; SqlDataSourceFunc.InsertParameters["telefone"].DefaultValue = tbtelefone.text; SqlDataSourceFunc.InsertParameters[" "].DefaultValue = CreateUserWizard1. ; SqlDataSourceFunc.InsertParameters["username"].DefaultValue = CreateUserWizard1.UserName; SqlDataSourceFunc.InsertParameters["bi"].DefaultValue = tbbi.text; SqlDataSourceFunc.InsertParameters["nif"].DefaultValue = tbnif.text; SqlDataSourceFunc.InsertParameters["nib"].DefaultValue = tbnib.text; SqlDataSourceFunc.InsertParameters["funcao"].DefaultValue = dd.text; SqlDataSourceFunc.Insert(); 6.4 Gestão de Pedidos do Restaurante Aqui foram usadas as tecnologias do WCF e Linq to Entities. Foi criado um projeto para o Windows Phone separado do projeto do Hotel. No projeto do website, criaram-se as tabelas relacionadas com o restaurante e um WCF para fazer a conexão entre o dispositivo móvel e a base de dados. No cheiro WCF, são feitos os queries com recurso à tecnologia Linq to Entities, através de um Entity Data Model. Aqui, ao criar as funções com os queries antes da função, é preciso colocar [OperationContract] para que depois seja possível chamar a função no projeto do Windows Phone (Listagem 11). Listagem 11 Exemplo de função de um WCF. [OperationContract] public string AbrirConta(string m, string e) { HotelEntities1 SaveNameToDB = new HotelEntities1(); } PedidosRestaurante pedidos = new PedidosRestaurante() { mesa = m, estado = e}; SaveNameToDB.AddToPedidosRestaurante(pedidos); SaveNameToDB.SaveChanges(); return ("Nova Conta Aberta"); Menu Mesas Nesta página do dispositivo móvel são mostradas as mesas ocupadas e livres, sendo que as ocupadas os botões tem o fundo vermelho e as livres sem fundo (Figura 6.37). Para pintar as mesas ocupadas, fez-se um query no WCF que desse todas as mesas que tivessem o estado aberto e inseria-se uma lista. No projeto do Windows Phone, lê-se essa lista e comparam-se os números que estão na lista: se for igual pinta-se, se não for igual, não se faz nada (Listagem 12).

71 6.4. GESTÃO DE PEDIDOS DO RESTAURANTE 69 Figura 6.37: Menu Mesas. Listagem 12 Pintar mesas ocupadas. ObservableCollection<string> dbpratos = new ObservableCollection<string>(); void service_getmesascompleted(object sender, GetMesasCompletedEventArgs e) { dbpratos.clear(); try { dbpratos = e.result; } catch (Exception ex) { MessageBox.Show("GetLastNamesAsync error = " + ex.message.tostring(), "ERROR", MessageBoxButton.OK); return; } for (int i = 0; i < dbpratos.count; i++) { if (dbpratos[i] == "1") { (btmesa1).background = new SolidColorBrush(Colors.Red); } //... } }

72 70 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Lista de Pedidos por Mesa Nesta página aparecem todos os pedidos que clientes da mesa selecionada já pediram e o seu total de custo. Após levar o número da mesa, faz-se um query à base de dados para obter o Id do pedido. Como só há um pedido por mesa em simultâneo, obtém-se automaticamente o número do pedido daquela mesa. Neste caso, é para uma mesa que está ocupada, pois para uma mesa que está livre é necessário abrir conta para fazer novos pedidos e ca automaticamente com estado Aberta (Figura 6.38). Figura 6.38: Lista Pedidos por Mesa Pedir Pedido Nesta página, leva-se o número da mesa e o Id do pedido que está na página do menu dos pedidos, para inserir o pedido na base de dados. Aqui são mostrados todos os tipos de pratos do restaurante numa List Picker, de modo a selecionar o prato e, de seguida, inserir a quantidade que o cliente pretende e ainda uma observação. Após preencher os campos é enviado o pedido para a base de dados, e os pedidos são mostrados no projeto do hotel numa página ASP.NET que é uma simulação para ser visível na cozinha (Figura 6.40).

73 6.4. GESTÃO DE PEDIDOS DO RESTAURANTE 71 Listagem 13 Query que vai buscar os pratos para a list picker. [OperationContract] public List<string> GetPrato() { //*********** linq to entity ************** HotelEntities1 GetPratoFromDB = new HotelEntities1(); IEnumerable<string> query = from n in GetPratoFromDB.ProdutosRestaurante where n.nomeprodutores.length > 0 where n.categoriaprodutores == "Prato Principal" orderby n.nomeprodutores ascending select n.nomeprodutores; List<string> prato = new List<string>(); foreach (string name in query) { if (!prato.contains(name)) // remove duplicates from return list { prato.add(name); } } return (prato); } Listagem 14 Colocar dos pratos na list picker. ObservableCollection<string> dbpratos = new ObservableCollection<string>(); void service_getpratocompleted(object sender, GetPratoCompletedEventArgs e) { dbpratos.clear(); // error handler example try { dbpratos = e.result; } catch (Exception ex) { return; } listpickerprato.itemssource = dbpratos; // bind } Figura 6.39: Pedir Produto.

74 72 CAPÍTULO 6. IMPLEMENTAÇÃO DA SOLUÇÃO Listagem 15 Inserir Pedidos na Base de Dados. [OperationContract] public string SavePedidoProdutos(int idproduto, int idpedido, string nome, int qt, string ob, decimal preco) { try { ProdutosPedidos pedidos = new ProdutosPedidos() { id_produtores = idproduto, id_pedidores = idpedido, nomepedido = nome, quantidade = qt, observacao = ob, precopedido = preco, estadopedido = false }; SaveNameToDB.AddToProdutosPedidos(pedidos); SaveNameToDB.SaveChanges(); return ("Pedido Enviado"); } } catch { return ("Esse produto ja existe no pedido"); } Figura 6.40: Página dos Pedidos.

Instituto Politécnico da Guarda Escola Superior de Tecnologia e Gestão. Plataforma de anúncios online, Anuncie aqui já

Instituto Politécnico da Guarda Escola Superior de Tecnologia e Gestão. Plataforma de anúncios online, Anuncie aqui já Instituto Politécnico da Guarda Escola Superior de Tecnologia e Gestão Plataforma de anúncios online, Anuncie aqui já Daniel Teixeira Gêgo - N o 1009988 Projeto Aplicado no Curso de Engenharia Informática

Leia mais

Aula 1 Desenvolvimento Web. Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme

Aula 1 Desenvolvimento Web. Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme Aula 1 Desenvolvimento Web Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme Plano de Aula Ementa Avaliação Ementa Noções sobre Internet. HTML

Leia mais

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Programação para Internet Avançada 4. Web Services Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt São módulos de aplicações de negócios que expõem as regras do negócio como serviços na Internet através

Leia mais

19/05/2009. Módulo 1

19/05/2009. Módulo 1 ASP.NET Módulo 1 Objetivo Mostrar os conceitos fundamentais da plataforma Microsoft.Net e suas ferramentas; Apresentar os conceitos fundamentais de aplicações web e seus elementos; Demonstrar de forma

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Aula 23 http://www.ic.uff.br/~bianca/introinfo/ Aula 23-07/12/2007 1 Histórico da Internet Início dos anos 60 Um professor do MIT (J.C.R. Licklider) propõe a idéia de uma Rede

Leia mais

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.

Implementar servidores de Web/FTP e DFS. Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc. Implementar servidores de Web/FTP e DFS Disciplina: Serviços de Redes Microsoft Professor: Fernando Santorsula fernando.santorsula@esamc.br Conteúdo programático Introdução ao protocolo HTTP Serviço web

Leia mais

Manual de Utilização do Moodle

Manual de Utilização do Moodle Manual de Utilização do Moodle Alexandre Barras Baptista a.baptista@isegi.unl.pt 1 Índice Moodle... 3 Aceder ao Moodle SuGIK... 4 Login... 4 Disciplinas... 5 Estrutura da disciplina... 5 Edição da Disciplina...

Leia mais

Aplicativos para Internet Aula 01

Aplicativos para Internet Aula 01 Aplicativos para Internet Aula 01 Arquitetura cliente/servidor Introdução ao HTML, CSS e JavaScript Prof. Erika Miranda Universidade de Mogi das Cruzes Uso da Internet http://www.ibope.com.br/pt-br/noticias/paginas/world-wide-web-ou-www-completa-22-anos-nesta-terca-feira.aspx

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI Exercício 1 Neste exercício trabalharemos com alguns web controls básicos e praticaremos os tipos de dados do C#. Vamos criar

Leia mais

Principais características

Principais características .Net Framework O que é.net? Proprietário da Microsoft Versão simplificada para Linux Versão compacta para dispositivos móveis Plataforma de desenvolvimento e execução Interface com usuário, conectividade

Leia mais

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DO PARANÁ CÂMPUS IRATI PROJETO DO CURSO DE PROGRAMADOR WEB

MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DO PARANÁ CÂMPUS IRATI PROJETO DO CURSO DE PROGRAMADOR WEB MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DO PARANÁ CÂMPUS IRATI PROJETO DO CURSO DE PROGRAMADOR WEB IRATI 2012 SUMÁRIO 1 - IDENTIFICAÇÃO DO PROJETO...

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

Manual de utilização do Moodle

Manual de utilização do Moodle Manual de utilização do Moodle Docentes Universidade Atlântica 1 Introdução O conceito do Moodle (Modular Object Oriented Dynamic Learning Environment) foi criado em 2001 por Martin Dougiamas, o conceito

Leia mais

Aula 01: Apresentação da Disciplina e Introdução a Conceitos Relacionados a Internet e WEB

Aula 01: Apresentação da Disciplina e Introdução a Conceitos Relacionados a Internet e WEB Aula 01: Apresentação da Disciplina e Introdução a Conceitos Relacionados a Internet e WEB Regilan Meira Silva Professor de Informática do Campus Ilhéus Formação em Ciência da Computação com Especialização

Leia mais

XHTML 1.0 DTDs e Validação

XHTML 1.0 DTDs e Validação XHTML 1.0 DTDs e Validação PRnet/2012 Ferramentas para Web Design 1 HTML 4.0 X XHTML 1.0 Quais são os três principais componentes ou instrumentos mais utilizados na internet? PRnet/2012 Ferramentas para

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira www.vqv.com.br / j.edu@vqv.com.br

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira www.vqv.com.br / j.edu@vqv.com.br Desenvolvimento de Aplicações Web Programação Contextualização de aplicações Web: navegadores e servidores como interpretadores, tecnologias do lado do cliente (XHTML, CSS, Javascript) e do lado do servidor

Leia mais

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

Leia mais

Manual do Usuário. E-DOC Peticionamento Eletrônico TST

Manual do Usuário. E-DOC Peticionamento Eletrônico TST E-DOC Peticionamento APRESENTAÇÃO O sistema E-DOC substituirá o atual sistema existente. Este sistema permitirá o controle de petições que utiliza certificado digital para autenticação de carga de documentos.

Leia mais

Manual de referência do HP Web Jetadmin Database Connector Plug-in

Manual de referência do HP Web Jetadmin Database Connector Plug-in Manual de referência do HP Web Jetadmin Database Connector Plug-in Aviso sobre direitos autorais 2004 Copyright Hewlett-Packard Development Company, L.P. A reprodução, adaptação ou tradução sem permissão

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

1- ASP.NET - HTML Server Controls

1- ASP.NET - HTML Server Controls 1- ASP.NET - HTML Server Controls Os controles de servidor - Server Controls - HTML são tags HTML padrão, com exceção de possuirem o atributo : runat="server". Vejamos um código que ilustra isto: O atributo

Leia mais

The VISGRAF Video Database Rafaella Gappo Luiz Velho (orientador) Technical Report TR-2009-04 Relatório Técnico. August - 2009 - Agosto

The VISGRAF Video Database Rafaella Gappo Luiz Velho (orientador) Technical Report TR-2009-04 Relatório Técnico. August - 2009 - Agosto Laboratório VISGRAF Instituto de Matemática Pura e Aplicada The VISGRAF Video Database Rafaella Gappo Luiz Velho (orientador) Technical Report TR-2009-04 Relatório Técnico August - 2009 - Agosto The contents

Leia mais

MANUAL DE UTILIZAÇÃO TERMINAL DE PORTA

MANUAL DE UTILIZAÇÃO TERMINAL DE PORTA MANUAL DE UTILIZAÇÃO TERMINAL DE PORTA www.xdsoftware.pt Resumo da Aplicação O XD Terminal de Porta é um módulo do XD Disco destinado a coletores de dados com o sistema operativo Windows mobile. Junta

Leia mais

OBOSHotel - Central de Reservas Online. Especificação de Requisitos Funcionais. Lista de Casos de Uso Front-end e BackOffice

OBOSHotel - Central de Reservas Online. Especificação de Requisitos Funcionais. Lista de Casos de Uso Front-end e BackOffice OBOSHotel - Central de Reservas Online Lista de Casos de Uso Front-end e BackOffice Histórico de Revisões Data Versão Descrição Autor 13-01-2008 1.0.0 Construção dos casos de uso. Nelson Santos 19-02-2008

Leia mais

Instalação de Moodle 1

Instalação de Moodle 1 Instalação de Moodle (local em Windows XP) 1. Introdução...2 2. Instalação de XAMPP...3 3. Instalação de Moodle...9 3.1. Download de Moodle...9 3.2. Criar uma Base de Dados...10 3.3. Instalação de Moodle...11

Leia mais

Hospedagem de site. Prof. Marciano dos Santos Dionizio

Hospedagem de site. Prof. Marciano dos Santos Dionizio Hospedagem de site Prof. Marciano dos Santos Dionizio Hospedagem de site O mundo está preparado para ver suas páginas? O mundo está preparado sim - você, em breve, estará também. Para publicar seu trabalho

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalação, configuração e manual

Instalação, configuração e manual Cardápio Moura Instalação, configuração e manual Conteúdo Instalação... 4 Requisitos mínimos... 4 Windows 8... 5 Instalação do IIS no Windows 8... 5 Configuração do IIS no WINDOWS 8... 15 Windows 7...

Leia mais

Administração da disciplina

Administração da disciplina Administração da disciplina Agrupamento Vertical de Escolas de Tarouca Documento disponível em: http://avetar.no-ip.org 1.Acesso e utilização da plataforma:. Seleccione a opção Entrar, que se encontra

Leia mais

Criação de Web Sites I

Criação de Web Sites I WebDesigner / IBPINET Criação de Web Sites I Anexos Avaliação e Projetos Publicação do site Anexos página 1 1. Avaliação e Projetos 1.1. Questões As questões tratam de assuntos discutidos em sala de aula

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Sumário. HTML CSS JQuery Referências IHC AULA 6 5-09-2011 1

Sumário. HTML CSS JQuery Referências IHC AULA 6 5-09-2011 1 Sumário HTML CSS JQuery Referências IHC AULA 6 5-09-2011 1 Linguagem HTML HTML é a abreviação de HyperText Markup Language, que pode ser traduzido como Linguagem de Marcação de Hipertexto. Não é uma linguagem

Leia mais

PRnet/2013. Linguagem de Programação Web

PRnet/2013. Linguagem de Programação Web Linguagem de Programação Web Linguagem de Programação Web Prnet/2013 Linguagem de Programação Web» Programas navegadores» Tipos de URL» Protocolos: HTTP, TCP/IP» Hipertextos (páginas WEB)» HTML, XHTML»

Leia mais

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Desenvolvimento em Ambiente Web Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com No início A Web é criada em 1989, para ser um padrão de publicação e distribuição de textos científicos e acadêmicos.

Leia mais

Programação para a Web - I. José Humberto da Silva Soares

Programação para a Web - I. José Humberto da Silva Soares Programação para a Web - I José Humberto da Silva Soares Fundamentos de Internet Rede Mundial de Computadores; Fornece serviços, arquivos e informações; Os computadores que têm os recursos são chamados

Leia mais

Acessibilidade no SIEP (Sistema de Informações da Educação Profissional e Tecnológica) Módulo de Acessibilidade Virtual CEFET Bento Gonçalves RS Maio 2008 ACESSIBILIDADE À WEB De acordo com Cifuentes (2000),

Leia mais

Home Page da Estação Automática do IF-SC

Home Page da Estação Automática do IF-SC Home Page da Estação Automática do IF-SC Ana Paula Jorge Fraga Email: anaa_fraga@hotmail.com Artur da Silva Querino E-mail: arturquerino@gmail.com Kathilça Lopes de Souza E-mail: kathii16@hotmail.com Rayana

Leia mais

TPG RELATÓRIO DE PROJETO. folité. enico 1 daiguarda Poiyleehnic of Guarda. Licenciatura em Engenharia Informática. Marco Alexandre da cunha Lucas

TPG RELATÓRIO DE PROJETO. folité. enico 1 daiguarda Poiyleehnic of Guarda. Licenciatura em Engenharia Informática. Marco Alexandre da cunha Lucas TPG folité enico 1 daiguarda Poiyleehnic of Guarda RELATÓRIO DE PROJETO Licenciatura em Engenharia Informática Marco Alexandre da cunha Lucas dezembro 1 2014 Instituto Politécnico da Guarda Escola Superior

Leia mais

Oracle SQL Developer

Oracle SQL Developer BDDAD Bases de Dados Oracle SQL Developer Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/30 SQL Developer Sumário Introdução Instalar Abrir Ligar à BD no Servidor Oracle SQL Worksheet Editar SQL Executar SQL

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO PROTOCOLOS DA INTERNET FAMÍLIA TCP/IP INTRODUÇÃO É muito comum confundir o TCP/IP como um único protocolo, uma vez que, TCP e IP são dois protocolos distintos, ao mesmo tempo que, também os mais importantes

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

INTERNET OUTLOOK. 1. Considerando os conceitos e os modos de navegação na Internet, assinale a opção correta.

INTERNET OUTLOOK. 1. Considerando os conceitos e os modos de navegação na Internet, assinale a opção correta. Prof. Júlio César S. Ramos P á g i n a 1 INTERNET OUTLOOK 1. Considerando os conceitos e os modos de navegação na Internet, assinale a opção correta. A O Outlook Express permite criar grupo de pessoas

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br

Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Moodle FTEC Versão 2.0 Manual do Usuário Acesse a área de LOGIN do site da FTEC www.ftec.com.br Índice Como acessar o Moodle Editando seu PERFIL Editando o curso / disciplina no Moodle Incluindo Recursos

Leia mais

Internet. O que é a Internet?

Internet. O que é a Internet? O que é a Internet? É uma rede de redes de computadores, em escala mundial, que permite aos seus utilizadores partilharem e trocarem informação. A Internet surgiu em 1969 como uma rede de computadores

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Objetivo. O objetivo da disciplina é conhecer os princípios da programação de

Leia mais

Técnicas e processos de produção. Profº Ritielle Souza

Técnicas e processos de produção. Profº Ritielle Souza Técnicas e processos de produção Profº Ritielle Souza INTRODUÇÃO HTML Sigla em inglês para Hyper Text Markup Language, traduzindo daria algo como Linguagem para marcação de Hipertexto. E o que seria o

Leia mais

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO INTRODUÇÃO AO DESENVOLVIMENTO WEB PROFª. M.Sc. JULIANA H Q BENACCHIO Internet Internet é o conjunto de diversas redes de computadores que se comunicam entre si Internet não é sinônimo de WWW (World Wide

Leia mais

Sistema de Gestão de Ciclo de Vida de Farmácias AVP003. Manual de Utilizador Externo - Entregas ao Domicílio e Vendas via Internet

Sistema de Gestão de Ciclo de Vida de Farmácias AVP003. Manual de Utilizador Externo - Entregas ao Domicílio e Vendas via Internet Sistema de Gestão de Ciclo de Vida de Farmácias AVP003 Manual de Utilizador Externo - Entregas ao Domicílio e Vendas via de Índice 1 Introdução... 4 1.1 Objetivo...4 1.2 Funcionalidades...5 1.3 Autenticação...5

Leia mais

ZS Rest. Manual de Iniciação. FrontOffice (ponto de venda)

ZS Rest. Manual de Iniciação. FrontOffice (ponto de venda) Manual de Iniciação FrontOffice (ponto de venda) 1 1. Índice 2. Introdução... 3 3. Iniciar o ZSRest FrontOffice... 4 4. Início de Operador... 5 b) Fazer login de Empregado:... 5 c) Botões de Acção:...

Leia mais

Plano de Trabalho Docente 2014. Ensino Técnico

Plano de Trabalho Docente 2014. Ensino Técnico Plano de Trabalho Docente 2014 Ensino Técnico ETEC PROF. MASSUYUKI KAWANO Código: 136 Município: TUPÃ Eixo Tecnológico: INFORMAÇÃO E COMUNICAÇÃO Habilitação Profissional: TÉCNICA DE NÍVEL MÉDIO DE TÉCNICO

Leia mais

Sistema para o Controlo e Gestão de Fechaduras de Hotel. Manual de Instruções

Sistema para o Controlo e Gestão de Fechaduras de Hotel. Manual de Instruções Sistema para o Controlo e Gestão de Fechaduras de Hotel BRF 500 Índice Capítulo 1: Descrição geral do produto... 2 Capítulo 2: Instalação e características do software... 3 Guia para a instalação do software...

Leia mais

Manual de Utilização. Site Manager. Tecnologia ao serviço do Mundo Rural

Manual de Utilização. Site Manager. Tecnologia ao serviço do Mundo Rural Manual de Utilização Site Manager Tecnologia ao serviço do Mundo Rural Índice 1. Acesso ao Site Manager...3 2. Construção/Alteração do Menu Principal...4 3. Inserção/ Alteração de Conteúdos...7 4. Upload

Leia mais

ASP.NET 2.0 - Visual Studio 2005 (Whidbey) Ramon Durães

ASP.NET 2.0 - Visual Studio 2005 (Whidbey) Ramon Durães ASP.NET 2.0 - Visual Studio 2005 (Whidbey) Ramon Durães O ASP.NET que é a camada de desenvolvimento de aplicações web da plataforma.net vem agradando em muito os desenvolvedores de todo o mundo desde o

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

Facilidade e flexibilidade na web

Facilidade e flexibilidade na web Facilidade e flexibilidade na web palavras-chave: acessibilidade, usabilidade, web 2.0 Tersis Zonato www.tersis.com.br Web 2.0 o termo de marketing x a nova forma de conhecimento Web 2.0 O conceito começou

Leia mais

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível Versão 1.0 Janeiro de 2011 Xerox Phaser 3635MFP 2011 Xerox Corporation. XEROX e XEROX e Design são marcas da Xerox Corporation nos Estados Unidos e/ou em outros países. São feitas alterações periodicamente

Leia mais

Aula 1: Noção Básica e Criação de Tabelas.

Aula 1: Noção Básica e Criação de Tabelas. Aula 1: Noção Básica e Criação de Tabelas. Introdução Olá! Seja bem-vindo a apostila de Microsoft Access 2010. Access 2010 é um Sistema de Gerenciamento de Banco de Dados da Microsoft, distribuído no pacote

Leia mais

ZS Rest. Manual Avançado. Ementas : Email e SMS. v2011

ZS Rest. Manual Avançado. Ementas : Email e SMS. v2011 Manual Avançado Ementas : Email e SMS v2011 1. Índice 2. INTRODUÇÃO... 2 3. INICIAR O ZSRest FrontOffice... 3 1 4. CONFIGURAÇÃO INICIAL... 4 b) Configurar E-Mail... 4 c) Configurar SMS... 5 i. Configurar

Leia mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação. GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na

Leia mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introdução a listas - Windows SharePoint Services - Microsoft Office Online Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

Ferramentas para Internet CST Sistemas para Internet

Ferramentas para Internet CST Sistemas para Internet Ferramentas para Internet CST Sistemas para Internet Marx Gomes Van der Linden ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida ) Ferramentas para Internet Web design: HTML CSS

Leia mais

LASERJET ENTERPRISE M4555 SÉRIE MFP. Guia de instalação do software

LASERJET ENTERPRISE M4555 SÉRIE MFP. Guia de instalação do software LASERJET ENTERPRISE M4555 SÉRIE MFP Guia de instalação do software HP LaserJet Enterprise M4555 MFP Series Guia de instalação do software Direitos autorais e licença 2011 Copyright Hewlett-Packard Development

Leia mais

Módulo 11 A Web e seus aplicativos

Módulo 11 A Web e seus aplicativos Módulo 11 A Web e seus aplicativos Até a década de 90, a internet era utilizada por acadêmicos, pesquisadores e estudantes universitários para a transferência de arquivos e o envio de correios eletrônicos.

Leia mais

Tecnologias da Internet (T) Avaliação de Frequência (v1) 60 minutos * 09.05.2012

Tecnologias da Internet (T) Avaliação de Frequência (v1) 60 minutos * 09.05.2012 1 Este é o seu teste de avaliação de frequência. Leia as perguntas com atenção antes de responder e tenha atenção que algumas perguntas podem ter alíneas de resposta em páginas diferentes. Escreva as suas

Leia mais

Dando um passeio no ASP.NET

Dando um passeio no ASP.NET Dando um passeio no ASP.NET Por Mauro Sant Anna (mas_mauro@hotmail.com). Mauro é um MSDN Regional Director, consultor e instrutor. O principal objetivo da arquitetura.net é permitir ao usuário o fácil

Leia mais

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas O que é PHP? Acrônimo de PHP: Hipertext Language PostProcessor Inicialmente escrita para o desenvolvimento de aplicações Web Facilidade para iniciantes e recursos poderosos para programadores profissionais

Leia mais

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A Módulo 18 Ferramentas de Desenvolvimento de Páginas Web Criar uma relação mestre-detalhe 1. Cria uma cópia da página «listaferram.php»

Leia mais

PLANIFICAÇÃO ANUAL DA DISCIPLINA DE TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO ANO LETIVO DE 2013/2014 Curso CEF Tipo 2

PLANIFICAÇÃO ANUAL DA DISCIPLINA DE TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO ANO LETIVO DE 2013/2014 Curso CEF Tipo 2 PLANIFICAÇÃO ANUAL DA DISCIPLINA DE TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO ANO LETIVO DE 2013/2014 Curso CEF Tipo 2 Domínios de referência Competências Conteúdos Calendarização Conceitos Essenciais e

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

Infracontrol versão 1.0

Infracontrol versão 1.0 Infracontrol versão 1.0 ¹Rafael Victória Chevarria ¹Tecnologia em Redes de Computadores - Faculdade de Tecnologia SENAC (Serviço Nacional de Aprendizagem Comercial) Rua Gonçalves Chaves 602-A Centro 96015-560

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Cadastro de Orçamento Utilizando Tablet Android

Cadastro de Orçamento Utilizando Tablet Android Cadastro de Orçamento Utilizando Tablet Android Instalação, configuração e manual 1 Conteúdo Instalação... 4 Requisitos mínimos... 4 Windows 8... 5 Instalação do IIS no Windows 8... 5 Configuração do IIS

Leia mais

Mobincube. Navegar até ao website www.mobincube.com e carregar em Free sign up.

Mobincube. Navegar até ao website www.mobincube.com e carregar em Free sign up. Mobincube Navegar até ao website www.mobincube.com e carregar em Free sign up. Como criar uma conta? Inserir um nome de utilizador, password e email, de seguida clicar em Create Account. Nota: Por razões

Leia mais

ZS Rest. Manual de Iniciação. BackOffice

ZS Rest. Manual de Iniciação. BackOffice Manual de Iniciação BackOffice 1 1. Índice 2. Introdução... 2 3. Iniciar o ZSRest... 3 a) BackOffice:... 4 b) Acesso BackOffice:... 4 4. Zonas... 6 c) Criar Zona:... 7 d) Modificar Zona:... 8 e) Remover

Leia mais

Parte 5 - Criação de cursos à distância no Modelo Fechado

Parte 5 - Criação de cursos à distância no Modelo Fechado Parte 5 - Criação de cursos à distância no Modelo Fechado Neste capítulo iremos estudar como montar um curso à distância que, embora acessível via a Internet, tenha acesso controlado. Para isto, teremos

Leia mais

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC PROF. MÁRIO ANTÔNIO VERZA CURSO TÉCNICO EM INFORMÁTICA PARA INTERNET WEBSITE MUNDO MULHER GABRIELA DE SOUZA DA SILVA LUANA MAIARA DE PAULA SILVA

Leia mais

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA CONCEITOS BÁSICOS DE INTERNET Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA conceito inicial Amplo sistema de comunicação Conecta muitas redes de computadores Apresenta-se de várias formas Provê

Leia mais

2ª Série (parte técnica)

2ª Série (parte técnica) PROPOSTA CURRICULAR DO ENSINO MÉDIO INTEGRADO COM INFORMÁTICA DO CENTRO PAULA SOUZA E MATRIZ CURRICULAR 2ª Série (parte técnica) LÓGICA DE PROGRAMAÇÃO 1. Introdução à Lógica de Programação: conceitos básicos;

Leia mais

Índice. http://www.gosoft.com.br/atualiza/gosoftsigadmservico.pdf Versão 4.0

Índice. http://www.gosoft.com.br/atualiza/gosoftsigadmservico.pdf Versão 4.0 Índice I ENVIO DE BOLETOS POR E-MAIL... 2 APRESENTAÇÃO... 2 ALTERAÇÕES NO SIGADM CONDOMÍNIO... 4 ALTERAÇÕES NO SIGADM IMÓVEIS... 6 ALTERAÇÕES NO SIGADM CONCILIAÇÃO BANCÁRIA... 8 ALTERAÇÕES NO SIGADM CONDOMÍNIO

Leia mais

GUÍA PARA UTILIZAR A WEBNODE EDU

GUÍA PARA UTILIZAR A WEBNODE EDU GUÍA PARA UTILIZAR A WEBNODE EDU Imagina que queres criar o teu próprio site. Normalmente, terías que descarregar e instalar software para começar a programar. Com a Webnode não é preciso instalar nada.

Leia mais

ENSINO BÁSICO CURSO DE EDUCAÇÃO E FORMAÇÃO Praticas Administrativas

ENSINO BÁSICO CURSO DE EDUCAÇÃO E FORMAÇÃO Praticas Administrativas Agrupamento de Escolas Nº 1 de Abrantes ENSINO BÁSICO CURSO DE EDUCAÇÃO E FORMAÇÃO Praticas Administrativas ESCOLA: Dr. Solano de Abreu DISCIPLINA:TIC ANO: 1 ANO 2013/2014 CONTEÚDOS Conceitos básicos Informática

Leia mais

ASP.Net com MySQL Connector/Net 6.2.5

ASP.Net com MySQL Connector/Net 6.2.5 ASP.Net com MySQL Connector/Net 6.2.5 Introdução Por questões de segurança, a ITM Networks agora trabalha com a política de segurança MediumTrust nos servidores Windows 2003 Server. Algumas versões do

Leia mais

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico Editora Carlos A. J. Oliviero Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico Orientado por Projeto 1a Edição 2 Reimpressão São Paulo 2011 Érica Ltda. Noções Livrarse Preparação muitas muita Sumário

Leia mais

Portal Contador Parceiro

Portal Contador Parceiro Portal Contador Parceiro Manual do Usuário Produzido por: Informática Educativa 1. Portal Contador Parceiro... 03 2. Acesso ao Portal... 04 3. Profissionais...11 4. Restrito...16 4.1 Perfil... 18 4.2 Artigos...

Leia mais

Documentos IMAGEM. Sistema Web para Cadastro de Funcionários da Embrapa Pecuária Sul: Manual do Usuário. ISSN 1982-5390 Agosto, 2009

Documentos IMAGEM. Sistema Web para Cadastro de Funcionários da Embrapa Pecuária Sul: Manual do Usuário. ISSN 1982-5390 Agosto, 2009 Documentos ISSN 1982-5390 Agosto, 2009 82 Sistema Web para Cadastro de Funcionários da Embrapa Pecuária Sul: Manual do Usuário IMAGEM ISSN 1982-5390 Agosto, 2009 Empresa Brasileira de Pesquisa Agropecuária

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Conteúdo Programático de PHP

Conteúdo Programático de PHP Conteúdo Programático de PHP 1 Por que PHP? No mercado atual existem diversas tecnologias especializadas na integração de banco de dados com a WEB, sendo o PHP a linguagem que mais se desenvolve, tendo

Leia mais

Introdução ao Javascript

Introdução ao Javascript Programação WEB I Introdução ao Javascript Apresentação da Disciplina,Introdução a linguagem Javascript Objetivos da Disciplina Apresentar os principais conceitos da linguagem Javascript referente à programação

Leia mais

Servidor IIS. Sorayachristiane.blogspot.com

Servidor IIS. Sorayachristiane.blogspot.com Servidor IIS Servidor IIS IIS Serviço de informação de Internet; É um servidor que permite hospedar um ou vários sites web no mesmo computador e cria uma distribuição de arquivos utilizando o protocolo

Leia mais

Esta é a tela inicia, aqui podemos visualizer os relatórios de envio, gráficos de inscrições,cancelamentos, etc.

Esta é a tela inicia, aqui podemos visualizer os relatórios de envio, gráficos de inscrições,cancelamentos, etc. CRIANDO UMA CAMPANHA Esta é a tela inicia, aqui podemos visualizer os relatórios de envio, gráficos de inscrições,cancelamentos, etc. O primeiro passo é adicionar uma lista, as lista basicamente são grupos

Leia mais

administração Guia de BlackBerry Internet Service Versão: 4.5.1

administração Guia de BlackBerry Internet Service Versão: 4.5.1 BlackBerry Internet Service Versão: 4.5.1 Guia de administração Publicado: 16/01/2014 SWD-20140116140606218 Conteúdo 1 Primeiros passos... 6 Disponibilidade de recursos administrativos... 6 Disponibilidade

Leia mais