3º Projecto SIEM SISTEMA DE INFORMAÇÃO COM INTERFACE WEB 1 Índice Sumário do Projecto Base de Dados Visão Geral do SINF Interface com o Utilizador Exemplos de Utilização Arquitectura do Sistema Conclusão 2 Sumário do Projecto Este projecto, realizado por João Barbosa ([email protected]) e Sérgio Oliveira ([email protected]), consiste num sistema de informação de um canil. O sistema de informação permite o registo de contas de utilizadores, doação e adoção de cães, assim como a contratação de veterinários e tratadores de animais. Nos próximos slides encontram-se descritas as funcionalidades deste sistema, assim como alguns exemplos de utilização. Foram utilizadas várias linguagens e tecnologias, tais como HTML, Smarty, Javascript, SQL, etc. 3 Base de Dados Podem aqui ser consultadas as tabelas mais importantes do nosso projecto. Accountant(acc_id, administrador, name, telephone, address, salary, pass) Adoption_record(id, date_request, date_adoption, state, d_id, whygetdog, email, date_reunion, custom_name) Animal_keeper(ak_id, name, telehpone, address, salary, date_hired, pass) Appointment(type, diagnosis, act_id) Customer_adopts(custom_id, address, telefone, name, space_at_home, date_adoption, d_id, pass, email ,admin) Dog(d_id, name, gender, breed, size, date_entry, age, color, hair, weight, cage_num, family_id, pregnancy, date_adoption, alive, medication, spay, adoptable) Donator(do_id,name, pass) 4 Base de Dados (2) Medical_act(act_id, date_act) Registers(date_entry, do_id, d_id, acc_id( Veterinarian(vet_id,name,address,telefone,date_hired,salary,pass) O código SQL encontra-se na seguinte página: http://paginas.fe.up.pt/~ee09126/bd/bd.sql 5 Visão Geral do SINF A interface web será dividida em quatro módulos: Main Module, que inclui a página principal da aplicação que tem ligações de acesso à página de entrada dos módulos a que o utilizador tem acesso de acordo com as permissões estabelecidas. No caso de o utilizador não se encontrar autenticado contém um formulário de login e no caso contrário contém uma ligação de logout. Dog Treatment, onde pode ser feita uma listagem dos cães e consequente atualização dos ficheiros médicos associados a cada cão por parte de um Veterinário. É aqui que se pode consultar também uma listagem dos Veterinários e Tratadores de Animais, assim como fazer alterações no que toca a atribuição de cães a cada Tratador de Animais. Dog Management, módulo onde poderá aceder qualquer grupo de privilégio. É aqui que poderá ser feita a doação, listagem e adoção de cães. A cada uma destas funcionalidades apenas poderá aceder os grupos de privilégio conforme descrito no diagrama. Human Resources, que trata da gestão de recursos humanos, feita principalmente pelos contabilistas e administradores. Aqui poderá ser feita o registo de voluntários, a listagem de empregados do canil, assim como a modificação de informação pessoal pertinente a cada empregado. Está também reservada a possibilidade de contratação e despedimento de empregados, por parte do(s) administradore(s). 6 Visão Geral do SINF (2) Por sua vez, serão criados os seguintes grupos de privilégio: Customer, representado nos diagramas de arquitetura como “Cust”. Este grupo de privilégio está limitado à adoção de cães. Donator, representado como “Don”. Quem pertencer a este grupo de de privilégio pode, essencialmente, doar cães ao canil. Accountant, represesentado nos diagramas por “Acc”. Trata principalmente dos recursos humanos, assim como da confirmação de adoções e doações ao canil. Admin, assinalado como “Adm”. Pode fazer tudo o que um Accountant faz, tendo ainda outras permissões como contratar e despedir empregados. Está representado na base de dados como um atributo booleano de Accountant. Veterinarian, representado como “Vet”. No que toca á interface web, o seu principal papel é o de atualização da informação médica de cada cão. Animal Keeper, representado nos diagramas como “Ak”. Pode fazer, a par do Veterinarian, a modificação de informação (não-médica) de cada cão. 7 Interface com o Utilizador Podem aqui ser consultados os diagramas de arquitetura correspondentes a cada módulo, com formulários e relatórios, ligações, dados de entrada, saída e privilégios de acesso, conforme descritos na secção anterior. Módulo #1 – Main Module 8 Interface com o Utilizador (2) Módulo #2 – Dog Treatment 9 Interface com o Utilizador (3) Módulo #3 – Dog Management 10 Interface com o Utilizador (4) Módulo #4 – Human Resources 11 Arquitectura do Sistema A divisão das pastas foi a seguinte: bd css database dogmanage dogtreat humanres img Fotos_caes includes js lib plugins main sysplugins dogmanage templates Templates_c dogtreat humanres 12 Arquitectura do Sistema (2) Pastas: bd : Código SQL da base de dados; css: Folhas de estilo do website; database: Queries feitas à base de dados; dogmanage, dogtreat, humanres: Scripts de geração de conteúdos das páginas a serem apresentadas; img: Imagens utilizadas no website; includes: Scripts de ligação à BD e outros; js: Bibliotecas e funções em javascript; lib: Biblioteca do Smarty; main: Funções de login e registo de conta; templates: Templates do Smarty. 13 Exemplos de Utilização Quando se tenta doar um cão, aparece como campo exigido o ID. Ora, como se tornou do nosso conhecimento numa fase muito tardia do projeto a existência do tipo “serial”, implementar tal tipo implicaria refazer a base de dados quase totalmente, o que não seria exequível. No entanto, aplicamos tal funcionalidade da parte dos registo de pedidos de adoção, o que revela o nosso conhecimento e correta utilização desta utilidade. Como Cliente, poderá efetuar a adoção de cães. Para tal, deverá selecionar o cão que pretende adotar clicando no seu ID e, em seguida, preencher o formulário exigido. Após a submissão bem sucedida, deverá esperar que um Contabilista entre num sistema e verifique o pedido de adoção. Pode consultar o estado do pedido no menu do lado direito “Pesquisa de Cães” através do link “ Pesquisa de Pedidos de Adoção por Cliente”. Os Contabilistas podem, neste menu, aceder à “Lista de Pedidos de Adoção” onde poderão aceitar, recusar ou marcar reunião com o Cliente, para uma entrevista acerca da adoção do Cão. Depois de aceitar a adoção, deverão editar o campo “Adotável” no perfil do cão para “Não”, de modo a não ser visualizado no motor de busca. Importa também referir que Administradores e Veterinários podem editar os campos pessoais dos cães. 14 Exemplos de Utilização (2) MENU TRATAMENTO DE CÃES De uso exclusivo dos Veterinários e Tratadores de Animais, podendo os primeiros registar novos actos médicos. É feita a listagem dos cães e, selecionado o ID, será apresentado o historial médico desse cão. Neste momento um dos poucos cães que tem historial médico é o cão com ID 4. MENU RECURSOS HUMANOS Contabilistas e Administradores acedem a este menu. Apenas Admins podem contratar, despedir ou editar empregados. Permite visualizar todos os empregados do canil, tais como Veterinários, Contabilistas ou Tratadores de Animais. 15 Conclusão Este projecto permitiu-nos adquirir novas competências de programação web, pois fomos confrontados com a necessidade de utilizar diversas linguagens e tecnologias, tais como HTML, PHP, JavaScript e Smarty. Acreditamos que o trabalho apresentado tem um resultado bastante satisfatório e que foi bem sucedido. 16