UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE … · Maritza Fernanda . iv AUTORIZACIÓN DE LA...
Transcript of UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE … · Maritza Fernanda . iv AUTORIZACIÓN DE LA...
CONTRAPORTADA UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
DESARROLLO E IMPLEMENTACION DE UNA APLICACIÓN WEB PARA
CONTROLAR ACTIVIDADES DEPORTIVAS RECREATIVAS
CULTURALES Y SOCIALES UNIVERSIDAD CENTRAL DEL ECUADOR
TRABAJO DE GRADUACIÓN PREVIO LA OBTENCIÓN DEL TÍTULO
DE INGENIERO INFORMÁTICO
AUTOR: TITUAÑA HERRERA MARITZA FERNANDA.
TUTOR: ING. CÉSAR AUGUSTO MORALES MEJÍA, MSc.
QUITO – ECUADOR
2015
ii
DEDICATORIA
"La constancia y dedicación son la clave para romper el límite del éxito, y
el éxito va acompañado de la fe que tengas para lograrlo.”
A Dios El Todopoderoso, a mis queridos padres, que con su enseñanza y
sus bendiciones he logrado cumplir con una más de mis grandes metas y
objetivos planteados a lo largo de mi vida. Que Dios les colme de muchas
bendiciones:
A mis padres " Santiago y Rocío", quienes son el pilar fundamental de mi
existencia, por todo su ejemplo, amor, dedicación, apoyo, esfuerzo,
paciencia, comprensión y ayuda abnegada, por haberme alentado en los
momentos difíciles de mi existencia y enseñarme que todo se puede
conseguir con esfuerzo dedicación, amor, constancia y sobre todo porque
el que quiere puede.
A mi esposo " Gabriel ", por apoyarme en todos mis éxitos.
A mis hijos " Sebastian y Stephany " por darme la fuerza, y el valor,
porque han sabido dar sentido a mi vida con su inocencia, amor y pureza.
A mis hermanos " Paúl y Mauricio ", que con sus consejos y cariño me
han ayudado a salir adelante y a luchar por lo que se quiere.
Al Ing. César Morales Mejía por haberme guiado con sus conocimientos y
experiencia hacia la culminación de mi trabajo de graduación durante todo
el proceso de elaboración, al Ing. Rene Carrillo MSc, al Dr. Danilo Gortaire
PHD, por ser excelentes docentes y revisores de mi trabajo los cuales me
han guiado al éxito.
Y a todas las personas quienes forman parte de mi vida y creyeron que
lograría cumplir con mi objetivo planteado, por su ayuda y por todo su
tiempo dedicado, gracias.
Maritza Fernanda
iii
AGRADECIMIENTO
“El amor a la Patria es lo primero, el don sin libertad es sin segundo. Dios
dio Patria y Libertad al mundo y en Dios a Patria Libertad Venero”.
Agradezco a Dios Todopoderoso de manera infinita, a mis Padres “Rocío
y Santiago” razón de ser, a mis Hermanos “Paúl y Mauricio”, a mi Esposo
“Gabriel”, a mis Hijos”Sebastian y Stephany”, a mis Sobrinos “Deyvid y
Steven”, a mi Familia y a todas las personas que confiaron en mí, y
siempre me brindaron su apoyo incondicional de manera desinteresada y
sobre todo creyeron en mí y me dieron la confianza de que podía lograrlo.
De manera muy especial agradezco al Director de Tesis, Ing. César
Morales Mejía MS.c, por la motivación, consejos que me brindo durante
el desarrollo del mismo, por el tiempo y dedicación brindada y sobre todo
por guiarme para realizar el trabajo de graduación de la mejor manera
para cumplir a cabalidad el proyecto propuesto.
Un agradecimiento infinito al Ing. Rene Carrillo MSc, por brindarme su
apoyo durante el proceso de elaboración de mi trabajo de graduación, al
Dr. Danilo Gortaire PHD, por estar presto a ser mi revisor.
Maritza Fernanda
iv
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
Tituaña Herrera Maritza Fernanda
C.I. 1713822367
v
CERTIFICACIÓN DEL TUTOR
Ing. César Augusto Morales Mejía, MSc.
Director de Tesis
vi
INFORME FINAL
Ing. César Augusto Morales Mejía, MSc.
Director de Tesis
vii
APROBACION DEL TRIBUNAL
Ing. René Alfonso Carrillo Flores, MSc. Dr. Alvaro Danilo Gortaire Játiva, PhD.
viii
LECTORES DEL TRABAJO
ix
CALIFICACIÓN DEL TRABAJO DE GRADUACIÓN
x
CONTENIDO
DEDICATORIA ii
AGRADECIMIENTO iii
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL iv
CERTIFICACIÓN DEL TUTOR v
INFORME FINAL vi
APROBACION DEL TRIBUNAL vii
LECTORES DEL TRABAJO viii
CALIFICACIÓN DEL TRABAJO DE GRADUACIÓN ix
CONTENIDO x
LISTA DE FIGURA xiv
RESUMEN xvii
ABSTRACT xviii
CERTIFICADO DE TRADUCCIÓN xix
SUFICIENCIA DE INGLÉS xx
CAPITULO 1: PRESENTACION DEL PROBLEMA 1
1.1 Planteamiento del Problema 1
1.2 Formulación del Problema 2
1.3 Interrogantes de la Investigación 2
xi
1.4 Objetivos de la Investigación 3
1.4.1 Objetivo General 3 1.4.2 Objetivos Específicos 3
1.5 Alcance y Limitaciones 4
1.6 Justificación e Importancia 5
CAPITULO 2: MARCO TEÓRICO 7
2.1 Antecedentes 7
2.2 Las Limitantes de las Aplicaciones Web 8
2.3 Las Primeras Soluciones Propuestas 9
2.4 Fundamentación Teórica 11 2.4.1 Aplicaciones Web 11 2.4.2 Base de Datos 13 2.4.3 Sistema de Gestión de Base de Datos 13 2.4.4 My Sql 15 2.4.5 PHP 17 2.4.6 YII 19 2.4.7 MVC 22 2.4.8 JQUERY 23 2.4.9 AJAX 24 2.4.10 JAVASCRIPT 26 2.4.11 CSS 28 2.4.12 Apache 29 2.4.13 Internet 30
CAPITULO 3: Metodología del Sistema 35
3.1 Fase de Análisis del Sistema 35
3.1.1 Situación Actual de los Procesos 35 3.1.2 Situación Futura de los Procesos 35 3.1.3 Descripción de Beneficios al realizar el proyecto 36 3.1.4 Análisis de Factibilidad 37 3.1.5 Requerimientos del Proyecto 38 3.1.6 Riesgo del Proyecto 40
3.2 Levantamiento de Información 41
3.3 Fase de Diseño del Sistema 42 3.3.1 Modelo Operativo 42
3.3.2 Diagrama del Flujo de Datos 44 3.3.3 Diseño de la Base de Datos 47
xii
3.3.4 Diccionario de Datos 48 3.3.5 Procesos del Sistema 48
CAPITULO 4: Desarrollo Del Sistema 49
4.1 Estándares de Diseño de la Base de Datos 49
4.2 Estándares de Codificación 50
4.2.1 Cadenas Literales 51 4.2.2 Funciones 51 4.2.3 Sustitución de Variables 51 4.2.4 Concatenación de Cadenas 52 4.2.5 Matrices Indexadas Numericamente 52 4.2.6 Array Asociados 54 4.2.7 Declaración de Clases 55 4.2.8 Función y Método Declaración 57 4.2.9 Función y Método de Uso 60 4.2.10 Documentación en Línea 65 4.2.11 Clases 67
4.3 Estándares Para el Desarrollo de la Aplicación 68
4.3.1 Esquema de trabajo de YII (Modelo, Vista, Controlador) 68 4.3.2 Directorio YII 71 4.3.3 Configuración YII 74
CAPITULO 5: IMPLEMENTACION DEL SISTEMA 75
5.1 Instalación de CentOS 6 75
5.2 Implementacion LAMP 125
5.2.1 Instalación de MySQL 125
5.2.2 Instalación Apache 126
5.2.3 Instalación de PHP 127
5.2.4 phpMyAdmin 129
5.3 Instalación Netbeans 132
5.4 Implementación del Sistema de Gestión Deportiva 138
CAPITULO 6: CONCLUSIONES Y RECOMENDACIONES 146
6.1 Conclusiones 146
6.2 Recomendaciones 147
ANEXOS 148
xiii
ANEXO 1: Modelo Operativo 149
Anexo 2: Nivel 0 Sistema de Gestión Deportiva 151
ANEXO 3: Nivel 1 Sistema de Gestión Deportiva 153
ANEXO 4: NIVEL 2 Sistema Gestión Deportiva 156
ANEXO 5: Nivel 3 Sistema Gestión Deportiva 159
Anexo 6: Base de Datos del Sistema 161
Anexo 7: Diccionario de Datos del Sistema 162
I. Descripción General de las Tablas 162
II. Descripción detallada de las tablas 163
5 MATERIALES DE REFERENCIA 189
Bibliografía ........................................................................................................................ 189
ABREVIATURAS 191
xiv
LISTA DE FIGURA pp
FIGURA 2.1. INTERACCIÓN SINCRÓNICA DE UNA APLICACIÓN WEB CLÁSICA. GARRETT. ................... 9 FIGURA 2.2. ARQUITECTURA FINAL APLICACIÓN WEB ................................................................................. 12 FIGURA 2.3. VISTA EN CAPAS BASE DE DATOS .............................................................................................. 13 FIGURA 2.4. SISTEMA DE GESTIÓN BASE DE DATOS ................................................................................... 15 FIGURA 2.5. SISTEMA DE GESTIÓN DE BASE DE DATOS .............................................................................. 16 FIGURA 2.6. PHP HYPERTEXT PRE-PROCESSOR ............................................................................................ 18 FIGURA 2.7. ESTRUCTURA ESTÁTICA DE APLICACIÓN YII............................................................................. 19 FIGURA.2.8. UN TÍPICO FLUJO DE TAREAS DE UNA APLICACIÓN YII ......................................................... 20 FIGURA 2.9. MODELO VISTA CONTROLADOR ................................................................................................... 23 FIGURA 2.10. ESQUEMA JQUERY ...................................................................................................................... 23 FIGURA 2.11. INTERACCIÓN ASÍNCRONA DE UNA APLICACIÓN AJAX ...................................................... 24 FIGURA 2.10. TECNOLOGÍAS AGRUPADAS BAJO EL CONCEPTO DE AJAX. ........................................... 26 FIGURA 2.12. JAVASCRIPT ...................................................................................................................................... 27 FIGURA 2.13. FUNCIONAMIENTO DEL SERVIDOR APACHE .......................................................................... 29 FIGURA 2.14. RED INTERNACIONAL DE INFORMACIÓN INTERNET ........................................................... 31 FIGURA 5.1. PANTALLA DE INICIO INSTALACIÓN DE CENTOS .................................................................... 76 FIGURA 5.2. COMPROBACIÓN DEL DISCO DE INSTALACIÓN ........................................................................ 77 FIGURA 5.3. PANTALLA PRINCIPAL DE INSTALACIÓN ..................................................................................... 78 FIGURA 5.4. INSTALACIÓN CENTOS 6 ................................................................................................................ 79 FIGURA 5.5. SELECCIÓN DEL IDIOMA ................................................................................................................... 79 FIGURA 5.6. SELECCIÓN DEL IDIOMA DEL TECLADO ...................................................................................... 80 FIGURA 5.7. SELECCIÓN DE DISPOSITIVOS DE ALMACENAMIENTO .......................................................... 81 FIGURA 5.8. SELECCIÓN DE ADVERTENCIA DE LA UNIDAD ......................................................................... 82 FIGURA 5.9. SELECCIONA NOMBRE DEL HOST ................................................................................................. 83 FIGURA 5.10. CONFIGURACIÓN DE ZONA HORARIA ....................................................................................... 84 FIGURA 5.11 INGRESO DEL ADMINISTRADOR ................................................................................................... 85 FIGURA 5.12. PANTALLA DE PAQUETES A INSTALAR ..................................................................................... 86 FIGURA 5.13. SELECCIÓN DE LOS PAQUETES A INSTALAR ......................................................................... 87 FIGURA 5.14. SELECCIÓN DE DISEÑO A INSTALAR ........................................................................................ 87 FIGURA 5.15. TABLA ACTUAL DE PARTICIONES .............................................................................................. 88 FIGURA 5.16. DEFINIR PARTICIONES ................................................................................................................... 89 FIGURA 5.17 PARTICIÓN PRIMARIA ...................................................................................................................... 90 FIGURA 5.18 PARTICIÓN CREADA ......................................................................................................................... 90
xv
FIGURA 5.19 PARTICIÓN CREADA ......................................................................................................................... 91 FIGURA 5.20. SELECCIÓN DE DISPOSITIVO ....................................................................................................... 92 FIGURA 5.21. DISPOSITIVO SELECCIONADO ..................................................................................................... 92 FIGURA 5.22. PARTICIPACIÓN STANDAR ............................................................................................................ 93 FIGURA 5.23. SELECCIÓN USR ............................................................................................................................... 94 FIGURA 5.24. PARTICIÓN CREADA ........................................................................................................................ 95 FIGURA 5.25. SELECCIÓN PARTICIÓN STANDAR ............................................................................................. 95 FIGURA 5.26. SELECCIÓN DEFINA /TMP .............................................................................................................. 96 FIGURA 5.27. PARTICIÓN CREADA ....................................................................................................................... 97 FIGURA 5.28. SELECCIÓN PARTICIÓN STANDAR ............................................................................................. 98 FIGURA 5.29. SELECCIÓN DEFINA /HOME .......................................................................................................... 98 FIGURA 5.30. PARTICIÓN CREADA ........................................................................................................................ 99 FIGURA 5.31. SELECCIÓN PARTICIÓN ESTANDAR ....................................................................................... 100 FIGURA 5.32. PANTALLA DEFINA /VAR .............................................................................................................. 101 FIGURA 5.33. PANTALLA PARTICIÓN CREADA............................................................................................... 102 FIGURA 5.34. SELECCIÓN PARTICIÓN ESTANDAR ....................................................................................... 103 FIGURA 5.35. SELECCIÓN PANTALLA PARTICIÓN DE MEMORIA ............................................................. 105 FIGURA 5.36. PANTALLA PARTICIÓN DE INTERCAMBIO.............................................................................. 106 FIGURA 5.37. PANTALLA ELIMINAR O DAR FORMATO DE PARTICIONES .............................................. 107 FIGURA 5.38. SOLICITUD DE CONFIRMACIÓN ................................................................................................ 108 FIGURA 5.39. PANTALLA GUARDAR POSICIONES .......................................................................................... 109 FIGURA 5.40. ASIGNACIÓN DE CONTRASEÑA AL GESTOR DE ARRANQUE ......................................... 110 FIGURA 5.41. SELECCIÓN DE CONTRASEÑA ................................................................................................. 111 FIGURA 5.42. SELECCIÓN DE CONTRASEÑA E INSTALACIÓN .................................................................. 112 FIGURA 5.43. SELECCIÓN DE INSTALACIÓN MÍNIMA ................................................................................... 113 FIGURA 5.44. SELECCIÓN DE REPOSITORIO ................................................................................................ 114 FIGURA 5.45. SELECCIÓN CONEXIONES DE RED ......................................................................................... 115 FIGURA 5.46. SELECCIÓN DE EDICIÓN ............................................................................................................ 116 FIGURA 5.47. PANTALLA DE CONFIGURACIÓN DE PARÁMETROS .......................................................... 117 FIGURA 5.48. PANTALLA CONEXIONES DE RED ........................................................................................... 118 FIGURA 5.49. PANTALLA SELECCIÓN DE CABLEADO .................................................................................. 119 FIGURA 5.50. SELECCIÓN DE INSTALACIÓN MÍNIMA ................................................................................... 120 FIGURA 5.51. INSTALACIÓN DE ESCRITORIO BÁSICO ................................................................................. 121 FIGURA 5.52. SELECCIÓN DE PAQUETES OPCIONALES ........................................................................... 122 FIGURA 5.53. INSTALACIÓN DE PAQUETES .................................................................................................... 123 FIGURA 5.54. PANTALALLA DE INSTALACIÓN ................................................................................................. 124 FIGURA 5.55. PANTALLA REINICIAR .................................................................................................................. 125 FIGURA 5.56. PANTALLA PRUEBA DE APACHE ............................................................................................. 127 FIGURA 5.57. PANTALLA INSTALACIÓN PHP ................................................................................................. 129 FIGURA 5.58. PANTALLA SUSTITUCIÓN DIRECCIÓN IP .............................................................................. 131 FIGURA 5.59. PANTALLA INICIO NETBEANS ................................................................................................... 132 FIGURA 5.60. PANTALLA CONFIGURACIÓN DE INSTALACIÓN ................................................................... 133 FIGURA 5.61. PANTALLA DE BIENVENIDA ........................................................................................................ 133 FIGURA 5.62. PANTALLA PERSONALIZA LA INSTALACIÓN ......................................................................... 134 FIGURA 5.63. PANTALLA DE INSTALACIÓN ...................................................................................................... 134
xvi
FIGURA 5.64. PANTALLA DE ACEPTCIÓN ......................................................................................................... 135 FIGURA 5.65. PANTALLA DE INSTALACIÓN ...................................................................................................... 136 FIGURA 5.66. PANTALLA DE INSTALACIÓN ...................................................................................................... 136 FIGURA 5.67. PANTALLA DE NETBEANS IDE INSTALLER .......................................................................... 137 FIGURA 5.68. PANTALLA DE PROGRESO ......................................................................................................... 138 FIGURA 5.69. PANTALALLA DE INSTALACIÓN COMPLETA ......................................................................... 138 FIGURA 5.70. PANTALLA CREACIÓN BASE DE DATOS ............................................................................... 139 FIGURA 5.71. PANTALLA IMPORTANDO BASE DE DATOS .......................................................................... 140 FIGURA 5.72. PANTALLA IMPORTANDO BASE DE DATOS ESCRITORIO ................................................ 141 FIGURA 5.73. PANTALLA SELECCIÓN ARCHIVO SQL ................................................................................. 142 FIGURA 5.74. PANTALLA COPIA DE DIRECTORIO ......................................................................................... 142 FIGURA 5.75. PANTALLA INICIO .......................................................................................................................... 143 FIGURA 5.76. PANTALLA PROJECT PHP ........................................................................................................ 143 FIGURA 5.77. PANTALLA ADMINISTRACIÓN CAMPEONATOS .................................................................... 144 FIGURA 5.78. PANTALLA ADMINISTRACIÓN DE EQUIPOS .......................................................................... 144 FIGURA 5.79. PANTALLA ADMINISTRACIÓN DE INTEGRANTES ................................................................ 145
xvii
RESUMEN
DESARROLLO E IMPLEMENTACION DE UNA APLICACIÓN WEB PARA
CONTROLAR ACTIVIDADES DEPORTIVAS RECREATIVAS
CULTURALES Y SOCIALES UNIVERSIDAD CENTRAL DEL ECUADOR
Con el transcurrir del tiempo, la tecnología ha ido reemplazando las largas
colas y aglomeración de personas ya sea en entidades públicas, privadas
en escuelas, colegios y universidades. El diseño de un sistema que permita
inscribirse vía web a los estudiantes a las actividades deportivas de la
Universidad Central del Ecuador, permitirá acelerar los procesos de
inscripciones y ayudará tanto a los estudiantes como a las autoridades para
brindar un mejor servicio, evitando el tiempo que requiere la toma de datos
de los estudiantes.
El uso de herramientas tecnológicas hace de todos aquellos tediosos
procesos queden en el pasado.
Para el desarrollo de aplicaciones en ambiente web, existen herramientas
open source que tienen en muchos casos mayores ventajas que las
herramientas de pago, es por esta razón, que este proyecto utilizará este
tipo de soluciones.
DESCRIPTORES: PHP/ CONTROLAR ACTIVIDADES DEPORTIVAS/
CONTROLAR ACTIVIDADES RECREATIVAS/ CONTROLAR
ACTIVIDADES CULTURALES / CONTROLAR ACTIVIDADES SOCIALES/
JQUERY / AJAX / JAVASCRIPT/ MYSQL / CSS / APACHE / UNIVERSIDAD
CENTRAL DEL ECUADOR
xviii
ABSTRACT
DEVELOPMENT AND IMPLEMENTATION OF A WEB APPLICATION IN
ORDER TO CONTROL CULTURAL AND SOCIAL RECREATIONAL
SPORTS CENTRAL UNIVERSITY OF ECUADOR.
With the passage of time, technology has replaced the long lines and crowds
of people in public, private schools, colleges and universities. The design of a
system to register students via web in sports activities at the Central
University of Ecuador, will speed up the registration process and help both
students and authorities providing better service and reduce the time
required for data collection from students.
The use of technological tools make all those tedious processes in the past
easier.
For the development of applications in web environment, there are open
source tools that have greater advantages than those paid tools, for this
reason this project will use these solutions.
DESCRIPTORS: PHP/ SPORTS CONTROL/ CONTROL RECREATION/
CONTROL CULTURAL ACTIVITIES/ SOCIAL CONTROL ACTIVITIES/
JQUERY / AJAX / JAVASCRIPT/ MYSQL / CSS / APACHE / CENTRAL
UNIVERSITY OF ECUADOR
xix
CERTIFICADO DE TRADUCCIÓN
xx
SUFICIENCIA DE INGLÉS
Capítulo I Presentación del Problema
1
CAPITULO 1: PRESENTACION DEL PROBLEMA
1.1 Planteamiento del Problema
La Facultad de Cultura Física, cada semestre, debe recibir estudiantes
para ingresar en las diferentes disciplinas deportivas, la capacidad física
de la institución, no permite recibir de forma inmediata a todos los
estudiantes, es por esta razón que necesita de nuevas técnicas y
tecnologías, contribuyendo en la transformación de dicho proceso.
Estas inscripciones requieren largos procesos y posteriormente la
asignación a las diferentes disciplinas; generando largos tiempos y mucha
expectativa en el desarrollo de este proceso, siendo la única facultad que
realiza diversos campeonatos a lo largo del año lectivo.
Una de las principales causas para que se produzca estos inconvenientes
es la forma tradicional y manual como se ha venido manejando este tipo
de procesos. El desconocimiento de tecnologías actuales y de
metodologías de mejoramiento de la calidad de comunicación utilizando
estas innovaciones de la ciencia.
La importancia de poseer sistemas ágiles de comunicación también es
fundamental en cuanto hace referencia a la información que
constantemente tiene que hacerse a los estudiantes, e inclusive a su
personal docente y administrativo; su carencia dificulta la interacción entre
los diferentes estamentos educativos, indispensable en todo proceso de
enseñanza aprendizaje.
Este proyecto pretende implementar una aplicación para solventar este
problema.
Capítulo I Presentación del Problema
2
1.2 Formulación del Problema
Luego de esta breve explicación, podemos determinar que La Universidad
Central en conjunto con sus Facultades, requieren automatizar el proceso
de recepción de estudiantes en las diferentes actividades deportivas.
El no contar con una herramienta tecnológica afín con la actualidad
genera cuellos de botella y posibles errores humanos en la recepción y
asignación de disciplinas y profesores.
Con el software de recepción de estudiantes para las actividades
deportivas, se pretende ahorrar ese gran recurso que es el tiempo y sobre
todo se contará con información exacta de manera inmediata los mismos
que son de suma utilidad tanto para los estudiantes como para la facultad.
1.3 Interrogantes de la Investigación
Este proyecto pretende solventar aquellos problemas que se han
observado todos los inicios de ciclo de inscripción de estudiantes en el
proceso de admisión a las diferentes disciplinas.
Luego de culminado este proyecto, se requiere responder las siguientes
interrogantes:
¿Podrá la aplicación Web de Recepción de inscripciones reducir el tiempo
que tarda este proceso actualmente?
¿Existe en la actualidad en la Facultad algún software que ayude en este
proceso?
Capítulo I Presentación del Problema
3
¿Qué ventajas tiene la implementación de un software versus el sistema
actual de recepción de inscripciones?
¿Se puede utilizar herramientas libres para el desarrollo de este
proyecto?
1.4 Objetivos de la Investigación
El proyecto se desarrollara para implementar la aplicación web de manera
que el tiempo de espera de los estudiantes sea reducido obteniendo un
proceso rápido e inmediato.
1.4.1 Objetivo General
Desarrollar e Implementar una aplicación web para controlar actividades
deportivas recreativas culturales y sociales para la Universidad Central del
Ecuador; utilizando herramientas, tecnología de última generación y
software libre.
1.4.2 Objetivos Específicos
Realizar, simplificar el análisis, el diseño e implementación del Sistema
Web para los procesos de inscripción de estudiantes.
Auxiliar a las oficinas encargadas de inscripciones y recepción de
estudiantes.
Registrar, controlar y emitir los resultados de los procesos de cada
inscripción.
Capítulo I Presentación del Problema
4
Determinar los todos servicios a ofrecer con el sistema, procesos que
se automatizaran y requerimientos tecnológicos y organizacionales
para el desarrollo del Sistema Web e implantación del mismo.
Generar un sistema que brinde a los estudiantes o personas ajenas a
la Institución, la información adecuada y concreta del desarrollo de
diversas actividades realizadas.
1.5 Alcance y Limitaciones
A partir de los objetivos y el análisis a continuación se detalla el alcance
del proyecto.
Ambiente de Trabajo:
Lenguaje de Programación PHP
Framework JQUERY y AJAX
Motor de Base de Datos MySql
Modelamiento de Datos Mysql Workbench o TOAD
Servidor web Apache
Editor Eclipse o Netbeans
El sistema será multiplataforma, es decir, podrá funcionar en
cualquier Sistema Operativo que permita ejecutar PHP.
El sistema es orientado a la web.
La interfaz del sistema está predefinida de acuerdo a estándares
facilitando su utilización.
Los inscritos serán almacenados en la base de datos según lo
determine la facultad.
El sistema contara con dos interfaces, administrador y usuario.
Capítulo I Presentación del Problema
5
El administrador se encargara de manipular información y
parámetros del sistema según lo requiera la Universidad.
El usuario se limitara a responder las preguntas para la
inscripción.
Los listados de inscritos en la universidad podrán ser
importados desde archivos planos hacia la base de datos
Se generaran listados de los estudiantes, y mejores equipos de
cada una de las disciplinas para su debida publicación
El software contará con un sistema de auditoria para controlar
los movimientos del sistema.
Se han determinado también las siguientes limitaciones:
Se mostrará una sola inscripción por usuario
El administrador será el encargado de determinar las diferentes
disciplinas y torneos a realizarse.
1.6 Justificación e Importancia
La Universidad Central del Ecuador siendo una de las instituciones
emblema de la educación en nuestro país, no puede estar al margen del
avance tecnológico y al nivel de instituciones internacionales.
Es imprescindible que la Universidad Central del Ecuador cuente con el
sistema para simplificar los procesos actuales debido a que con este
aplicativo se podrá contar con información 100% veras y en tiempos
nunca antes obtenidos.
Capítulo I Presentación del Problema
6
El software permitirá realizar varios procesos que en la actualidad se
maneja de diferentes maneras y en diferentes formatos, tales como,
registros de estudiantes, recepción de respuestas y de resultados,
permitiendo conocer al mismo tiempo los resultados a varias personas y
departamentos involucrados en el proceso de inscripción.
Esto permitirá organizar de mejor manera las admisiones, logrando una
mejor interacción universidad estudiante y utilizar el tiempo y el personal
que anteriormente se utilizaba en este proceso destinar a nuevos
procesos formativos, generando ahorro de recursos y optimización de
resultados.
El sistema provee componentes de seguridad para que usuarios
autorizados tengan acceso al sistema.
Capítulo II Marco Teórico
7
CAPITULO 2: MARCO TEÓRICO
2.1 Antecedentes
El proceso inscripción de estudiantes para actividades deportivas de la
Universidad Central del Ecuador Facultad de Cultura Física no ha
cambiado desde hace muchos años, siendo este uno de los procesos por
el cual deben obligatoriamente pasar todos los estudiantes para poder
filtrar la idoneidad y aprobar la materia de educación física.
El avance tecnológico ha permitido poner a disposición de las
instituciones tanto software como hardware que aceleran los procesos en
todas sus áreas ayudando así al crecimiento de las empresas y por ende
de los países.
El área educativa no está fuera de estos avances ya que la tecnología ha
permitido mejorar los sistema administrativos, educativos, docentes, entre
otros, es así que la Facultad de Cultura Física ha tomado la decisión de
implementar un proyecto de software para facilitar el proceso de
inscripción de actividades deportivas recreativas, con el objetivo de
acelerar los tiempos y tener una mejor administración de recursos en las
aéreas involucradas.
La Universidad Central del Ecuador Facultad de Cultura Física siendo una
de las instituciones más importantes y reconocidas a nivel nacional e
internacional, no puede dejar de lado un aspecto tecnológico tan
importante como es el mantenerse a la vanguardia de la tecnología.
Capítulo II Marco Teórico
8
2.2 Las Limitantes de las Aplicaciones Web
El surgimiento de los diversos sistemas computacionales accesibles a
través de un navegador web conectado a una red, o conocidos como
aplicaciones web, tuvo inicios en la década de 1990 impulsado por la
aparición en escena de lenguajes y herramientas tales como CGI, Flash,
JavaScript, Java Applets y PHP, que al trabajar de manera conjunta con
el lenguaje de marcado pionero en la web, HTML, su funcionalidad cada
vez era más amplia, más allá de la visualización de documentos estáticos.
Estas herramientas tuvieron una rápida y gran acogida por parte de los
desarrolladores, siendo un acontemiento de gran importancia para la
nueva generación de sitios web que rompían todo tiipo de patrones
establecidos, brindando así a los usuarios servicios novedosos con
niveles de interactividad nunca antes vistos en Internet. Sin embargo las
aplicaciones web tenían gran camino por recorrer para lograr los mismos
niveles de desempeño y facilidad para que los usuarios puedan manejar
dichas herramientas.
Cada vez las herramientas ivan evolucionando, pero surgían más
necesidades, y no dió los resultados esperados.
Una de las principales razones para dicho fracaso fue, según “Garrett: la
naturaleza sincrónica propia de la interacción del binomio HTML – HTTP”.
La mecánica de dicha interacción obliga al cliente a esperar, por cada
petición enviada mediante el protocolo HTTP, la transmisión de los datos
hacia el servidor, el procesamiento de los mismos y la transmisión de la
respuesta en forma de una página HTML de vuelta hacia él.
Posteriormente el navegador del cliente debe reemplazar la página web
original con aquélla recibida, para finalmente permitir que continúe la
interacción del usuario con el sistema.
Capítulo II Marco Teórico
9
Figura 2.1. Interacción sincrónica de una aplicación web clásica.
Garrett.
2.3 Las Primeras Soluciones Propuestas
Ante la necesidad de contar con grandes técnicas que permitieran una
comunicación asíncrona entre cliente y servidor, sin estar supeditadas a la
carga de un nuevo documento HTML con cada respuesta de éste último,
surgieron varios proyectos por parte de distintas compañías
desarrolladoras de software. Los primeros se remontan a los años 1996 y
1997 con la introducción en los navegadores Internet Explorer y Netscape
de los elementos IFrame y Layer respectivamente [Brewer]. Dichos
elementos se integraban con el código HTML y mediante algunos de sus
atributos, eran capaces de desplegar contenido generado dinámicamente
con la ayuda de lenguajes como JavaScript.
De manera paralela Flash 4 y los Applets de Java habían evolucionado
hasta el punto en que permitían el desarrollo de sofisticadas aplicaciones
web que solucionaban los problemas antes mencionados al tiempo en
que ofrecían un atractivo visual incomparable. Sin embargo, dicha
Capítulo II Marco Teórico
10
sofisticación tenía un precio. En la mayoría de los casos, los sistemas
web generados resultaban demasiado grandes para ser transmitidos
rápidamente a clientes con conexiones con un ancho de banda limitado;
además de que, para que el navegador web de un usuario fuera capaz de
ejecutar dichas aplicaciones era necesario contar con módulos
preinstalados de cada una de esas tecnologías.
En 1998 Microsoft introdujo la técnica Remote Scripting [Esposito] que
funcionaba mediante la interacción entre Java Applets del lado del
servidor y JavaScript en el cliente. Ésta fue implementada en la versión 4
de los navegadores Internet Explorer y Netscape, sin embargo no contó
con demasiada popularidad entre los desarrolladores por lo que en menos
de 2 años fue descontinuada para dar paso a otra idea de Microsoft, el
XMLHttpRequest.
El objeto XMLHttpRequest fue diseñado en 1999 como parte del sistema
Outlook Web Access 2000, con el objetivo de permitir la comunicación
asíncrona entre el cliente y el servidor mediante el envío y recepción de
datos en formato de texto o XML, a través del protocolo HTTP [Hopmann].
Al interactuar con lenguajes como JavaScript o VBScript, su potencial se
veía multiplicado gracias a que era posible realizar la actualización
selectiva de elementos de una página, contrario a la dinámica clásica de
las aplicaciones web. El primer navegador en ofrecer soporte para dicha
tecnología fue Internet Explorer 5 en 1999, y no fue sino hasta 2002 que
otros como Firefox, Safari y Opera lo incorporaron.
Una de las principales ventajas que ofrecía la nueva técnica frente a
herramientas como Flash y Java Applets consistía en que, al ser
soportada directamente por los navegadores web no era necesaria la
instalación de módulos externos para ejecutar las aplicaciones
resultantes. Asimismo el tamaño de los sistemas generados era
minúsculo comparado con el de sus competidores. No obstante, como
Capítulo II Marco Teórico
11
había ocurrido con sus predecesores, la popularidad de esta técnica
durante sus primeros años de vida fue relativamente baja.
2.4 Fundamentación Teórica
El proceso de implementación de un aplicativo web para la
recepción de inscripciones de estudiantes de la Universidad Central del
Ecuador Facultad de Cultura Física, tiene como objetivo
fundamental organizar y seleccionar de forma adecuada toda
aquella información que se requiere para seleccionar a los estudiantes o
equipos aptos para continuar en los campeonatos de acuerdo al torneo
dentro de la institución, para esto, es muy importante tener claros los
conceptos de las herramientas a utilizar para el desarrollo del presente
proyecto.
2.4.1 Aplicaciones Web
Una aplicación Web es una interfaz o conjunto de páginas Web (conjunto
de recursos) que interactúan con el usuario final, de esta manera le
permite el acceso a la información solicitada y se toma los datos propios
del modelo de negocio, de esta manera cualquier persona puede
interactuar con ella desde Internet por medio de un Navegador Web
(browser).
Es decir que una aplicación web es aquella aplicación en la que los
usuarios pueden utilizar accediendo a un servidor web a través de Internet
o de una intranet mediante un navegador.
Capítulo II Marco Teórico
12
Figura 2.2. Arquitectura Final Aplicación Web
Características de Aplicaciones Web
El usuario puede tener facilidad de acceso a las aplicaciones web
mediante un navegador web.
El usuario puede ingresar a la aplicación web desde cualquier parte
del mundo, donde tenga acceso a Internet.
Existirá una sola aplicación web instalada en el servidor pero
pueden existir miles de clientes (usuarios) que acceden al mismo
tiempo a dicha aplicación, por lo tanto se puede actualizar y
mantener una única aplicación y todos los clientes (usuarios) verán
los resultados de forma inmediata.
Utilizan tecnologías como ASP.NET, JAVA, AJAX, JAVASCRIPT,
HTML,JSP,JSF, FLASH, que brindan una gran interfaz de usuario a
la aplicación web.
Capítulo II Marco Teórico
13
2.4.2 Base de Datos
Una base de datos o banco de datos es un conjunto de datos
pertenecientes a un mismo contexto y almacenados sistemáticamente
para su posterior uso. En este sentido, una biblioteca puede considerarse
una base de datos compuesta en su mayoría por documentos y textos
impresos en papel e indexados para su consulta. En la actualidad, y
debido al desarrollo tecnológico de campos como la informática y la
electrónica, la mayoría de las bases de datos están en formato digital
(electrónico), que ofrece un amplio rango de soluciones al problema de
almacenar datos.
Figura 2.3. Vista en Capas Base de Datos
2.4.3 Sistema de Gestión de Base de Datos
Capítulo II Marco Teórico
14
Un Sistema de Gestión de Bases de Datos (SGBD) es un conjunto de
programas que permiten el almacenamiento, modificación y extracción de
la información en una base de datos, además de proporcionar
herramientas para añadir, borrar, modificar y analizar los datos. Los
usuarios pueden acceder a la información usando herramientas
específicas de interrogación y de generación de informes, o bien mediante
aplicaciones al efecto, es decir sirve de interfaz entre la base de datos, el
lenguaje de programación y el usuario.
Los SGBD también proporcionan métodos para mantener la integridad de
los datos, para administrar el acceso de usuarios a los datos y recuperar
la información si el sistema se corrompe. Permite presentar la información
de la base de datos en variados formatos. La mayoría de los SGBD
incluyen un generador de informes. También puede incluir un módulo
gráfico que permita presentar la información con gráficos.
Hay muchos tipos de SGBD distintos según manejen los datos y muchos
tamaños distintos según funcionen sobre ordenadores personales y con
poca memoria a grandes sistemas que funcionan en mainframes con
sistemas de almacenamiento especiales.
Generalmente se accede a los datos mediante lenguajes de interrogación,
lenguajes de alto nivel que simplifican la tarea de construir las
aplicaciones. También simplifican la interrogación y la presentación de la
información. Un SGBD permite controlar el acceso a los datos, asegurar
su integridad, gestionar el acceso concurrente a ellos, recuperar los datos
tras un fallo del sistema y hacer copias de seguridad. Las Bases de Datos
y los sistemas para su gestión son esenciales para cualquier área de
negocio, y deben ser gestionados con esmero.
Capítulo II Marco Teórico
15
Figura 2.4. Sistema de Gestión Base de Datos
2.4.4 My Sql
Es un sistema de gestión de base de dato relacional, muy rápido y ligero,
utilizada en su mayoría en desarrollos WEB. Su diseño multihilo permite
soportar un gran carga de forma muy eficiente. My Sql es de licencia libre.
Compuesto por: datos, hardware, software, usuario
(programador/desarrollador, administrador, usuario final).
Capítulo II Marco Teórico
16
Figura 2.5. Sistema de Gestión de Base de Datos
Características
Multiplataforma
Manejo API’S (Application Programming Interface - Interfaz de
Programación de Aplicaciones)
Arquitectura Cliente/ Servidor
Maneja lenguaje de consulta SQL
Conexiones:
ODBC
JDBC
Protocolo TCP/IP
Su desarrollo basada en C y C++
Ventajas
Fácil instalación y configuración
Madurez e integración con Windows
Soporta procedimiento almacenado
Permite una buena integración con el lenguaje PHP
Capítulo II Marco Teórico
17
Desventajas
Ningún soporte en versión Open Source.
Muestra las siguientes limitantes:
El número máximo de tablas que pueden ser referenciadas
en un join es 61.
No permite la creación de índices en las vistas
2.4.5 PHP
Es un lenguaje de programación interpretado (Open Source código
abierto), acrónimo de PHP Hypertext Preprocessor y fue creado
originalmente para el desarrollo de aplicaciones web aunque en la
actualidad ya es posible desarrollar aplicaciones de línea de comando y
de interfaz gráfica con sus librerías Qt y GTK, es fácil de aprender.
Características
Es interpretado por el servidor generando un HTML con el
resultado de sustituir las secuencias de instrucciones PHP por su
salida.
Capítulo II Marco Teórico
18
Figura 2.6. Php Hypertext Pre-processor
Las rutinas PHP generadas en cualquier página web pueden ser
reutilizadas.
Esto genera la excesiva distribución no autorizada de rutinas.
Los programas generados con PHP no tienen un orden son
difíciles de rastrear.
Son lentos cuando las rutinas son demasiado grandes.
El resultado de la compilación PHP siempre genera código HTML.
Ventajas
La principal ventaja se basa en ser un lenguaje multiplataforma.
Capacidad de colección con la mayoría de base de datos que se
utilizan en la actualidad.
Posee una muy buena documentación en su página oficial.
Es libre, por lo que se presenta como una alternativa de fácil
acceso para todos y puede ser desplegado en la mayoría de
servidores web.
PHP viene equipado con un conjunto de funciones de seguridad
que previenen la inserción de ordenes dentro de una solicitud de
datos
Desventajas
Todo el trabajo lo realiza el servidor y no delega al cliente. Por
tanto puede ser más ineficiente a medida que las solicitudes
aumenten.
La legibilidad del código puede verse afectada al mezclar
sentencias HTML Y PHP.
Capítulo II Marco Teórico
19
La orientación a objetos es aùn muy deficiente para aplicaciones
grandes.
El manejo de errores no esta tan desarrollado.
Se dificulta más a la hora de programar ya que no cuenta con
códigos prediseñados como los tienen otros lenguajes por
mencionar uno JAVA.
2.4.6 YII
Es un framework orientado a objetos, software libre, de alto rendimiento.
Diseñado para trabajar bien con código de terceros. Por ejemplo, es
posible usar el código de PHP o Zend Framework en una aplicación Yii.
Figura 2.7. Estructura estática de aplicación Yii
Un Flujo de tareas:
El siguiente diagrama muestra un típico flujo de tareas de una
aplicación Yii cuando resuelve un pedido de usuario:
Capítulo II Marco Teórico
20
Figura.2.8. Un típico flujo de tareas de una aplicación Yii
1. Un usuario realiza un pedido con la siguiente URL
http://www.example.com/index.php?r=post/show&id=1 y el servidor
Web se encarga de la solicitud mediante la ejecución del script de
arranque en index.php.
2. El script de entrada crea una instancia de applicación y la ejecuta.
3. La aplicación obtiene la información detallada del pedido del
usuario del componente de aplicación request.
4. El controlador determina le controlador y la acción pedido con
ayuda del componente de aplicación llamado urlManager. Para
este ejemplo el controlador es post que refiere a la clase
PostController y la acción es show que su significado es
determinado por el controlador.
5. La aplicación crea una instancia del controlador pedido para
resolver el pedido del usuario. El controlador determina que la
acción show refiere al nombre de método actionShow en la clase
controlador. Entonces crea y ejecuta los filtros asociados con esta
Capítulo II Marco Teórico
21
acción (ejemplo: control de acceso, benchmarking). La acción es
ejecutado si los filtros lo permiten.
6. La acción lee el modelo Post cuyo ID es 1 de la base de datos.
7. La acción realiza la vista llamada show con el modelo Post
8. La vista lee y muestra los atributos del modelo Post.
9. La vista ejecuta algunos widgets.
10. El resultado realizado es embebido en un esquema (layout).
11. La acción completa la vista realizada y se la muestra al usuario.
Características
Patrón de diseño Modelo Vista Controlador (MVC).
Database Access Objects (DAO), query builder, Active Record y
migración de base de datos.
Integración con jQuery.
Entradas de Formulario y validacion.
Widgets de Ajax, como autocompletado de campos de texto y
demás.
Soporte de Autenticación incorporado. Además soporta
autorización vía role-based access control (RBAC) jerárquico.
Personalización de aspectos y temas.
Generación compleja automática de WSDL, especificaciones y
administración de peticiones Web service.
Internacionalización y localización (I18N and L10N). Soporta
traducciones, formato de fecha y hora, formato de números, y
localización de la vista.
Esquema de caching por capas. Soporta el cache de datos, cache
de páginas, cache por fragmentos y contenido dinámico. El medio
de almacenamiento del cache puede ser cambiado.
Capítulo II Marco Teórico
22
El manejo de errores y logging. Los errores son manejados y
personalizados, y los log de mensajes pueden ser categorizados,
filtrados y movidos a diferentes destinos.
Las medidas de seguridad incluyen la prevención cross-site
scripting (XSS), prevención cross-site request forgery (CSRF),
prevención de la manipulación de cookies, etc.
Herramientas para pruebas unitarias y funcionales basados en
PHPUnit y Selenium.
Generación automática de código para el esqueleto de la
aplicación, aplicaciones CRUD, etc.
Generación de código por componentes de Yii y la herramienta por
línea de comandos cumple con los estándares de XHTML.
2.4.7 MVC
El Modelo Vista Controlador es un patrón de arquitectura de software que
separa los datos y la lógica de negocio de una aplicación de la interfaz de
usuario y el módulo encargado de gestionar los eventos y las
comunicaciones. Para ello MVC propone la construcción de tres
componentes distintos que son: el modelo, la vista y el controlador, es
decir, por un lado define componentes para la representación de la
información, y por otro lado para la interacción del usuario. Este patrón de
diseño se basa en las ideas de reutilización de código y la separación de
conceptos, características que buscan facilitar la tarea de desarrollo de
aplicaciones y su posterior mantenimiento.
Capítulo II Marco Teórico
23
Figura 2.9. Modelo Vista Controlador
2.4.8 JQUERY
Es una biblioteca de JavaScript, que permite simplificar la manera de
interactuar con los documentos HTML, manejar eventos, desarrollar
animaciones y agregar interacción con la tecnología AJAX a páginas web.
Figura 2.10. Esquema JQUERY
Capítulo II Marco Teórico
24
Características
Manipulación de la hoja de estilos CSS.
Efectos y animaciones
Animaciones personalizadas
Ajax
Utilidades varias como obtener información del navegador, operar
con objetos y vectores, funciones para rutinas comunes.
Compatible con los navegadores Mozilla Firefox2.0, Internet
Explorer 6, Safari 3, Opera 10.6 y Google Crome 8.
2.4.9 AJAX
Ajax es una tecnología asíncrona, en el sentido de que los datos
adicionales se requieren al servidor y se cargan en segundo plano sin
interferir con la visualización ni el comportamiento de la página.
Figura 2.11. Interacción asíncrona de una aplicación AJAX
Capítulo II Marco Teórico
25
Resulta importante profundizar en el proceso de comunicación entre el
motor y el servidor para comprender totalmente el carácter asíncrono de
AJAX. Una vez que el motor envía una petición, éste no se dedica a
esperar la respuesta del servidor, sino que se desentiende de este
proceso. Por su parte, es el navegador web el que al recibir la respuesta
del servidor, la transfiere al motor para que éste realice las operaciones
pertinentes. Este proceso permite que el cliente realice múltiples
peticiones al servidor aún cuando este no haya respondido una petición
previa, y da al cliente la capacidad de manejar correctamente cada una de
las respuestas recibidas, a pesar de que estas se encuentren en
desorden. La sincronía se convierte se esta forma en un avance
trascendental sobre las comunicaciones de las aplicaciones web clásicas.
Características
Las aplicaciones construidas con AJAX eliminan la recarga
constante de páginas mediante la creación de un elemento
intermedio entre el usuario y el servidor. La nueva capa intermedia
de AJAX mejora la respuesta de la aplicación, ya que el usuario
nunca se encuentra con una ventana del navegador vacía
esperando la respuesta del servidor.
Ajax no es una tecnología en sí mismo. En realidad, se trata de
varias tecnologías independientes que se unen de formas nuevas y
sorprendentes.
Actualización selectiva, que se refiere a la capacidad del motor
para agregar, modificar o eliminar porciones específicas de una
página web de manera dinámica sin la necesidad de volverla a
cargar de nuevamente. Esto permite que complejos sistemas web
que anteriormente requerían el desarrollo de decenas de páginas
para su visualización, ahora puedan ser contenidos en unas
Capítulo II Marco Teórico
26
cuántas páginas web que utilicen un patrón intensivo de
actualización selectiva.
Las tecnologías que forman AJAX son:
XHTML y CSS, para crear una presentación basada en
estándares.
DOM, para la interacción y manipulación dinámica de la
presentación.
XML, XSLT y JSON, para el intercambio y la manipulación
de información.
XMLHttpRequest, para el intercambio asíncrono de
información.
JavaScript, para unir todas las demás tecnologías.
Figura 2.10. Tecnologías agrupadas bajo el concepto de
AJAX.
2.4.10 JAVASCRIPT
Capítulo II Marco Teórico
27
Javascript nace de la necesidad de generar contenido web dinámico con
mayor interacción con los usuarios.
Es un lenguaje de programación interpretado, no requiere compilación,
usado en la mayoría de los sitios web actuales, no necesitaban emplear
un compilador.
Figura 2.12. JavaScript
Características
Se define como orientado a objetos, basado en prototipos,
imperativo, débilmente tipado y dinámico, pero restringido.
Fácil, no necesita editor específico o compilador.
Dinámico, responde a eventos en tiempo real.
Diferenciación entre mayúsculas y minúsculas.
Ventajas
Validación
Manejo de CSS
Ajax
Se ejecuta en el lado del cliente (client-side), implementado como
parte de un navegador web permitiendo mejoras en la interfaz de
usuario y páginas web dinámicas.
Desventajas
Tiende a crecer el número de líneas de código
Capítulo II Marco Teórico
28
Por seguridad, tiene capacidades limitadas.
Código visible
El código debe descargarse completamente antes de ejecutarse.
Se puede deshabilitar el lenguaje en el navegador.
2.4.11 CSS
Es una tecnología que nos permite crear y dar estilo a páginas web de
una manera exacta. Gracias a las CSS somos mucho más dueños de los
resultados finales de la página, pudiendo hacer muchas cosas que no se
podía hacer utilizando solamente HTML, como incluir imágenes, tipos de
letra, fondos, colores, bordes, etc.
Características
El modo de funcionamiento de las CSS consiste en definir, mediante una
sintaxis especial, la forma de presentación que le aplicaremos a:
Un web entero, de modo que se puede definir la forma de todo el
web de una sola vez.
Un documento HTML o página, se puede definir la forma, en un
pequeño trozo de código en la cabecera, a toda la página.
Una porción del documento, aplicando estilos visibles en un trozo
de la página.
Una etiqueta en concreto, llegando incluso a poder definir varios
estilos diferentes para una sola etiqueta. Esto es muy importante
ya que ofrece potencia en nuestra programación.
Ventajas
Control centralizado de la presentación de un sitio web completo
con lo que se agiliza de forma considerable la actualización del
mismo.
Capítulo II Marco Teórico
29
Separación del contenido de la presentación, o que facilita al
creador, diseñador, usuario o dispositivo electrónico que muestre la
página, la modificación de la visualización del documento sin alterar
el contenido, sólo modificando algunos parámetros del CSS.
Optimización del ancho de banda de la conexión.
Mejora en la accesibilidad del documento.
2.4.12 Apache
Servidor web de distribución libre y de código abierto. Es un servidor web
flexible, rápido y eficiente, continuamente actualizado y adaptado a los
nuevos protocolos HTTP 1.1. Esto significa que la programación que
impulsa el software puede ser consultada y editada por cualquiera en el
mundo. Este diseño abierto permite a cualquier programador crear una
solución personalizada basada en el programa núcleo de Apache, o
ampliar las funciones del software.
Figura 2.13. Funcionamiento del Servidor Apache
Características
Multiplataforma
Es un servidor web conforme al protocolo HTTP 1.1.
Capítulo II Marco Teórico
30
Modular: puede ser adaptado a diferentes entornos y necesidades
con los diferentes módulos de apoyo que proporciona.
Incentiva la realimentación de los usuarios, obteniendo nuevas
ideas, informes de fallos y parches para la solución de los mismos.
Se desarrolla de forma abierta.
Extensible: gracias a ser modular se han desarrollado diversas
extensiones entre las que destaca PHP, un lenguaje de
programación del lado del servidor.
Soporte
Apache Web Server cuenta con una gran comunidad de usuarios
de soporte. A diferencia de muchas compañías de software que se
encargan de todo el soporte a los programas desde un solo lugar,
el soporte técnico de Apache se extiende a lo largo de múltiples
localizaciones, empresas, y foros.
Este modelo de distribución del soporte permite a los usuarios
obtener respuestas a preguntas técnicas casi las 24 horas al día,
no importa dónde se encuentren.
Al ser de código abierto, Apache está conectado a muchos
usuarios que son capaces de crear parches y correcciones de
errores técnicos muy rápidamente. Tan pronto como se encuentra
un problema, los usuarios de todo el mundo comunican y aportan
soluciones. El resultado de este soporte de la comunidad es
software que es muy estable y bien mantenido.
2.4.13 Internet
Internet no siempre fue como lo conocemos, antes, era una red
compuesta de diversos protocolos que dependían más de las
proyecciones comerciales de las empresas que los desarrollaban, que del
Capítulo II Marco Teórico
31
propio interés por hacer una tecnología cada vez mejor, es así como nace
el protocolo TCP/IP, capaz de lograr un aunamiento de tecnologías que
permitió el nacimiento de una red internacional de información que es el
Internet.
Figura 2.14. Red Internacional de Información Internet
Características
Universal
Internet se extendió a nivel mundial. Podemos ver información
desde cualquier parte del mundo, se puede enviar correo
electrónico, transferir archivos, comprar vía internet,
transacciones,etc
Fácil de usar
No es importante conocer sobre informática para poder navegar
por Internet, y conseguir la información necesaria.
Variada
Hoy en día en Internet se puede encontrar toda clase de
información, útil y necesaria.
Económica
Internet básicamente es una de las herramientas más económicas
en cuanto a realizar consultas de libros, compras vía internet el
Capítulo II Marco Teórico
32
ahorro de tiempo y dinero es la causa principal por la cual los
cibernautas prefieren este medio.
Útil
La información es variada, útil y es de fácil acceso, sin duda. Nos
da la facilidad de que si no sabemos algo hay un sin número de
ejemplos para nuestra comprensión
Libre
Hoy en día las personas pueden subir cualquier tipo de
información, con lo cual permite emitir libres comentarios, esta en
nuestras manos decidir que tipo de uso damos a dicha información
en Internet. Este medio nos permite que seamos tan importantes y
libres de compartir la información que queremos dar a conocer.
Pero como todo tiene su lado negativo hay personas
inescrupulosasque hacen el uso negativo de la red. Por ejemplo, la
creación de virus informáticos, videos sensurados y conductas
antisociales, etc.
Anónima
En internet para poder leer y escribir comentarios y mantenernos
de forma anónima es muy sencillo ocultar o alterar la identidad.
Esta característica tiene una relación directa con el internet libre ya
que al estar de manera anónima facilita el libre uso de la red. de
De esta forma positiva alguien anónimo facilita la intimidad y la
expresión de diversas opiniones. Como lo dijimos las personas
anónimas inescrupulosas realizan fraudes y un sinnúmero de
delitos.
Auto-reguladora
¿Quién decide cómo funciona Internet? No exite persona alguna
que decida como es el funcionamiento de la misma el poder es
Internet. En este sentido podemos darnos cuenta que Internet se
Capítulo II Marco Teórico
33
autorregula o autogestiona. Las reglas existentes que permite que
Internet funcione han salido de la propia Internet.
Ventajas
La comunicación se hace más sencilla.
Se puede interactuar con muchas personas de todas partes del
mundo.
La búsqueda de información se vuelve mucho más rápida y
sencilla, sin tener que ir a los lugares que tienen dicha información
requerida.
Se encontra diveros puntos de vista sobre alguna noticia, y se
emiten comentarios.
Es fácil la descarga de software libre, por sus herramientas de fácil
acceso.
Se puede encontrar soporte técnico en la web de toda clase sobre
alguna herramienta o proceso que se desconoce.
En Internet el seguimiento de la información a tiempo real es
posible, y de fácil acceso.
Se puede compartir cosas personales o conocimientos que a otros
les puede servir, y de esa manera, se vuelve bien provechoso para
todos reutilizar la información que se proporciona y que
proporcionan.
Desventajas
Es fácil encontrar información buena, pero también es posible
encontrar de la misma forma mala información, desagradable que
puede afectar especialmente a los menores que están sin previo
control o tienen uso desmedido.
Capítulo II Marco Teórico
34
Puede generar gran dependencia o convertirse en un vicio del
internet, descuidando las cosas perosnales o laborales y
sumergirse en el mundo del internet olvidándse de todo lo demás.
Permite entre los estudiantes que exista un mal uso de la
información convirtiénsose en copy / paste, lo que hace que nos
esforcemos cada vez menos para la presentación de tareas.
La principal fuente de la piratería es el internet. Debido a que existe
una gran distracción en los empleados en su trabajo, o estudiantes
en hora de clase.
Si existe un corte de internet, caída del servidor, todos los procesos
que se están ejecutando quedan parados.
Si hay un corte de energía eléctrica en la casa, nos quedamos sin
internet
Existe la creación de males tales como el spam, el malware, la
proliferación de los virus, el phising, entre otros.
Capítulo III Metodología del Sistema
35
CAPITULO 3: Metodología del Sistema
3.1 Fase de Análisis del Sistema
3.1.1 Situación Actual de los Procesos
Los procesos en su mayoría son realizados de forma manual y la persona
debe ser la que se acerque a la Universidad, siendo a veces un poco
difícil e innecesario, este sistema presenta las siguientes características:
Este sistema, está instalado exclusivamente en una partición del disco
duro del administrador del sistema y es compartido íntegramente para
los demás usuarios; representa un peligro a la hora de tener
seguridades, cualquier persona puede ingresar, eliminar y plagiar la
información almacenada en el disco duro, información que luego solo
es impresa y entregada a cada representante de cada disciplina.
Representa una amenaza de posibles infecciones de virus, puesto
que de darse el caso que la partición deba ser formateada se perdería
toda la información histórica.
No es flexible, la información ingresada tiene un bajo nivel de detalle
para realizar el control de actividades.
El sistema solo funciona con un usuario conectado, los demás
usuarios deben esperar a que se libere la aplicación, es decir, dos
usuarios que están en red no se pueden conectar al sistema
simultáneamente.
3.1.2 Situación Futura de los Procesos
Capítulo III Metodología del Sistema
36
Siendo una aplicación web, el acceso al sistema es simultáneo, es decir
que varias usuarios pueden acceder al sistema al mismo tiempo, sin
necesidad de tener instalado un cliente.
Dentro del sistema se definen cuatro roles de usuarios que son:
Administrador: en este perfil podrá realizar las siguientes acciones:
Cambiar de perfil a los usuarios
Cambiar contraseña
Realizar el ingreso de cada socio, categorías, torneos
Modificar o Eliminar Torneos
Usuario: en este perfil se podrá realizar las siguientes acciones:
Ver lista de torneos disponibles
Inscribirse en los torneos
Figura 2.15. Análisis de Desarrollo
3.1.3 Descripción de Beneficios al realizar el proyecto
Capítulo III Metodología del Sistema
37
Existen muchas razones por las cuales una Institución debe tener un sitio
web. Hoy en día el internet es una herramienta utilizada en todo el mundo,
y nos permite acceder a múltiples recursos y conocer sobre otras
Instituciones con facilidad. Muchas crecen exponencialmente gracias a
sus sitios web. Es hora de aprovechar esta herramienta de comunicación
para potenciar al máximo.
Con el desarrollo del sistema logramos que sea reducido el tiempo de
espera del usuario, obteniendo una respuesta inmediata a sus
necesidades.
3.1.4 Análisis de Factibilidad
Este proyecto se llevó a cabo ya que contamos con el personal
adecuado y las herramientas necesarias para su desarrollo.
Factibilidad Económica
El sistema a desarrollarse es una propuesta realizada a la Universidad
Central del Ecuador, los recursos requeridos de hardware son
proporcionados por la institución, el software que se ha utilizado es de
libre distribución.
El desarrollo del proyecto se lo realiza bajo la tutela de docentes de la
institución, como son: departamento de Informática y demás personal
involucrado. Esto quiere decir que no existe un valor económico en lo que
se refiere al empleo del recurso humano. Los desarrolladores de la tesis,
están exentos de cualquier pago monetario.
Capítulo III Metodología del Sistema
38
Factibilidad Técnica
Para el desarrollo contamos con programas de libre distribución para la
realización del proyecto como: MySQL 5.2. que es el motor de la base de
datos con la que se trabajará.
En caso de la herramienta de desarrollo se utiliza el lenguaje de
Programación PHP, con el editor Netbeans, para el desarrollo de los
frameworks de la aplicación se lo realizará con JQERY, AJAX, CSS . Esta
aplicación se ejecutará bajo el sistema Operativo Linux, cumpliendo así
con los requerimientos de la aplicación que se desea desarrollar,
justificando de esta manera su uso. El desarrollador de la aplicación tiene un conocimiento estable y
compacto lo que le permitirá desenvolverse en los diferentes ámbitos
técnicos planteados.
Factibilidad Operativa
Para el Desarrollo e Implementación del Sistema Web de Actividades
Deportivas y Recreativas se ha conformado un grupo de Proyecto de
Tesis.
Por la colaboración brindada para el desarrollo del Proyecto.
3.1.5 Requerimientos del Proyecto
Una vez realizado el estudio preliminar del sistema, se determinó que la
Universidad Central del Ecuador, no cuenta con un sistema para el
registro de las actividades deportivas que se desarrollan en la misma.
Capítulo III Metodología del Sistema
39
El estudio, permitió conocer las necesidades y requerimientos que el
sistema a desarrollarse debería poseer.
Se determinó los siguientes requerimientos funcionales del sistema:
1. Ingreso de información concerniente a los torneos deportivos y sus
diferentes categorías.
2. Mostrar en la página principal del sistema un listado de los torneos
deportivos disponibles.
3. Permitir a los usuarios registrar sus equipos e inscribirlos a los
torneos.
4. Restringir el acceso al sistema a los usuarios, mediante perfiles de
acceso.
Disponibilidad del Cliente
Los requerimientos fueron establecidos mediante las entrevistas
realizadas a las personas encargadas de llevar el control de actividades
deportivas.
Disponibilidad de Software
Las versiones de sistema operativo y software que van a ser utilizadas
en el desarrollo de la aplicación se determinaron de acuerdo a las
versiones más estables según las exigencias del proyecto.
Sistema Operativo Linux Centos 5.5.
Lenguaje de Programación PHP 5.3.17.
Editor Netbeans 7.1.2
Framework CSS, JQUERY y AJAX
Capítulo III Metodología del Sistema
40
Modelamiento de Base de Datos MySql Workbench 5.2
CE
Servidor web Apache 2.2.
Servidor de Base de Datos My Sql 5.0.
Disponibilidad de Hardware
Para el desarrollo de este sistema se
requiere:
Servidor Computador Core 2 duo de 2 GB de memoria RAM
(Memoria de Acceso Aleatorio), procesador de 2.13 MHz y disco duro
mínimo de 120 GB.
Para desarrollo de la aplicación se utilizó un computador con las
siguientes características:
Procesador: Intel(R) Core(TM) i5-3317U 1.7 GHz.
Memoria RAM (Memoria de Acceso Aleatorio): 4 GB.
Tipo de sistema: Sistema operativo de 64 bits, procesador x64
Para la fase de pruebas se utilizará un servidor virtual en uno de los
computadores que utilizaremos para el desarrollo.
Para el proyecto a desarrollar se cuenta con un programador, un
computador.
3.1.6 Riesgo del Proyecto
El riesgo del proyecto tiene su origen en la incertidumbre, razón por la
cual a partir del desarrollo del proyecto podemos identificar varios riesgos
conocidos y predecibles, para lograr un plan de contingencia en caso
de ser necesario y poder controlar o evitar alguna mala manipulación del
sistema.
Capítulo III Metodología del Sistema
41
Los requerimientos inestables, la falta de participación del
usuario generan mala comunicación entre los desarrolladores y el
usuario del software, haciendo que se consuma el tiempo extra en
volver a diseñar el producto.
La participación de los desarrolladores del software, para que
exista una coordinación precisa del esfuerzo para el desarrollo
rápido del sistema.
Rendimiento no cambiar de herramientas a mitad del proyecto
debido a que causaría demora en la terminación
Planificación no terminar el proyecto en el plazo estipulado.
3.2 Levantamiento de Información
Gracias a la colaboración del Ing. Santiago Rosero se llevo a cabo el
desarrollo de la aplicación, nos basamos en los pilares fundamentales que
tiene la Institución:
Infraestructura
Coordinación deportiva
Entretenimiento con Actividades Culturales
Talento humano
El desarrollo del proyecto se basa en el pilar de Coordinación Deportiva,
en la cual todos sus asociados que son alrededor de 12000 personas
tengan un acceso directo para coordinar y tener un seguimiento de los
deportes para participar en los diferentes campeonatos y demás
actividades, de esta manera la Institución brinda un servicio oportuno y
eficaz dentro del servicio al Estudiante.
Capítulo III Metodología del Sistema
42
Se van a regisrar las siguientes disciplinas y la cantidad de personas las
cuales tienen acceso a los diferentes torneos.
CATEGORÍAS PERSONAS
Fútbol 650
Básket 380
Vóley 250
3.3 Fase de Diseño del Sistema
3.3.1 Modelo Operativo
Prototipo de Interfaz
El diseño del sistema fue realizado de tal manera que permita al usuario
usarlo de forma intuitiva, fácil de manejar y encontrar las opciones
rápidamente.
La distribución se la hizo con un layout que describimos brevemente a
continuación:
En la parte superior de la página se muestra el nombre del sistema
y el menú de la aplicación.
Existe una barra con cuadros de diferentes colores, servirá para
cambiar el color del tema de la aplicación.
En la barra lateral izquierda se mostrará el menú de acceso rápido
a las operaciones del sistema.
En el lado izquierdo está el cuerpo de la página, en esta se
muestra la información del sistema.
Los botones describen cada una de las actividades que realiza el sistema.
Capítulo III Metodología del Sistema
43
En el cuerpo de la aplicación se muestra una grilla y en cada uno de los
registros una imagen que representa a cada acción que se puede ejecutar
con dicho registro.
Lupa, permite ver el registro seleccionado.
Lápiz, permite editar el registro seleccionado
X, permite eliminar el registro seleccionado
Link – Búsqueda Avanzada, abre un formulario con el cual se
realizarán búsquedas por cualquier campo de la tabla.
Campos de inserción: Son controles que permiten el ingreso o
selección de datos referente a cierto registro de acuerdo a los
títulos de datos antecesores.
Campo de fecha: La acción de este campo es visualizar un
calendario para seleccionar la fecha y llenar el campo
correspondiente directamente con un solo clic y evitar ingresar la
misma de forma manual. (ver Anexo1).
Interfaz de Inicio de Sesión
Esta interfaz valida la existencia del usuario en la base de datos, si existe,
se determinará su perfil y se le dará acceso únicamente a las partes del
menú asignadas a su perfil, de la misma manera, a las acciones de
eliminar, editar o insertar de cada registro. (ver Anexo1).
Interfaz de Ingreso de Datos
Permite generar, modificar o insertar datos a la base de datos. Teniendo
en cuenta su relación con datos existentes fuera de este formulario y que
no afecte al resto de información existente. (ver Anexo1).
Interfaz de Búsquedas
Capítulo III Metodología del Sistema
44
Permite realizar búsquedas por cada campo de la tabla, en el caso de
fechas, despliega un calendario, en el caso de claves foráneas, coloca un
combo box. (ver Anexo1).
3.3.2 Diagrama del Flujo de Datos
Nivel 0
Flujo administrador contiene datos de las operaciones que el
administrador realiza en el sistema.
Flujo usuario contiene información acerca de la petición de servicio que
hace el usuario de nuestro sistema mediante el computador.
Flujo web contiene datos extraídos del formulario web y serán necesarios
para dar el alta o baja al estudiante que lo solicita.
Salida a pantalla = datos del usuario
Salida a usuario = mensajes de información. (ver Anexo 1).
Nivel 1
Flujo web = datos alta o baja registro de información.
Salida administrador = salida a pantalla / gestión del sistema.
Subsistema Administrador
Es el encargado de gestionar las peticiones realizadas por el
administrador acerca de la gestión de usuarios, la gestión del propio
sistema y las diversas consultas. (ver Anexo 2).
Subsistema Usuario
Capítulo III Metodología del Sistema
45
Es el encargado de gestionar peticiones que pueden hacer un usuario
mediante la inscripción conectarse, desconectarse consultar los diferentes
eventos.(ver Anexo 2)
Proceso Petición Web
Dependiendo de los datos que recibe de la página web mediante un
formulario decide si lo que quiere realizar es un alta o baja en el sistema y
dependiendo de esto podrá realizar la operación.
Proceso alta: El proceso da un alta a un nuevo usuario en el
sistema, almacenando en la base de datos los datos
proporcionados en el formulario web que relleno el usuario.
Proceso baja: Partiendo de la identificación introducido en el
formulario web de baja comprueba si está registrado en el sistema,
en caso de ser positivo le mostrará todas las disciplinas a las
cuales pueda registrarse y se dará de baja de forma automática
sus datos personales. (ver Anexo 2).
Flujo de Datos Salida del Administrador
Es la representación de los datos de información que se le mostrarán al
administrador al realizar alguna operación.
Flujo de Datos Salida a Usuario
Es la representación de los datos en forma de mensaje que mandarán al
usuario como salida de alguna operación realizada.
Almacenamiento de Base de Datos
Es la representación de la base de datos del sistema, que será consultada
y modificada por los procesos “alta” y “baja”. (ver Anexo 2).
Nivel 2
Capítulo III Metodología del Sistema
46
Flujo administrador selecciona opción contiene datos de gestión de
usuario, gestión del sistema, datos históricos = salida a pantalla
Flujo de usuario distingue opción, proceso de consulta en la base de
datos = salida a pantalla.
Subsistema Gestión Usuario
Este subsistema se encarga de gestionar las operaciones del
administrador podrá realizar con la información de los usuarios, estas
operaciones serán de consulta y modificaciones.
Subsistema Gestión Sistema
Este subsistema se encarga de gestionar las operaciones que el
administrador puede realizar con la información que puede afectar
directamente al funcionamiento del sistema.
Proceso Base Histórica
Consultar en la base de datos la información general del usuario en caso
que ya esté inscrito y quiera participar en algún torneo adicional. (ver
Anexo 3).
Flujo de Datos Usuario
Formado por varios datos generales del usuario que serán diferenciados y
usados en el subsistema de gestión de usuario.
Flujo de Datos Sistema
Formado por información referente al sistema que será usada en el
subsistema gestión del sistema.
Flujo de Datos Base
Numero de disciplinas aportado por el administrador al proceso que se
encarga de mostrar la trayectoria deportiva del estudiante.
Capítulo III Metodología del Sistema
47
Almacén Base de Datos
El almacén de Base de Datos representa la base de datos del sistema
que será consultada por los diferentes procesos base. (ver Anexo3).
Nivel 3
Datos de usuario selección gestión de usuario le permite el proceso de
nuevo, actualiza, modifica y elimina categorías y torneos dependiendo del
requerimiento.
Proceso Nuevo
Da de alta a un nuevo aspirante en el sistema, almacenando en la base
de datos los datos que fueron proporcionados y llenados por el
administrador.
Proceso Eliminar
A partir de la identidad introducido por el administrador podemos
comprobar si está registrado en el sistema y en el caso que exista y
desee salir de la disciplina se le da de baja y de forma automática todos
los datos personales.
Proceso Actualizar
A partir de la identificación introducido por el administrador podemos
manipular la información individual por equipo de acuerdo a la disciplina y
modificar en el caso de ser necesario. (ver Anexo 4).
3.3.3 Diseño de la Base de Datos
Luego de un cauteloso análisis de la información, se llegó a desarrollar el
modelamiento de la base de datos. Se visualiza las tablas requeridas para
el proyecto de software. (ver Anexo 5).
Capítulo III Metodología del Sistema
48
MySQL Workbench es una herramienta de diseño visual de base de datos
desarrollada por MySQL. Es el tan esperado sucesor de la aplicación
DBDesigner4. MySQL Workbench estará disponible como una
herramienta GUI nativas en Windows, Linux y OS X.
3.3.4 Diccionario de Datos
Un diccionario de datos contiene las características lógicas de los datos
que se van a utilizar en el sistema que estamos programando, incluyendo
nombre, descripción, alias, contenido y organización (ver Anexos 6).
3.3.5 Procesos del Sistema
Un proceso es un programa en ejecución. Los procesos son gestionados
por el sistema operativo y están formados por las instrucciones de un
programa destinadas a ser ejecutadas por el ordenador con el fin de
ejecutar el sistema.
Capítulo IV Desarrollo del Sistema
49
CAPITULO 4: Desarrollo Del Sistema
4.1 Estándares de Diseño de la Base de Datos
A lo largo del ciclo de vida de una aplicación, es necesario contar con
instrumentos que permitan a los desarrolladores y analistas mantener la
legibilidad de lo que está desarrollando, por esta razón, es importante
contar con estándares para el diseño de la Base de Datos y de esta
manera asegurar la calidad del producto final
Podemos citar las innumerables ventajas, que existen entre ellas:
Debe ser entendible el modelo de datos, para las personas que no
están relacionadas con el ambiente informático, y puedan
intercambiar procesos en las etapas de análisis y diseño.
Debe tener las características para que pueda ejecutarse entre los
diferentes motores de bases de datos, plataformas y aplicaciones.
Es importante que al momento de realizar las tareas de sea fácil
para los programadores en el desarrollo de los sistemas.
Razón por la cual, la codificación de las tablas de la base de datos debe
cumplir con los requisitos necesarios. Logrando asíque estos requisitos
pueden aplicarse y manipularse a cualquier motor de bases de datos.
Debemos tener en cuenta las siguientes reglas generales:
El nombre de la base de datos, debe siempre comenzar con el
prefijo BD seguido del nombre de la base de datos:
Ejemplo: bddeportes.
Capítulo IV Desarrollo del Sistema
50
Los nombres de las tablas deben seguir el estándar
lowerCamelCase para el caso de nombres compuestos, caso
contrario, se escribirá el nombre en minúsculas.
Ejemplo: informacionAlumno.
Los nombres de los campos deben estar bajo el estándar
lowerCamelCase.
En este tipo de estándar debemos especificar y escribir las
palabras compuestas eliminando los espacios y poniendo en
mayúscula la primera letra de cada palabra. Si fuese el caso de ser
nombres compuestos se utilizara la variante lowerCamelCase, es
decir, la primera letra del nombre en minúscula.
Ejemplo camelCase: idAlumno
Ejemplo lowerCamelCase: idSolicitudPendiente
Los caracteres alfabéticos son los que debemos usar, salvo que
por la naturaleza del nombre se
necesiten dígitos numéricos. No debemos usar caracteres de
puntuación o símbolos.
De manera general se han descrito los estándares que este proyecto
debe seguir para su desarrollo.
4.2 Estándares de Codificación
En este proyecto se va a utilizar la codificación PHP, las cuales se
describen a continuación:
Tags PHP
<?php
?>
Capítulo IV Desarrollo del Sistema
51
4.2.1 Cadenas Literales
Cuando una cadena es literal (no contiene sustitución de variables), el
apóstrofe o "comilla simple" siempre deben ser usada para delimitarla:
$a = 'Example String';
Cadenas literales que contienen apóstrofes
Cuando una cadena contiene apóstrofes, se permite el uso de comillas
dobles para para delimitarlas, comúnmente esto se usa en las consultas
SQL.
$sql = "SELECT `id`, `name` from `people` "
. "WHERE `name`='Fred' OR `name`='Susan'";
4.2.2 Funciones
Todas las funciones, incluyendo métodos de objeto, debe tener un bloque
de documentación que contenga como mínimo:
Una descripción de la función
Todos los argumentos
Todos los valores de retorno posibles
No es necesario usar el "acceso @" tag porque el nivel de acceso que ya
se conoce de la "public", "private" o "protected" usado para declarar la
función.
Si una función o método puede lanzar una excepción, utilice @ throws
para todas las clases de excepciones conocidas:
@ Throws exceptionclass [descripción]
4.2.3 Sustitución de Variables
Capítulo IV Desarrollo del Sistema
52
La sustitución de variables es permitida mediante una de las siguientes
formas:
$greeting = "Hello $name, welcome back!";
$greeting = "Hello {$name}, welcome back!";
Por consistencia, esta forma no es permitida.
$greeting = "Hello ${name}, welcome back!";
4.2.4 Concatenación de Cadenas
Las cadenas se concatenan usando el operador “.”. Debe siempre existir
un espacio antes y después del operador para que mejore la legibilidad
del código.
$company = 'Zend' . ' ' . 'Technologies';
Al concatenar cadenas con el operador ".", se recomienda dividir la
sentencia en varias líneas para facilitar la lectura. En estos casos, cada
línea sucesiva debe ser tabulada con cuatro espacios en blanco de modo
que el operador está alineado bajo el operador "=". "":
$Sql = "SELECT` id `,` name `From 'gente` "
. "WHERE` name `= 'Susan'"
. "ORDER BY` name `ASC";
4.2.5 Matrices Indexadas Numericamente
Los números negativos no son permitidos como índices.
Una matriz indexada puede comenzar con cualquier número no negativo,
sin embargo, todos los índices de base distintos a 0.
Capítulo IV Desarrollo del Sistema
53
Al declarar arrays indexados con la función Array, se debe agregar un
espacio al final después de cada delimitador de coma para mejorar la
legibilidad:
$ SampleArray = array (1, 2, 3, 'Zend', 'Studio');
Se permite declarar arrays indexados multilínea usando la construcción
"array". En este caso, cada línea sucesiva debe ser tabulada con cuatro
espacios de forma que a partir de cada línea se alinea:
$ SampleArray = array (1, 2, 3, 'Zend', 'Studio',$ A, $ b, $ c, 56.44,
$ d, 500);
Alternativamente, el elemento inicial array puede comenzar en la siguiente
línea. Si es así, debe ser rellenado en un nivel de sangría mayor que la
línea que contiene la declaración de matriz, y todas las líneas sucesivas
debe tener la misma huella, el paréntesis de cierre debe estar en una
línea por sí mismo al mismo nivel de sangría como la línea que contiene
la declaración de matriz:
$ SampleArray = array (
1, 2, 3, 'Zend', 'Studio',
$ A, $ b, $ c,
56.44, $ d, 500,5. );
Cuando se utiliza esta última declaración, le recomendamos el uso de una
coma al final del último elemento de la matriz, lo que minimiza el impacto
de la adición de nuevos elementos en líneas sucesivas, y ayuda a
asegurar que no se producen errores de análisis debido a la falta de una
coma.
Capítulo IV Desarrollo del Sistema
54
4.2.6 Array Asociados
Al declarar arrays asociativos con la construcción array, rompiendo la
declaración en múltiples líneas si se anima. En este caso, cada línea
sucesiva debe ser rellenado con el espacio en blanco de tal manera que
tanto las claves y los valores están alineados:
$ SampleArray = array ('firstKey' => 'firstvalue',
'SecondKey' => 'SecondValue');
Alternativamente, el elemento inicial array puede comenzar en la siguiente
línea. Si es así, debe ser rellenado en un nivel de sangría mayor que la
línea que contiene la declaración de matriz, y todas las líneas sucesivas
debe tener la misma huella, el paréntesis de cierre debe estar en una
línea por sí mismo al mismo nivel de sangría como la línea que contiene
la declaración de matriz. Para facilitar la lectura, las diversas "=>"
operadores de asignación deben ser rellenados de manera que queden
alineados.
$ SampleArray = array (
'FirstKey' => 'firstvalue',
'SecondKey' => 'SecondValue',
);
Cuando se utiliza esta última declaración, le recomendamos el uso de una
coma al final del último elemento de la matriz, lo que minimiza el impacto
de la adición de nuevos elementos en líneas sucesivas, y ayuda a
asegurar que no se producen errores de análisis debido a la falta de una
coma.
Capítulo IV Desarrollo del Sistema
55
4.2.7 Declaración de Clases
Clases deben ser nombradas de acuerdo con las convenciones de
nombres de Zend Framework.
La llave siempre debe ser escrito en la línea debajo del nombre de la
clase.
Cada clase debe contener un bloque de documentación que cumpla con
el estándar PHPDocumentor.
Todo el código de una clase debe ser separado con cuatro espacios.
Sólo una clase está permitida en cada archivo PHP.
La colocación de código adicional en archivos de clase está permitido
pero desaconsejado. En este tipo de archivos, dos líneas en blanco deben
separar la clase de cualquier código PHP adicional en el archivo de clase.
El siguiente es un ejemplo de una declaración de clase aceptable:
/ **
* Bloque de Documentación aquí
* /
SampleClass clase
{
/ / El contenido de la clase
/ / Debe separarse con cuatro espacios
}
Las clases que se extienden a otras clases o qué interfaces implementan
deben declarar sus dependencias en la misma línea de lo posible.
Capítulo IV Desarrollo del Sistema
56
SampleClass clase extiende implementos FooAbstract
BarInterface
{
}
Si como consecuencia de estas declaraciones, la longitud de línea supera
la longitud máxima de la línea, romper la línea antes de que el "extends" y
/ o "instrumentos" palabras clave, y la almohadilla de esas líneas en un
nivel de sangría.
SampleClass clase
extiende FooAbstract
implementa BarInterface
{
}
Si la clase implementa varias interfaces y la declaración supera la longitud
máxima de la línea, romper después de cada coma que separa las
interfaces, y el guión de los nombres de interfaz de manera que se
alineen.
SampleClass clase
implementa BarInterface,
BazInterface
{
}
Variables miembro de clase
Las variables miembro deben ser nombradas de acuerdo a las
convenciones de denominación de variables de Zend Framework.
Capítulo IV Desarrollo del Sistema
57
Cualquier variable declarada en una clase debe aparecer en la parte
superior de la clase, por encima de la declaración de los métodos.
No se permite la construcción var. Las variables de miembro siempre
declaran su visibilidad usando uno de los modificadores private, protected,
o del público. Dar acceso a las variables de miembro declarándolas
directamente como public está permitido pero no se aconseja en favor de
los métodos de acceso (juego y conseguir).
4.2.8 Función y Método Declaración
Funciones deben ser nombradas de acuerdo con las convenciones de
nombres de función de Zend Framework.
Métodos dentro de clases siempre se deben declarar su visibilidad
usando uno de los modificadores private, protected, o del público.
Al igual que con las clases, la llave siempre debe ser escrito en la línea
debajo del nombre de la función. No se permite el espacio entre el
nombre de función y el paréntesis de apertura para los argumentos.
Las funciones de alcance global no están permitidas.
El siguiente es un ejemplo de una declaración de la función aceptable en
una clase:
/ **
* Bloque de Documentación aquí
* /
clase Foo
{
/ **
Capítulo IV Desarrollo del Sistema
58
* Bloque de Documentación aquí
* /
public function bar ()
{
/ / El contenido de la función
/ / Debe separarse con cuatro espacios
}
}
En caso de que la lista de argumentos excede la longitud máxima de la
línea, es posible introducir saltos de línea. Otros argumentos a la función
o método debe separarse un nivel adicional más allá de la función o el
método de declaración. Un salto de línea entonces debe ocurrir antes de
que la paren alegato final, el cual debe ser colocado en la misma línea
que la llave de apertura de la función o el método con un espacio de
separación de los dos, y al mismo nivel de sangría como la función o el
método de declaración. El siguiente es un ejemplo de una de tales
situaciones:
/ **
* Bloque de Documentación aquí
* /
clase Foo
{
/ **
* Bloque de Documentación aquí
* /
Capítulo IV Desarrollo del Sistema
59
public function bar ($ arg1, arg2 $, $ arg3,
$ Arg4, $ arg5, $ arg6
) {
/ / El contenido de la función
/ / Debe separarse con cuatro espacios
}
}
Nota: el paso por referencia es el único mecanismo de paso de
parámetros permitidos en una declaración de método.
/ **
* Bloque de Documentación aquí
* /
clase Foo
{
/ **
* Bloque de Documentación aquí
* /
public function bar (& $ baz)
{}
}
Llamar a tiempo de paso por referencia está estrictamente prohibida.
El valor de retorno no debe ir entre paréntesis. Esto puede afectar a la
legibilidad, en adicional para romper el código si un método se cambió
más tarde para volver por referencia.
Capítulo IV Desarrollo del Sistema
60
/ **
* Bloque de Documentación aquí
* /
clase Foo
{
/ **
* MAL
* /
public function bar ()
{
return ($ this-> bar);
}
/ **
* DERECHO
* /
public function bar ()
{
return $ this-> bar;
}
}
4.2.9 Función y Método de Uso
Capítulo IV Desarrollo del Sistema
61
Argumentos de la función deben estar separados por un único espacio
final después del delimitador de coma. El siguiente es un ejemplo de una
invocación aceptable de una función que toma tres argumentos:
threeArguments (1, 2, 3);
Llamar a tiempo de paso por referencia está estrictamente prohibida. Vea
la sección de declaraciones de función para el modo correcto de pasar
argumentos por referencia.
Al pasar arrays como argumentos a una función, la llamada a la función
puede incluir el indicador "hint" y puede ser dividido en varias líneas para
facilitar la lectura. En tales casos, todavía se aplican las pautas normales
para escribir arrays:
threeArguments (array (1, 2, 3), 2, 3);
threeArguments (array (1, 2, 3, 'Zend', 'Studio',
$ A, $ b, $ c,
56,44, $ d, 500), 2, 3);
threeArguments (array (
1, 2, 3, 'Zend', 'Studio',
$ A, $ b, $ c,
56.44, $ d, 500
), 2, 3);
Sentencias de control
If / else / Elseif
Las sentencias de control basadas en el caso de construcciones y elseif
deben tener un espacio antes del paréntesis de apertura del condicional y
un solo espacio después del paréntesis de cierre.
Capítulo IV Desarrollo del Sistema
62
Dentro de las sentencias condicionales entre los paréntesis, los
operadores deben estar separados por espacios para facilitar la lectura.
Se alienta a los paréntesis internos para mejorar la agrupación lógica de
las expresiones condicionales más grandes.
La llave de apertura se escribe en la misma línea que la sentencia
condicional. La llave de cierre siempre se escribe en una línea distinta.
Cualquier contenido dentro de las llaves debe separarse usando cuatro
espacios.
if ($ a! = 2) {
$ A = 2;
}
Si la sentencia condicional hace que la longitud de la línea superior a la
longitud máxima de la línea y tiene varias cláusulas, es posible romper el
condicional en varias líneas. En tal caso, romper la línea antes de un
operador lógico, y la almohadilla de la línea de manera que se alinea bajo
el primer carácter de la cláusula condicional. El paréntesis de cierre en
condicional será colocada en una línea con la llave de apertura, con un
espacio de separación de los dos, a un nivel de sangría equivalente a la
sentencia de control de apertura.
if (($ a == $ b)
&& ($ B == $ c)
| | (Foo :: CONST == $ d)
) {
$ A = $ d;
}
Capítulo IV Desarrollo del Sistema
63
La intención de este formato de declaración de este último es para evitar
problemas al añadir o eliminar las cláusulas de la condicional durante las
revisiones posteriores.
Para las declaraciones "if" que incluyan "elseif" o "else", las convenciones
de formato son similares a los "si" construir. Los siguientes ejemplos
demuestran el formato correcto para declaraciones "if" con construcciones
"elseif" "else" y / o:
if ($ a! = 2) {
$ A = 2;
} Else {
$ A = 7;
}
if ($ a! = 2) {
$ A = 2;
} Elseif ($ a == 3) {
$ A = 4;
} Else {
$ A = 7;
}
if (($ a == $ b)
&& ($ B == $ c)
| | (Foo :: CONST == $ d)
) {
$ A = $ d;
Capítulo IV Desarrollo del Sistema
64
} Elseif (($ a! = $ B)
| | (! $ B = $ c)
) {
$ A = $ c;
} Else {
$ A = $ b;
}
PHP permite escribir sentencias sin llaves en algunas circunstancias. Esta
norma de codificación hace ninguna diferenciación-all "si", las
declaraciones "si no" "elseif" o debe utilizar llaves.
Cambiar
Las sentencias de control escritas con la declaración "switch" deben tener
un único espacio antes del paréntesis de apertura del condicional y
después del paréntesis de cierre.
Todo el contenido dentro de la sentencia "switch" debe separarse usando
cuatro espacios. Contenido en cada declaración "case" debe separarse
usando cuatro espacios adicionales.
switch ($ numPeople) {
caso 1:
break;
caso 2:
break;
default:
Capítulo IV Desarrollo del Sistema
65
break;
}
La construcción default no debe omitirse nunca en una sentencia switch.
Nota: A veces es útil escribir una declaración case que salta al siguiente
case al no incluir un break o return dentro de ese caso. Para distinguir
estos casos de posibles errores, cualquier declaración de caso en los que
se omiten break o return debe contener un comentario indicando que se
omitieron intencionalmente.
4.2.10 Documentación en Línea
Formato de la Documentación
Todos los bloques de documentación ("docblocks") deben ser compatibles
con el formato phpDocumentor. Describiendo el formato phpDocumentor
está más allá del alcance de este documento. Para obtener más
información, visite: »http://phpdoc.org/
Todos los archivos de clase deben contener un bloque de documentación
"a nivel de archivos" en la parte superior de cada archivo y un bloque de
documentación "a nivel de clase" inmediatamente antes de cada clase.
Ejemplos de tales docblocks se pueden encontrar a continuación.
Archivos
Cada archivo que contiene código PHP debe tener un bloque de
documentación en la parte superior del archivo que contiene las
siguientes etiquetas phpDocumentor como mínimo:
/ **
* Breve descripción de archivo
Capítulo IV Desarrollo del Sistema
66
*
* Descripción larga del fichero (si existe) ...
*
* LICENCIA: Parte de la información de licencia
*
* @ Categoría Zend
* @ Paquete Zend_Magic
* @ Varita subpackage
* @ Copyright Copyright (c) 2005-2011 Zend Technologies Inc.
EE.UU. (http://www.zend.com)
* @ Http://framework.zend.com/license licencia BSD License
* @ Version $ Id: $
* @ Link http://framework.zend.com/package/PackageName
* @ Since archivo disponible desde la versión 1.5.0
* /
La categoría anotación @ debe tener un valor de "Zend".
La anotación @ envase debe ser asignado, y debe ser equivalente al
nombre del componente de la clase que figura en el expediente, por lo
general, sólo dispondrá de dos segmentos, el prefijo "Zend", y el nombre
de los componentes.
El subpackage anotación @ es opcional. Si existe, debe ser el nombre de
subcomponente, menos el prefijo de clase. En el ejemplo anterior, se
supone que la clase en el archivo es "Zend_Magic_Wand" o utiliza ese
nombre de clase como parte de su prefijo.
Capítulo IV Desarrollo del Sistema
67
4.2.11 Clases
Cada clase debe tener un bloque de documentación que contiene las
siguientes etiquetas phpDocumentor como mínimo:
/ **
* Breve descripción de la clase
*
* Descripción larga de la clase (en su caso) ...
*
* @ Categoría Zend
* @ Paquete Zend_Magic
* @ Varita subpackage
* @ Copyright Copyright (c) 2005-2011 Zend Technologies Inc.
EE.UU. (http://www.zend.com)
* @ Http://framework.zend.com/license licencia BSD License
* @ Version de lanzamiento: @ versión_del_paquete @
* @ Link http://framework.zend.com/package/PackageName
* @ Since Clase disponible desde la versión 1.5.0
* @ Clase obsoleta obsoleto en la versión 2.0.0
* /
La categoría anotación @ debe tener un valor de "Zend".
Capítulo IV Desarrollo del Sistema
68
La anotación @ envase debe ser asignado, y debe ser equivalente al
componente al que pertenece la clase, por lo general, sólo dispondrá de
dos segmentos, el prefijo "Zend", y el nombre de los componentes.
El subpackage anotación @ es opcional. Si existe, debe ser el nombre de
subcomponente, menos el prefijo de clase. En el ejemplo anterior, se
supone que la clase descrita puede ser "Zend_Magic_Wand" o utiliza ese
nombre de clase como parte de su prefijo.
4.3 Estándares Para el Desarrollo de la Aplicación
4.3.1 Esquema de trabajo de YII (Modelo, Vista, Controlador)
Yii implementa el diseño de patrón modelo-vista controlador (model-view-
controller MVC) el cual es adoptado ampliamente en la programación
Web. MVC tiene por objeto separar la lógica del negocio de las
consideraciones de la interfaz de usuario para que los desarrolladores
puedan modificar cada parte más fácilmente sin afectar a la otra. En MVC:
Modelo: Representa la información (los datos) y las reglas del
negocio.
Capítulo IV Desarrollo del Sistema
69
Vista: Contiene elementos de la interfaz de usuario como textos,
formularios de entrada.
Incluir los estilos CSS para el texto, imágenes y ubicación de la
página.
Capítulo IV Desarrollo del Sistema
70
Página directorio index.php
El contenido se muestra:
<?php
// change the following paths if necessary
$yii=dirname(__FILE__).'/framework/yii.php';
$config=dirname(__FILE__).'/protected/config/main.php';
// remove the following lines when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
// specify how many levels of call stack should be shown in each log
message
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
require_once($yii);
Yii::createWebApplication($config)->run();
Creación de botones ya sea grabar, modificar, borrar:
public function actionDelete($id) {
if (Yii::app()->getRequest()->getIsPostRequest()) {
$this->loadModel($id, 'Campeonato')->delete();
if (!Yii::app()->getRequest()->getIsAjaxRequest())
$this->redirect(array('admin'));
Capítulo IV Desarrollo del Sistema
71
} else
throw new CHttpException(400, Yii::t('app', 'Your
request is invalid.'));
}
Controlador: Administra la comunicación entre la vista y el modelo.
Más alla del MVC, Yii tambien introduce un front-controller llamado
aplicación el cual representa el contexto de ejecución del procesamiento
del pedido. La aplicación resuelve el pedido del usuario y la dispara al
controlador apropiado para tratamiento futuro.
<?php
// change the following paths if necessary
$yiic=dirname(__FILE__).'/../framework/yiic.php';
$config=dirname(__FILE__).'/config/console.php';
require_once($yiic);
4.3.2 Directorio YII
sistemayii
├── assets <- Cáche que genera Yii de elementos públicos como html,
js, css…
├── css <- Directorio donde colocar archivos css
Capítulo IV Desarrollo del Sistema
72
├── images <- Directorio para colocar imágenes, iconos, etc…
├── index.php <- Ruta al framework Yii, archivo de configuración de la
app, log y debug
├── index-test.php <- Entrada alternativa al sistema, generalmente para
modo debug y testing
├── protected <- Contenedor del código fuente de tu app, donde ocurre
toda la accion de yii
│ ├── commands <- Se pueden personalizar comandos de yiic
│ │ └── shell <- Se pueden personalizar comandos de yiic por linea
de comandos
│ ├── components
│ │ ├── Controller.php
│ │ └── UserIdentity.php <- Aquí se indican usuarios y contraseñas
por defecto
│ ├── config
│ │ ├── console.php
│ │ ├── main.php <- Archivo de configuración de la app, valores
generales son indicados aquí
│ │ └── test.php
│ ├── controllers <- Directorio donde están los controladores
│ │ ├── SiteController.php
│ │ └── UsuarioController.php
│ ├── data <- Tiene bds de ejemplo
│ │ ├── schema.mysql.sql
│ │ ├── schema.sqlite.sql
│ │ └── testdrive.db <- Base de datos sqlite de ejemplo
│ ├── extensions <- Aquí se colocan extensiones y librerías de terceros
│ ├── messages <- Aquí se colocaran traducciones a otros idiomas de
mensajes y textos
│ ├── migrations
│ ├── models <- Directorio donde están los modelos
│ │ ├── ContactForm.php
│ │ ├── LoginForm.php
│ │ └── Usuario.php
│ ├── runtime
│ │ ├── application.log <- Log de la aplicación
│ │ └── gii-1.1.13
│ │ ├── CrudCode.php
Capítulo IV Desarrollo del Sistema
73
│ │ └── ModelCode.php
│ ├── tests <- Directorio donde se ubican los test funcionales y unitarios
│ │ ├── bootstrap.php
│ │ ├── fixtures
│ │ ├── functional
│ │ │ └── SiteTest.php
│ │ ├── phpunit.xml
│ │ ├── report
│ │ ├── unit
│ │ └── WebTestCase.php
│ ├── views <- Directorio donde están las vistas
│ │ ├── layouts
│ │ │ ├── column1.php
│ │ │ ├── column2.php
│ │ │ └── main.php <- Layout o maquetación principal de la app
│ │ ├── site
│ │ │ ├── contact.php <- Vista del formulario de contacto incluye
captcha
│ │ │ ├── error.php <- Vista de la acción error
│ │ │ ├── index.php <- Vista de la pagina de inicio que muestra
bienvenida y enlaces
│ │ │ ├── login.php <- Vista del formulario de login
│ │ │ └── pages <- Directorio para vistas estáticas
│ │ │ └── about.php <- Vista de pagina estática about
│ │ └── usuario <- Vistas de módulo autogenerado
│ │ ├── admin.php
│ │ ├── create.php <- Vista para crear registros embebe a
_form.php
│ │ ├── _form.php <- Vista con formulario usado en create y update
│ │ ├── index.php
│ │ ├── _search.php <- Formulario de búsqueda de valores
│ │ ├── update.php <- Vista para modificar registros embebe a
_form.php
│ │ ├── _view.php
│ │ └── view.php
│ ├── yiic <- Línea de comandos para entorno unix/linux
│ ├── yiic.bat <- Línea de comandos para windows
│ └── yiic.php <- Línea de comando usando php
Capítulo IV Desarrollo del Sistema
74
└── themes <- Temas de la aplicación
└── classic
└── views
├── layouts
├── site
└── system
4.3.3 Configuración YII
Yii, es una Framework cuya API brinda archivos de configuración general,
en los cuales se puede establecer varios parámetros que son de ámbito
global. En el siguiente archivo podemos configurar el acceso a la base de
datos.
Yii tiene la capacidad de conectarse a diferentes motores de bases de
datos, el presente proyecto se conecta a MySql
En: sistemayii/protected/config/main.php
Descomentamos y escribimos los datos de conexión
‘db’ => array (
‘connectionString’ => ‘mysql:host=localhost;dbname=nombrebd’,
‘emulatePrepare’ => true,
‘username’ => ‘usuario,
‘password’ => ‘clave’,
‘charset’ => ‘utf8′,
),
Además, en este mismo archivo podemos especificar Theme, es decir la
imagen visual que tendrá el sistema; añadiendo la siguiente línea:
‘theme => ‘nombre_tema’,
Capítulo V Implementación del Sistema
75
CAPITULO 5: IMPLEMENTACION DEL SISTEMA
El proceso de implementación se compone en una serie de acciones,
durante este proceso hemos probado varias herramientas como Apache,
así como versiones anteriores de eclipse.
Desarrollamos la aplicación en PHP, utilizando las librerías como son
AJAX y JQUERY, para mejorar la interfaz de usuario utilizamos
JAVASCRIPT,
CSS, Maquetación.
A continuación los pasos de instalación y configuración de las
herramientas.
5.1 Instalación de CentOS 6
CentOS es una distribución de Linux basada en las fuentes libremente
disponibles de Red Hat Enterprise Linux.
La instalación requiere de lo siguiente:
Procedemos a bajar el DVD de CentOS 6.0 de un servidor espejo
cercano al país de residencia,
http://isoredirect.centos.org/centos/6/isos/i386/.
Utilizar una PC compatible o servidor, como mínimo Pentium 4,
con 2Gb de Memoria RAM
Disco Duros de 320 GB
Capítulo V Implementación del Sistema
76
Para realizar la instalación del Sistema Operativo se siguen los siguientes
pasos:
Insertar el disco DVD de instalación de CentOS 6 y espere 60 segundos para que inicie automáticamente o pulse la tecla ENTER para que inicie de manera inmediata o pulse la tecla «TAB» y escoger las opciones de instalación que desee.
Figura 5.1. Pantalla de Inicio Instalación de CentOS
La primera pantalla en aparecer le preguntará “desea verificar la
integridad del medio de instalación”. Si descargó una imagen ISO
desde Internet y la grabó en un disco compacto o DVD, tendrá que
verificar medios de instalación. Si la instalación se esta realizando
Capítulo V Implementación del Sistema
77
desde una máquina virtual con una imagen ISO y la suma MD5
coincide, descarte verificar.
Figura 5.2. Comprobación del Disco de Instalación
Para comenzar a probar los medios de instalación (DVD o conjunto
de discos compactos), seleccionar «OK» y pulsar la tecla ENTER,
considere que esto puede demorar varios minutos. Si está seguro
de que el(los disco(s) está(n) en buen estado, pulse la tecla «TAB»
para seleccionar «Skip» y pulse la tecla ENTER.
Capítulo V Implementación del Sistema
78
Figura 5.3. Pantalla Principal de Instalación
Seleccione el botón «Next» o «Siguiente», y presione Enter aparecerá la pantalla de bienvenida de CentOS.
Capítulo V Implementación del Sistema
79
Figura 5.4. Instalación CentOS 6
Seleccionar el idioma del teclado «Spanish» o «Español», dependiendo
del idioma que se utilizó durante la instalación.
Figura 5.5. Selección del Idioma
Durante el proceso aparecerán los diferentes idiomas y seleccionamosel
idioma del teclado «Español» o el mapa de teclado «Latinoamericano»,
de acuerdo a lo que desee. Al terminar, hacer clic sobre el botón
«Siguiente.»
Capítulo V Implementación del Sistema
80
Figura 5.6. Selección del Idioma del Teclado
El Sistema Operativo CentOS 6 tiene un soporte para realizar una
instalación sobre dispositivos de almacenamiento especializados,
como son: Redes de Área de Almacenamiento (SAN), como FCoE,
iSCSI y zFCP. Para lo cual requiere disponer de un SAN en la red
de área local para hacer uso de estos dispositivos de
almacenamiento. Si dispone sólo de discos duros en el equipo
donde se va a realizar la instalación, escoger la opción
«Dispositivos de almacenamiento básicos» y hacer clic sobre el
botón «Siguiente.»
Capítulo V Implementación del Sistema
81
Figura 5.7. Selección de Dispositivos de Almacenamiento
Si es una unidad de almacenamiento nueva, es decir que carece
de tabla de particiones, recibirá una advertencia de que esta
unidad de almacenamiento debe ser inicializada antes de guardar
la tabla de particiones que se creará posteriormente. Si está seguro
de que se trata de una unidad de almacenamiento nueva o fue
previamente borrada la tabla de particiones, hacer clic sobre el
botón «Reinicializar todo.»
Capítulo V Implementación del Sistema
82
Figura 5.8. Selección de Advertencia de la Unidad
Definir el nombre del host en el siguiente el formato:
nombre.dominio.tld. Este debe ser corto, máximo de 12
caracteres más el dominio y que esté resuelto en un servidor DNS.
Si tiene dudas, se recomienda dejar el valor predeterminado como
localhost.localdomain y hacer clic sobre el botón «Siguiente.»
Capítulo V Implementación del Sistema
83
Figura 5.9. Selecciona nombre del host
Damos clic en «Siguiente.» y se muestra la configuración
seleccionamos la zona horaria que corresponda a nuestra
localidad, en este caso Guayaquil. Seleccionar «El reloj del
sistema utiliza UTC.» Quiere decir que el reloj del sistema utiliza
UTC (Tiempo Universal Coordinado), siendo el sucesor de GMT
(b>Greenwich Mean Time, que quiere decir Tiempo Promedio de
Greenwich) siendo esta zona horaria de referencia respecto a la
cual se calculan todas las otras zonas horarias del mundo. Al
terminar, hacer clic en el botón «Siguiente.»
Capítulo V Implementación del Sistema
84
Figura 5.10. Configuración de Zona Horaria
Se da clic en «Siguiente.».Definir y confirmar la contraseña para
el usuario root, cuenta que será utilizada para la administración
del sistema. Al terminar, hacer clic en el botón «Siguiente.»
Capítulo V Implementación del Sistema
85
Figura 5.11. Ingreso del Administrador
Seleccionamos «Siguiente.» y la pantalla siguiente le permite escoger
opciones para crear las nuevas particiones en el disco duro. Si escoge
«Crear un diseño personalizado,» se aplica un diseño
predeterminado, con las siguientes características:
Partición estándar de 200 MB para /boot
Volumen lógico, que utilizará la mayor parte del espacio
disponible y permitirá hacer el sistema más amplio añadiendo
otro disco duro.
Volumen lógico para la partición de memoria de intercambio
(swap), que en los equipos con menos de 1 GM RAM, se
utilizará un espacio que equivale al doble del RAM físico del
sistema, o en equipos con más de 1 GB RAM, se utilizará un
espacio equivalente a la suma del RAM físico del sistema, más
2 GB.
Capítulo V Implementación del Sistema
86
Las opciones que aparecen en la pantalla siguiente son:
• «Usar todo el espacio», elimina cualquier partición de otro
sistema operativo existente y crea de forma automática las
particiones que son necesarias.
• «Reemplazar sistema(s) Linux existente(s)», elimina solo las particiones Linux existentes y crea de forma automática las particiones que son necesarias.
• «Achicar el sistema actual», cambia el tamaño de las particiones existentes de otros sistemas operativos, como Windows, es decir achica las particiones existentes para dar campo del diseño predeterminado.
• «Usar espacio libre», mantiene sus datos actuales y particiones, y usa solo el espacio no particionado de os dispositivos seleccionados, asumiendo que hay espacio libre suficiente.
• «Crear un diseño personalizado», crea manualmente su propio diseño en lso dispositivos seleccionados usando la herramienta de particionamiento.
Figura 5.12. Pantalla de Paquetes a Instalar
Capítulo V Implementación del Sistema
87
Seleccionar «Crear un diseño personalizado» y hacer clic sobre
el botón «Siguiente.»
Figura 5.13. Selección de los Paquetes a Instalar
Figura 5.14. Selección de Diseño a Instalar
Escogemos «Siguiente.» y visualizamos la tabla de particiones
actual, donde se muestra el espacio libre disponible para poder
crear nuevas particiones. Hacer clic en «Crear.»
Capítulo V Implementación del Sistema
88
Figura 5.15. Tabla Actual de Particiones
Escogemos «Siguiente.» y nos muestra la pantalla para poder
crear la nueva partición «Partición estándar.» Al terminar, hacer
clic en el botón «Crear.»
Capítulo V Implementación del Sistema
89
Figura 5.16. Definir Particiones
En la ventana siguiente se muestra añadir partición aparece la
tabla de particiones, en el punto de montaje definir /boot, en el tipo
de sistema de archivo mantiene el formato ext4, el tamaño de 200
MB y active «Forzar a partición primaria.» Al terminar, hacer clic
en el botón «Aceptar.»
Capítulo V Implementación del Sistema
90
Figura 5.17. Partición Primaria
Se visualiza la tabla de particiones, donde aparecerá la partición recién creada. Para añadir la siguiente partición, hacer clic de nuevo en el botón «Crear.»
Figura 5.18. Partición Creada
Capítulo V Implementación del Sistema
91
Se visualiza una ventana donde hay que definir el tipo de partición
que va a crear. Escoja crear «Partición estándar.» Al terminar,
hacer clic en el botón «Crear.»
Figura 5.19. Partición Creada
En la ventana se visualiza la tabla de particiones, como punto de
montaje definir /, en el tipo de sistema de archivo debe mantener el
formato ext4, definir un tamaño de 3072 MB y escoger «Forzar a
partición primaria.» Al terminar, hacer clic en el botón «Aceptar.»
Capítulo V Implementación del Sistema
92
Figura 5.20. Selección de Dispositivo
Se visualiza la tabla de particiones, muestra la partición recién
creada. Para añadir la siguiente partición, hacer clic en «Crear.»
Figura 5.21. Dispositivo Seleccionado
Capítulo V Implementación del Sistema
93
Se visualiza una ventana donde se define el tipo de partición a
crear. Escoger crear partición «Partición estándar.» Al terminar,
hacer clic en el botón «Crear.»
Figura 5.22. Participación Standar
La ventana visualiza la tabla de particiones, como punto de
montaje definir /usr, en el tipo de sistema de archivo debe tener el
formato ext4, definir un tamaño de 10240 MB. Al terminar, hacer
clic en «Aceptar.»
Capítulo V Implementación del Sistema
94
Figura 5.23. Selección usr
Se visualiza la pantalla añadir partición que muestra la tabla de
particiones, donde aparecerá la partición recién creada. Para
añadir la siguiente partición, hacer clic en «Crear.»
Capítulo V Implementación del Sistema
95
Figura 5.24. Partición creada
Se visualiza una ventana Crear almacenaje donde podrá definir el
tipo de partición a crear. Escoga crear una «Partición estándar.»
Al terminar, hacer clic en el botón «Crear.»
Figura 5.25. Selección Partición Standar
Se visualiza en la pantalla añadir partición la tabla de particiones,
en el punto de montaje definir /tmp, en el tipo de sistema de
archivos debe mantener el formato ext4, definir un tamaño de
5120 MB. Al terminar, hacer clic en el botón «Aceptar.»
Capítulo V Implementación del Sistema
96
Figura 5.26. Selección defina /tmp
Se visualiza la tabla de particiones, donde aparecerá la partición
recién creada. Para añadir la siguiente partición, hacer clic en el
botón «Crear.»
Capítulo V Implementación del Sistema
97
Figura 5.27. Partición Creada
Se abrirá una ventana donde podrá definir el tipo de partición a
crear. Escoja crear «Partición estándar.» Al terminar, hacer clic en
el botón «Crear.»
Capítulo V Implementación del Sistema
98
Figura 5.28. Selección Partición Standar
En la siguiente ventana se visualiza la tabla de particiones, en el
punto de montaje definir /home, en el tipo de sistema de archivo
mantener el formato ext4, escoger la opción «Completar hasta el
tamaño máximo aceptable.» Al terminar, hacer clic en el botón
«Aceptar.»
Figura 5.29. Selección defina /home
En la pantalla se visualiza la tabla de particiones, donde aparecerá
la partición recién creada. En el punto de montaje /home se asigna
todo el espacio de almacenamiento que antes estaba libre. Cuando
se haya creado la partición /var, ambas se repartirán
equitativamente en el espacio. Para añadir la partición siguiente,
hacer clic en el botón «Crear.»
Capítulo V Implementación del Sistema
99
Figura 5.30. Partición creada
Se muestra una ventana crear partición. Escoga crear una
«Partición estándar.» Al terminar, hacer clic en el botón «Crear.»
Capítulo V Implementación del Sistema
100
Figura 5.31. Selección Partición Estandar
En la ventana añadir partición se muestra la tabla de particiones,
en el punto de montaje definir /var, en el tipo de sistema de
archivos mantener el formato ext4 y escoja la opción «Completar
hasta el tamaño máximo aceptable.» Al terminar, hacer clic en el
botón «Aceptar.»
Capítulo V Implementación del Sistema
101
Figura 5.32. Pantalla defina /var
Se visualiza la tabla de particiones, donde aparece la partición
recién creada. En los puntos de montaje: /home y /var se han
repartido el espacio disponible. Para añadir la última partición de la
memoria de intercambio, hacer clic en el botón «Crear.»
Capítulo V Implementación del Sistema
102
Figura 5.33. Pantalla Partición Creada
Se visualiza una ventana crear partición. Escoja crear una
«Partición estándar.» Al terminar, hacer clic en el botón «Crear.»
Capítulo V Implementación del Sistema
103
Figura 5.34. Selección Partición Estandar
Para añadir el tamaño de la partición de memoria de intercambio (swap),
tener en cuenta que:
• Si el sistema tiene menos de 1 GB RAM: Definir la
cantidad equivalente a dos veces la cantidad de RAM físico.
Ejemplos: Es decir,
El sistema tiene 512 MB RAM, el equivalente a dos
veces es 1024 MB para la partición de memoria de
intercambio.
El sistema tiene 768 MB RAM, el equivalente a dos
veces es 1536 de memoria de intercambio.
El sistema tiene 1 GB RAM, el equivalente a dos
Capítulo V Implementación del Sistema
104
veces es 2048 MB para la partición de memoria de
intercambio.
• Si el sistema tiene más de 1 GB RAM: Definir la cantidad
que equivale a la suma de la cantidad de RAM físico, más 2
GB. Ejemplos:
El sistema tiene 1.5 GB RAM, su equivalente es
3584 MB para la partición de memoria de
intercambio.
El sistema tiene 2 GB RAM, su equivalente es 4096
MB para la partición de memoria de intercambio.
El sistema tiene 4 GB RAM, su equivalente es 6144
MB para la partición de memoria de intercambio.
El sistema tiene 8 GB RAM, Ssu equivalente es
10240 MB para la partición de memoria de
intercambio.
Capítulo V Implementación del Sistema
105
Figura 5.35. Selección Pantalla Partición de Memoria
Se visualiza la tabla de particiones. Tener en cuenta que la
partición de intercambio asigno la mitad de espacio al punto de
montaje /home y la otra mitad en el punto de montaje /var. Para
continuar si está conforme, hacer clic en el botón «Siguiente.»
Capítulo V Implementación del Sistema
106
Figura 5.36. Pantalla Partición de Intercambio
Se visualiza la pantalla de aviso de formateo donde se procede a
seleccionar para eliminar o dar formato a particiones existentes en
el medio de almacenamiento. Si desea continuar, hacer clic en
«Formato.»
Capítulo V Implementación del Sistema
107
Figura 5.37. Pantalla Eliminar o dar Formato de Particiones
Se procede a confirmar que desea escribir los cambios al disco
duro, toda información en las particiones eliminadas se perderán.
Para continuar, haga clic en «Escribir cambios al disco.»
Capítulo V Implementación del Sistema
108
Figura 5.38. Solicitud de Confirmación
Aparece la pantalla siguiente y hay esperar unos minutos mientras
crea el sistema de archivos, y se da formato a todas las particiones
definidas con anterioridad.
Capítulo V Implementación del Sistema
109
Figura 5.39. Pantalla guardar posiciones
Por mayor seguridad, se debe asignar una contraseña segura al
gestor de arranque. Así evitaremos que tengan acceso físico al
sistema, evitaremos que modifiquen los parámetros de arranque
del gestor de arranque e iniciar en modo mono-usuario (nivel de
ejecución 1). Si desea continuar, hacer clic en la opción «Usar la
contraseña del gestor de arranque.»
Capítulo V Implementación del Sistema
110
Figura 5.40. Asignación de contraseña al Gestor de Arranque
Introducir una contraseña segura para el gestor de arranque.
Capítulo V Implementación del Sistema
111
Figura 5.41. Selección de contraseña
Al terminar, hacer clic en el botón «Siguiente.»
Capítulo V Implementación del Sistema
112
Figura 5.42. Selección de contraseña e instalación
Escoja el tipo de instalación mínima y usamos la contraseña
damos clic en <<Siguiente>>.
Capítulo V Implementación del Sistema
113
Figura 5.43. Selección de Instalación mínima
Para aplicar las actualizaciones y parches de seguridad
disponibles, hacer clic en la opción «+ Agregar repositorios de
software adicional.» Aparece una ventana donde permite
personalizar la dirección de un sitio de Internet que haga espejo de
las actualizaciones de CentOS 6. La dirección a utilizar es
http://mirror.centos.org/centos/6/updates/i386/, si está instalando la
edición i386 o http://mirror.centos.org/centos/6/updates/x86_64/. Al
terminar, hacer clic en «Aceptar.»
Capítulo V Implementación del Sistema
114
Figura 5.44. Selección de Repositorio
Si dispone de una tarjeta de red, el programa de instalación le
solicitará que seleccione el dispositivo a utilizar para configurar la
conexión de red para conectarse al URL del repositorio que
especificó en la selección de repositorio. Una vez seleccionado el
dispositivo de red, haga clic en el botón «Aceptar.»
Capítulo V Implementación del Sistema
115
Figura 5.45. Selección Conexiones de Red
En la pantalla se visualizará la ventana de «Conexiones de red».
Seleccionar la interfaz de red deseada System eth0, y haga clic en
el botón «Editar.»
Capítulo V Implementación del Sistema
116
Figura 5.46. Selección de Edición
La pantalla anterior nos muestra la ventana de edición de la interfaz y
damos clic en la pestaña «Ajustes de IPv4.»
Capítulo V Implementación del Sistema
117
Figura 5.47. Pantalla de Configuración de Parámetros
Debemos configurar los parámetros necesarios para establecer
una conexión de red en «Ajustes de IPv4.». Al finalizar, dar clic en
el botón denominado «Aplicar.»
Capítulo V Implementación del Sistema
118
Figura 5.48. Pantalla Conexiones de Red
Vamos de nuevo a la ventana de «Conexiones de red». Dar clic
en el botón «Cerrar.»
Capítulo V Implementación del Sistema
119
Figura 5.49. Pantalla Selección de Cableado
Regresar a la pantalla principal, donde se visualiza el almacén
YUM que acabamos de configurar.
Para escoger los grupos específicos de paquetes, damos clic en la
opción «Personalizar ahora.» Al terminar, dar clic en el botón
«Siguiente.»
Capítulo V Implementación del Sistema
120
Figura 5.50. Selección de instalación mínima
Se puede seleccionar cualquier grupo de paquetes opcionales. Si
desea puede conservar el diseño de instalación mínima, o, añadir
el grupo de paquetes «Base.»
Capítulo V Implementación del Sistema
121
Figura 5.51. Instalación de Escritorio Básico
Para instalar el escritorio gráfico, revisar «Ajustes posteriores a la
instalación de CentOS 6.»
Para personalizar la lista de paquetes en base, dar clic en el botón
«Paquetes opcionales.» Se visualiza una ventana en la que se
selecciona solo los requerimientos necesarios. Al finalizar, hacer
clic en el botón «Cerrar.»
Capítulo V Implementación del Sistema
122
Figura 5.52. Selección de Paquetes Opcionales
Al realizar la selección y está de acuerdo con la selección de los
grupos de paquetes, dar clic en el botón «Siguiente.»
Capítulo V Implementación del Sistema
123
Figura 5.53. Instalación de Paquetes
El proceso de instalación de paquetes se llevará a cabo. El tiempo
que dure el proceso depende de la cantidad de grupos y paquetes
que fueron seleccionado.
Capítulo V Implementación del Sistema
124
Figura 5.54. Pantalla de Instalación
Cuando la instalación haya terminado, hacer clic en el botón
«Reinciar,» y procedad a retirar el DVD.
Capítulo V Implementación del Sistema
125
Figura 5.55. Pantalla Reiniciar
La instalación de Centos está completa.Por favor reiniciar su computador
para que su sistema funcione correctamente.
5.2 Implementacion LAMP
LAMP, por sus siglas Linux, Apache, MySQL y PHP es una colección de
software libre que ofrece las herramientas necesarias para poder definir y
configurar los servidores web viables.
A continuación se detalla los pasos a seguir para realizar la instalación y
configurar LAMP en nuestro servidor.
5.2.1 Instalación de MySQL
Para comenzar instalamos MySQL con el siguiente comando:
Capítulo V Implementación del Sistema
126
yum install mysql mysql-server -y
Para iniciar el servicio por primera vez y hacer que este siempre inicie
automáticamente, usamos los siguientes comandos:
/etc/init.d/mysqld start
chkconfig mysqld on
Para configurar MySQL, lo ejecutamos con el siguiente script:
/usr/bin/mysql_secure_installation
Este nos ayudará a establecer la contraseña de root, decidir si eliminar o
no el usuario anónimo, eliminar la base de datos de prueba y desactivar el
inicio de sesión de root desde máquinas remotas.
5.2.2 Instalación Apache
Para instalar Apache, ejecutamos el siguiente comando:
yum install httpd -y
Para iniciarlo por primera vez y configurarlo para que inicie automáticamente
cada vez, usamos los siguientes comandos:
/etc/init.d/httpd start
chkconfig httpd on
Para probar si se instaló correctamente visitamos la siguiente dirección desde
nuestro navegador web:
http://192.168.1.200, esta es la con la que se configuró nuestras interfaces de
red.
Si todo salió bien debería verse la página de prueba de Apache.
Capítulo V Implementación del Sistema
127
Figura 5.56. Pantalla Prueba de Apache
5.2.3 Instalación de PHP
Instalamos PHP utilizando el siguiente comando:
yum install php -y
Para reiniciarlo escribir:
/etc/init.d/httpd restart
Capítulo V Implementación del Sistema
128
Para probar su instalación, creamos una página de prueba llamada
“testphp.php” en la carpeta raíz de Apache y ejecutamos el siguiente
código:
vi /var/www/html/testphp.php
<?php
phpinfo();
?>
Después de ejecutar el código abrimos de nuevo la página de prueba a
través de la siguiente dirección:
http://192.168.1.200/testphp.php
Si todo salió bien veremos la siguiente página, que contiene detalles
sobre la instalación de PHP:
Capítulo V Implementación del Sistema
129
Figura 5.57. Pantalla Instalación PHP
Para añadir soporte de MySQL a nuestra instalación de PHP, instalamos
el paquete “php-mysql” con el siguiente comando:
yum install php-mysql -y
Vamos de nuevo a la página de prueba de PHP:
http://192.168.1.200/testphp.php
Si el módulo mysql se instaló correctamente, lo veremos listado en la
página.
5.2.4 phpMyAdmin
phpMyAdmin es la herramienta que nos permitirá gestionar nuestras
bases de datos a través de su interfaz web. Para instalarla, ejecutamos
los siguientes comandos:
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-
8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
Y luego:
yum install phpmyadmin -y
Para configurar phpMyAdmin abrimos el archivo phpmyadmin.conf y
comentamos las lineas que se muestran a continuación, de la siguiente
manera:
Capítulo V Implementación del Sistema
130
vi /etc/httpd/conf.d/phpMyAdmin.conf
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
## Comentar las siguientes líneas ##
#<Directory /usr/share/phpMyAdmin/>
# <IfModule mod_authz_core.c>
# # Apache 2.4
# <RequireAny>
# Require ip 127.0.0.1
# Require ip ::1
# </RequireAny>
# </IfModule>
# <IfModule !mod_authz_core.c>
# # Apache 2.2
# Order Deny,Allow
# Deny from All
# Allow from 127.0.0.1
# Allow from ::1
# </IfModule>
#</Directory>
Para cambiar el modo de autenticación, editamos el archivo
config.inc.php y cambiamos el modo de “cookie” a “http“, de la siguiente
forma:
cp /usr/share/phpMyAdmin/config.sample.inc.php
/usr/share/phpMyAdmin/config.inc.php
vi /usr/share/phpMyAdmin/config.inc.php
Capítulo V Implementación del Sistema
131
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = ‘http’;
Reiniciamos Apache:
/etc/init.d/httpd restart
Para acceder a phpmyadmin abrimos la siguiente dirección desde
nuestro navegador web:
http://direccionip_o_nombredominio/phpmyadmin/
Donde sustituiremos el texto “direccionip_o_nombredominio” por la
dirección IP o nombre de dominio.
Figura 5.58. Pantalla Sustitución Dirección IP
Capítulo V Implementación del Sistema
132
Sólo queda autenticarnos para acceder al panel de administración de
phpmyadmin, para ello simplemente introducimos nuestro usuario y
contraseña mysql, los cuales ya establecimos en los pasos anteriores.
5.3 Instalación Netbeans
Iniciamos la instalación de Netbeneans 7.1.2 IDE
Figura 5.59. Pantalla Inicio Netbeans
Aparece la pantalla siguiente de la configuración de la instalación.
Capítulo V Implementación del Sistema
133
Figura 5.60. Pantalla Configuración de Instalación
La pantalla abrirá la ventana «Bienvenida a Netbeans IDE» y hacer clic
en el botón «Next.»
Figura 5.61. Pantalla de Bienvenida
La pantalla siguiente me permite personalizar la instalación y seleccionar
los paquetes y los tiempos de ejecución.
Capítulo V Implementación del Sistema
134
Figura 5.62. Pantalla Personaliza la Instalación
Haga clic en el botón «OK». Aparecerá la pantalla siguiente:
Figura 5.63. Pantalla de Instalación
Hacer clic el botón siguiente «Next.», y aparece la pantalla siguiente:
Capítulo V Implementación del Sistema
135
Figura 5.64. Pantalla de Aceptción
Escogemos «Aceptación de términos» Hacer clic en el botón
siguiente «Next»
Capítulo V Implementación del Sistema
136
Figura 5.65. Pantalla de Instalación
Hacer clic en el botón siguiente «Next.»
Figura 5.66. Pantalla de Instalación
Capítulo V Implementación del Sistema
137
Escogemos el directorio para realizar la instalación. Hacer clic en el
botón siguiente «Next.»
Aparecerá la pantalla siguiente para empezar con la instalación
Figura 5.67. Pantalla de NetBeans IDE Installer
La instalación está en proceso.
Hacer clic en el botón siguiente «Next.»
Capítulo V Implementación del Sistema
138
Figura 5.68. Pantalla de Progreso
Figura 5.69. Pantalalla de Instalación Completa
La instalación de Netbeans IDE esta completa, dar un clic en el botón
«Finish,» y proceda a retirar el DVD.
5.4 Implementación del Sistema de Gestión Deportiva
Una vez que se han instalado tanto el sistema operativo como LAMP ya
podemos iniciar con la instalación del sistema, para lo cual seguiremos los
siguientes pasos:
5.4.1. Creación de la Base de Datos
Capítulo V Implementación del Sistema
139
Lo primero que se deberá hacer para implementar el sistema es
crear la BDD, para ello se Ingresa a phpmyadmin y se selecciona el
link Base de Datos.
o Colocar el nombre de la BD (deportes) y seleccionar el tipo
de cotejamiento (UTF-8_spanish_ci)
Figura 5.70. Pantalla Creación Base de Datos
o Luego de crear la base de datos, se procede a restaurar el
respaldo mediante un archivo SQL.
o Seleccionar la base de datos creada (deportes)
o Ubicar la pestaña importar
Capítulo V Implementación del Sistema
140
Figura 5.71. Pantalla Importando Base de Datos
o Presionar el botón examinar
Capítulo V Implementación del Sistema
141
Figura 5.72. Pantalla Importando Base de Datos Escritorio
o Seleccionar el archivo SQL del equipo local, luego presionar
el botón continuar, ubicado en la parte inferior izquierda de
la pantalla
Capítulo V Implementación del Sistema
142
Figura 5.73. Pantalla selección archivo SQL
5.4.2. Copiar el directorio deportes
Copiamos el directorio deportes en nuestro servidor Centos.
Figura 5.74. Pantalla Copia de Directorio
5.4.3. Colocar en el directorio
Colocar en el directorio /var/www/html/ con esto se puede ingresar ya
al sistema desde el navegador de internet http://ip_servidor/deportes
Capítulo V Implementación del Sistema
143
Figura 5.75. Pantalla Inicio
5.4.4. Navegar por la aplicación
Para poder navegar por la aplicación, es necesario que se modifique el
archivo:
/var/www/html/deportes/protected/config/main.php
En la sección ‘db’=>array(…..), se colocarán los datos del servidor
y base de datos, como se muestra en la imagen inferior.
Figura 5.76. Pantalla Project PHP
Con esto ya se puede hacer uso del Sistema de Gestión Deportiva
y mostrar el contenido de la Base de Datos sin problemas.
Capítulo V Implementación del Sistema
144
Figura 5.77. Pantalla Administración Campeonatos
Figura 5.78. Pantalla Administración de Equipos
Capítulo V Implementación del Sistema
145
Figura 5.79. Pantalla Administración de Integrantes
Capítulo VI Conclusiones y Recomendaciones
146
CAPITULO 6: CONCLUSIONES Y RECOMENDACIONES
6.1 Conclusiones
El Sistema Web de Actividades Deportivas Recreacionales constituyó un
logro importante y significativo, pues conjuga varios elementos de la
ingeniería informática dentro de la aplicación como: programación, base
de datos, manejo de servidores tanto de aplicación como sistema
operativo, ingeniería de software e investigación.
La disponibilidad de software que cumpla con cada uno de los
objetivos del sistema propuesto es muy variado, por lo que dificulta
la tarea de elegir la herramienta adecuada.
Con el desarrollo de este sistema el manejo de los procesos,
gestión de la información y presentación del sistema, hace más
sencillo su manipulación.
Se debe tener en cuenta que el análisis de requerimientos
funcionales y no funcionales de cualquier sistema es lo más
importante ya que conforma la base para el desarrollo de la
aplicación.
Para la aplicación se diseño e implemento (desarrollo) el sistema de
actividades deportivas al sitio web, en base a las necesidades
indicadas en la especificación de requerimientos.
Para un desarrollo óptimo del software es muy importante cumplir con
los requerimientos de los diagramas obtenidos en el proceso de
análisis.
Es muy importante realizar las pruebas de validación del sistema
para poder conocer de mejor manera los errores y así poder corregir
a tiempo y evitar más errores al momento de manipular la información
real en el sistema.
Capítulo VI Conclusiones y Recomendaciones
147
Es necesario aplicar la técnica de respaldo de información de la base
de datos es decir sacar un backup, el cual nos ayuda a tener una
copia de seguridad de la información ingresada en caso de pérdida;
proporcionando así un respaldo seguro y confiable.
6.2 Recomendaciones
7.
Al trabajar desarrollando código abierto, PHP, se debe buscar la ayuda
posible cuando no se está lo suficientemente claro sobre las tecnologías
involucradas, ya sea a docentes, profesionales y otros desarrolladores
web avanzados. Además, se debe tener en cuenta la documentación y
estar preparados para afrontar cualquier tipo de obstáculo y problemas
con la utilización de herramientas de código abierto.
La información publicada en el sitio web debe ser actualizada, a fin
de dar a conocer al público visitante las últimas novedades de
actividades deportivas, campeonatos, torneos existentes, etc.
Difundir políticas de acceso y otorgar los permisos de usuario al
sistema, con la finalidad de garantizar la integridad, confiabilidad y
manipulación de la información.
Las metodologías de software se utilizan se aplican antes de
realizar un estudio y análisis, para así escoger la mejor y utilizar
con la que mejor se adapte, así se puede obtener los mejores
beneficios con la finalidad que se requiere.
Los procesos del sistema que se implementan, ayudan al
desarrollo y al fácil manejo de la información y la realización de
futuras mejoras, ahorrando esfuerzo y tiempo de programación.
Anexos
148
8. 9.
ANEXOS
Anexo 1 Modelo Operativo
149
ANEXO 1: Modelo Operativo
Figura A1.1 Prototipo de Pantalla
Figura A1.2 Interfaz de Inicio
Anexo 1 Modelo Operativo
150
Figura A1.3 Interfaz de Ingreso de Datos
Figura A1.4 Interfaz de Búsqueda
Anexo 2 Nivel 0 Sistema de Gestión Deportiva
151
Anexo 2: Nivel 0 Sistema de Gestión Deportiva
Figura A.2. Nivel 0 Gestión Deportiva
Administrador
UsuarioAd
ministrador
Web
Sistema
Pantalla
del Ordenador
Usuario
Anexo 2 Nivel 0 Sistema de Gestión Deportiva
152
EstudianteUsuario
Universidad
SISTEMA DE GESTION DEPORTIVADatos de registro
Accesos
Datos Inscripción
Resultados
Informes
Figura A.2. Nivel 0 Gestión Deportiva
Anexo 3 Nivel 1 Sistema de Gestión Deportiva
153
ANEXO 3: Nivel 1 Sistema de Gestión Deportiva
Figura A31. Nivel 1 Subsistema Administrador
Figura A3.2 Nivel 1 Subsistema Usuario
Figura A3.4 Nivel 1 Flujo Usuario
Subsistema
Administrador
Subsistema
AdmSubsistema
Subsistema Usuario
Flujo
administrador
Salida administrador Subsistema Usuario
Flujo Usuario
Salida a usuario
Alta
Distinguir petición web
Baja Salida a pantalla
Salida a
pantalla
Anexo 3 Nivel 1 Sistema de Gestión Deportiva
154
Registro UsuarioUsuario
Estudiante
Datos de registro
Datos inscripcion
Usuario
Registrar Inscripciones
Registrar Información Básica
Permisos de acceso y uso
Información de torneos
Permisos de acceso y uso
Ususrio ok
Anexo 3 Nivel 1 Sistema de Gestión Deportiva
155
Figura A3.5 Nivel 1 Registro Usuario/Información/Inscripiones
Anexo 4 Nivel 2 Sistema de Gestión Deportiva
156
ANEXO 4: NIVEL 2 Sistema Gestión Deportiva
Figura A4.1 Nivel 2 Flujo Web
Flujo web
Base de Datos
Datos históricos
Seleccionar
opción
administrador
Gestión usuarios
Gestión sistema
Datos históricos
Base de Datos
Distinguir
opción
usuario
Anexo 4 Nivel 2 Sistema de Gestión Deportiva
157
Verificar existencia
Usuario
Validar perfilPerfil
Solicitar creación de
usuario
Datos usuario
Datos usuario
Resultado existe o no
Usuario no existe
Datos Usuario
Determinar ruta de acceso
perfil
Figura A4.2 Nivel 2 Registro Usuario
Figura A4.3 Nivel 2 Proceso Consulta Usuario
Proceso
Consulta
Salida a
pantalla
Salida a
pantalla
Salida a pantalla
Flujo administrador
Anexo 4 Nivel 2 Sistema de Gestión Deportiva
158
Receptar solicitud de inscripción
Verificar disponibilidad de
torneo
Registrar equipoRegistra miembros del
equipo
IntegrantesEquipo
Torneo
Deporte
CategoríaCategorías disponibles
Datos deporte
Datos torneos
Torneo seleccionado
Datos Equipo Datos integrantes
Registrar datos incripción
Datos inscripción
Inscripción
Datos equipo
Figura A4.4 Nivel 2 Registro Inscripción
Anexo 5 Nivel 3 Sistema de Gestión Deportiva
159
ANEXO 5: Nivel 3 Sistema Gestión Deportiva
Figura A5.1. Nivel 3 Procesos Consulta Base de Datos
Figura A5.2 Nivel 3 Registra Categorías / Torneos
Registrar Deportes Datos deporte
Categorías
Categorías disponibles
Registrar Torneos
Deporte
Categoría
Torneo
Base de
Datos
Nuevo
usuario
Distinguir
opción
usuario
Proceso
Consulta
Base de
Datos
Salida a
pantalla
Datos
Datos
usuar
io
Flujo
usuari
o
Anexo 5 Nivel 3 Sistema de Gestión Deportiva
160
Reunión Comité
Determinar Torneos por temporada
Determinar torneos periódicos
Torneos periódicos
Publicar TorneosDatos Torneos
Torneo
Categorías para torneos
Categorías
Datos Torneos temporada
Figura A5.3 Nivel 3 Publicación Torneos
Anexo 6 Base de Datos del Sistema
161
Anexo 6: Base de Datos del Sistema
Figura A6.1. Modelo Físico Base de Datos
Anexo 7 Diccionario de Datos del Sistema
162
Anexo 7: Diccionario de Datos del Sistema
I. Descripción General de las Tablas
ITEM NOMBRE DESCRIPCION
1 Campeonato Entidad que almacena la información que se
ingresará la fecha inicio, fecha fin, valor y estado
del campeonato. La información de esta tabla está
relacionada con la tabla deporte y categoría.
2 Categoría Entidad que almacena la información de cada
categoría, nombre.
3 Deporte Entidad que almacena la información de cada
deporte, nombre.
4 Equipo Entidad que almacena la información de cada
equipo, se ingresará nombre, número de
integrantes. La información está relacionada con la
tabla socio, categoría y deporte.
5 Inscripción Entidad que almacena la información de cada
usuario que se inscribe, la fecha de inscripción, el
valor de pago. La información está relacionada con
la tabla campeonato.
6 Integrante Entidad que almacena la información de cada
integrante. La información mantiene una relación con
Anexo 7 Diccionario de Datos del Sistema
163
la tabla equipo.
7 Perfil Entidad que almacena la información de cada perfil.
8 Socio Entidad que almacena la información de cada socio,
cédula, número de socio, nombre, apellido,
dirección, teléfono, información en general. La
información tiene relación con la tabla campeonato.
9 Usuario Entidad que almacena la información de cada
usuario. La información se relaciona con la tabla
perfil.
II. Descripción detallada de las tablas
Tabla Campeonato: Entidad que almacena la información de cada
campeonato, se ingresará la fecha inicio, fecha fin, valor y estado
del campeonato. La información de esta tabla está relacionada con
la tabla deporte y categoría.
Columna Tipo Nulo
Predeterminado
Enlaces a Comentarios
MIME
idcampeonato int(11) No
nombrecampeonato
varchar(100) Sí NULL
fechainicio date Sí NULL
fechafin date Sí NULL
valorinscripcion decimal(10,2)
Sí NULL
estadocampeonato varchar(1) Sí NULL
iddeporte int(11) No deporte -> iddeporte
Idcategoria int(11) No categoria ->
Anexo 7 Diccionario de Datos del Sistema
164
idcategoria
Tabla Categoría: Entidad que almacena la información de cada
categoría.
Columna Tipo Nulo Predeterminado Comentarios MIME
idcategoria int(11) No
nombrecategoria varchar(70) Sí NULL
Tabla Deporte: Entidad que almacena la información de cada
deporte.
Columna Tipo Nulo Predeterminado Comentarios MIME
iddeporte int(11) No
nombredeporte varchar(70) Sí NULL
Tabla Equipo: Entidad que almacena la información de cada
equipo, se ingresará nombre, número de integrantes. La
información está relacionada con la tabla socio, categoría y
deporte.
Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME
idequipo int(11) No
nombreequipo varchar(100) Sí NULL
numintegrantes int(11) Sí NULL
idsocio int(11) No socio -> idsocio
idcategoria int(11) No categoria ->
Anexo 7 Diccionario de Datos del Sistema
165
idcategoria
iddeporte int(11) No deporte -> iddeporte
Tabla Inscripción: Entidad que almacena la información de cada
usuario que se inscribe, la fecha de inscripción, el valor de pago. La
información está relacionada con la tabla campeonato.
Columna Tipo Nulo
Predeterminado
Enlaces a Comentarios
MIME
idinscripcion int(11) No
fechainscripción datetime Sí NULL
valorpagadoinscripcion
decimal(6,2)
Sí NULL
idcampeonato int(11) No campeonato -> idcampeonato
idusuario int(11) No usuario -> idusuario
Tabla Integrante: Entidad que almacena la información de cada
integrante. La información mantiene una relación con la tabla equipo.
Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME
idintegrante int(11) No
apellidosintegrante varchar(100) Sí NULL
nombresintegrante varchar(100) Sí NULL
idequipo int(11) No equipo -> idequipo
Tabla Perfil: Entidad que almacena la información de cada perfil.
Anexo 7 Diccionario de Datos del Sistema
166
Columna Tipo Nulo Predeterminado Comentarios MIME
idperfil int(11) No
nombreperfil varchar(45) Sí NULL
Tabla Socio: Entidad que almacena la información de cada socio,
cédula, número de socio, nombre, apellido, dirección, teléfono,
información en general.
Columna Tipo Nulo Predeterminado Comentarios MIME
idsocio int(11) No
cisocio varchar(13) Sí NULL
numerosocio varchar(10) Sí NULL
apellidossocio varchar(100) Sí NULL
nombressocio varchar(100) Sí NULL
direccionsocio varchar(200) Sí NULL
telefonosocio varchar(13) Sí NULL
celularsocio varchar(10) Sí NULL
sociodesde date Sí NULL
estadosocio varchar(1) Sí NULL
Tabla Usuario: Entidad que almacena la información de cada
usuario. La información se relaciona con la tabla perfil.
Columna Tipo Nulo Predeterminado Enlaces a Comentarios MIME
idusuario int(11) No
nombreusuario varchar(45) Sí NULL
claveusuario varchar(45) Sí NULL
idperfil int(11) No perfil -> idperfil
Manual de Usuario
167
MANUAL
DE
USUARIO
Manual de Usuario
168
TABLA DE CONTENIDO
INTRODUCCIÓN 169
1. Plataforma de Publicación Web 170
2. Menú de Navegación 171
3. Estructura de la Página 174
4. Usuario 174
5. Administrador 175
5.1 Inscripciones 175
Listar inscripciones 176 Nueva inscripción 177
5.2 Gestión Deportiva 177
5.2.1 Categoría 178 Listar Categorías 178 Nueva categoría 179 5.2.2 Deporte 179 Listar deportes 180 Nuevo deporte 180 5.2.3 Campeonato 180 Listar Campeonato 181 Nuevo Campeonato 182 5.2.4 Equipo 182 Listar Equipo 183 Nuevo Equipo 184 5.2.5 Integrantes 184 Listar Integrantes 185 Nuevo Integrante 185
5.3 Administración 185
5.3.1 Perfil 186 Listar Perfiles 186 Nuevo Perfil 187 5.3.2 Usuario 187 Listar Usuarios 188 Crear Usuarios 188
Manual de Usuario
169
INTRODUCCIÓN
El manual de usuario es un documento que tiene como objetivo
fundamental ayudar al usuario final sobre las características principales
que poseen cada modulo o proceso del “Sistema Web para Controlar
Actividades Deportivas Recreativas Culturales y Sociales” entre los
procesos tenemos las consultas de información de ingreso, consultas,
entre otras. Es un sistema desarrollado a medida de las necesidades que
tiene la Facultad de Cultura Física en el ámbito Deportivo.
El sistema que será presentado en este manual fue preparado para el
control de disciplinas que tienen las diferentes categorías, las cuales
manejan estructuras de bases de datos estándar es decir adaptable a
cualquier sistema.
Los conceptos de ingresos, consultas e información de los torneos fueron
creados según las especificaciones solicitadas. La información de esta
aplicación reside en una base de datos de MySQL.
Manual de Usuario
170
1. Plataforma de Publicación Web
La Plataforma de Publicación Web adoptada permite que cada “unidad
organizativa” pueda mantener fácilmente sus propios contenidos y crear
sus propias documentos de control de manera independiente, pero
siempre respetando la homogeneidad de imagen y estructura de la Web.
Para comprender los procedimientos es necesario entender previamente
la estructura conceptual de toda la Web. Como muestra la siguiente
figura, la Web se estructura en base a tres niveles básicos: páginas
principales, portal de la unidad y portal de cada “unidad or”.
Las páginas principales las constituyen la página inicial y las páginas de
los diferentes perfiles. Las páginas principales recogen los contenidos
básicos de la Web. Por su parte, cada portal contendrá la información
básica de “catálogos”. El mantenimiento de toda esta información será
responsabilidad del usuario dependiendo del perfil con el que ingrese. El
usuario general no tiene porqué poseer conocimientos informáticos
avanzados; por lo tanto otro de los objetivos del proyecto es que el
proceso de control sea muy sencillo.
Finalmente, la unidad tecnológica junto con la gerencia administrativa son
las encargadas de controlar y gestionar los procesos.
Manual de Usuario
171
2. Menú de Navegación
La página web tendrá varias formas de navegación.
Menú en pantalla
Este menú se presentará como página principal una vez que ingrese a la
aplicación, de igual manera se mostrara de acuerdo al perfil con el que
ingrese el usuario. Para navegar debe presionar sobre la pantalla que
desea ingresar.
Manual de Usuario
172
Menú Lateral
Este menú retorna al menú principal de cada perfil de usuario
Menú Superior
Este menú se presentará de acuerdo al perfil con el que ingrese el
usuario. Para ingresar debe mover el mouse sobre la barra y esta ira
desplegando las diferentes opciones de pantallas que tiene y finalmente
de clic en la opción deseada.
Manual de Usuario
173
Botones/ Links/ Filtros
Permite ingresar o realizar algún proceso al dar un clic.
Permite ver campeonatos activos
Permite clasificar por categorías
Permite realizar consultas.
P
Permite editar, añadir información
Permite eliminar información
Permite escoger el tipo de deporte
Permite escoger la fecha para la
inscripción
Manual de Usuario
174
3. Estructura de la Página
Pantalla de Ingreso
Este menú se presentará como página principal una vez que ingrese a la
aplicación, de Para acceder a la página principal debe indicarle al
navegador la siguiente dirección:
http://localhost/deportes/index.php?r=site/index
6.
7.
8.
9.
10.
11.
12.
13.
14.
15. 16. 17. 18. 19. 20. Como se puede apreciar en la figura anterior, en la página se muestra
el ingreso al sistema. Una vez ingresado el usuario y la contraseña
respectiva se debe presionar el botón Acceder, el sistema validará la
información entrada y le dará acceso a una lista de los perfiles a los
que el usuario puede ingresar, seleccione el perfil y presione el botón
Login.
4. Usuario
Los usuarios generales de la aplicación estarán bajo esta
categoría, el menú que se muestra al usuario es el siguiente.
Manual de Usuario
175
5. Administrador
El administrador general de la aplicación estarán bajo esta
categoría, el menú que se muestra es el siguiente.
5.1 Inscripciones
Manual de Usuario
176
Listar inscripciones
Permite desplegar los resultados de todas las inscripciones que se han
realizado en las diferentes fechas.
Manual de Usuario
177
Nueva inscripción
Permite crear nuevas inscripciones de los diferentes campeonatos.
5.2 Gestión Deportiva
Permite gestionar las diferentes áreas deportivas:
Manual de Usuario
178
5.2.1 Categoría
Permite administrar las categorías
Listar Categorías
Manual de Usuario
179
Nueva categoría
Permite crear nuevas categorías.
5.2.2 Deporte
Permite administrar los diferentes tipos de deportes.
Manual de Usuario
180
Listar deportes
Nuevo deporte
Permite crear un nuevo deporte.
5.2.3 Campeonato
Manual de Usuario
181
Permite administrar a los diferentes campeonatos o torneos que se
realizan.
Listar Campeonato
Manual de Usuario
182
Nuevo Campeonato
Permite crear nuevos campeonatos.
5.2.4 Equipo
Permite administrar a los diferentes equipos existentes.
Manual de Usuario
183
Listar Equipo
Manual de Usuario
184
Nuevo Equipo
5.2.5 Integrantes
Permite al administrador manipular la información de los integrantes de
todos los campeonatos existentes.
Manual de Usuario
185
Listar Integrantes
Nuevo Integrante
5.3 Administración
Permite administrar la información de los diferentes perfiles y usuarios.
Manual de Usuario
186
5.3.1 Perfil
Pemite administrar los perfiles del sistema.
Listar Perfiles
Manual de Usuario
187
Nuevo Perfil
5.3.2 Usuario
Permite administrar a los diferentes usuarios.
Manual de Usuario
188
Listar Usuarios
Crear Usuarios
Bibliografía
189
5 MATERIALES DE REFERENCIA
Bibliografía
[1] ARCHIVO PDF, http://www.monografias.com/
[2] MCGROW, Hill, (1991). Metodología de la Investigación. Primera
Edición
[3] MENDEZ, Carlos. (2003). Diseño y Desarrollo del Proceso de
Investigación, Colombia. Tercera Edición.
[4] PRESSMAN, Roger. (2002). Ingeniería de Software un Enfoque
Práctico, España. Quinta Edición
[5] JACOBSON, Ivar. BOOCH, Grady. RUMBAUGH, James. Uml
Proceso Unificado Desarrollo Software
[6] PHP, http://es.tldp.org/Manuales-LuCAS/manual_PHP/manual_PHP/
[7] MYSQL,http://dev.mysql.com/doc/
[8] JQUERY, http://jquery.com/
[9] AJAX, http://es.wikipedia.org/wiki/ajax
[10] Web Application Development with Yii and PHP
[11] http://es.wikipedia.org/wiki/Universidad_Central_del_Ecuador
[12] http://materias.fi.uba.ar/7500/blanco-tesisingenieriainformatica.pdf
[13] Jugo, J., Sagastebeitia, I., Etxebarria, V. Laboratorio de control en
tiempo real vía Internet usando herramientas open Source”, V J
Jornadas de Enseñanza via Internet/Web de la Ingeniería de Sistemas
y Automática, EIWISA’07, Zaragoza, 2007".
Bibliografía
190
[14] http://catarina.udlap.mx/u_dl_a/tales/docuemntos/lis/alvarez_m_v/capi-
tulo2.pdf
[15] http://static.aytoroquetas.org/public/documentos/juntas_gobierno/158_
estandaresbds.pdf
[16] http://repositorio.espe.edu.ec/bitstream/21000/5585/2/T-ESPE-033681-
P.ppsx
[17] http://always-centos.weebly.com/uploads/1/9/0/2/19024193/_howto_-
_practica_1_-_instalando_centos_server.docx
Bibliografía
191
ABREVIATURAS
APTs Advanced Persistent
Threats
Amenazas Persistentes Avanzadas
CGI Common Gateway
Interface
Interfaz de entrada común
CSS Cascading Style Sheets Hojas de estilo en cascada
CSRF Cross Site Request
Forgery
Cruce de sitio de falsificación de
petición
CRUD Create Read Update and
Delete
Crear, leer, actualizar y eliminar
DAO Data Acces Object Objetos de Acceso a Datos
DB Data Base Base de Datos
DBMS Base Management
Systems
Sistemas de Gestión de Base de
Datos
DOM Document Object Model Modelo de Objeto de Documento
GTK Graphical User Interface
Toolkit
Kit de herramientas de Interfaz
Gráfica de usuario
HTML HyperText Markup
Language
Lenguaje de Marcado de Hipertexto
HTTP HyperText Transfer
Protocol
Protocolo de Transferencia de
Hipertexto
IDE Integrated development
environment
Entornos de Desarrollo Integrado
IP Internet Protocol Protocolo de Internet
JDBC Java Database
Connectivity
Conector de base de datos para
Java
Bibliografía
192
JSF Java Server Faces Páginas de interfaces de usuario
java
JSP Java Server Pages Páginas de Servidor Java
JSON JavaScript Object Notation Notación de Objeto de JavaScript
MVC Model View Controller Modelo Vista Controlador
ODBC Open Database
Connectivity
Conexión abierta de base de datos
PHP Hypertext Preprocesador Preprocesador de Hipertexto
PHPUnit Hypertext Preprocesador
Unit
Unidad de Preprocesador de
Hipertexto
RBAC Remote Area Border
Crossing
Cruce de borde de area remota
SGDB Database Management
System
Sistema de Gestión de Base de
Datos
SQL Structure Query Languaje Lenguaje de consulta estructurado
TCP Transmission Control
Protocol
Protocolo de control de transmisión
WSDL Web Services
Description Language
Lenguaje de descripción de
servicios Web
XHTML Extensible HyperText
Markup Language
Lenguaje de Marcado de Hipertexto
extensible
XML Extensible Markup
Language
Lenguaje de Marcas Extensible
XSLT Extensible Stylesheet
Language Transformations
Lenguaje de transformaciones
extensibles de estilo de documentos
XSS Cross site scripting Secuencias de comandos en sitios
cruzados