3.4 Fases de la metodología aplicada
3.4.3 Desarrollo
3.4.3.1 Codificación de la aplicación. Script para conección a la base de datos. <?php function Conectarse($bd) { $link=mysql_connect("localhost","usuarioinv","micaela"); if (!($link=mysql_connect("localhost","usuarioinv","micaela"))) {
echo "Error conectando a la base de datos."; exit();
}
if (!mysql_select_db("investigacion",$link)) {
echo "Error seleccionando la base de datos."; exit(); } return $link; } function con_base($bd) { $link=mysql_connect("localhost","usuarioinv","micaela"); $a=mysql_select_db("investigacion",$link); if (!($link=mysql_connect("localhost","usuarioinv","micaela")))
83 {
echo "Error conectando a la base de datos."; exit();
}
if (!mysql_select_db("investigacion",$link)) {
echo "Error seleccionando la base de datos."; exit();
}
return $a; }
function fnConnect( &$msg ){
$cn=mysql_connect("localhost","usuarioinv","micaela"); if(!$cn){ $msg = "Error en la conexión."; return 0; } $n = mysql_select_db("CID",$cn); if(!$n){
$msg = "Base de datos no existe."; mysql_close($cn); return 0; } return $cn; } ?>
Script de función para iniciar una sesión. function fnSessionStart(){
session_start();
if(!isset($_SESSION["codigo"])){ $_SESSION["codigo"] = "";
$_SESSION["nombre"] = "Sin registrar"; $_SESSION["apellido"] = ""; $_SESSION["usuario"] = ""; $_SESSION['clave']=''; $_SESSION["perfil"] = ""; $_SESSION['observacion'] = ''; $_SESSION['estado'] = ''; } }
Script para finalizar una sesión. function fnSessionEnd(){
84 session_unset();
session_destroy(); }
Script ejemplo de ingreso de información a base de datos. <?php require_once( "../funcion.php" ); fnSessionStart(); if ($_SESSION["codigo"] == "") { fnRedirect("../bloqueo.php"); return; } ?> <?php $id=(isset($_POST["id"])?$_POST['id']:NULL); $documento=(isset($_POST["documento"])?$_POST['documento']:NULL); $pasaporte=(isset($_POST['pasaporte'])?$_POST['pasaporte']:NULL); $nombre=(isset($_POST["nombre"])?$_POST['nombre']:NULL); $apellido=(isset($_POST["apellido"])?$_POST['apellido']:NULL); $nacionalidad=(isset($_POST["nacionalidad"])?$_POST['nacionalidad']:NULL); $ciudad=(isset($_POST["ciudad"])?$_POST['ciudad']:NULL); $direccion=(isset($_POST["direccion"])?$_POST['direccion']:NULL); $telefono=(isset($_POST["telefono"])?$_POST['telefono']:NULL); $telefono1=(isset($_POST["telefono1"])?$_POST['telefono1']:NULL); $celular=(isset($_POST["celular"])?$_POST['celular']:NULL); $correo=(isset($_POST["correo"])?$_POST['correo']:NULL); $observacion=(isset($_POST["observacion"])?$_POST['observacion']:NULL); $dia=(isset($_POST['dia'])?$_POST['dia']:NULL); $mes=(isset($_POST['mes'])?$_POST['mes']:NULL); $anio=(isset($_POST['anio'])?$_POST['anio']:NULL); $titulo_pre_doc=(isset($_POST['titulo_pre_doc'])?$_POST['titulo_pre_doc']:NULL); $titulo_pos_doc=(isset($_POST['titulo_pos_doc'])?$_POST['titulo_pos_doc']:NULL); $fecha_nac_doc=$dia.'-'.$mes.'-'.$anio; $telefono2=$telefono1.$telefono; $id_car=(isset($_POST['id_car'])?$_POST['id_car']:NULL); if($telefono2==$telefono1){ $telefono2=0; } $valor=1; $marca=0; $marca1=0; $marca2=0; $marca3=0;
85 while($row=mysql_fetch_array($bne)){ $nombre1=$row['nombre_doc']; $apellido1=$row['apellido_doc']; $documento1=$row['documento_doc']; $pasaporte1=$row['pasaporte_doc']; if(strtoupper($documento1)==strtoupper($documento)){ if($documento==NULL){ $marca1=0; }else{ $marca1=1; }} if($pasaporte==""){ }else{ if(strtoupper($pasaporte1)==strtoupper($pasaporte)){ $marca2=1; }} if(strtoupper($nombre1)==strtoupper($nombre) and strtoupper($apellido1)==strtoupper($apellido)){ $marca=1; }} if($marca1==1){
echo "<div align='center'>Ya existe es número de cedula ingresado, INTENTE NUEVAMENTE</div>";
echo '<div align="center"><form action="nuevo_docente.php" method="post" target="_parent">
<input name="regresar" type="submit" value="Regresar" /> </form></div>';
exit();}
if($marca2==1){
echo "<div align='center'>Ya existe ese pasaporte ingresado, INTENTE NUEVAMENTE</div>";
echo '<div align="center"><form action="nuevo_docente.php" method="post" target="_parent">
<input name="regresar" type="submit" value="Regresar" /> </form></div>';
exit(); }
if($marca==1){
echo "<div align='center'> El nombre y apellido ingresados ya existen, INTENTE NUEVAMEnTE</div>";
echo '<div align="center"><form action="nuevo_docente.php" method="post" target="_parent">
86 </form></div>';
exit();}
if ($valor==1){
$r=mysql_query("insert into docente(id_doc, documento_doc, pasaporte_doc, nombre_doc, apellido_doc, nacionalidad_doc, ciudad_doc, direccion_doc, telefono_doc,
celular_doc, correo_doc, id_car, observacion_doc,
fecha_nac_doc,titulo_pre_doc,titulo_pos_doc) values( '$id', '$documento', '$pasaporte', '$nombre', '$apellido', '$nacionalidad', '$ciudad', '$direccion', '$telefono2', '$celular', '$correo', '$id_car', '$observacion', '$fecha_nac_doc', '$titulo_pre_doc','$titulo_pos_doc')"); echo '<div align="center"><strong>REGISTRO INGRESADO</strong></div><br />'; }else{ echo "<div align='center'>Valor ingresados incorrectos; intente nuvamente</div>";} ?> 3.4.3.2 Mapa de la aplicación. - index.php - menu_principal.php - menu_principal_informacion_general.php - menu_usuarios.php - menu_extensiones.php - menu_facultad.php - menu_carrera.php - menu_docente.php - menu_estudiante.php - menu_principal_gestion_proyectos.php - menu_matriz1.php - menu_matrizm2.php - menu_matrizm3.php - menu_vigilancia.php - menu_centro.php - menu_redes.php - menu_evento.php - menu_noticias.php - evaluacion_investigadores/menu_principal_evaluacion.php - menu_competencia_general.php - menu_competencia.php - menu_dimension.php
87 - menu_indicador.php
- menu_formulario_calificacion_indicadores.php - cerrar.php
3.4.4 Pruebas
Para la realización de pruebas se crearon una serie de guías de pruebas, a continuación se detallan las más importantes.
Verificación de ingreso de usuarios a la aplicación
Autentificación Si No
1 Ingresan sólo usuarios registrados 2 Ingreso de acuerdo al perfil creado
3 Envío de datos para recuperar usuario y clave
4 Verificación de funcionamiento de variables de sesión
Tabla 11. Verificación de ingreso de usuarios a la aplicación. Fuente: diseño propio.
Verificación de ingreso de datos a un formulario
Tipo de datos admitidos por campo Si No
1 Permitido solo caracteres 2 Permitido sólo números
3 Permitido caracteres especiales 4 Valores negativos
5 Rangos de valores
6 Digito verificador de cédula 7 Valores duplicados
8 Control de valores nulos
9 Verificación de ingreso a campos obligatorios 10 Valores tipo fecha
88 11 Tipo correo
12 Tipo web
Tabla 12. Verificación de ingreso de datos a un formulario. Fuente: diseño propio.
Ingreso de operaciones en ficha de presentación de proyectos
Tipo de operaciones permitidas Si No
1 Costo total del proyecto vacio
2 Financiamiento de UNIANDES vacio 3 Financiamiento otras entidades vacio
4 Financiamiento UNIANDES y otras instituciones mayor que costo total del proyecto
Datos de otras tablas
1 Verificación de datos provenientes de otras tablas 2 Verificación de modificación de datos de otras tablas
Tabla 13. Operaciones en ficha presentación de proyectos. Fuente: diseño propio.
Control de conexión al servidor
Operaciones con servidor Si No
1 Apagado
2 Concurrencia
3 Usuario y contraseña de conexión usuario administrador
Tabla 14. Conexión al servidor. Fuente: diseño propio Control de flujo de información
Flujo de datos Si No
89 web
2 Verificación de consulta de datos 3 Verificación de retorno de datos
Tabla 15. Flujo de información Fuente: diseño propio
Se realizaron pruebas de ingreso de información con datos reales de docentes, estudiantes y proyectos, los mismos que fueron proporcionados por la dirección de investigación de UNIANDES.
Se realizó pruebas de facilidad de uso con el personal de la dirección de investigación, estudiantes de la carrera de sistemas de primero sistemas de UNIANDES Ambato.
Verificación de facilidad de uso del sistema
Facilidad de acceso Si No Explique
1 El acceso a la aplicación es fácil 2 El ingreso a la aplicación es fácil
3 El diseño gráfico de la aplicación es agradable 4 El menú de opciones de la aplicación es fácil de
entender
5 La navegación por cada una de las partes de la aplicación es fácil
6 Requirió ayuda para poder usar la aplicación 7 Las consultas son fáciles de generar
8 La información proporcionada por el sistema es clara
Tabla 16. Verificación de facilidad de uso de la aplicación Fuente: diseño propio
3.4.5 Mantenimiento.
Para el mantenimiento de la aplicación se ha tomado en cuenta las siguientes consideraciones:
90
- Verificar el tamaño de la base de datos periódicamente, ya que al permitir el ingreso de documentos, esta tiende a crecer rápidamente.
- Verificar continuamente los mensajes enviados solicitando información para ingreso de usuarios a la aplicación.
CONCLUSIONES GENERALES.
- Se requiere una correcta administración de la información que se genera en la dirección de investigación de UNIANDES.
- La difusión de cada una de las actividades que se desarrolla en la dirección de investigación es muy pobre, tanto en la matriz como en las extensiones. Los docentes no conocen a cabalidad que tareas se desarrollan en dicho departamento.
- La aplicación que se presenta como propuesta, permite realizar las actividades básicas de las coordinaciones de la dirección de investigación, dichas coordinaciones son: Observatorio de ciencia y tecnología, control y seguimiento de proyectos, formación de docentes investigadores. Existen otras coordinaciones que pueden ser agregadas a futuro como parte de esta propuesta.
- Se ha automatizado las metodologías creadas por la dirección de investigación en cuanto tiene que ver a seguimiento de proyectos y calificación a docentes investigadores, los mismos que desarrollaron una serie de instrumentos para dicho fin.
- La utilización de tecnología de software libre para el desarrollo de la aplicación, tales como MySQL, Apache, PHP, disminuyó considerablemente el costo del proyecto, ya que no se pagó por usos de software con licencia.
- No existe una metodología adecuada que controle el porcentaje de avance de los proyectos, ya que actualmente se lo lo hace únicamente en función de las matrices M3 que se han entregado al coordinador de proyectos para su verificación. Esto acarrea un problema, ya que puede existir actividades que tienen un tiempo de elaboración mayor al tiempo que requieren las otras actividades.
- La presente propuesta es parte del doctorado en ciencias que el autor está cursando en la Universidad Camilo Cienfuegos de Cuba, por lo cual se irá mejorando día a día para satisfacer las necesidades de los usuarios.
91 RECOMENDACIONES.
- Establecer esquemas de funcionamiento y operación en las diferentes coordinaciones de la dirección de investigación.
- Usar la aplicación propuesta en este proyecto de tesis para mejorar el funcionamiento de la función investigación de UNIANDES.
- Uso de las diferentes tecnologías de información y comunicación por parte de toda la comunidad universitaria que trabaja en la dirección de investigación, tales como docentes investigadores, coordinadores, analistas, y otros.
- Mayor difusión de los diferentes instrumentos creados en la dirección de investigación por parte de los docentes investigadores, estudiantes, coordinadores de investigación.
- Capacitar a los docentes investigadores sobre el uso de la aplicación desarrollada en este proyecto, especialmente en el ingreso de archivos como evidencias de los proyectos.
- Crear una metodología más adecuada para la determinación del porcentaje de avance de un proyecto por parte de la dirección de investigación.
- Integrar a otros desarrolladores de software de la institución para que unan sus capacidades técnicas y creen una herramienta más robusta que abarque a un futuro diferentes departamentos de la universidad.
- Integrar esta propuesta con las aplicaciones informáticas existentes en la universidad.
92 BIBLIOGRAFÍA
- ANTHONY. Robert; GOVINDARAJAN. Vijay “Sistemas de control de Gestión”. Editorial McGrawHill. Duodécima Edición. 2006.
- BEATI. Hernán. “PHP Creación de webs dinámicas”. Editorial Alfaomega. Primera edición. México. 2012.
- BLEJMAR. Bernando. “Gestionar es hacer que las cosas sucedan”. Editorial Novaduc. Tercera edición. 2009.
- BOOCH. G. “Análisis y diseño orientado a objetos con aplicaciones”. Editorial Pearson. Tercera edición. 2007.
- DE LA CRUZ. Cristina. “La responsabilidad de la Universidad en el proyecto de construcción de una sociedad”. Revista educativa superior y sociedad, nueva época, año 13, número 2, septiembre 2008.
- ESTEBAN. Ángel. “Tecnologías de servidor con Java”. Editorial Eidos. Primera edición. España. 2000.
- FROUFE. Agustín. “Java 2 manual de usuario y tutorial”. Editorial Alfaomega; Rama. Quinta edición. México. 2010.
- GOMEZ, Álvaro. “Sistemas de información. Herramientas prácticas para la gestión”. Editorial Alfaomega. Tercera edición. 2010.
- ZONGÁLEZ. R; CORDERO. J. “Diseño de páginas web, iniciación y referencia”. Editorial Osborne-McGrawHill. Tercera edición. México. 2010.
- JOYANES, Luis; ZAHONERO. Ingnacio. “Programación en Java: algoritmos, programación orientada a objetos e interfaz gráfica de usuario”. Editorial Mc- GrawHill. Primera edición. México. 2011.
- KENDALL. Kenneth; KENDALL. Julie.“Sistemas de información: fundamentos y análisis”. Editorial Pearson. Primera Edición. 2010.
- LANGBERG. Kamma. “Changes in Research management at Danish Universities and Government research Institures”. The Danish Institute for Studies in Research and Reasearch Policy 2003:4: Tomado de la dirección electronic http://ww.afsk.au.dk/ftp/Remac/2003_4.pdf.
- LEY DE CARTOGRAFÍA NACIONAL. 1978.
- LANTADA. N, NÚÑEZ.AMPARO. “Sistemas de información geográfica. Prácticas con ArcView”. Editorial Alfaomega. Primera reimpresión. 2006.
93
- LÓPEZ. José. “Domine JavaScript”. Editorial Alfaomega,RA-Ma. Tercera edición México. 2011.
- MARTÍN. Luis. “Sistema de referencia, sistema de coordenadas, proyecciones. Topografía. Curso 2008-2009”.
- MARTIN. J; ODELL. J. “Object-Oriented Analys and Design”. Editorial Prentice- Hall. Primera edición. 1992.
- McLEOD. Raymond. “Sistemas de información gerencial”. Editorial Prentice-hall. Décima edición. México. 2010.
- MOROCHO. V “Infraestructura de Datos Espaciales”. CEDIA.2009.
- ORTIZ. Lourdes; MATOUT. Sandra. “Modelo sistémico para la enseñanza de la ingeniería de software en carreras profesionales del área de la informática”. III Conferencia latinoamericana de Facultades y Escuelas de ingeniería de sistemas y ciencias de la computación. Marzo 1999 Barquisimeto-Venezuela.
- PÉREZ. César. “MYSQL para Windows y Linux”. Editorial Alfaomega - RaMa. Segunda edición. México. 2008.
- PRESSMAN. Roger. "Ingenieria del software: un enfoque práctico". Editorial Mc- GrawHill. Sexta edición. México. 2005.
- ROYERO. Jaim. “Gestión de sistemas de investigación universitaria en América Latina”. Instituto Universitario de Tecnología José Antonio Anzoátegui. Tomado
de la dirección electrónica http://www.campus-
oei.org/revista/deloslectores/412Royero.pdf.
- REGLAMENTO DE DIRECCIÓN DE INVESTIGACIÓN UNIANDES. 2009.
- RICARDO. Catherine. “Base de datos”. Editorial Mc-GrawHill. 2004. Primera edición. México. 2004.
- SCHILDT. Herbert. “Fundamentos de programación en Java 2”. Editorial Osborne- McGraw-Hill. Primera edición. Colombia. 2002
- SILBERSCHATZ. A; KORTH. H; SUDARSHAN. S. “Fundamentos de bases de datos”. Editorial McGrawHill. Cuarta edición. España. 2006.
- SOMMERVILLE. Ian. "Ingeniería de software". Editorial. Pearson Education. Sexta edición. México. 2002.
- TAIPE. J “Integración de metadatos en una infraestructura de datos espaciales utilizando herramientas Open Source aplicando al proyecto Riobamba Digital”. Tesis Escuela Politécnica del Chimborazo. 2011.
94
- UYAGUARI. Alvaro “WMS (Web Map Service). CEDIA.2009.
- WHITTEN, Bentley “Análisis de sistemas diseño y métodos”. Editorial McGraw Hill. Séptima edición. 2008.
LINKOGRAFÍA - http://www.opengeospatial.org/ - http://www.igm.gob.ec/site/index.php?option=com_content&view=frontpage&Ite mid=1 - http://ggyma.geo.ucm.es/docencia/documentos/informatica/Informatica_9.pdf - http://www.mapasymapas.com.ar/archivos%20map.php - www.postgresql.com.org - www.mysql.com
Guía de funcionamiento del sistema de gestión de la función investigación de UNIANDES.
Para ingresar al sistema se necesita poseer un usuario y una clave, la pantalla inicial del sistema es la siguiente:
Página index.php. Fuente: diseño propio.
El software posee los siguientes perfiles de usuarios: administrador, usuario vigilancia tecnológica, director de investigación, coordinador de proyectos, coordinador de investigación extensiones.
Si la persona no posee una cuenta de usuario o se ha olvidado el usuario la clave puede hacer solicitar al administrador del sistema su nombre de cuenta y clave.
Dependiendo del perfil se le permitirá el acceso a las diferentes partes del sistema, el administrador puede ingresar a todas las opciones del sistema, el director de investigación únicamente no tiene acceso a la sección de información general. El coordinador de proyectos puede ver la sección de proyectos. El coordinador de investigación de las extensiones puede ingresar a proyectos y formación de investigadores, los usuario de vigilancia tecnológica únicamente tienen acceso a la sección correspondiente a vigilancia tecnológica.
Cabe destacar que se puede dar el caso de que una persona tenga varios perfiles, dichos criterios fueron tomados en consideración en la realización de la aplicación.
Menú principal de la aplicación. Fuente: diseño propio.
El menú principal está compuesto por las secciones de Información General, Proyectos, Vigilancia Tecnológica, Formación de Investigadores.
Menú información general. Fuente: diseño propio.
En la sección de Información General, se cuenta con: Usuario, Extensiones, Facultades, Carreras, Docentes, Estudiantes.
En cada una de las opciones se puede realizar las siguientes acciones: ingresar, consultar, modificar y eliminar.
Ingreso de usuarios. Fuente: diseño propio.
El formulario de ingreso de usuarios, permite recibir la información necesaria de los usuarios que utilizarán el sistema. Se determina el rol que tendrá el usuario del sistema, además es necesario determinar en qué extensión de la universidad se encuentra laborando. Por lo cual es necesario ingresar con antelación datos de las extensiones que tiene la institución. Se ha realizado una verificación de los datos ingresados.
Consulta usuarios. Fuente: diseño propio.
Modificar usuario. Fuente: diseño propio.
Para modificar los datos de los usuarios, primero se despliega una lista de cada uno de los usuarios y se puede elegir cuál de ellos se desea modificar.
Sección extensión.
Básicamente tiene el mismo funcionamiento que la sección usuarios, es decir se puede ingresar, grabar, consultar, modificar y eliminar.
Sección facultad.
Ingreso nuevas facultades. Fuente: diseño propio.
El ingreso de nuevas facultades permite elegir en que extensiones se encuentra dicha facultad, por lo cual es menester crear primero las extensiones respectivas.
Dichas extensiones se listan automáticamente una vez que fueron creadas y el usuario debe elegir.
Consulta de datos de una facultad. Fuente: diseño propio.
En la consulta de facultades, se lista las mismas pero también se despliega las extensiones en las cuales existe esa facultad.
La opción de modificar y eliminar son similares a las de usuarios.
Sección docentes.
Ingreso nuevos docentes. Fuente: diseño propio.
En la sección docentes se puede ingresar, guardar, consultar y eliminar docentes investigadores, el ingreso de docentes nuevos está controlado para que necesariamente se deba ingresar una cédula de identidad o un pasaporte, de igual forma se lo ha hecho con el ingreso de nombres, apellidos, nacionalidad, dirección, ciudad en la que vive, título de pregrado.
La consulta permite a la búsqueda por dos opciones: por apellido y por cédula, de esta manera se puede realizar búsquedas avanzadas.
El proceso de modificación es similar a los otros procesos de modificación mencionados anteriormente, es decir, se necesita buscar el docente a modificar, se lo elige y se cambia los datos respectivos.
Cuando se desea eliminar un docente, hay que tomar en cuenta que este no debe estar involucrado en otros procesos para su borrado, ya que el sistema no permitirá hacerlo si este caso se presenta.
Sección estudiantes.
La sección estudiantes tiene la misma filosofía de trabajo que la sección docentes, es decir permite crear nuevos estudiantes con su respectiva información, guardar dicha información, consultar, modificar y eliminar a un estudiante.
Sección ficha de proyectos.
Ficha de ingresos proyectos. Fuente: diseño propio.
Constituye una de las secciones más importantes de la aplicación, debido a que permite el ingreso de los datos fundamentales que contendrá un proyecto, cada proyecto tendrá un
identificador único, existen controles para evitar que se llene información inadecuada en cada campo.
De igual forma dicho formulario se alimenta de los datos previamente ingresados por parte del administrador del sistema, tales como líneas de investigación, docentes, estudiantes, carreras, extensiones, áreas del conocimiento.
Al grabar los datos ingresados en el formulario, se realiza un manejo de diferentes tablas de la base de datos. Se puede realizar consultas de los proyectos basándose en diferentes consideraciones, por ejemplo:
- Nombre del proyecto.
- Línea de investigación.
- Docente jefe del proyecto.
- Carreras.
- Extensiones.
Consulta de proyectos. Fuente: diseño propio.
Para realizar modificaciones se procede con la elección del proyecto a modificar, se realiza los cambios respectivos y se almacena los cambios.
Sección Matriz M1.
Esta sección permite el ingreso de los datos a la matriz M1, creada por la dirección de investigación para la presentación de un proyecto, el software permite elegir el proyecto y el número de actividades con que contará dicha matriz.
Ingreso nueva matriz M1. Fuente: diseño propio.
La matriz M1 despliega información previamente ingresada en la ficha de ingreso de proyectos. Únicamente se puede la matriz M1 de un proyecto existente.
Para consultar una matriz M1, únicamente se debe elegir el proyecto y se despliega la información de dicha matriz.
Consulta matriz M2. Fuente: diseño propio.
La opción de modificar, perite cambiar información de las actividades de la matriz M1, no permite cambiar datos como tema, problema que resolverá, jefe del proyecto o equipo de investigación, ya que dicha información se ingreso anteriormente en la ficha del proyecto.
Sección matriz M2.
Esta sección permite la creación, consulta y modificación de una matriz M2, la misma que únicamente se puede crear cuando existe ya previamente creado una matriz M1.
La filosofía de trabajo es la misma que para una matriz M1.
Sección matriz M3.
Permite crear matrices M3 de cada proyecto, estas matrices se crean por cada actividad terminada de proyecto, por lo cual no se pueden elaborar si no existe un proyecto previo, una matriz M1 y una matriz M3.
Sección Centros de investigación.