LUMEWare
1.0
MANAUS
Manual do Sistema
Sumário
Manual do Sistema ...1 1 Apresentação...2 1.1 Breve Descrição...2 1.2 Características ...2 2 Propósito do Documento ...3 2.1 Introdução ...3 3 Implantação...43.1 Banco de Dados MySQL 5.x...4
3.2 Servidor de Aplicação APACHE 2.x ...8
3.3 PHP 5.2.x ...8 3.4 Sistema LUMEWARE ...9 4 WebServices ... 11 4.1 AutenticaUsuário ... 11 4.2 UsuariosDadosAlterados ... 11 4.3 CursosDisponiveis ... 11 4.4 UsuarioCursoInscrever ... 11
5 Modelo Entidade Relacionamento ... 12
Manual do Sistema
1
Apresentação
1.1 Breve Descrição
O LUMEWare:
* Alinha as inscrições dos colaboradores aos interesses da Organização; * Permite gerenciar o espaço físico (salas) em função das reservas (inscrições);
* Permite agendar as reservas de tal forma que não existam overlaps entre trabalhar e treinar; * Permite à área de treinamento uma gestão complementar na capacitação dos colaboradores.
1.2 Características
O LUMEWare foi desenvolvido utilizando as seguintes tecnologias:
Linguagem de programação:
PHP 5.2.X; (www.php.net/downloads.php) JavaScript;
Ajax biblioteca prototype; (www.prototypejs.org) CSS.
Sistema de Gerenciamento de Banco de Dados: MySQL 5.X; (www.mysql.com)
MySQL Query Browser; (www.mysql.com) MySQL Administrator. (www.mysql.com)
Ferramenta para execução das Stored Procedures de Integração: SQL Query Analyzer;
Servidor de Aplicação:
Apache 2.X; (www.apache.org/dist/httpd/binaries)
IDE:
Manual do Sistema
2
Propósito do Documento
2.1 Introdução
Este documento compreende as informações referentes à implantação do LUMEWARE.
Este documento será utilizado como base para as atividades de implantação, documentando as atividades realizadas, a fim de garantir o mínimo em configuração para implantação do sistema. As configurações aqui apresentadas foram realizadas em ambiente Windows XP Professional, localmente.
Manual do Sistema
3
Implantação
Esta seção compreende os passos necessários para instalação e configuração do sistema.
3.1 Banco de Dados MySQL 5.x
O SGBD utilizado neste tutorial será o MySQL, após instalação será necessário executar os seguintes scripts:
01_CREATE_DATABASE.sql;
CREATE DATABASE lumeware; USE lumeware;
02_DEFINIR_PERMISSOES.sql;
GRANT ALL ON lumeware.* TO 'usuariolumeware'@'localhost' IDENTIFIED BY 'lumeware';
03_CREATE_TABELAS.sql;
CREATE DATABASE IF NOT EXISTS lumeware;
USE lumeware;
DROP TABLE IF EXISTS curso; DROP TABLE IF EXISTS grade; DROP TABLE IF EXISTS item_grade; DROP TABLE IF EXISTS empresa; DROP TABLE IF EXISTS cargo; DROP TABLE IF EXISTS departamento; DROP TABLE IF EXISTS usuario; DROP TABLE IF EXISTS sala;
DROP TABLE IF EXISTS reserva_sala; DROP TABLE IF EXISTS tipo_perfil; DROP TABLE IF EXISTS perfil; DROP TABLE IF EXISTS matricula;
CREATE TABLE curso (
codCurso VARCHAR(15) NOT NULL, nomeCur VARCHAR(200) NULL, PRIMARY KEY (codCurso)
)TYPE=INNODB ;
Manual do Sistema
CREATE TABLE grade (
codGrade VARCHAR(15) NOT NULL, mesGra VARCHAR(2) NOT NULL, anoGra VARCHAR(4) NOT NULL, disponivelGra CHAR(1) NOT NULL, PRIMARY KEY (codGrade),
UNIQUE INDEX mesano(mesGra,anoGra) )TYPE=INNODB
;
CREATE TABLE item_grade (
codI_GraGra VARCHAR(15) NOT NULL, codI_GraCur VARCHAR(15) NOT NULL, PRIMARY KEY (codI_GraGra, codI_GraCur),
FOREIGN KEY (codI_GraCur) REFERENCES curso (codCurso), FOREIGN KEY (codI_GraGra) REFERENCES grade (codGrade) )TYPE=INNODB
;
CREATE TABLE empresa (
codEmpresa VARCHAR(30) NOT NULL, nomeEmp VARCHAR(100) NOT NULL, cnpjEmp VARCHAR(18) NULL,
emailEmp VARCHAR(100) NULL, telefoneEmp VARCHAR(20) NULL, cepEmp VARCHAR(9) NULL, ufEmp CHAR(2) NULL,
cidadeEmp VARCHAR(255) NULL, bairroEmp VARCHAR(50) NULL, enderecoEmp VARCHAR(255) NULL, numeroEmp INT NULL,
complementoEmp VARCHAR(50) NULL, PRIMARY KEY (codEmpresa)
)TYPE=INNODB ;
CREATE TABLE cargo (
codCargo VARCHAR(30) NOT NULL, nomeCar VARCHAR(100) NOT NULL, PRIMARY KEY (codCargo)
Manual do Sistema
;
CREATE TABLE departamento (
codDepartamento VARCHAR(30) NOT NULL, codDepEmp VARCHAR(30) NOT NULL, nomeDep VARCHAR(100) NOT NULL, PRIMARY KEY (codDepartamento),
FOREIGN KEY (codDepEmp) REFERENCES empresa (codEmpresa) )TYPE=INNODB
;
CREATE TABLE usuario (
matriculaUsuario VARCHAR(20) NOT NULL, nomeUsu VARCHAR(100) NOT NULL, sexoUsu CHAR(1) NULL,
loginUsu VARCHAR(50) NULL, senhaUsu VARCHAR(32) NULL, emailUsu VARCHAR(100) NULL, dataNascimentoUsu DATE NULL,
codUsuDep VARCHAR(30) NOT NULL, codUsuCar VARCHAR(30) NOT NULL, codUsuEmp VARCHAR(30) NOT NULL, PRIMARY KEY (matriculaUsuario),
FOREIGN KEY (codUsuEmp) REFERENCES empresa (codempresa), FOREIGN KEY (codUsuCar) REFERENCES cargo (codCargo),
FOREIGN KEY (codUsuDep) REFERENCES departamento (codDepartamento) )TYPE=INNODB
;
CREATE TABLE sala (
numeroSala INT NOT NULL,
localSal VARCHAR(200) NOT NULL, capacidadeSal INT NOT NULL,
PRIMARY KEY (numeroSala) )TYPE=INNODB
;
CREATE TABLE reserva_sala (
codReservaSala VARCHAR(15) NOT NULL, numeroR_SalSal INT NOT NULL,
dataR_Sal DATE NOT NULL, horarioR_Sal TIME NOT NULL,
Manual do Sistema
codR_SalI_GraGra VARCHAR(15) NOT NULL, codR_SalI_GraCur VARCHAR(15) NOT NULL, PRIMARY KEY (codReservaSala),
FOREIGN KEY (codR_SalI_GraGra, codR_SalI_GraCur) REFERENCES item_grade (codI_GraGra, codI_GraCur),
FOREIGN KEY (numeroR_SalSal) REFERENCES sala (numeroSala), UNIQUE INDEX reserva(numeroR_SalSal,dataR_Sal,horarioR_Sal) )TYPE=INNODB
;
CREATE TABLE tipo_perfil (
codTipo_Perfil INT NOT NULL,
descPer VARCHAR(100) NOT NULL, PRIMARY KEY (codTipo_Perfil)
)TYPE=INNODB ;
CREATE TABLE perfil (
matriculaPerUsu VARCHAR(20) NOT NULL, codPerT_Per INT NOT NULL,
PRIMARY KEY (matriculaPerUsu, codPerT_Per),
FOREIGN KEY (codPerT_Per) REFERENCES tipo_perfil (codTipo_Perfil), FOREIGN KEY (matriculaPerUsu) REFERENCES usuario (matriculaUsuario) )TYPE=INNODB
;
CREATE TABLE matricula (
codReservaSala VARCHAR(15) NOT NULL, matriculaUsuario VARCHAR(20) NOT NULL, matriculado CHAR(1) NOT NULL,
autorizado CHAR(1) NOT NULL,
PRIMARY KEY (codReservaSala, matriculaUsuario),
FOREIGN KEY (matriculaUsuario) REFERENCES usuario (matriculaUsuario), FOREIGN KEY (codReservaSala) REFERENCES reserva_sala (codReservaSala) )TYPE=INNODB
;
04_INSERT_TIPO_PERFIL.sql.
USE lumeware;
INSERT INTO tipo_perfil VALUES(1,"ADMINISTRADOR"); INSERT INTO tipo_perfil VALUES(2,"TREINAMENTO");
Manual do Sistema
INSERT INTO tipo_perfil VALUES(3,"GESTOR"); INSERT INTO tipo_perfil VALUES(4,"ALUNO");
3.2 Servidor de Aplicação APACHE 2.x
Após instalação, é apresentada a seguinte estrutura de pastas:
*Abra o arquivo httpd.conf, na pasta conf. No final do arquivo, depois de tudo o que tiver nele, adicione as duas linhas a seguir:
PHPIniDir C:\\php5
LoadModule php5_module C:\\php5\\php5apache2_2.dll Salve e feche o arquivo httpd.conf.
*Abra o arquivo mime.types e adicione no final de tudo as duas linhas a seguir: application/x-httpd-php php
application/x-httpd-php-source phps Salve e feche o arquivo mime.types.
3.3 PHP 5.2.x
Após a instalação do php, alterar as seguintes linhas do php.ini:
allow_url_include alterar o valor de Off para On.
Manual do Sistema
error_reporting comentar (error_reporting=E_ALL) e descomentar (error_reporting=E_ALL & ~E_NOTICE)
extension_dir= ./ descomentar e apontar para o diretório onde se encontra as bibliotecas, na figura acima as bibliotecas se encontram no diretório (C:\php5\ext).
extension=php_mysqli.dll descomentar. extension=php_mssql.dll descomentar. extension=php_soap.dll comentar.
max_execution_time alterar o valor de 30 para 60. register_globals alterar o valor de Off para On. short_open_tag alterar o valor de Off para On.
3.4 Sistema LUMEWARE
Nesta seção será demonstrado o arquivo de configuração do sistema, chamado constantes.php.
Abaixo, é apresentado o arquivo de configuração do sistema LUMEWARE: constantes.php
Manual do Sistema
Vale salientar, que o valor da constante chamada $cod_empresa, constante referente ao código de cada distribuidora é a seguinte: CEAL: 1; CEPISA: 2; Amazonas Energia: 192; CERON: 4; Eletroacre: 5;
Manual do Sistema
4
WebServices
4.1 AutenticaUsuário
(Verifica Auteticação)
Este método é invocado no momento em que o usuário envia matrícula e senha, o método retorna 1(um) caso o usuário seja válido e 0(zero) caso seja um usuário inválido. Se houver alguma falha referente ao acesso ao WebService, o usuário é autenticado localmente.
É passado como parâmetros chave do cliente, login e senha, retorna um arquivo XML podendo extrair um inteiro e email caso o usuário tenha efetuado alteração de seus dados no lms.
4.2 UsuariosDadosAlterados
(Retorna os usuários que alteram seus dados nas últimas 24 horas)
Este método é invocado sempre que o usuário de perfil Administrador é autenticado no sistema. É passado como parâmetros chave do cliente e código da empresa, retornando um arquivo XML podendo extrair matrícula, senha e email dos usuário que efetuaram alteração de seus dados no lms.
4.3 CursosDisponiveis
(Retorna os cursos diponíveis)
Este método é invocado sempre que o usuário de perfil Administrador seleciona o link no sistema Lumeware chamado [Obter grade de cursos da DTCOM].
É passado como parâmetros chave do cliente, mês e ano, retorna um arquivo XML podendo extrair o código do curso e a descrição.
4.4 UsuarioCursoInscrever
(Inscreve um usuário em um curso)
Este método é invocado sempre que o usuário Administrador ou Treinamento efetuam a matrícula dos alunos.
É passado como parâmetros chave do cliente, matrícula, código do curso, ação e mensagem do email que será retornado ao aluno, este método retorna um arquivo xml.
Manual do Sistema
5
Modelo Entidade Relacionamento
,
Manual do Sistema
6
Dicionário de Dados
DESCRIÇÃO DAS TABELAS E CAMPOS TABELA: EMPRESA
codEmpresa VARCHAR(30) NOT NULL Código da empresa
nomeEmp VARCHAR(100) NOT NULL Nome da empresa
cnpjEmp VARCHAR(18) NULL C.N.P.J. da empresa
emailEmp VARCHAR(100) NULL Email da empresa
telefoneEmp VARCHAR(20) NULL Telefone de contato na empresa
cepEmp VARCHAR(9) NULL C.E.P. da empresa
ufEmp CHAR(2) NULL UF da empresa
cidadeEmp VARCHAR(255) NULL Cidade da empresa
bairroEmp VARCHAR(50) NULL Bairro da empresa
enderecoEmp VARCHAR(255) NULL Endereço da empresa
numeroEmp INT NULL Numero da empresa
complementoEmp VARCHAR(50) NULL Complemento da empresa
TABELA: DEPARTAMENTO
codDepartamento VARCHAR(30) NOT NULL Código do departamento
codDepEmp VARCHAR(30) NOT NULL
Código da empresa ao qual o departamento pertence
nomeDep VARCHAR(100) NOT NULL Nome do departamento
TABELA: CARGO
codCargo VARCHAR(30) NOT NULL Código do cargo
nomeCar VARCHAR(100) NOT NULL Nome do cargo
TABELA: USUARIO
matriculaUsuario VARCHAR(20) NOT NULL
Matrícula do usuário na empresa precedido da sigla do estado
nomeUsu VARCHAR(100) NOT NULL Nome do usuário
sexoUsu CHAR(1) NULL Sexo do usuário F/M
loginUsu VARCHAR(50) NULL
Identificação para acesso ao lms ou ao lumeware, é o mesmo valor do campo
matriculaUsuario
senhaUsu VARCHAR(32) NULL Senha criptografada em MD5.
emailUsu VARCHAR(100) NULL Email do usuário
dataNascimentoUsu DATE NULL Data de nascimento do usuário
codUsuDep VARCHAR(30) NOT NULL
Código do departamento ao qual o usuário pertence
codUsuCar VARCHAR(30) NOT NULL
Código do cargo ao qual o usuário pertence
codUsuEmp VARCHAR(30) NOT NULL
Código da empresa ao qual o usuário pertence
Manual do Sistema
matriculaPerUsu VARCHAR(20) NOT NULL Matrícula do usuário
codPerT_Per INT NOT NULL
Código do tipo de perfil do usuário
TABELA: TIPO_PERFIL
codTipo_Perfil INT NOT NULL
Código do tipo de perfil do usuário
descPer VARCHAR(100) NOT NULL Descrição do tipo de perfil
TABELA: MATRICULA
codReservaSala VARCHAR(15) NOT NULL
Código referente a reserva da sala
matriculaUsuario VARCHAR(20) NOT NULL Matrícula do usuário
matriculado CHAR(1) NOT NULL
Indentificação referente a matrícula do usuário em determinado curso, se 0 o usuário não foi matriculado, se 1 o usuário foi matriculado
autorizado CHAR(1) NOT NULL
Identificação referente à autorização do usuário pelo gestor, se 0 usuário não autorizado pelo gestor, se 1 usuário autorizado pelo gestor, caso seja recusado, é excluído fisicamente desta tabela
TABELA: RESERVA_SALA
codReservaSala VARCHAR(15) NOT NULL
Código referente a reserva da sala
numeroR_SalSal INT NOT NULL Número de identificação da sala
dataR_Sal DATE NOT NULL Data de reserva da sala
horarioR_Sal TIME NOT NULL Horario de reserva da sala
codR_SalI_GraGra VARCHAR(15) NOT NULL Código da grade
codR_SalI_GraCur VARCHAR(15) NOT NULL
Código do curso ao qual a sala está reservada
TABELA: SALA
numeroSala INT NOT NULL Número de identificação da sala
localSal VARCHAR(200) NOT NULL Local físico da sala
capacidadeSal INT NOT NULL Capacidade da sala
TABELA: ITEM_GRADE
codI_GraGra VARCHAR(15) NOT NULL Código da grade
codI_GraCur VARCHAR(15) NOT NULL Código do curso
TABELA: CURSO
codCurso VARCHAR(15) NOT NULL Código do curso
nomeCur VARCHAR(200) NULL Nome do curso
Manual do Sistema
TABELA: GRADE
codGrade VARCHAR(15) NOT NULL Código da grade
mesGra VARCHAR(2) NOT NULL Mês o qual a grade pertence
anoGra VARCHAR(4) NOT NULL Ano o qual a grade pertence
disponivelGra CHAR(1) NOT NULL
Tornar disponível a grade para que, os usuário possam efetuar a inscrição, se 0 grade
indisponível, se 1 grade disponível