UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Ciências da Computação e Estatística Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP André Pimenta Freire Renata Pontin de M. Fortes [email protected] [email protected] Dezembro/2003 1 Índice 1 - Introdução.............................................................................................................................. 3 2 – Requisitos do Sistema de Reserva de Salas .......................................................................... 4 A. Visão Geral ........................................................................................................................ 4 B. Requisitos Funcionais ........................................................................................................ 4 B. Requisitos Não-Funcionais ................................................................................................ 7 3 – Dados sobre o Sistema de Reserva de Salas ......................................................................... 7 4 – Quadros de Operações ........................................................................................................ 10 5 – Diagrama de Casos de Uso ................................................................................................. 35 6 – Diagrama de Máquina de Estados ...................................................................................... 37 6.1 – Diagrama do Administrador ........................................................................................ 38 6.2 – Diagrama da área pública............................................................................................. 40 6.3 – Diagrama do usuário autenticado ................................................................................ 41 6.4 – Diagrama do Usuário com domínio sobre salas .......................................................... 41 7 - Modelagem de Dados .......................................................................................................... 44 7.1 - Modelo Entidade-Relacionamento (MER)................................................................... 44 7.2 - Modelo de Dados Relacional........................................................................................ 46 8 – Referências Bibliográficas .................................................................................................. 47 2 1 - Introdução Este relatório, na forma de Documentação de software do Sistema de Reserva de Salas, apresenta informações técnicas sobre o referido sistema. O objetivo é o de registrar suas principais características e as soluções de implementação que foram adotadas. O Sistema de Reserva de Salas visa auxiliar as atividades cotidianas referentes a alocação do recurso Salas de uma unidade de ensino, em especial foram atendidas as requisições de procedimentos vigentes no Instituto de Ciências Matemáticas e de Computação da Universidade de São Paulo. Como o meio acadêmico envolve uma série de atividades relacionadas ao domínio de ensino e pesquisa, freqüentemente, os professores necessitam estabelecer datas de provas, comunicar aulas extras e reservar equipamentos, tais como projetores e computadores, assim como salas para apresentação de seminários, aplicação de provas extras ou mesmo realização de reuniões. Por outro lado, outras pessoas envolvidas no meio acadêmico, tais como estudantes e secretárias administrativas, necessitam estar cientes de agendas comuns. Por exemplo, as secretárias necessitam saber as agendas disponíveis de todos os professores que trabalham em um grupo de um departamento para programar uma reunião em um horário apropriado. Conseqüentemente, a importância e a utilidade de um “espaço comum”, na forma de uma agenda colaborativa foram notadas [Bannon & Bødker, 1997], principalmente para o suporte ao agendamento de compromissos acadêmicos e educacionais. No Risk Planning é um sistema de informações na Web, que funciona como uma agenda eletrônica, desenvolvida com o intuito de facilitar o planejamento das atividades realizadas no meio acadêmico. Ela permite agendar compromissos para grupos de trabalho e, alternativamente, também pode ser usada como agenda pessoal [Ribeiro, Fortes & Freire, 2003]. Inicialmente a agenda No Risk Planning foi desenvolvida em um projeto de graduação [Moura 2001] sob orientação da Profª . Renata Pontin de Mattos Fortes, para dar suporte a agendas compartilhadas por grupos, utilizando a linguagem PHP e o SGBD MySQL. A evolução do sistema, também sob a orientação da Profª . Fortes, foi implementada pelos alunos André Pimenta Freire e Tyciano Maia Ribeiro. O processo de engenharia, manutenção e evolução do sistema foi tema da Dissertação de mestrado do aluno Tyciano Maia Ribeiro [Ribeiro, 2003]. No início do ano de 2003, observou-se que os recursos funcionais da agenda No Risk Planning atenderiam às requisições de um Sistema de Reserva de Salas, pelo Conselho Técnico Administrativo (CTA-ICMC-USP). A partir de então, o sistema agenda No Risk Planning foi submetido a um processo de manutenção de maneira que foram realizadas adaptações e integração ao sistema Intranet do ICMC, cujo endereço eletrônico é http://www.icmc.usp.br/intranet. Assim, foi desenvolvido o Sistema de Reserva de Salas, que apresenta as principais áreas para interação com os usuários: a) Área de Acesso público, onde alunos e o público geral podem visualizar os dados das reservas efetuadas no sistema e fazer buscas por esses dados, 3 b) Área para Usuários cadastrados no sistema, onde esses podem fazer buscas e efetuar reservas em salas e datas específicas, ou caso tenha permissão de domínio1 sobre a sala, agendar reservas fixas que ocorrem toda semana, e c) Área do Administrador de Salas, responsável por gerenciar as salas e os usuários do sistema de reservas, atribuindo-lhes permissões para o uso do sistema. Para efetuar essa documentação foram utilizados modelos de documentos e artefatos preconizados pelo método Fusion-RE/I (Fusion – Reverse Engineering/Interface) — desenvolvido no ICMC-USP [Costa 1997], e outros documentos foram confeccionados utilizando Unified Modeling Language (UML). O Sistema de Reserva de Salas está integrado à Intranet do ICMC-USP, tendo, portanto, herdado algumas de suas funcionalidades. Essa documentação tem como principal foco o Sistema de Reserva de Salas, e alguns de seus elos com a Intranet, mas não oferece informações específicas quanto à Intranet. 2 – Requisitos do Sistema de Reserva de Salas O documento de requisitos do Sistema de Reserva de Salas foi especificado de acordo com o modelo proposto por [Turine & Masiero, 1996]. Ele está organizado em três principais seções, a saber: Visão Geral, Requisitos Funcionais e Requisitos Não Funcionais. A. Visão Geral O Sistema de Reserva de Salas visa auxiliar as atividades cotidianas referentes à alocação do recurso Salas de uma unidade de ensino, em especial atender as requisições de procedimentos vigentes no Instituto de Ciências Matemáticas e de Computação da Universidade de São Paulo. B. Requisitos Funcionais Acesso a salas R1. O Sistema deve permitir que qualquer pessoa possa consultar as reservas feitas em uma sala através de uma área de acesso público. R2. O Sistema deve permitir que qualquer pessoa possa fazer buscas por reservas já efetuadas. R3. O Sistema deve exibir as agendas das salas na forma de quadros semanais, com possibilidade de navegação por estes. 1 O usuário possui permissão de domínio sobre determinada sala, quando possui privilégios de operações relacionadas com as reservas dessa sala. Por exemplo, os funcionários da Seção de Graduação têm permissão de domínio sobre as salas de aula, uma vez que são eles os usuários responsáveis por remarcar/desmarcar os agendamentos dessas salas quando necessário. 4 R4. O Sistema deve possibilitar a exibição de maiores informações sobre uma reserva a qualquer momento. R5. O Sistema deve exibir as reservas classificadas em tipos, a saber: Aula, Conferência, Palestra, Congregação, Conselho, Comissão, Seminário, Reunião, Monitoria, Outros. R6. O Sistema deve exibir cada tipo de reserva com uma cor diferente, a saber: Vermelho: Aula e Monitoria; Azul claro: Conferência e Palestra; Amarelo: Congregação, Conselho e Comissão; Verde: Seminário e Reunião; Cinza: Outros. R7. O Sistema deve oferecer uma Ajuda detalhada a todos os tipos de usuário. Usuários R8. O Sistema deve classificar os usuários em categorias, com permissões diferenciadas. R9. O Sistema deve conter uma permissão diferenciada para usuários que terão domínio sobre um grupo de salas, e serão uma espécie de gerentes destas. R10. O Sistema deve conter um usuário do tipo Administrador, que será responsável pela criação de usuários, de salas, pela definição de permissões. Reservas R11. O Sistema deve oferecer dois tipos de reservas: eventuais e fixas semanalmente. As reservas eventuais terão vigência somente na data e horário em que foram marcadas, e as fixas serão ligadas a um dia da semana e horário, e se repetirão semanalmente. R12. O Sistema deve permitir que os usuários com permissão de agendamento comum sobre as salas possam incluir, excluir e modificar reservas eventuais. R13. O Sistema deve pedir que os seguintes dados sejam informados para a marcação de reservas eventuais: dia, mês, ano, horário de início, horário de fim, tipo da reserva, descrição, descrição estendida. R14. O Sistema deve permitir que sejam marcadas em uma mesma iteração quantas reservas forem necessárias. R15. O Sistema deve permitir que os usuários com domínio sobre salas possam incluir, excluir e modificar reservas fixas semanalmente. R16. O Sistema deve pedir que os seguintes dados sejam informados para a marcação de reservas fixas: dia da semana, horário de início, horário de fim, tipo da reserva, descrição, descrição estendida e quem será o(s) utilizador(es) da sala, que poderão ser em um número máximo de três. R17. O Sistema deve permitir que os usuários com domínio sobre salas liberem salas com reservas fixas em determinados períodos como feriados, recessos e eventos. R18. O Sistema deve permitir que os usuários com domínio sobre salas cadastrem as liberações de sala, devendo pedir que sejam informados: data de início e data de fim e a descrição da liberação. 5 R19. O Sistema deve permitir que os usuários com domínio sobre salas listem as liberações de sala. R20. O Sistema deve permitir que os usuários com domínio sobre salas possam cancelar as liberações. R21. O Sistema deve permitir que os usuários com domínio e o Administrador possam limpar todas as reservas fixas de uma sala. R22. O Sistema deve permitir que os usuários com domínio e o Administrador possam limpar todas as reservas eventuais de uma sala. R23. O Sistema deve emitir um relatório contendo todas as reservas de um determinado tipo. R24. O Sistema não deve permitir que os usuários sem permissão de domínio façam reservas com datas superiores a uma semana a partir da data atual. (Esse período pode ser alterado de acordo com decisão posterior do CTA). R25. O Sistema deve permitir que sejam feitas buscas por salas com horários livres para reservas eventuais. R26. O Sistema deve permitir que sejam feitas buscas por salas com horários livres para reservas fixas. R27. O Sistema deve permitir que seja visualizada a agenda de pessoas de acordo com as reservas associadas a ela. R28. O Sistema deve registrar, no momento do agendamento de uma reserva, a data, hora e a pessoa que a efetuou. Gerenciamento R29. O Sistema deve permitir que o Administrador inclua, exclua e modifique categorias de permissões. R30. O Sistema deve pedir que no cadastramento de uma categoria de permissões sejam informados: o nome da categoria, e as permissões desta em forma de sim/não para cada permissão. R31. O Sistema deve permitir que o Administrador inclua, exclua e modifique permissões de usuários. R32. O Sistema deve pedir que no cadastramento de um usuário seja informado o número e a categoria deste. R33. O Sistema deve permitir que o Administrador inclua, exclua e modifique salas. R34. O Sistema deve pedir que no cadastramento de uma sala sejam informados: o código, a capacidade, o tipo e comentários opcionais sobre a sala. R35. O Sistema deve permitir a classificação das salas em: Salas de Aula, Salas de Reuniões, Salas de Eventos, Salas da Biblioteca e Salas da Pós-Graduação. 6 Gerais R36. O Sistema deve ser integrado à Intranet. R37. O Sistema deve ser implementado em plataforma Web. B. Requisitos Não-Funcionais R38. O Sistema deve ter alta interoperabilidade, uma vez que será integrado à Intranet. R39. O Sistema deve ter alta portabilidade, devendo ser visualizado por qualquer browser da Web. R40. O Sistema deve ter uma alta usabilidade, uma vez que será utilizado por todos os funcionários, com diferentes graus de conhecimentos em informática. R41. O Sistema deve ter uma alta manutenibilidade. 3 – Dados sobre o Sistema de Reserva de Salas O Sistema de Reserva de Salas da Intranet do ICMC-USP é um aplicativo disponível na Internet, que roda sobre a World-Wide Web nos diversos browsers existentes. Ele foi baseado no sistema No Risk Planning [Ribeiro, Fortes & Freire, 2003]. Sua implementação está constituída de 85 arquivos de programa fonte escritos em PHP (Personal Home Page) num total de 11.702 linhas de código, distribuídas conforme mostra a Tabela 1, que contém também uma breve descrição da funcionalidade de cada programa. Tabela 1- Arquivos de código fonte PHP que compõem a o Sistema de Reserva de Salas Nome do Arquivo (terminação .php) Linhas de código 01 02 03 ajuda_publico ajuda_usuario 23 23 ajuda_dominio 23 04 05 06 ajuda_admin Baixo 23 26 baixo_sala_aberto 27 baixo_sala_adm 37 Baixo baixo_admin Cima cima_sala_adm 33 35 65 83 cima_sala_publico 75 Conectar 15 07 08 09 10 11 12 13 Descrição Seção de ajuda da área de acesso público do sistema. Seção de ajuda da área de usuário comum. Seção de ajuda da área de usuário com domínio sobre salas. Seção de ajuda do Administrador. Inclui a barra inferior da página. Incluir a barra inferior da página da área de acesso público. Incluir a barra inferior da página da área do administrador. Gera a parte inferior da interface do usuário. Gera a parte inferior da interface do administrador. Gera a parte superior da interface do usuário. Gera a parte superior da interface do administrador. Gera a parte superior da interface da área de acesso público. Usado em todos os arquivos que necessitam fazer conexão com o banco de dados. 7 14 15 geral_sala 82 sala_agenda_semanal 182 16 17 sala_funcoes 353 sala_semanal_publico 101 18 19 20 21 22 23 24 salas.php salas_adm_agendar.php salas_adm_agendar1.php salas_adm_altera_eventual.php salas_adm_altera_eventual2.php salas_adm_altera_modifica.php 116 228 112 43 510 63 salas_adm_altera_modifica2.php 395 25 26 27 salas_altera_novo.php salas_altera_retira 498 78 salas_altera_retira2 78 salas_adm_buscar_eventual 147 salas_adm_buscar_fixo 97 salas_adm_categ 37 salas_adm_categ_cria 272 salas_adm_categ_modif 81 33 34 salas_adm_categ_modif2 310 salas_adm_categ_remove 81 35 36 salas_adm_categ_remove2 60 salas_adm_checa 10 salas_adm_geral 32 salas_adm_geral_limpa_eventual salas_adm_geral_limpa_fixo 62 62 salas_adm_modifica_eventual 62 salas_adm_modifica_eventual2 459 salas_adm_retira_eventual 62 43 44 salas_adm_retira_eventual2 69 salas_adm_salas 37 45 46 salas_adm_sala_cria 132 salas_adm_sala_modif 81 47 48 49 50 salas_adm_sala_modif2 salas_adm_sala_remove salas_adm_sala_remove2 salas_adm_usu 147 81 73 37 28 29 30 31 32 37 38 39 40 41 42 Seção de modificação dos dados do usuário. Gera o quadro com a agenda semanal de uma sala específica. Biblioteca de funções para impressão de compromissos. Visualização da agenda semanal de uma sala específica na área pública, com opções de navegação. Página inicial da área de acesso público. Página inicial do Administrador. Exibição da agenda de uma sala para o administrador. Agendamento de reserva eventual pelo administrador. Efetivação de reserva eventual pelo administrador. Modificação de reserva fixa pelo Administrador. Efetivação de modificação de reserva pelo Administrador. Agendamento de reserva fixa pelo Administrador. Cancelamento de reserva fixa pelo Administrador. Efetivação de cancelamento de reserva fixa pelo Administrador. Busca de sala livre para reserva eventual pelo Administrador. Busca de sala livre para reserva fixa pelo Administrador. Exibe as opções referentes ao Gerenciamento de categorias do Administrador. Criação de uma nova categoria pelo Administrador. Escolha de uma categoria a ser modificada pelo Administrador. Modificação de uma categoria pelo Administrador. Escolha de uma categoria a ser removida pelo Administrador. Remoção de uma categoria pelo Administrador. Checa se o usuário atual tem permissão de Administrador. Mostra as funções gerais de gerenciamento do Administrador. Limpa todos as reservas eventuais das salas escolhidas. Limpa todas as reservas fixas das salas escolhidas. Escolha de uma reserva eventual para ser modificada pelo Administrador. Modificação de uma reserva eventual pelo Administrador. Escolha de uma reserva eventual a ser removida pelo Administrador. Remoção de uma reserva eventual pelo Administrador. Exibe opções de gerenciamento de salas pelo Administrador. Cadastramento de uma nova sala pelo Administrador Escolha de uma sala a ser modificada pelo Administrador Modificação de uma sala pelo Administrador. Escolha de uma sala a ser removida pelo Administrador. Remoção de uma sala pelo Administrador. Exibe as funções de gerenciamento de usuários pelo Administrador. 8 51 52 salas_adm_usu_cria 127 salas_adm_usu_modif 105 53 54 salas_adm_usu_modif2 122 salas_adm_usu_remove 105 55 56 57 salas_adm_usu_remove2 salas_agendar.php 85 396 salas_agendar1.php 155 salas_altera_eventual 46 salas_altera_eventual2 616 salas_altera_modifica 81 salas_altera_modifica2 524 salas_altera_novo 498 salas_altera_retira 78 salas_altera_retira2 78 salas_buscar 127 Salas_buscar_eventual 200 salas_buscar_fixo 143 salas_buscar_publico 114 salas_gerenc 62 salas_horario_semanal 79 salas_info 168 salas_libera_cancelar 69 salas_libera_cancelar2 78 salas_libera_listar 54 salas_liberar 497 salas_limpar_eventuais 97 salas_limpar_fixos 108 salas_localizar2 111 salas_modifica_eventual salas_modifica_eventual2 salas_perm_checa 73 495 48 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 Administrador. Criação de um novo usuário pelo Administrador. Escolha de um usuário a ser modificado pelo Administrador. Modificação de um usuário pelo Administrador. Escolha de um usuário a ser removido pelo Administrador. Remoção de um usuário pelo Administrador. Página inicial de um usuário autenticado. Exibição da agenda de uma sala para um usuário autenticado. Agendamento de uma reserva eventual para um usuário autenticado. Efetivação de uma reserva eventual por usuário autenticado. Escolha de uma reserva fixa a ser modificada por um usuário com domínio sobre a sala. Modificação de uma reserva fixa por um usuário com domínio sobre a sala. Agendamento de uma reserva fixa por um usuário com domínio sobre a sala. Escolha de uma reserva fixa a ser removida por um usuário com domínio sobre a sala. Remoção de uma reserva fixa por um usuário com domínio sobre a sala. Busca de reserva por palavra chave por um usuário autenticado. Busca de sala livre para reserva eventual por um usuário autenticado. Busca de sala livre para reserva fixa por um usuário com domínio sobre salas. Busca de reserva por palavra chave na área de acesso público. Exibe opções de gerenciamento para usuários com domínio sobre salas. Exibe a agenda semanal de uma sala com as opções de navegação, sem as opções de menu. Exibe informações detalhadas sobre uma reserva. Escolhe uma liberação de sala para ser cancelada por um usuário com domínio sobre salas. Cancela uma liberação de sala para sobreposição de reservas fixas. Lista todas as liberações de sala Liberação de uma sala para sobreposição de reservas fixas por um usuário com domínio sobre salas. Limpa todas as reservas eventuais de uma sala para um usuário com domínio sobre salas. Limpa todas as reservas fixas de uma sala par um usuário com domínio sobre salas. Exibe a agenda de um usuário dadas as salas onde ele tem reserva. Escolha de uma reserva eventual para ser modificada. Modificação de uma reserva eventual Verifica as permissões de um usuário 9 82 83 84 85 salas_relacao 57 salas_relacao1 salas_retira_eventual salas_retira_eventual2 138 72 78 Exibe as opções para a geração de relação de reservas fixas Exibe a relação de reservas fixas. Escolha de uma reserva eventual a ser removida. Remoção de uma reserva fixa. 4 – Quadros de Operações Abaixo seguem os quadros detalhados de operações do Sistema de Reserva de Salas. Estes quadros contêm a operação especificada, o nome do arquivo que chama a operação, com quais arquivos este arquivo está relacionado, uma descrição da operação, informações sobre leitura, modificação e envio e o resultado final da operação. (1) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (2) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (3) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Público/ Ajuda ajuda_publico.php cima_sala_publico.php baixo_sala_aberto.php cima_sala_publico.php Exibe uma tela de ajuda para a área de acesso público. É exibida a tela de ajuda para a área de acesso público, contendo instruções sobre como efetuar buscas por palavra chave e navegar pelas agendas das salas. Usuário comum/ Ajuda ajuda_usuario.php cima.php baixo.php cima.php Exibe uma tela de ajuda para usuário autenticado. É exibida a tela de ajuda para usuário autenticado, contendo instruções sobre a navegação pelas agendas das salas, como efetuar reservas e como manipular o sistema.. Usuário com domínio/ Ajuda ajuda_dominio.php cima.php baixo.php cima.php 10 chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (4) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: Exibe uma tela de ajuda para usuário autenticado com domínio sobre salas. É exibida a tela de ajuda para usuário autenticado com domínio sobre salas, contendo instruções sobre a navegação pelas agendas das salas, como efetuar reservas e como manipular o sistema.. Administrador/ Ajuda ajuda_admin.php cima_sala_adm.php baixo_sala_adm.php cima_sala_adm.php Exibe uma tela de Ajuda para o Administrador. É exibida a tela de ajuda para o Administrador, contendo informações gerais sobre o Gerenciamento do Sistema. (5) Operação: Nome do Arquivo: Este programa chama os seguintes: Entrar na área de acesso público salas.php cima_sala_publico.php conectar.php salas_buscar_publico.php sala_semanal_publico.php baixo_sala_publico.php Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: salas_buscar_publico.php sala_semanal_publico.php Tela inicial da área de Acesso Público Palavra chave da busca ou Sala a ser visualizada. - Se for preenchida uma palavra chave e o botão ‘Buscar’ for acionado, exibirá o resultado da busca por reservas para a palavra chave digitada, através da chamada ao arquivo salas_buscar_publico.php - Se o hyperlink com o código de uma sala for acionado, mostra a agenda da sala escolhida, através da chamada ao arquivo sala_semanal_publico.php (6) Operação: Nome do Arquivo: Público/ Exibir agenda de Sala sala_semanal_publico.php 11 Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (7) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (8) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: cima_sala_publico.php salas.php conectar.php sala_agenda_semanal.php baixo.php salas.php Exibe a agenda de uma sala Existência de cookie com o código da sala cuja agenda será exibida., - Se o usuário tiver aberto a agenda pela primeira vez ou tiver clicado no botão ‘Semana atual’. - Se for acionado o botão ‘<<’ exibe a agenda da sala na semana anterior - Se for acionado o botão ‘>>’ exibe a agenda da sala na próxima semana Público / Buscar reservas salas_buscar_publico.php conectar.php cima_sala_publico.php salas.php salas_info.php salas.php Exibe o resultado de uma busca por palavra chave na área de acesso público. Palavra chave - Se houver alguma reserva com a palavra chave digitada, exibe a lista de reservas com o hyperlink para as salas e para as reservas. - Se for acionado o hyperlink para uma reserva, exibe informações detalhadas sobre ela, acionando o arquivo salas_info.php - Se for acionado o hyperlink para uma sala, exibe a agenda da sala, acionando o arquivo sala_semanal_publico.php Administrador/ Entrar no sistema salas_adm_agendar.php salas_adm_checa.php conectar.php salas_adm_agendar1.php salas_adm_buscar_eventual.php salas_adm_buscar_fixo.php cima_sala_adm.php baixo_sala_adm.php Todos as funções do Administrador tem um hyperlink para retornar à tela inicial. 12 chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (9) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: inicial. Exibe as funcionalidades básicas para o administrador, a saber: a relação de salas para navegação, busca por horários livres para reservas fixas, busca por horários livres para reservas eventuais. - Dia da semana, horário de início e horário de fim, para busca para reservas fixas - Dia, mês, ano, horário de início e horário de fim, para busca para reservas eventuais - Código da sala para exibição da agenda Agente interno: {#msg Você não está logado como Administrador} Agente interno: {#msg Você não está logado na Intranet} Existência de cookie que informa que o usuário está logado como administrador - Se for acionado o botão ‘Buscar’ para reservas fixas, e os campos forem preenchidos corretamente, aciona o arquivo salas_adm_buscar_fixo - Se for acionado o botão ‘Buscar’ para reservas fixas, e algum campo não for preenchido corretamente, exibe uma mensagem de erro. - Se for acionado o botão ‘Buscar’ para reservas fixas, e os campos forem preenchidos corretamente, aciona o arquivo salas_adm_buscar_eventual - Se for acionado o botão ‘Buscar’ para reservas fixas, e algum campo não for preenchido corretamente, exibe uma mensagem de erro. - Se for acionado o hyperlink de uma sala, aciona o arquivo salas_adm_agendar1.php para exibir a agenda da sala Administrador/ Exibir agenda de sala salas_adm_agendar1.php cima_sala_adm.php salas_adm_agendar.php salas_adm_altera_novo.php salas_adm_altera_eventual.php salas_adm_altera_retira.php salas_adm_retira_eventual.php salas_adm_altera_modifica.php salas_adm_modifica_eventual.php salas_adm_agendar.php Exibe a agenda de uma sala e exibe os hyperlinks para o agendamento, modificação e remoção de reservas para uma dada sala. Existência de cookie que informa que o usuário está logado como administrador - Se o usuário clicar em ‘Agendar reserva fixa semanalmente’ abre a tela para agendamento de reservas fixas, carregando o arquivo salas_adm_altera_novo.php - Se o usuário clicar em ‘Agendar reserva eventual’ abre a tela para agendamento de reservas eventuais, carregando o arquivo 13 salas_adm_altera_eventual.php salas_adm_altera_eventual.php - Se o usuário clicar em ‘Remover reserva fixa semanalmente’ abre a tela para escolha de reserva para ser removida, carregando o arquivo salas_adm_altera_retira.php - Se o usuário clicar em ‘Remover reserva eventual’ abre a tela para escolha de reserva para ser removida, carregando o arquivo salas_adm_retira_eventual.php - Se o usuário clicar em ‘Modificar reserva fixa semanalmente’ abre a tela para escolha de reserva para ser modificada, carregando o arquivo salas_adm_altera_modifica.php - Se o usuário clicar em ‘Modificar reserva eventual’ abre a tela para es colha de reserva para ser modificada, carregando o arquivo salas_adm_modifica_eventual.php - Se o usuário clicar em uma reserva específica, será exibida a tela com informações adicionais, carregando o arquivo salas_info.php (10) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: Administrador/ Agendar Reserva Eventual salas_adm_altera_eventual.php salas_adm_altera_eventual2.php salas_adm_checa.php cima_sala_adm.php conectar.php salas_adm_agendar.php baixo_sala_adm.php salas_adm_agendar1.php salas_adm_buscar_eventual.php Permite que o Administrador efetue reservas eventuais Número de reservas, Dia, Mês, Ano, horário de início, horário de fim, tipo, descrição, descrição estendida, para cada reserva. Tabela proj_eventual Agente interno: {#msg Você não escolheu o dia da reserva} Agente interno: {#msg Você não escolheu o ano da reserva} Agente interno: {#msg Você não escolheu o mês da reserva} Agente interno: {#msg Você não escolheu o horário de término da reserva} Agente interno: {#msg Você não escolheu o horário de início da reserva} Agente interno: {#msg Você não preencheu a descrição da reserva} Agente interno: {#msg O horário de início da reserva é maior do que o horário de término} Agente interno: {#msg Você não escolheu o tipo da reserva} Agente interno: {#msg Já existe uma reserva para essa sala no horário especificado} Agente interno: {#msg Reserva(s) efetuada(s)} Existência de cookie que informa que o usuário está logado como administrador - Após o usuário escolher o número de reservas que serão efetuadas, é exibido um conjunto de campos para cada reserva. - Se todos os campos de todas as reservas forem preenchidos corretamente, o sistema irá gravar as reservas no banco de dados. - Se houver algum problema com alguma das reservas, o sistema irá pedir que o problema seja solucionado, e não efetuará nenhuma das 14 reservas enquanto o problema não for resolvido. pedir que o problema seja solucionado, e não efetuará nenhuma das reservas enquanto o problema não for resolvido. (11) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (12) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Administrador / Modificar uma reserva fixa salas_adm_altera_modifica.php salas_adm_altera_modifica2.php salas_adm_checa.php cima_sala_adm.php conectar.php sala_agenda_semanal.php baixo_sala_adm.php salas_adm_agendar1.php Permite que o Administrador modifique uma reserva fixa já efetuada por qualquer usuário do sistema. Reserva a ser modificada, sala, Nova descrição, Nova descrição estendida, novo dia da semana, novo horário de início, novo horário de fim. Tabela proj_compromissos Agente interno: {#msg Você não escolheu o dia da semana} Agente interno: {#msg Você não escolheu o horário de início} Agente interno: {#msg Você não escolheu o horário de término} Agente interno: {#msg O horário de término deve ser maior que o horário de início} Agente interno: {#msg Você não escolheu o tipo do compromisso} Agente interno: {#msg Você não preencheu a descrição do compromisso} Agente interno: {#msg Já existe uma reserva para essa sala no horário especificado} Agente interno: {#msg Reserva alterada com sucesso} Existência de cookie que informa que o usuário está logado como administrador - Após a escolha da reserva a ser modificada, são exibidas as informações atuais sobre a reserva. - Após alterar os dados, e clicar no botão ‘Modificar’, se todos os dados estiverem corretos, a reserva será modificada. - Se houver algum problema com os novos dados, será exibida uma mensagem de erro. Administrador/ Agendar reserva fixa salas_adm_altera_novo.php salas_adm_checa.php conectar.php salas_adm_agendar1.php cima_sala_adm.php sala_agenda_semanal.php baixo_sala_adm.php salas_adm_agendar1.php salas_adm_buscar_fixo.php 15 Descrição Lê: Modifica: Envia: Assume: Resultado: (13) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: Agenda uma nova reserva fixa para uma dada sala Sala, Dia da semana, horário de início, horário de término, descrição, descrição estendida Tabela proj_compromissos Agente interno: {#msg Você não escolheu o dia da semana} Agente interno: {#msg Você não escolheu o horário de término} Agente interno: {#msg Você não escolheu o horário de início} Agente interno: {#msg O horário de término deve ser maior que o horário de início} Agente interno: {#msg Você não preencheu a descrição} Agente interno: {#msg Você não escolheu o tipo da reserva} Agente interno: {#msg Já existe uma reserva para essa sala no horário especificado} Agente interno: {#msg Reserva efetuada com sucesso} Existência de cookie que informa que o usuário está logado como administrador - Se todos os dados forem preenchidos corretamente, e não houver nenhuma reserva no horário especificado, a reserva é efetuada. - Se houver algum problema com os dados, o sistema exibe uma mensagem de erro. Administrador / Remoção de reserva fixa salas_adm_altera_retira.php salas_adm_altera_retira2.php salas_adm_checa.php cima_sala_adm.php conectar.php sala_agenda_semanal.php baixo_sala_adm.php salas_adm_agendar1.php salas_adm_agendar1.php Permite que o administrador remova uma reserva fixa de qualquer sala efetuada por qualquer usuário do sistema. Sala e reserva a ser removida. Tabela proj_compromissos Agente interno: {#msg Você realmente quer remover a reserva?} Agente interno: {#msg Reserva removida com sucesso} Agente interno: {#msg Remoção cancelada} Existência de cookie que informa que o usuário está logado como administrador - Após o usuário escolher a reserva e acionar o botão ‘Remover’ o sistema irá exibir uma mensagem de confirmação. - Se o usuário escolher ‘Sim’, a remoção da reserva escolhida será efetuada. - Se o usuário escolher ‘Não’, a reserva permanecerá inalterada e não será removida. 16 (14) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (15) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (16) Operação: Nome do Arquivo: Este programa chama os seguintes: Administrador/ Buscar salas livres para reserva eventual salas_adm_buscar_eventual.php conectar.php cima_sala_adm.php salas_adm_altera_eventual2.php baixo_sala_adm.php salas_adm_agendar.php Lista todas as salas que estejam livre para reserva eventual num dado dia e horário. Dia, mês, ano, horário de início, horário de fim Existência de cookie que informa que o usuário está logado como administrador - Retorna a listagem de todas as salas que estão livres para reserva eventual no dia e horário especificado. - Se o Administrador acionar o hyperlink com o código de alguma sala, será aberta a página para efetuar a reserva, chamando o arquivo salas_adm_altera_eventual2.php Administrador/ Buscar salas livres para reserva fixa salas_adm_buscar_fixa.php conectar.php cima_sala_adm.php salas_adm_altera_novo.php baixo_sala_adm.php salas_adm_agendar.php Lista todas as salas que estejam livre para reserva fixa num dado dia da semana e horário. Dia da semana, horário de início, horário de fim Existência de cookie que informa que o usuário está logado como administrador - Retorna a listagem de todas as salas que estão livres para reserva fixa no dia da semana e horário especificado. - Se o Administrador acionar o hyperlink com o código de alguma sala, será aberta a página para efetuar a reserva, chamando o arquivo salas_adm_altera_novo.php Administrador / Criar nova categoria salas_adm_categ_cria.php salas_adm_checa.php conectar.php salas_adm_categ.php 17 Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (17) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (18) Operação: Nome do Arquivo: Este programa chama os seguintes: cima_sala_adm.php baixo_sala_adm.php salas_adm_categ.php Permite ao Administrador que seja criada uma nova categoria de usuários. Nome da nova categoria e as permissões que serão atribuídas a ela. Tabela proj_permissões Agente interno: {#msg Você não preencheu o nome da categoria} Agente interno: {#msg Já existe uma categoria com esse nome} Agente interno: {#msg Categoria criada com sucesso} Existência de cookie que informa que o usuário está logado como administrador - O Administrador preenche o nome da nova categoria e marca quais serão as permissões que serão atribuídas a ela. - Se não existir nenhum problema com o cadastro, o sistema cria a nova categoria. - Se houver algum problema, será exibida uma mensagem de erro. Administrador / Modificar categoria salas_adm_categ_modif.php salas_adm_categ_modif2.php salas_adm_checa.php conectar.php cima_sala_adm.php salas_adm_categ.php baixo_sala_adm.php salas_adm_categ.php Permite que seja modificada uma categoria de usuários já existente. Nome da categoria, novo nome e novas permissões Tabela proj_permissões Agente interno: {#msg Você não preencheu o nome da categoria} Agente interno: {#msg Já existe uma categoria com esse nome} Agente interno: {#msg Categoria modificada com sucesso} Existência de cookie que informa que o usuário está logado como administrador - Após ser escolhida a categoria que será modificada, serão exibidos os dados atuais desta. - O Administrador pode, então, modificar esses dados, e caso não haja problemas, os dados da categoria serão alterados na base de dados. - Se houver algum problema com o preenchimento dos novos dados da categoria, será exibida uma mensagem de erro. Administrador / Remover categoria salas_adm_categ_remove.php salas_adm_categ_remove2.php salas_adm_checa.php 18 Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (19) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (20) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição conectar.php cima_sala_adm.php baixo_sala_adm.php salas_adm_categ.php Permite que uma categoria existente seja removida. Nome da categoria. Tabela proj_permissões Agente interno: {#msg Tem certeza que deseja remover a categoria?} Agente interno: {#msg Remoção da categoria cancelada} Agente interno: {#msg Categoria removida} Existência de cookie que informa que o usuário está logado como administrador - Após a escolha da categoria a ser removida, o sistema pede uma confirmação do Administrador para efetuar a remoção. - Se for escolhido ‘Sim’, a categoria será r emovida, e todos os usuários cadastrados nessa categoria serão removidos do sistema também. - Se for escolhido ‘Não’, a categoria não será removida. Administrador/ Limpar reservas eventuais salas_adm_geral_limpa_eventual.php salas_adm_checa.php conectar.php salas_adm_geral.php cima_sala_adm.php baixo_sala_adm.php salas_adm_geral.php Limpa todas as reservas eventuais das salas escolhidas Códigos das salas Tabela proj_eventual Agente interno: {#msg Reservas eventuais limpas com sucesso} Existência de cookie que informa que o usuário está logado como administrador. − É exibida a relação de salas. O Administrador deverá então marcar todas as salas que terão todas as reservas eventuais removidas. Administrador/ Limpar reservas fixas salas_adm_geral_limpa_fixo.php salas_adm_checa.php conectar.php salas_adm_geral.php cima_sala_adm.php baixo_sala_adm.php salas_adm_geral.php Limpa todas as reservas fixas das salas escolhidas 19 Lê: Modifica: Envia: Assume: Resultado: (21) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (22) Operação: Nome do Arquivo: Códigos das salas Tabela proj_compromissos Agente interno: {#msg Reservas fixas limpas com sucesso} Existência de cookie que informa que o usuário está logado como administrador. − É exibida a relação de salas. O Administrador deverá então marcar todas as salas que terão todas as reservas fixas removidas. Administrador / Modificar uma reserva eventual salas_adm_modifica_eventual.php salas_adm_modifica_eventual2.php salas_adm_checa.php cima_sala_adm.php conectar.php sala_agenda_semanal.php baixo_sala_adm.php salas_adm_agendar1.php Permite que o Administrador modifique uma reserva eventual já efetuada por qualquer usuário do sistema. Reserva a ser modificada, sala, Nova descrição, Nova descrição estendida, novo dia, mês e ano, novo horário de início, novo horário de fim, novo tipo. Tabela proj_eventuais Agente interno: {#msg Você não escolheu o dia} Agente interno: {#msg Você não escolheu o mês} Agente interno: {#msg Você não escolheu o ano} Agente interno: {#msg Você não escolheu o horário de início} Agente interno: {#msg Você não escolheu o horário de término} Agente interno: {#msg O horário de término deve ser maior que o horário de início} Agente interno: {#msg Você não escolheu o tipo do compromisso} Agente interno: {#msg Você não preencheu a descrição do compromisso} Agente interno: {#msg Já existe uma reserva para essa sala no horário especificado} Agente interno: {#msg Reserva alterada com sucesso} Existência de cookie que informa que o usuário está logado como administrador - Após a escolha da reserva a ser modificada, são exibidas as informações atuais sobre a reserva. - Após alterar os dados, e clicar no botão ‘Modificar’, se todos os dados estiverem corretos, a reserva será modificada. - Se houver algum problema com os novos dados, será exibida uma mensagem de erro. Administrador / Remover uma reserva eventual salas_adm_retira_eventual.php salas_adm_retira_eventual2.php 20 Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (23) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (24) Operação: salas_adm_checa.php cima_sala_adm.php conectar.php sala_agenda_semanal.php baixo_sala_adm.php salas_adm_agendar1.php salas_adm_agendar1.php Permite que o administrador remova uma reserva eventual de qualquer sala efetuada por qualquer usuário do sistema. Sala e reserva a ser removida. Tabela proj_eventual Agente interno: {#msg Você realmente quer remover a reserva?} Agente interno: {#msg Reserva removida com sucesso} Agente interno: {#msg Remoção cancelada} Existência de cookie que informa que o usuário está logado como administrador - Após o usuário escolher a reserva e acionar o botão ‘Remover’ o sistema irá exibir uma mensagem de confirmação. - Se o usuário escolher ‘Sim’, a remoção da reserva escolhida será efetuada. - Se o usuário escolher ‘Não’, a reserva permanecerá inalterada e não será removida. Administrador / Criar nova Sala salas_adm_sala_cria.php salas_adm_checa.php conectar.php salas_adm_salas.php cima_sala_adm.php baixo_sala_adm.php salas_adm_salas.php Permite ao Administrador que seja criada uma nova sala. Código da nova sala, número de lugares, tipo da sala e comentários. Tabela proj_salas Agente interno: {#msg Você não preencheu o código da nova sala} Agente interno: {#msg Você não preencheu o número de lugares da sala} Agente interno: {#msg Já existe uma sala cadastrada com esse código} Agente interno: {#msg Sala criada com sucesso} Existência de cookie que informa que o usuário está logado como administrador - O Administrador preenche o código da sala, o número de lugares, o tipo da sala, e opcionalmente pode incluir comentários sobre ela. - Se não existir nenhum problema com o cadastro, o sistema cria a nova sala. - Se houver algum problema, será exibida uma mensagem de erro. Administrador / Modificar sala 21 Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (25) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: salas_adm_sala_modif.php salas_adm_sala_modif2.php salas_adm_checa.php conectar.php cima_sala_adm.php salas_adm_salas.php baixo_sala_adm.php salas_adm_salas.php Permite que seja modificada uma sala já existente. Novo código da sala, nova capacidade, novo tipo e novo comentário. Tabela proj_salas Agente interno: {#msg Você não preencheu o código da nova sala} Agente interno: {#msg Você não preencheu o número de lugares da sala} Agente interno: {#msg Já existe uma sala cadastrada com esse código} Agente interno: {#msg Sala alterada com sucesso} Existência de cookie que informa que o usuário está logado como administrador - Após ser escolhida a sala que será modificada, serão exibidos os dados atuais desta. - O Administrador pode, então, modificar esses dados, e caso não haja problemas, os dados da sala serão alterados na base de dados. - Se houver algum problema com o preenchimento dos novos dados da sala, será exibida uma mensagem de erro. Administrador / Remover sala salas_adm_salas_remove.php salas_adm_salas_remove2.php salas_adm_checa.php conectar.php cima_sala_adm.php baixo_sala_adm.php salas_adm_salas.php Permite que uma sala existente seja removida. Código da sala Tabela proj_salas Agente interno: {#msg Tem certeza que deseja remover a sala?} Agente interno: {#msg Remoção da sala cancelada} Agente interno: {#msg Sala removida} Existência de cookie que informa que o usuário está logado como administrador - Após a escolha da sala a ser removida, o sistema pede uma confirmação do Administrador para efetuar a remoção. - Se for escolhido ‘Sim’, a sala será removida, e todas as reservas vinculadas à essa sala também serão removidas. - Se for escolhido ‘Não’, a sala não será removida. 22 (26) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (27) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: Administrador / Criar novo Usuário salas_adm_usu_cria.php salas_adm_checa.php conectar.php salas_adm_usu.php cima_sala_adm.php baixo_sala_adm.php salas_adm_usu.php Permite ao Administrador que seja criada um novo usuário no sistema. Número do usuário e categoria. Tabela proj_contas Agente interno: {#msg Você não preencheu o número do usuário} Agente interno: {#msg Você não preencheu a categoria do novo usuário} Agente interno: {#msg Já existe um usuário cadastrado com esse número} Agente interno: {#msg Usuário criado com sucesso} Existência de cookie que informa que o usuário está logado como administrador - O Administrador escolhe o usuário a partir da lista de usuários cadastrados na intranet e escolhe a sua categoria. - Se não existir nenhum problema com o cadastro, o sistema cria o novo usuário. - Se houver algum problema, será exibida uma mensagem de erro. Administrador / Modificar usuário salas_adm_usu_modif.php salas_adm_usu_modif2.php salas_adm_checa.php conectar.php cima_sala_adm.php salas_adm_usu.php baixo_sala_adm.php salas_adm_salas.php Permite que seja modificado um usuário do sistema.. Número do usuário e nova categoria. Tabela proj_contas. Agente interno: {#msg Você não escolheu a categoria do usuário} Agente interno: {#msg Permissões modificadas com sucesso} Existência de cookie que informa que o usuário está logado como administrador - Após ser escolhido o usuário que será modificado, será exibida a sua categoria atual - O Administrador pode, então, modificar a categoria dele, e caso não haja nenhum problema, ela será alterada na base de dados. - Se houver algum problema com a modificação do usuário, será exibida uma mensagem de erro.. 23 (28) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (29) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Administrador / Remover usuário salas_adm_usu_remove.php salas_adm_usu_remove2.php salas_adm_checa.php conectar.php cima_sala_adm.php baixo_sala_adm.php salas_adm_usu.php salas_adm_usu.php Permite que um usuário existente seja removido. Número do usuário Tabela proj_contas Agente interno: {#msg Tem certeza que deseja remover o usuário?} Agente interno: {#msg Remoção do usuário cancelada} Agente interno: {#msg Usuário removido.} Existência de cookie que informa que o usuário está logado como administrador - Após a escolha do usuário a ser removido, o sistema pede uma confirmação do Administrador para efetuar a remoção. - Se for escolhido ‘Sim’, o usuário será removido, e todas as reservas vinculadas a ele também serão removidas. - Se for escolhido ‘Não’, o usuário não será removido. Usuário autenticado/ Entrar no sistema salas_agendar.php conectar.php salas_agendar1.php salas_buscar_eventual.php salas_buscar_fixo.php cima_sala_aberto.php salas_buscar.php salas_localizar2.php baixo_sala_aberto.php Todas as funções do usuário autenticado tem um link para retornar à tela inicial. Exibe as funcionalidades básicas para um usuário autenticado, a saber: a relação de salas para navegação, busca por horários livres para reservas fixas (caso tenha domínio), busca por horários livres para reservas eventuais, busca por palavras chaves, e localização de pessoas. - Dia da semana, horário de início e horário de fim, para busca para reservas fixas - Dia, mês, ano, horário de início e horário de fim, para busca para reservas eventuais - Código da sala para exibição da agenda - Nome da pessoa a ser localizada - Palavra chave para a busca 24 Modifica: Envia: Assume: Resultado: (30) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Agente interno: {#msg Você não está logado na Intranet} Agente interno: {#msg Você não escolheu o dia para a busca} Agente interno: {#msg Você não escolheu o mês para a busca} Agente interno: {#msg Você não escolheu o ano para a busca} Agente interno: {#msg Você não está logado na Intranet} Agente interno: {#msg Você não escolheu o horário de início para a busca} Agente interno: {#msg Você não escolheu o horário de término para a busca} Agente interno: {#msg Você não está logado na Intranet} Agente interno: {#msg O horário de início da reserva é maior que o horário de término} Agente interno: {#msg Dia inválido} Existência de cookie que informa o login do usuário logado na Intranet. - Se o usuário tiver domínio sobre salas - Se for acionado o botão ‘Buscar’ para reservas fixas, e os campos forem preenchidos corretamente, aciona o arquivo salas_buscar_fixo - Se for acionado o botão ‘Buscar’ para reservas fixas, e algum campo não for preenchido corretamente, exibe uma mensagem de erro. - Se for escolhido uma pessoa e acionado o botão ‘Localizar’, será chamado o arquivo salas_localizar2.php - Se for acionado o botão ‘Buscar’ para reservas fixas, e os campos forem preenchidos corretamente, aciona o arquivo salas_buscar_eventual - Se for acionado o botão ‘Buscar’ para reservas fixas, e algum campo não for preenchido corretamente, exibe uma mensagem de erro. - Se for digitada uma palavra chave e acionado o botão ‘Busca’ para reservas, será acionado o arquivo salas_buscar.php - Se for acionado o hyperlink de uma sala, aciona o arquivo salas_adm_agendar1.php para exibir a agenda da sala Usuário autenticado/ Exibir agenda de sala salas_agendar1.php cima_sala_aberto.php salas_agendar.php salas_altera_novo.php salas_altera_eventual.php salas_altera_retira.php salas_retira_eventual.php salas_altera_modifica.php salas_modifica_eventual.php salas_perm_checa.php sala_agenda_semanal.php baixo_sala_aberto salas_agendar.php Exibe a agenda de uma sala e exibe os hyperlinks para o agendamento, modificação e remoção de reservas para uma dada sala. 25 Envia: Assume: Resultado: Existência de cookie que informa o login do usuário logado na Intranet. - Se o usuário tiver domínio sobre a sala - Se o usuário clicar em ‘Agendar reserva fixa semanalmente’ abre a tela para agendamento de reservas fixas, carregando o arquivo salas_altera_novo.php - Se o usuário clicar em ‘Remover reserva fixa semanalmente’ abre a tela para escolha de reserva para ser removida, carregando o arquivo salas_altera_retira.php - Se o usuário clicar em ‘Modificar reserva fixa semanalmente’ abre a tela para escolha de reserva para ser modificada, carregando o arquivo salas_altera_modifica.php - Se o usuário clicar em ‘Agendar reserva eventual’ abre a tela para agendamento de reservas eventuais, carregando o arquivo salas_altera_eventual.php - Se o usuário clicar em ‘Remover reserva eventual’ abre a tela para escolha de reserva para ser removida, carregando o arquivo salas_retira_eventual.php - Se o usuário clicar em ‘Modificar reserva eventual’ abre a tela para escolha de reserva para ser modificada, carregando o arquivo salas_modifica_eventual.php - Se o usuário clicar em uma reserva específica, será exibida a tela com informações adicionais, carregando o arquivo salas_info.php (31) Operação: Nome do Arquivo: Usuário autenticado/ Agendar Reserva Eventual salas_altera_eventual.php salas_altera_eventual2.php cima_sala_aberto.php conectar.php salas_agendar1.php baixo_sala_aberto.php salas_agendar1.php salas_buscar_eventual.php Permite que um usuário autenticado efetue reservas eventuais Número de reservas, Dia, Mês, Ano, horário de início, horário de fim, tipo, descrição, descrição estendida, número previsto de participantes, horário exato para cada reserva e utilizador, caso o usuário tenha domínio sobre a sala. Tabela proj_eventual Agente interno: {#msg Você não escolheu o dia da reserva} Agente interno: {#msg Você não escolheu o ano da reserva} Agente interno: {#msg Você não escolheu o mês da reserva} Agente interno: {#msg Você não escolheu o horário de término da reserva} Agente interno: {#msg Você não escolheu o horário de início da reserva} Agente interno: {#msg Você não preencheu a descrição da reserva} Agente interno: {#msg O horário de início da reserva é maior do que o horário de término} Agente interno: {#msg Você não escolheu o tipo da reserva} Agente interno: {#msg Já existe uma reserva para essa sala no horário especificado} Agente interno: {#msg O número estimado de participantes da reserva não foi 26 preenchido} Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (32) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (33) Operação: preenchido} Agente interno: {#msg Reserva(s) efetuada(s)} Existência de cookie que informa o login do usuário logado na Intranet. - Após o usuário escolher o número de reservas que serão efetuadas, é exibido um conjunto de campos para cada reserva. - Se todos os campos de todas as reservas forem preenchidos corretamente, o sistema irá gravar as reservas no banco de dados. - Se houver algum problema com alguma das reservas, o sistema irá pedir que o problema seja solucionado, e não efetuará nenhuma das reservas enquanto o problema não for resolvido. Usuário com domínio / Modificar uma reserva fixa salas_altera_modifica.php salas_altera_modifica2.php salas_perm_checa.php cima_sala_aberto.php conectar.php sala_agenda_semanal.php baixo_sala_aberto.php salas_agendar1.php Permite que um usuário com domínio modifique uma reserva fixa já efetuada por algum usuário da sua categoria. Reserva a ser modificada, sala, Nova descrição, Nova descrição estendida, novo dia da semana, novo horário de início, novo horário de fim, novo(s) utilizador(es). Tabela proj_compromissos Agente interno: {#msg Você não escolheu o dia da semana} Agente interno: {#msg Você não escolheu o horário de início} Agente interno: {#msg Você não escolheu o horário de término} Agente interno: {#msg O horário de término deve ser maior que o horário de início} Agente interno: {#msg Você não escolheu o tipo do compromisso} Agente interno: {#msg Você não preencheu a descrição do compromisso} Agente interno: {#msg Já existe uma reserva para essa sala no horário especificado} Agente interno: {#msg Reserva alterada com sucesso} Existência de cookie que informa que o usuário está logado como administrador - Após a escolha da reserva a ser modificada, são exibidas as informações atuais sobre a reserva. - Após alterar os dados, e clicar no botão ‘Modificar’, se todos os dados estiverem corretos, a reserva será modificada. - Se houver algum problema com os novos dados, será exibida uma mensagem de erro. Usuário com domínio/ Agendar reserva fixa 27 Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (34) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: salas_altera_novo.php salas_perm_checa.php conectar.php salas_agendar1.php cima_sala_aberto.php sala_agenda_semanal.php baixo_sala_aberto.php salas_agendar1.php salas_buscar_fixo.php Agenda uma nova reserva fixa para uma dada sala Sala, Dia da semana, horário de início, horário de término, descrição, descrição estendida, tipo e utilizador(es) Tabela proj_compromissos Agente interno: {#msg Você não escolheu o dia da semana} Agente interno: {#msg Você não escolheu o horário de término} Agente interno: {#msg Você não escolheu o horário de início} Agente interno: {#msg O horário de término deve ser maior que o horário de início} Agente interno: {#msg Você não preencheu a descrição} Agente interno: {#msg Você não escolheu o tipo da reserva} Agente interno: {#msg Já existe uma reserva para essa sala no horário especificado} Agente interno: {#msg Reserva efetuada com sucesso} Existência de cookie que informa o login do usuário logado na Intranet. - Se todos os dados forem preenchidos corretamente, e não houver nenhuma reserva no horário especificado, a reserva é efetuada. - Se houver algum problema com os dados, o sistema exibe uma mensagem de erro. Usuário com domínio / Remoção de reserva fixa salas_altera_retira.php salas_altera_retira2.php salas_perm_checa.php cima_sala_adm.php conectar.php sala_agenda_semanal.php baixo_sala_aberto.php salas_agendar1.php salas_agendar1.php Permite que um usuário com domínio remova uma reserva fixa efetuada por qualquer usuário da sua categoria.. Sala e reserva a ser removida. Tabela proj_compromissos Agente interno: {#msg Você realmente quer remover a reserva?} Agente interno: {#msg Reserva removida com sucesso} Agente interno: {#msg Remoção cancelada} 28 Assume: Resultado: (35) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (36) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: Existência de cookie que informa o login do usuário logado na Intranet. - Após o usuário escolher a reserva e acionar o botão ‘Remover’ o sistema irá exibir uma mensagem de confirmação. - Se o usuário escolher ‘Sim’, a remoção da reserva escolhida será efetuada. - Se o usuário escolher ‘Não’, a reserva permanecerá inalterada e não será removida. Usuário autenticado / Buscar reservas salas_buscar.php conectar.php cima_sala_aberto.php salas_agendar1.php salas_info.php salas_agendar.php Exibe o resultado de uma busca por palavra chave para usuário autenticado. Palavra chave Existência de cookie que informa o login do usuário logado na Intranet. - Se houver alguma reserva com a palavra chave digitada, exibe a lista de reservas com o hyperlink para as salas e para as reservas. - Se for acionado o hyperlink para uma reserva, exibe informações detalhadas sobre ela, acionando o arquivo salas_info.php - Se for acionado o hyperlink para uma sala, exibe a agenda da sala, acionando o arquivo salas_agendar1.php Usuário autenticado/ Buscar salas livres para reserva eventual salas_buscar_eventual.php conectar.php cima_sala_aberto.php salas_altera_eventual2.php baixo_sala_aberto.php salas_agendar.php Lista todas as salas que estejam livre para reserva eventual num dado dia e horário. Dia, mês, ano, horário de início, horário de fim Existência de cookie que informa o login do usuário logado na Intranet. - Retorna a listagem de todas as salas que estão livres para reserva eventual no dia e horário especificado. - Se o usuário acionar o hyperlink com o código de alguma sala, será aberta a página para efetuar a reserva, chamando o arquivo salas_altera_eventual2.php 29 (37) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (38) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Usuário com domínio/ Buscar salas livres para reserva fixa salas_buscar_fixa.php conectar.php cima_sala_aberto.php salas_altera_novo.php baixo_sala_aberto.php salas_agendar.php Lista todas as salas que estejam livre para reserva fixa num dado dia da semana e horário. Dia da semana, horário de início, horário de fim Existência de cookie que informa o login do usuário logado na Intranet. - Retorna a listagem de todas as salas que estão livres para reserva fixa no dia da semana e horário especificado. - Se o usuário acionar o hyperlink com o código de alguma sala, será aberta a página para efetuar a reserva, chamando o arquivo salas_altera_novo.php Usuário autenticado / Modificar uma reserva eventual salas_modifica_eventual.php salas_modifica_eventual2.php salas_perm_checa.php cima_sala_aberto.php conectar.php sala_agenda_semanal.php baixo_sala_aberto.php salas_agendar1.php Permite que um usuário modifique uma reserva eventual efetuada por ele ou por outro usuário qualquer, caso ele tenha domínio. Reserva a ser modificada, sala, Nova descrição, Nova descrição estendida, novo dia, mês e ano, novo horário de início, novo horário de fim, novo tipo, novo utilizador, caso o usuário tenha domínio. Tabela proj_eventuais Agente interno: {#msg Você não escolheu o dia} Agente interno: {#msg Você não escolheu o mês} Agente interno: {#msg Você não escolheu o ano} Agente interno: {#msg Você não escolheu o horário de início} Agente interno: {#msg Você não escolheu o horário de término} Agente interno: {#msg O horário de término deve ser maior que o horário de início} Agente interno: {#msg Você não escolheu o tipo do compromisso} Agente interno: {#msg Você não preencheu a descrição do compromisso} Agente interno: {#msg Já existe uma reserva para essa sala no horário especificado} Agente interno: {#msg Reserva alterada com sucesso} Existência de cookie que informa o login do usuário logado na Intranet. 30 Resultado: - (39) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (40) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: Após a escolha da reserva a ser modificada, são exibidas as informações atuais sobre a reserva. Após alterar os dados, e clicar no botão ‘Modificar’, se todos os dados estiverem corretos, a reserva será modificada. Se houver algum problema com os novos dados, será exibida uma mensagem de erro. Usuário autenticado / Remover uma reserva eventual salas_retira_eventual.php salas_retira_eventual2.php salas_perm_checa.php cima_sala_aberto.php conectar.php sala_agenda_semanal.php baixo_sala_aberto.php salas_agendar1.php salas_agendar1.php Permite que um usuário remova uma reserva eventual efetuada por ele, ou por qualquer outro usuário, caso ele tenha domínio. Sala e reserva a ser removida. Tabela proj_eventual Agente interno: {#msg Você realmente quer remover a reserva?} Agente interno: {#msg Reserva removida com sucesso} Agente interno: {#msg Remoção cancelada} Existência de cookie que informa o login do usuário logado na Intranet. - Após o usuário escolher a reserva e acionar o botão ‘Remover’ o sistema irá exibir uma mensagem de confirmação. - Se o usuário escolher ‘Sim’, a remoção da reserva escolhida será efetuada. - Se o usuário escolher ‘Não’, a reserva permanecerá inalterada e não será removida. Usuário com domínio/ Limpar reservas eventuais salas_limpar_eventuais.php salas_perm_checa.php conectar.php salas_gerenc.php cima_sala_aberto.php baixo_sala_aberto.php salas_gerenc.php Limpa todas as reservas eventuais das salas escolhidas Códigos das salas Tabela proj_eventual Agente interno: {#msg Reservas eventuais limpas com sucesso} Existência de cookie que informa o login do usuário logado na Intranet. − É exibida a relação de salas sobre as quais o usuário tem domínio. O usuário deverá então marcar todas as salas que terão todas as reservas eventuais removidas. 31 usuário deverá então marcar todas as salas que terão todas as reservas eventuais removidas. (41) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (42) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (43) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Usuário com domínio/ Limpar reservas fixas salas_limpar_fixos.php salas_perm_checa.php conectar.php salas_gerenc.php cima_sala_aberto.php baixo_sala_aberto.php salas_gerenc.php Limpa todas as reservas fixas das salas escolhidas Códigos das salas Tabela proj_compromissos Agente interno: {#msg Reservas fixas limpas com sucesso} Existência de cookie que informa o login do usuário logado na Intranet. − É exibida a relação de salas sobre as quais o usuário tem domínio. O usuário deverá então marcar todas as salas que terão todas as reservas fixas removidas. Informações sobre reserva salas_info.php conectar.php salas_agenda_semanal.php salas_buscar.php salas_buscar_publico.php Exibe informações detalhadas sobre uma reserva Os dados da reserva são passados via GET - São exibidas todas as informações em detalhes sobre uma reserva efetuada em uma determinada sala. Usuário com domínio/ Liberar salas para sobreposição de reservas fixas salas_liberar.php salas_perm_checa.php conectar.php salas_gerenc.php cima_sala_aberto.php baixo_sala_aberto.php salas_gerenc.php Libera uma ou mais salas para sobreposição de reservas fixas em um determinado período 32 Lê: Modifica: Envia: Assume: Resultado: (44) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (45) Operação: Nome do Arquivo: Este programa chama os seguintes: determinado período Sala(s), dia, mês, ano, horário de início, horário de término, descrição Tabela proj_liberados Agente interno: {#msg Você não escolheu o dia da semana} Agente interno: {#msg Você não escolheu o horário de término} Agente interno: {#msg Você não escolheu o horário de início} Agente interno: {#msg O horário de término deve ser maior que o horário de início} Agente interno: {#msg Você não preencheu a descrição} Agente interno: {#msg O dia de início é inválido} Agente interno: {#msg O dia de fim é inválido} Agente interno: {#msg Já existe uma reserva para essa sala no horário especificado} Agente interno: {#msg Reserva efetuada com sucesso} Existência de cookie que informa o login do usuário logado na Intranet. - Se todos os dados forem preenchidos corretamente, a liberação é efetuada. - Se houver algum problema com os dados, o sistema exibe uma mensagem de erro. Usuário com domínio/ Cancelar liberação de sala salas_libera_cancelar.php salas_libera_cancelar2.php salas_perm_checa.php conectar.php salas_gerenc.php cima_sala_aberto.php baixo_sala_aberto.php salas_gerenc.php Cancela uma liberação de salas Liberação a ser cancelada Tabela proj_liberados Agente interno: {#msg Liberação cancelada com sucesso} Agente interno: {#msg Cancelamento abortado} Agente interno: {#msg Você tem certeza que deseja cancelar a liberação} Existência de cookie que informa o login do usuário logado na Intranet. - É exibida a lista de liberações efetuadas pelos usuários da categoria do usuário atual. - Após escolhida a liberação a ser cancelada, é exibida uma mensagem pedindo a confirmação. - Se o usuário acionar o botão ‘Sim’, a liberação será cancelada. - Se o usuário acionar o botão ‘Não’, o cancelamento será abortado. Usuário com domínio/ Listas liberações de salas salas_libera_listar.php salas_perm_checa.php conectar.php 33 Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (46) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: Resultado: (47) Operação: Nome do Arquivo: Este programa chama os seguintes: Programas que chamam este: Descrição Lê: Modifica: Envia: Assume: salas_gerenc.php cima_sala_aberto.php baixo_sala_aberto.php salas_gerenc.php Lista todas as liberações efetuadas Existência de cookie que informa o login do usuário logado na Intranet. - É exibida a lista de todas as liberações efetuadas, constando a sala, e o período. Usuário com domínio/ Localizar pessoas salas_localizar2.php cima_sala_aberto.php salas_agendar.php conectar.php sala_agenda_aberto.php baixo.php salas_agendar.php Exibe a agenda de uma pessoa com relação às reservas atribuídas a ela. Existência de cookie que informa o login do usuário logado na Intranet. - Se o usuário tiver aberto a agenda pela primeira vez ou tiver clicado no botão ‘Semana atual’. - Se for acionado o botão ‘<<’ exibe a agenda da pessoa na semana anterior - Se for acionado o botão ‘>>’ exibe a agenda da pessoa na próxima semana Usuário com domínio/ Exibir relação de reservas salas_relacao.php salas_relacao1.php cima_sala_aberto.php salas_gerenc.php conectar.php sala_agenda_aberto.php baixo.php salas_gerenc.php Exibe a relação de reservas fixas de um determinado tipo. Tipo de reservas a serem listadas. Existência de cookie que informa o login do usuário logado na Intranet. 34 Resultado: - O usuário escolhe o tipo de reserva que será exibida, e o sistema exibe uma tabela onde estão listadas todas as reservas daquele tipo. 5 – Diagrama de Casos de Uso O diagrama de caso de uso ilustra um conjunto de casos de uso para um sistema, os atores e a relação entre os atores e os casos de uso. No diagrama de casos de uso do Sistema de Reserva de Salas é descrito o funcionamento a partir da relação de operações realizadas pelos atores: Administrador, Usuário autenticado, Usuário com domínio sobre salas e Usuário não autenticado. O Administrador é responsável pelo gerenciamento global do sistema. As ações de gerenciamento englobam a configuração do sistema, criação de contas de usuários, criação de salas, categorias, e livre acesso para efetuar qualquer tipo de reserva. O ator Usuário autenticado representa o tipo de usuário com cadastro comum, com direito a fazer buscas e efetuar reservas do tipo eventual. O ator Usuário com domínio sobre salas é aquele que possui permissão de domínio sobre algum tipo de sala, e pode efetuar reservas fixas e eventuais nestas. O ator Usuário não autenticado representa o usuário que acessa pela área de acesso público, que tem permissão somente de fazer buscas no sistema por reservas e visualizar as agendas das salas. 35 Buscar por palavra chave Usuário não autenticado Navegar por agendas de salas Buscar salas para reservas eventuais Usuário autenticado Agendamento de reservas eventuais Agendamento de reservas fixas Limpar reservas Buscar salas para reservas fixas Usuário com domínio sobre salas Localizar pessoas Liberar salas para sobreposição de reservas 36 Navegar por agendas de salas Buscar por salas livres Gerenciar categorias de permissões Gerenciar usuários Limpar agendas de salas Administrador Gerenciar salas Agendar reservas eventuais Agendar reservas fixas 6 – Diagrama de Máquina de Estados O Diagrama de Máquinas de Estado se refere ao modelo de aspectos dinâmicos do sistema. Quando ocorre um evento, alguma atividade surgirá no sistema, dependendo do estado atual do objeto que é representado por um quadrado de cantos arredondados. Uma atividade é uma execução não-atômica dentro de uma máquina de estado. O estado de um objeto é a condição ou situação que satisfaz alguma condição, resulta em alguma atividade ou espera por algum evento. 37 Para o Sistema de Reserva de Salas foram construídos quatro Diagramas de Máquinas de Estado: um diagrama para o administrador, um diagrama para a área de acesso público, um para usuário autenticado e um para usuário autenticado com domínio sobre salas. 6.1 – Diagrama do Administrador O Diagrama de Máquinas de Estado do administrador se enquadra nas atividades que o próprio administrador realiza no sistema. Como o diagrama é extenso, ele foi dividido em, partes para que possa ser apresentado neste relatório. O Diagrama de Máquinas de Estado do administrador se encontra a seguir: Não logado na Intranet Login ... Categorias Ajuda ... Clique Categorias Clique Ajuda Buscar sala para reserva eventual Buscar sala para reserva fixa ... Usuários ... Clique Logado na Salas Intranet como administrador Clique Usuários Tela inicial Clique Sala Exibir agenda de sala Salas Clique Geral Clique Buscar Geral Clique Buscar Clique Sistemas -Intranet Clique Agendar Sair Clique Limpar reservas eventuais Limpar reservas eventuais Agendar Clique Limpar reservas fixas Limpar reservas fixas 38 Salas Clique Criar Nova Unidade Clique Confirmar Criar Sala Erro Clique Remover Clique Confirmar Clique Modificar Clique Confirmar Modificar Sala Remover Sala Usuários Clique Criar Novo Usuário Clique Confirmar Criar Usuário Erro Clique Modificar Clique Remover Clique Confirmar Clique Confirmar Modificar Usuário Remover Usuário Categorias Clique Criar Nova Categoria Clique Confirmar Criar Categoria Erro Clique Modificar Clique Remover Clique Confirmar Modificar Categoria Clique Confirmar Remover Categoria 39 Erro Erro Modificar reserva eventual Agenda reserva eventual Remover reserva eventual Confirmar Clique Modificar reserva eventual Clique Agendar reserva eventual Clique Remover reserva eventual Confirmar Agenda de sala Clique Agendar reserva fixa Clique Confirmar Agenda reserva fixa semanalmente Erro Clique Modificar reserva fixa Clique Remover reserva fixa Clique Confirmar Modificar reserva fixa semanalmente Clique Confirmar Erro Remover reserva fixa semanalmente 6.2 – Diagrama da área pública Tela inicial Clique Buscar Buscar reservas Clique Sala Agenda de Sala 40 6.3 – Diagrama do usuário autenticado Não logado na Intranet Login Agendar Logado na Intranet Ajuda Clique Ajuda Clique Agendar Tela inicial Clique Sistemas -Intranet Clique Sala Clique Buscar Buscar sala para reserva eventual Sair Exibir agenda de sala Clique Agendar reserva Confirmar Clique Modificar reserva Clique Remover Reserva Confirmar Confirmar Erro Erro Agendar reserva eventual Modificar reserva eventual Remover reserva eventual 6.4 – Diagrama do Usuário com domínio sobre salas O Diagrama de Máquinas de Estado do usuário com domínio sobre salas se enquadra nas atividades que o próprio usuário realiza no sistema. Como o diagrama é extenso, ele foi dividido em, partes para que possa ser apresentado neste relatório. O Diagrama de Máquinas de Estado do usuário com domínio sobre salas se encontra a seguir: 41 Não logado na Intranet Login Clique Categorias Ajuda ... Clique Ajuda Logado na Intranet Tela inicial Clique Sala Exibir agenda de sala Buscar sala para reserva eventual Buscar sala para reserva fixa Clique Buscar Clique Buscar Clique Geral Gerenciamento Clique Sistemas -Intranet Clique Agendar Sair Agendar ... 42 Erro Erro Modificar reserva eventual Agenda reserva eventual Remover reserva eventual Clique Modificar reserva eventual Clique Remover reserva eventual Confirmar Clique Agendar reserva eventual Confirmar Agenda de sala Clique Agendar reserva fixa Clique Confirmar Erro Agenda reserva fixa semanalmente Clique Modificar reserva fixa Clique Remover reserva fixa Clique Confirmar Clique Confirmar Modificar reserva fixa semanalmente Erro Remover reserva fixa semanalmente Erro Limpar reservas eventuais Limpar reservas fixas Confirmar Exibir Relação de reservas Clique Limpar reservas eventuais Confirmar Clique Limpar reservas fixas Clique Relação de reservas Gerenciamento Clique Liberar sala Clique Confirmar Liberar sala para sobreposição Erro Clique Cancelar liberação Clique Confirmar Cancelar liberação de sala Clique Listar liberações Listar Liberações de sala 43 7 - Modelagem de Dados Para modelagem dos dados foi utilizado o Modelo Entidade-Relacionamento (MER), bem como o Modelo de Dados Relacional, descritos a seguir: 7.1 - Modelo Entidade-Relacionamento (MER) A Figura 7.1 mostra o Diagrama Entidade-Relacionamento (DER) sem os atributos das entidades e dos relacionamentos. Os atributos são apresentados separadamente na Figura 7.2. Figura 7.1 – Diagrama Entidade-Relacionamento do Sistema de Reserva de Salas 44 45 Figura 7.2 – Atributos das Entidades e Relacionamentos do DER do Sistema de Reserva de Salas 7.2 - Modelo de Dados Relacional A partir das 7 entidades e 6 relacionamentos modelados na Figura 7.1, bem como dos atributos relacionados na Figura 7.2, foi derivado o Modelo Relacional que possibilita a implementação do banco de dados do Sistema de Reserva de Salas em um SGBD Relacional. A seguir está o esquema implementado: cp : Chave Primária ce : Chave Estrangeira Reserva Fixa compr_id conta_id descricao comentario tipo horario_id_inicio horario_id_fim Related related1 cp ce related2 owner data_ag Reserva Eventual compr_id conta_id data_inicio horario_id_inicio data_fim horario_id_fim descricao comentario cp tipo ce related owner data_ag Conta conta_id categoria cp 46 Liberação compr_id Conta_id data_inicio horario_id_inicio data_fim horario_id_fim descricao owner cp ce Sala sala_id tipo lugares comentarios cp Categoria de permissão categoria p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 cp Horários horário_id nome cp Na tabela de Categorias de permissões as permissões correspondem a : P1 – Acesso a salas de Aula P2 – Acesso a salas de reuniões P3 – Agendamento de reservas do tipo aula P4 – Agendamento de reservas do tipo Conferência ou Palestra P5 – Agendamento de reservas do tipo Congregação, Conselhos e Comissões P6 – Agendamento de reservas do tipo ‘Outros’ P7 – Acesso a salas de Eventos P8 – Acesso a salas da Biblioteca P9 – Acesso a salas da Pós-Graduação P10 – Domínio sobre Salas de Aula P11 – Domínio sobre Salas de Reunião P12 – Domínio sobre Salas de Eventos P13 – Domínio sobre Salas da Biblioteca P14 – Domínio sobre Salas da Pós-Graduação Na tabela de Reservas fixas e reservas eventuais, os campos related se referem a quem irá utilizar a reserva. O campo owner se refere a quem efetuou a reserva. 8 – Referências Bibliográficas [Bannon & Bødker, 1997] BANNON, Liam & BØDKER, Susanne. “Constructing Common Information Spaces”. In: The 5th European CSCW Conference, Proceedings ECSCW' 97, 1997. [Costa 1997] COSTA, R.M. “Fusion-RE/I – Um Método de Engenharia Reversa para Auxiliar a manutenção de Software”. Dissertação de Mestrado, ICMSC-USP, São Carlos, 1997. 47 [Freire & Fortes, 2003] FREIRE, A.P; FORTES, R.P.M. Manual de Uso: Sistema de Reserva de Salas da Intranet do ICMC-USP. Relatórios Técnicos do ICMC-USP, 213, 70p. São CarlosSP, 2003.[Moura, 2001] MOURA, Marcus Vinícius. “No Risk Planning”. 2001. 53f. Projeto de Graduação – Universidade de São Paulo (USP) – Campus de São Carlos [Ribeiro, 2003] RIBEIRO, T.M. Evolução de uma Agenda para Grupos na Web - São Carlos-SP, agosto de 2003. 81p. Dissertação(Mestrado). Instituto de Ciências Matemáticas e de Computação de São Carlos, Universidade de São Paulo. [Ribeiro, Fortes & Freire, 2003] RIBEIRO, T. M; FORTES, R.P.M; FREIRE, A.P. Documentação do Software Agenda No Risk Planning. Relatórios Técnicos do ICMC-USP, 182, 69p. São Carlos-SP, 2003. [Turine & Masiero, 1996] TURINE, M. A. S; MASIERO, P. C. Especificação de requisitos: Uma introdução. Relatórios técnicos do ICMC-USP, 39. São Carlos-SP, 1996. 48