UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICA CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA PARA LA ASOCIACIÓN DE ÁRBITROS DE BALONMANO DE LA PROVINCIA DEL GUAYAS PARA EL CONTROL DE LOS PROCESOS OPERATIVOS Y GESTIÓN DE SOCIOS Y CUOTAS REALIZADO EN AMBIENTE WEB Y UN MÓDULO PARA CONSULTAS DESDE DISPOSITIVOS MÓVILES. Manual Técnico TESIS DE GRADO Previa a la obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES YURI EVELYN NUÑEZ PORTILLA TUTOR: ING. CHRISTIAN ANTÓN GUAYAQUIL – ECUADOR 2013 94 INDICE GENERAL INTRODUCCIÓN .......................................................................................................................... 98 MODELO ENTIDAD RELACIÓN .............................................................................................. 101 DICCIONARIO DE DATOS ........................................................................................................ 102 DIAGRAMA DE CASO DE USO ................................................................................................ 131 CASO DE USO DEL USUARIO ............................................................................................. 132 CASOS DE USO DEL USUARIO ADMINISTRADOR ........................................................ 133 CASOS DE USO DEL SOCIO Y ÁRBITRO ......................................................................... 134 CASO DE USO DE ALUMNO ................................................................................................ 135 CASO DE USO SECRETARIO ............................................................................................... 136 DISTRIBUCIÓN FÍSICA DEL SISTEMA .................................................................................. 137 SITIO WEB ÁRBITROS BALONMANO ................................................................................... 137 DIAGRAMA GENERAL DEL SISTEMA................................................................................... 138 NARRATIVA DEL DIAGRAMA GENERAL DE MANTENIMIENTO DEL SISTEMA KIAN. ....................................................................................................................................... 138 DIAGRAMA JERÁRQUICO DEL SISTEMA KIAN ................................................................. 139 MÓDULOS DE PROGRAMACIÓN ....................................................................................... 139 DESCRIPCIÓN DE LA IMPLEMENTACIÓN DEL SISTEMA KIAN ...................................... 140 FUNCIONES PRINCIPALES DEL SISTEMA ........................................................................... 143 FUNCIÓN ABRIR SECCIÓN ............................................................................................. 143 FUNCIÓN CERRAR SECCIÓN ......................................................................................... 143 FUNCIÓN PARA CARGAR LAS PAGINAS DEL MENÚ ............................................... 143 FUNCIÓN CARGAR MENÚ .............................................................................................. 144 FUNCIÓN CARGAR PAGINA ........................................................................................... 144 FUNCIÓN CARGAR FORMULARIO ............................................................................... 144 MANTENIMIENTO ................................................................................................................ 145 95 INDICE DE FIGURAS TABLA DE CONTENIDO FIGURA 1. TABLA DEL SISTEMA KIAN ................................................................................ 101 FIGURA 2 ACTORES DE SISTEMA ......................................................................................... 131 FIGURA 3 CASO DE USO PARA USUARIO ............................................................................ 132 FIGURA 4 CASO DE USO DEL ADMINISTRADOR ............................................................... 133 FIGURA 5 CASO DE USO DE SOCIO Y ARBITRO ................................................................. 134 FIGURA 6 CASO DE USO DE ALUMNO ................................................................................. 135 FIGURA 7 CASO DE USO DE SECRETARIO .......................................................................... 136 FIGURA 8. DISTRIBUCIÓN FÍSICA DEL SISTEMA............................................................... 137 FIGURA 9. DIAGRAMA GENERAL DEL SISTEMA KIAN .................................................... 138 FIGURA 10 DIAGRAMA JERÁRQUICO DEL SISTEMA ........................................................ 139 FIGURA 11 FORMULARIO DE IDENTIFICACIÓN ................................................................ 141 96 INDICE DE CUADROS CUADRO 1: RESUMEN DE DICCIONARIO DE DATOS ........................................................ 103 CUADRO 2: DESCRIPCIÓN DE LA TABLA ALUMNO_CURSO. ......................................... 104 CUADRO 3: DESCRIPCIÓN DE LA TABLA CARGO. ............................................................ 105 CUADRO 4: DESCRIPCIÓN DE LA TABLA CATEGORÍA. ................................................... 106 CUADRO 5: DESCRIPCIÓN DE LA TABLA CIUDAD. .......................................................... 107 CUADRO 6: DESCRIPCIÓN DE LA TABLA CURSO. ............................................................. 109 CUADRO 7: DESCRIPCIÓN DE LA TABLA DEBITO. ........................................................... 111 CUADRO 8: DESCRIPCIÓN DE LA TABLA DESCARGO...................................................... 113 CUADRO 9: DESCRIPCIÓN DE LA TABLA INSCRIPCIÓN. ................................................. 115 CUADRO 10: DESCRIPCIÓN DE LA TABLA INSTITUCIÓN. ............................................... 117 CUADRO 11: DESCRIPCIÓN DE LA TABLA ÍTEM. .............................................................. 118 CUADRO 12: DESCRIPCIÓN DE LA TABLA MENÚ. ............................................................ 119 CUADRO 13: DESCRIPCIÓN DE LA TABLA PER_MNU. ..................................................... 120 CUADRO 14: DESCRIPCIÓN DE LA TABLA PERIODO_ANUAL. ....................................... 122 CUADRO 15: DESCRIPCIÓN DE LA TABLA PERSONAL. ................................................... 125 CUADRO 16: DESCRIPCIÓN DE LA TABLA PROVINCIA. .................................................. 126 CUADRO 17: DESCRIPCIÓN DE LA TABLA RUBRO. .......................................................... 127 CUADRO 18: DESCRIPCIÓN DE LA TABLA SUB_MENU. ................................................... 128 CUADRO 19: DESCRIPCIÓN DE LA TABLA SUGERENCIA. ............................................... 130 97 INTRODUCCIÓN Este manual consolidará la información técnica necesaria acerca del Software desarrollado, para que en el futuro las personas encargadas de su administración tengan pleno conocimiento y la mayor cantidad de referencias posibles para su correcto manejo, mejoras y optimización. El responsable del mantenimiento y administración del Sitio web Árbitros Balonmano Guayas podrá tener a su alcance esta información. El diseño utilizado para el desarrollo del sistema. La estructura de datos utilizados. Los formatos de menú pantalla y consultas utilizadas. Mantener cada página con los datos e información actualizada de manera oportuna. Ingresar los registros oportunos de la Asociación. Mantener una base de datos con información actualizada de la Asociación. Este manual está dirigido a las personas que serán responsables del mantenimiento del sitio web, para que puedan ejercer su administración una vez implementado el sitio: Administradores. Programadores encargados. Personal con conocimiento en Análisis y/o programación. 98 Para poder ejercer bien las actividades de administrador responsable del mantenimiento del sitio web, esta persona deberá tener conocimiento en: Aplicaciones de Diseño. Programación Php, JQuery, JQuerymovil, HTML. Manejador de Bases de Datos, Mysql. Nombre del Sitio Web El formato de nombre está constituido por 23 caracteres que representan el tipo de institución a la que pertenecen y el lugar en que está establecido, en este caso la provincia al que pertenecen. Arbitrosbalonmanoguayas El sitio está compuesto por varios tipos de usuarios, los cuales son: Súper administrador, administrador y Usuario (socios, árbitros, alumnos), en el desarrollo de este instructivo se dará a conocer su proceso de acceso y utilización. 99 Base de Datos La Base de Datos que se utilizara será “bdkian”, que servirá para todo el Sitio Web, con los siguientes motores de bases de datos: Manejador de Base de Datos: MySQL. Editor Web utilizado: Dreamweaver. 100 Modelo Entidad Relación Tablas para la creación del Sistema Kian (Administrativo). Figura 1. Tabla del Sistema Kian 101 Este módulo contiene 18 tablas que se encuentran relacionadas entre sí, dando forma la base para almacenamiento de los datos de l sistema, además de los datos correspondientes a la entidad personal que permite guardar la información que se relacionara con las tablas del resto del personal que contiene la asociación. DICCIONARIO DE DATOS En la página anterior se presenta el Diagrama Entidad - Relación de las tablas pertenecientes al Sistema KIAN. La Descripción detallada de las tablas, índices, claves primarias, tipos de dato se encontrará a partir de la siguiente página en el formato establecido para tal fin. Las tablas se irán describiendo en orden aleatorio. 102 Base de Dato: 1. Alumno_curso 2. Cargo 3. Categoría 4. Ciudad Tablas: 5. Curso 6. Debito 7. Descargo 8.- Inscripción 9. Institución 10. Ítem 11. Menú 12. Per_mnu 13. Periodo Anual 14. Personal 15. Provincia 16. Rubro 17. Sub menú 18. Sugerencia CUADRO 1: Resumen de Diccionario de Datos 103 DESCRIPCION DE TABLAS Nombre de Tabla: Alumno_curso Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Foreign Key Nombre Columna Descripción Tipo de Dato Nullable 1 X Per_id Identidad de Registro de personas Int (11) No 2 X Cur_id Identidad de asignación de cursos Int (11) No Estado Estado de alumno_curso Char (1) No 3 Primary Key CUADRO 2: Descripción de la Tabla Alumno_curso. 104 DESCRIPCION DE TABLAS Nombre de Tabla: Cargo Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X 2 Foreign Key Nombre Columna Car_id Descripción Tipo de Dato Nullable Almacena el código único Int (11) No Nombre Descriptivo Varchar(40) No Descripción CUADRO 3: Descripción de la tabla Cargo. 105 DESCRIPCION DE TABLAS Nombre de Tabla: Categoría Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Cat_id Descripción Tipo de Dato Nullable Almacena el código único Int (11) No 2 Cat_descripcion Nombre Descriptivo Varchar(30) No 3 Cat_valor_anual Valor anual por categorías Decimal(12,2) No 4 Cat_tipo Tipo de persona socio y árbitros Char (1) No 5 Cat_estado Estado de la categoría Char (1) No CUADRO 4: Descripción de la tabla Categoría. 106 DESCRIPCION DE TABLAS Nombre de Tabla: Ciudad Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X 2 3 Foreign Key X Nombre Columna Descripción Tipo de Dato Nullable ciu_id Almacena el código único Int (11) No prv_id Identidad de provincia Int (11) No Nombre descriptivo Varchar(40) No ciu_nombre CUADRO 5: Descripción de la tabla Ciudad. 107 DESCRIPCION DE TABLAS Nombre de Tabla: Curso Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Descripción Tipo de Dato Nullable cur_id Almacena el código único Int (11) No 2 cur_nombre Nombre del curso Varchar(40) No 3 cur_descripcion Descripción detallada del curso Text Si 4 cur_lugar Lugar a dictar el curso Varchar(40) No 5 cur_fecini Fecha de inicio Date No 108 6 cur_numero Numero de estudiante por curso Int (5) No 7 cur_dia Días de duración del curso Int (5) No 8 cur_fecfin Fecha de fin Date No 9 cur_horini Hora de inicio Char (5) No 10 cur_horfin Hora q finaliza Char (5) No 11 cur_valor Valor del curso Decimal(12,2) No 12 cur_cupo Cupo disponible Int (5) No 13 cur_estado Estado de un curso Char (1) No CUADRO 6: Descripción de la tabla Curso. 109 DESCRIPCION DE TABLAS Nombre de Tabla: Debito Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Nombre Columna Descripción Tipo de Dato Nullable deb_id Almacena el código único Int (11) No 2 deb_codigo Descripción de tipo de documento Varchar(11) No 3 deb_tipdoc Tipo de documento Char(3) No 4 deb_fectrn Fecha emisión Date No per_id Identificador de personal Int (11) No 5 Foreign Key X 110 6 X Rub_id Identificador de un servicio Int (11) No 7 deb_periodo Periodo a trabajar Int (4) No 8 deb_detalle Detalle de los pagos Varchar(30) No 9 deb_fecven Fecha de vencimiento Date No 10 deb_valor Valor a pagar por deudas Decimal(12,2) No 11 deb_anula Anular un pago Int (11) No 12 deb_fecanl Fecha de cancelación de un pago Date No 13 deb_horanl Hora de cancelación de un pago Time No 14 deb_estado Estado de un debito Char (1) No CUADRO 7: Descripción de la tabla Debito. 111 DESCRIPCION DE TABLAS Nombre de Tabla: Descargo Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Descripción Tipo de Dato Nullable des_id Almacena el código único Int (11) No 2 X deb_id Identificador de un debito Int (11) No 3 X per_id Identificador de un personal Int (11) No des_tipdoc Tipo de documento a debitar Char (3) No 4 112 5 des_fectrn Fecha de emisión de un descargo Date No 6 des_detalle Detalle de los pagos Varchar(30) No 7 des_valor Valor a cancelar Decimal(12,2) No 8 des_usr Usuario que cancelo Int (11) No 9 des_hora hora de cancelación Time No 10 des_anula Anulación de un pago Int (11) No 11 des_fecanl Fecha de cancelación Date No 12 des_horanl Hora de cancelación Time No 13 des_estado Estado de descargo Char (1) No CUADRO 8: Descripción de la tabla Descargo. 113 DESCRIPCION DE TABLAS Nombre de Tabla: Inscripción Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Descripción Tipo de Dato Nullable inc_id Código de inscripción Int (11) No 2 inc_amo Año de inscripción Int (4) No 3 inc_fecha Fecha de inscripción Datetime No 4 X per_id Identificador de persona Int (11) No 5 X pan_id Identificador de periodo lectivo Int (11) No inc_fec_inicio Fecha de inicio Date No 6 114 7 inc_fec_fin Fecha de fin Date No 8 inc_valor Valor de inscripción Double(12,2) No 9 inc_num_pagos Numero de pagos Int (2) No 10 inc_anual Pago anual Double(12,2) No 11 inc_estado Estado de inscripción Char (1) No CUADRO 9: Descripción de la tabla Inscripción. 115 DESCRIPCION DE TABLAS Nombre de Tabla: Institución Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Descripción Tipo de Dato Nullable int_id Identificador de una institución Int (5) No 2 int_nombre Nombre de la institución Varchar(50) No 3 int_ruc Ruc o cedula Varchar(15) No 4 X prv_id Identificador de provincia Int (11) No 5 X ciu_id Identificador Ciudad Int (11) No 116 6 int_direccion Ubicación donde se encuentra Varchar (50) No 7 int_telefono1 Numero de teléfono Varchar (10) No 8 int_telefono2 Numero de teléfono Varchar (10) No 9 int_fax Numero de teléfono Varchar (10) No 10 int_movil Numero de teléfono Varchar (10) No 11 int_email Dirección email Varchar (50) No 12 int_web Dirección Web Varchar (50) No 13 int_logo Logo de la institución Blob Si 14 int_password Paswword principal Char (10) No 15 int_principal Definir como principal Int (1) CUADRO 10: Descripción de la tabla Institución. 117 DESCRIPCION DE TABLAS Nombre de Tabla: Ítem Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Nombre Columna Descripción Tipo de Dato Nullable ite_id Identificador de un ítem Int (11) No sub_id Identificador de un submenú Int (11) No 3 ite_nombre Nombre de un item Varchar(100) No 4 ite_programa Nombre de un modulo Varchar(100) No 2 Foreign Key X CUADRO 11: Descripción de la tabla Ítem. 118 DESCRIPCION DE TABLAS Nombre de Tabla: Menú Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Descripción Tipo de Dato Nullable men_id Identificador de un menú Int (11) No 2 men_tipo Tipo de menú Char (1) No 3 men_nombre Nombre del menú Varchar(100) No 4 men_programa Programa menú Varchar(100) No CUADRO 12: Descripción de la tabla Menú. 119 DESCRIPCION DE TABLAS Nombre de Tabla: Per_mnu Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Foreign Key Nombre Columna Descripción Tipo de Dato Nullable 1 X per_id Identificador persona Int (11) No 2 X men_id Identificador de menú Int (11) No Tipmnu Tipo de menú Char(3) No 3 Primary Key CUADRO 13: Descripción de la tabla Per_mnu. 120 DESCRIPCION DE TABLAS Nombre de Tabla: Periodo_anual Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Descripción Tipo de Dato Nullable pan_id Identificador de un perido Int (11) No 2 pan_amo Año de un periodo Int (4) No 3 pan_descripcion Descripción de un ingreso a un periodo Varchar(30) No 4 pan_fec_inicio Fecha en que inicia un periodo Date No 5 pan_fec_fin Fecha de fin Date No 121 6 pan_val_inscripcion Valor de inscripción de un periodo Double (12,2) No 7 pan_estado Estado de un periodo Char (1) No CUADRO 14: Descripción de la tabla Periodo_anual. 122 DESCRIPCION DE TABLAS Nombre de Tabla: Personal Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Descripción Tipo de Dato Nullable per_id Identificador persona Int (11) No 2 per_ruc Numero de cedula Varchar(13) No 3 per_apellidos Apellidos Varchar(40) No 4 per_nombres Nombres Varchar(40) No 5 per_tipo Tipo de persona Char (1) No 6 per_socio Si es socio o no Char (1) No 7 tip_per_id Identificador persona Int (11) No 123 8 per_password Password personal Varchar(10) No 9 per_est_civil Estado civil Char (1) No 10 per_sexo Sexo Char (1) No 11 per_fec_nacimiento Fecha nacimiento Date No 12 per_num_hijos Numero de hijos Int (2) No 13 per_direccion Dirección domiciliaria Text No 14 X pai_id Identificador de periodo Int (11) No 15 X prv_id Identificador de provincia Int (11) No 16 X ciu_id Identificador de ciudad Int (11) No 17 per_telefono Numero de teléfono Varchar (15) No 18 per_mobil Numero móvil Varchar (15) No 19 per_email Email personal Varchar (50) No 20 per_fec_alta Fecha de ingreso Datetime No 124 21 per_fec_baja Fecha de salida Datetime No 22 per_sueldo Sueldo a ganar Decimal (12,2) No 23 per_observacion Observación extra Text No 24 per_foto Foto de persona Text No 25 per_estado Estado de una persona Char (1) No CUADRO 15: Descripción de la tabla Personal. 125 DESCRIPCION DE TABLAS Nombre de Tabla: Provincia Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X 2 Foreign Key Nombre Columna Descripción Tipo de Dato Nullable prv_id Identificador de provincia Int (11) No prv_nombre Descripción del nombre Varchar (40) No CUADRO 16: Descripción de la tabla Provincia. 126 DESCRIPCION DE TABLAS Nombre de Tabla: Rubro Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Descripción Tipo de Dato Nullable rub_id Identificador de rubro Int (11) No 2 rub_descripcion Descripción del nombre Varchar (50) No 3 rub_des_corta Descripción corta Char (3) No 4 rub_valor Valor de un servicio Decimal (12,2) No 5 rub_estado Estado de un servicio Char (1) No CUADRO 17: Descripción de la tabla Rubro. 127 DESCRIPCION DE TABLAS Nombre de Tabla: Sub_menu Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Nombre Columna Descripción Tipo de Dato Nullable sub_id Identificador de un submenú Int (11) No men_id Identificador de un menú Int (11) No 3 sub_tipo Tipo de submenú Char (1) No 4 sub_margin Tamaño del margen Char (5) No 5 sub_nombre Nombre del submenú Varchar (100) No 6 sub_programa Nombre del programa Varchar (100) No 2 Foreign Key X CUADRO 18: Descripción de la tabla Sub_menu. 128 DESCRIPCION DE TABLAS Nombre de Tabla: Sugerencias Gestor de la Base: MSQL Fecha de Creación: 30/01/2013 Base de Datos: BDKIAN DESCRIPCIÓN DE CAMPOS Nº Primary Key 1 X Foreign Key Nombre Columna Descripción Tipo de Dato Nullable sug_id Identificador de sugerencias Int (11) No 2 sug_fecha Fecha de sugerencia Varchar (20) No 3 sug_nombres Nombres de quien envía Varchar (50) No 4 sug_telefono Teléfono de quien envía Varchar (30) No 129 5 sug_email Email de quien envía Varchar (50) No 6 sug_direccion Dirección quien envía Varchar (50) No 7 sug_sugerencia La sugerencia a enviar Varchar (250) No CUADRO 19: Descripción de la tabla Sugerencia. 130 DIAGRAMA DE CASO DE USO Los diagramas de casos de uso nos permitirán conocer los distintos tipos de Actores que podrán acceder y/o utilizar nuestra aplicación. También nos servirá para especificar las acciones que tendrán dichos usuarios dentro de nuestra aplicación, así como las relaciones que aparecerán entre los distintos casos de uso Socio Arbitro Figura 2 Actores de Sistema En la Figura 2 Actores del sistema se puede ver los distintos tipos de actores (entidades externas al sistema que interactúan con él) que podrán acceder a la 131 aplicación. Todos ellos derivan de Usuario. Este actor representa para la aplicación Web a todos aquellos usuarios que no se han identificado ante el sistema, ya sea porque todavía no hayan iniciado la sesión o porque sean usuarios que estén de paso o buscando información. CASO DE USO DEL USUARIO Consultar Información de la Institución Debatir en el Foro Ver Galería de Fotos Descargar Archivos Figura 3 Caso de Uso Para Usuario En la Figura 3 Caso de uso para Usuario se puede ver los casos de usos a los que podrá acceder el actor Usuario. Dado que este tipo de actor no se ha identificado ante el sistema, las acciones que podrá realizar serán en consecuencia muy limitadas, centrándose en la obtención de información general de la institución. 132 CASOS DE USO DEL USUARIO ADMINISTRADOR Inicia Sesión Crea Cargos Crea Categorías Socio Y Árbitros Crea Cursos Crea Provincias Crea Ciudad Crea Empleados Crea Periodos Crea Institución Crea Servicios Backup Password Principal Figura 4 Caso de Uso del Administrador 133 En la imagen anterior, puede verse el caso de uso del actor Administrador. Este actor será el que más funcionalidades posea, ya que, además de las funcionalidades que posee todo usuario registrado, como administrador tendrá acceso total al sistema. CASOS DE USO DEL SOCIO Y ÁRBITRO Inicia Sesión Ve Estado de Cuenta Cambia Contraseña Socio Arbitro Contáctenos Figura 5 Caso de Uso de Socio y Arbitro Este caso de uso, muestra las funcionalidades que tendrán a su disposición tanto Los socios como los árbitros. 134 CASO DE USO DE ALUMNO Inicia Sesión Ver Estado Cuenta Contáctenos Cambio Contraseña Cursos Disponibles Figura 6 Caso de Uso de Alumno Este caso de uso, muestra las funcionalidades que tendrán a su disposición los alumnos para que puedan llevar un mejor control de sus deudas a pagar. 135 CASO DE USO SECRETARIO Inicio Sesión Crea Cursos Crea Empleados Acepta solicitud socios Árbitros, Alumnos Acepta reserva de cursos Crea Servicios Ingresa Movimientos Inicia Caja Cierre de Caja Figura 7 Caso de Uso de Secretario En la Figura 7 Caso de uso para secretario pueden verse las funcionalidades de las que dispondrá el secretario. En este caso será el que más pueda modificar el sistema 136 (aparte del administrador), ya que el secretario dispondrá de varios casos de uso que le permitirán modificar la información de los socios, árbitros y alumnos. Distribución Física del Sistema Sitio Web Árbitros Balonmano Figura 8. Distribución Física del Sistema 137 Diagrama General del Sistema Figura 9. Diagrama General del Sistema Kian Narrativa del Diagrama General de Mantenimiento del Sistema KIAN. 1.- Ingreso de información necesaria, para alimentar la base de datos BDKIAN en cada una de las tablas especificas que va a utilizar el sistema. 2.- El Sistema, alimenta y actualiza la información almacenada en las tablas. 3.- Se obtiene consultas de los servicios que ofrece la Asociación. 138 Diagrama Jerárquico del Sistema Kian Módulos de Programación Sistema de Creación del Sistema SW_KIAN Mantenimiento Directorio Periodo Anual Socios Servicios Password Árbitros Movimientos Backup Alumnos Inicio Caja Parámetros Institución Cierre Caja Personas Cursos Tesorería Sugerencias Cargo Categoría Socio Aspirante Socio Aspirante Arbitro Categoría Árbitro Curso Aspirante Alumno Provincia Empleados Ciudad Figura 10 Diagrama Jerárquico del Sistema 139 Descripción de la Implementación del Sistema KIAN El formulario de identificación consta de dos campos. El primero es para introducir el login del usuario, mientras que el segundo es de tipo password que, como su propio nombre indica, es para introducir la contraseña. El código del Formulario es el siguiente. <form id="frmLogin" name="frmLogin" method="post" action=""> <table width="200" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="80">Usuario:</td> <td width="120"> <input type="text" class="text" id="txtUsr" size="10" maxlength="10" onKeyPress="return soloNumeros(event);"/> </td> </tr> <tr><td width="80">Password:</td> <td width="120"><input type="password" class="text" id="txtPass" onKeyPress="return soloLetrasNumeros(event);" size="10" maxlength="10"/> </td></tr> <tr><td colspan="2" align="center"><input type="button" id="ok" value="Aceptar"/></td></tr> </table> </form> Cuando se pulsa sobre aceptar, se redirige al usuario al loguin.php, el cual será explicado más abajo, cuando nos centremos en los ficheros correspondientes a la capa de aplicación. Si la autentificación es errónea, se crea una cookie y se devuelve al usuario a index. function cargar(){ var pass=$('#txtPass').attr('value'); var usu =$('#txtUsr').attr('value'); var parametro="entrar=0&txtUsu="+usu+"&txtPwd="+pass; if($('#txtUsr').attr('value')==''){ 140 alert('Ingrese el usuario...'); $('#txtUsr').focus(); return false;} if($('#txtPass').attr('value')==''){ alert('Ingrese el password...'); $('#txtPass').focus(); return false; } if(eval(pass.length) < 3){ alert('El password debe tener minimo tres digitos...'); $('#txtPass').focus(); return false;} $.ajax({ url: 'intro.php', type: "POST", data: parametro, success: function(datos){ if(datos=='0'){ alert('El Usuario o Password equivocados, consulte...'); }else{ window.location='index.php'; } Figura 11 Formulario de Identificación 141 Las funciones implementadas para acceder a la base de datos son las siguientes. function Conectar(){ $con=@mysql_connect($this->Server,$this->Usuario,$this->Password); if(!$con){ echo "No se pudo conectar con el servidor..."; exit(); } mysql_query("SET NAMES 'utf8'",$con); if(!@mysql_select_db($this->Base,$con)){ echo "No se pudo seleccionar la base..."; exit(); } $this->Conec=$con; return true; } Por último, con esta función podemos cerrar la conexión con la base de datos cuando hemos terminado de trabajar con ella. function Desconectar(){ mysql_close($this->Conec); } El fichero login.php es el encargado de re direccionar a un usuario cuando se identifica a su zona privada. Esta clase utiliza la clase _usuario.class para hacer una consulta en la base de datos para cerciorar que el usuario existe, que su contraseña es la correcta y que tipo de usuario es. Para ello consultamos la tabla personal, donde buscamos si coincide el login y la contraseña. Si ambos coinciden, buscamos en la tabla per_mnu para comprobar que tipo de usuario es y finalmente lo redirigimos a su zona privada correspondiente. 142 /*Validar Usuario*/ function Usuario(){ $this->con=new Conexion; } function Login($usuario,$password){ $this->con->Conectar(); $SQL="SELECT * FROM tbl_personal WHERE trim(per_ruc)='".trim($usuario)."' AND"; $SQL.=" trim(per_password)='".trim($password)."';"; $mysql=mysql_query($SQL); return $mysql; } function fExisteUsr($mnu,$usr,$tip){ $this->con->Conectar(); $SQL="SELECT IF(COUNT(*)=0,'','checked') AS existe FROM tbl_per_mnu "; $SQL.="WHERE per_id=$usr AND men_id=$mnu AND tipmnu='$tip'"; $mysql=mysql_query($SQL); return $mysql; } Funciones Principales del Sistema Función Abrir Sección function abrirSesion(){ var url='login.php'; cargar_pag(url,'contenido','POST'); } Función Cerrar Sección function cerrarSesion(){ $.ajax({ url: 'intro.php', type: "POST", data: "cerrar=0", success: function(datos){ window.location='index.php';} }); } Función para cargar las paginas del menú function cargar_menu(pag){ document.getElementById('contenido').innerHTML="<img src='images/cargando.gif'/>"; 143 var url='modulos/mod_'+pag+'/'+pag+'.php'; cargar_pag(url,'contenido',"POST"); } Función Cargar Menú function cargar_menu_id(pag,id){ document.getElementById('contenido').innerHTML="<img src='images/cargando.gif'/>"; var url='modulos/mod_'+pag+'/'+pag+'.php?oid='+id; cargar_pag(url,'contenido',"POST"); } Función Cargar Pagina function cargar_pag(pag,div,metodo){ $.ajax({ url:pag, type:metodo, success: function(datos){ $("#"+div).html(datos); } }); } Función Cargar Formulario function cargar_frm(pag,div,metodo){ var url='modulos/mod_'+pag+'.php'; cargar_pag(url,div,metodo);} function cargar_frm_id(pag,div,metodo,id){ var url='modulos/mod_'+pag+'.php?id='+id; cargar_pag(url,div,metodo); } 144 MANTENIMIENTO Función Cargar imágenes function cargar_imagenes(){ var url='modulos/mod_subir/subir.php'; cargar_pag(url,'contenido','GET'); } Función Cargar Combos function cargar_ciudad() { var id = $('#cboPro').attr('value'); var pag="funciones/combo.php?id="+id+"&name=cboCiu&class=select&op=1"; cargar_pag(pag,'ciudad','POST');} Función Empleado function cargar_socio_empleado() { var id = $('#cboEscoger').attr('value'); var pag="funciones/combo.php?id="+id+"&name=cboSocio&class=select&op="+id; cargar_pag(pag,'socio','POST'); } Función Inscripción del Personal function cargar_inscripcion(id,pag){ var url='modulos/'+pag+'/inscripcion.php?oid='+id; cargar_pag(url,'contenido','GET') ;} function cargar_inscripcion_id(id,pag,curso){ var url='modulos/'+pag+'/inscripcion.php?oid='+id+'&cur='+curso; cargar_pag(url,'contenido','GET'); } 145 Función Validar cedula function valida_cedula(dato){ var tam; var band; tam=dato.length; if(tam==10 || tam==13){ dv=dato.charAt(9); suma=0; for(i=0;i<=8;i++){ dig=parseInt(dato.charAt(i)); if(i%2==0) dig=dig*2; else dig=dig*1; aux=dig.toString(); if(dig>9) dig=parseInt(aux.charAt(0))+parseInt(aux.charAt(1)); suma+=dig; } c=Math.floor(suma/10); if(suma%10==0) verif=(c*10)-suma; else verif=((c+1)*10)-suma; if(verif==parseInt(dv)){ band=true; if(dato.length>10){ ruc=dato.substr(10,3); if(ruc!="001"){ band=false; } } if(band==true){ var rell=''; 146 for(i=0;i<10;i++){ digito=String(i); rell=''; for(lim=1;lim<=10;lim++)rell+=digito; if(parseFloat(rell)==parseFloat(dato)){ band=false; } }} }else{ band=false;} }else{ band=false; } return band;} Función solo Números function soloNumeros(evt){ //asignamos el valor de la tecla a keynum if(window.event){// IE keynum = evt.keyCode; }else{ keynum = evt.which;} if(keynum==8 || keynum==0){ return true; } //comprobamos si se encuentra en el rango if(keynum>47 && keynum<58){ return true; }else{ return false; } } 147