“Sistema de Automatización de Reportes y Comisiones (SARC)”
Informe de Estadía Empresarial que para obtener el título de
Técnico Superior Universitario en Programación.
Presenta:
Arturo Romero Márquez
Asesor: Josué Poot Peña
Firma: ____________________
1
ÌNDICE
RESUMEN 4
CAPÍTULO I. INTRODUCIÓN 5
PLANTEAMIENTO DEL PROBLEMA 5
OBJETIVOS 6
IMPORTANCIA DEL ESTUDIO 6
LIMITACIONES DEL ESTUDIO 6
JUSTIFICACIÓN 6
CAPÍTULO II. MARCO REFERENCIAL 8
CARACTERIZACIÓN DE LA EMPRESA 8
ANTECEDENTES DE LA EMPRESA 8
MISIÓN 9
VISIÓN 9
ESTRUCTURA ORGANICA 10
SITUACIÓN ACTUAL Y COMPETENCIA. 13
ANALISIS FODA DE LA SECRETARIA DE PESCA 14
CAPITULO III: MARCO TEÓRICO 16
LINEA TEORÍCA 16
TOMA DE REQUERIMIENTOS 16
DISEÑO 17
BASES DE DATOS 18
LENGUAJES DE PROGRAMACIÓN (WEB) 19
SEGURIDAD 24
INYECCIÓN SQL 25
CONCEPTOS 26
2
CAPITULO IV: METODOLOGIA 29
DISEÑO DE INVESTIGACIÓN 29
OBJETIVO O PROPÓSITO 28
JUSTIFICACIÓN DEL PROYECTO 29
TIPO DE INVESTIGACIÓN 29
HIPÓTESIS 29
CAPITULO V: DESARROLLO DEL PROYECTO 30
ANÁLISIS DE LOS DATOS 31
RESULTADOS 40
PROPUESTAS 40
CONCLUSION 41
REFERENCIAS 43
LISTA DE TABLAS 44
ANEXOS 45
Figura1: Oficio de Comisión 45
Figura 2: MySQL Administrator 46
Figura 3: Tablas Creadas 46
Figura 4: Adobe Dreamweaver CS3 47
Figura 5: Adobe Photoshop CS3 48
Figura 6: Autentificación 49
Figura 7: Sección “menú.html” 50
Figura 8: Sección “main.html” 50
Figura 9: Sección “nuevacomision.php” 51
Figura 10: Visualización de la comisión creada 52
Figura 11: Selección de comisión para generar reporte 52
3
RESUMEN
Este documento trata sobre la incorporación de nuevas tecnologías y automatización de
procesos para la Secretaria de Pesca del Estado de Campeche.
Esto mediante la elaboración de una aplicación, donde los usuarios sean capaces de crear
reportes de comisión de una manera más eficaz.
Lo cual permita el mejor desempeño de los empleados en tareas de mayor importancia.
También se incluye información sobre la empresa en general, los empleados que laboran en
ella, así como su función a nivel estado.
De igual manera podemos encontrar definiciones de protocolos y términos utilizados para el
desarrollo de esta aplicación.
CAPÍTULO 1. INTRODUCIÓN
PLANTEAMIENTO DEL PROBLEMA
4
En la actualidad las oficinas requieren el uso de herramientas que permitan a los usuarios
agilizar los procesos particulares de cada área.
Lamentablemente la Secretaria de Pesca del Estado de Campeche, no hace uso total de
estas herramientas, ya que no cuenta con desarrolladores que les permita crear aplicaciones
para agilizar estos procesos.
Los documentos de comisión son creados en Microsoft Word utilizando fotografías de los
empleados a comisionar, y cada inserción de imagen consume espacio en el documento,
teniendo al final del año un documento con formato .doc., de un tamaño mayor a 100mb, lo
cual hace que la apertura de este sea muy lenta para los equipos.
Planteado nuestro problema es necesario incluir un cuestionamiento que nos servirá como
base para la resolución del problema en este caso sería, ¿Cómo agilizar la creación de
documentos de comisión de una forma digital sin necesidad de utilizar software de ofimática?
Algunas restricciones son la falta de uso de TI para llegar al objetivo, el uso de un
procesador de texto para la creación de estas comisiones, la limitación de tiempo para estas
tareas y la limitación de recursos para el desarrollo de este proyecto
OBJETIVOS
Crear una aplicación que permita al área de Coordinación Administrativa facilitar la creación
de formatos de comisión para desempeñar trabajos externos permitiendo exportar estos
documentos a formato PDF para poder así revisarlos en cualquier momento.
IMPORTANCIA DEL ESTUDIO
Hemos nombrado al sistema en desarrollo SARC (Sistema de Automatización de Reportes y
Comisiones). La dependencia donde se implementará el sistema SARC se estará
ampliamente beneficiada por la automatización del trabajo administrativo, ya que el sistema
5
permitirá el ahorro de tiempo en la creación de comisiones y los reportes de estos, permitirá
el ahorro de espacio en el servidor, aumentara drásticamente el tiempo de respuesta para la
consulta de estas comisiones, así como permitirá consultar estas desde cualquier equipo que
cuente con acceso a internet, ya que el sistema será creado en entorno web.
LIMITACIONES DEL ESTUDIO
Algunas de las limitaciones para la creación de esta aplicacion son, la falta de recurso
presupuestal para la contratación de personal que pueda desarrollar un sistema que permita
la solución de estos problemas.
La falta de equipo disponible para la creación de esta aplicación, la carencia de software
propietario que permita realizar estas tareas y la falta de personal entrenado para el
desarrollo de una aplicación de esta índole.
JUSTIFICACIÓN
Gracias al haber participado en las labores diarias de la Secretaria de Pesca en el área de
informática, y el haber apoyado de diversas maneras al área administrativa de esta
institución, la cual es la encargada de la creación de los oficios y reportes de comisión para
los empleados. Se observa que el tiempo dedicado a la creación de estos reportes así como
el tamaño que ocupa los documentos creados en el servidor son más grandes de lo óptimo.
Debido a estas razones lo ideal es la creación de este sistema SARC, el cual agilizara estos
procesos así como permitirá que estos documentos sean alojados en el server con un
tamaño mínimo, ya que solo alojara referencias a una base de datos.
6
CAPÍTULO 2. MARCO REFERENCIAL
CARACTERIZACIÓN DE LA EMPRESA
Razón social:
Gobierno del Estado de Campeche
Dirección Fiscal: Calle 8 entre 61 y Circuito Baluartes s/n, Colonia Centro, Campeche, Campeche, Mexico.
Teléfono:
01 (981) 81 12779 y 81 69383
R.F.C.
7
GEC950401659
Objeto social:Secretaría de Pesca del Estado de Campeche
Número de trabajadores
54
La secretaría de Pesca como dependencia del poder ejecutivo del Estado, tiene a su cargo el
despacho de los asuntos que expresamente le encomienda la Ley Orgánica de la
administración pública del estado en su Artículo 23 y de más leyes, decretos, acuerdos,
convenios y órdenes del Gobernador del Estado.
ANTECEDENTES DE LA EMPRESA
Desde el Plan Estatal de Desarrollo 1997-2003, establecimos el compromiso de crear la
estructura que resuelva y coordine con la federación en forma directa la actividad pesquera y
ofrecer mayores respuestas a las demandas ciudadanas.
Por ello en diciembre de 1997, se impulsa la reforma de los artículos 9 y 23 de la Ley
Orgánica de la Administración Pública, creándose la Secretaría de Pesca y con fecha 6 de
mayo de 2002 se publica su reglamento interior.
Principales aspectos Orgánico, Administrativo y de Control.
a) Aspectos Orgánicos.
En materia funcional-normativa, en el Estado de Campeche la reforma administrativa
propicia la modificación de las estructuras de la administración pública, adecuando y
distribuyendo atribuciones y competencias en las instituciones con el objeto de plantear el
nuevo papel del gobierno. En materia estructural, hasta 1997 la actividad pesquera formaba
una parte sustantiva del medio ambiente y recursos naturales, por ello se considera una
Dirección de Desarrollo Pesquero.
8
Esta administración, en cumplimiento a lo que establece el Plan Estatal de Desarrollo 1997-
2003 y con el objeto de atender mejor las demandas de la sociedad, el Ejecutivo del Estado,
impulsa la reforma a la Ley Orgánica de la Administración Pública, creando como
dependencia la Secretaría de Pesca, otorgándole amplias facultades en beneficio de la
actividad pesquera.
En materia de recursos humanos, desde el año 1998 la Secretaría de Pesca operó con 34
plazas.
MISIÓN
Conducir actividades de planeación, coordinación ejecución, evaluación y control con base
en los objetivos, políticas, estrategias, prioridades y restricciones que establezca el Plan
Nacional de Desarrollo, El Plan Estatal de Desarrollo y el Gobernador del Estado.
VISIÓN
Coordinar y Evaluar en los términos de la legislación aplicable de las acciones del sector y
formular y conducir la política estatal en materia de recursos pesqueros, regulación de las
pesquerías y desarrollo de la actividad pesquera con la participación que corresponda a
otras dependencias del Estado y del Municipio.
La secretaría de pesca profesionales, así como su historia, misión, visión, valores y
estructura.
La empresa está dividida en las siguientes áreas:
Coordinación Administrativa: Encargada de la administración, contabilidad, y generación de
diversos oficios para pagos, comisiones y movimientos económicos de la secretaria (área en
la que se desarrolla la estadía empresarial).
9
Acuacultura: Encargada de la investigación biológica de las especies en el estado y de las
mejoras biotecnológicas que permitan aumentar los índices de producción de pescados y
mariscos en el estado.
Desarrollo Pesquero: Promueve el desarrollo de granjas y crea programas que permiten a
los pescadores vender su producto desarrollando estrategias acuícolas de una manera
eficaz.
ESTRUCTURA ORGANICA
La Secretaría de Pesca, conforme al acuerdo que establece las unidades administrativas de
las dependencias, de fecha 19 de enero de 1998, define como áreas estructurales las
siguientes:
Oficina del Titular
Subsecretaría de Pesca
Dirección de Desarrollo Pesquero
Dirección de Acuacultura
Coordinación Administrativa.
En 2002, en el marco de las acciones de reorganización y reestructuración establecido en el
PRODAP y la publicación de su reglamento interior, la dependencia suprime una
subsecretaría y queda la siguiente apertura presupuestal:
Oficina del Titular
Dirección de Desarrollo Pesquero
Dirección de Acuacultura
Coordinación Administrativa.
10
La Carta de Organización hasta nivel departamental validada a julio de 2002 y que
actualmente está vigente es la siguiente:
No. Nombre Unidad Cargo
01 C. ING. OCHOA PEÑA RAMON GABRIEL Oficina del Titular Secretario
02 C. ING. CEBALLOS FUENTES AGAPITO Oficina del Titular Subsecretario
03 C. ING. RAMON EFRAIN RIVERO VIVAS Desarrollo Pesquero Director
04 C. BIOL. ALDANA PERERA JUAN GABRIEL Acuacultura Director
05 C. LICDA. PACHECO BALAM CHERYL Oficina del Titular Subdirectora de la Unidad
Jurídica
06 C. NAGARIAN NIEVA SARA GUADALUPE Oficina del Titular Secretaria Técnica
07 C. C.P. REYES JIMÉNEZ MARÍA ENRIQUETA Coordinación Admiva. Coord. Admivo.
11
Organigrama tomado del manual de Estructuras de la Secretaria de Pesca: .Vol2, pag 1: ME1000.1
08 C. FERNÁNDEZ QUIJANO GERARDO A. Coordinación Admiva. Subdirector de Informática y
Registro Pesquero
09 C. ING. PALI DZIB MARBEL DE LA LUZ Desarrollo Pesquero Jefe de Depto.
10 C. ING. NOBLES UC ANTONIO Acuacultura Jefe de Depto.
11 C. CHIQUINI GARCÍA DORA MARÍA Oficina del Titular Secretaria Ejecutiva “B”
12 C. ING. CAB CALAN FREDY CANDELARIO Desarrollo Pesquero Jefe de Depto.
13 C. BR. ORTEGA OLIVARES SANTIAGO B. Desarrollo Pesquero Jefe de Depto.
14 C. P. EN L.A.E. GONZALEZ CAMPOS JULIA E. Acuacultura Jefe de Depto.
15 C. ING. CALAN EHUAN LUIS ENRIQUE Acuacultura Jefe de Depto.
16 C. TEC. ESCAMILLA GONZALEZ JUAN DE D. Acuacultura Jefe de Depto.
17 C. FLORES HERRERA FERNANDO Desarrollo Pesquero Analista Especializado
18 C. MISS AGUILETA AVELINO Desarrollo Pesquero Analista Especializado
19 C. TEC. CHAC PÉREZ TOMAS Acuacultura Analista Especializado
20 C. ZAPATA CASANOVA FRANCISCO JAVIER Acuacultura Analista Especializado
21 C. BR. CANEPA CETINA HUMBERTO JESÚS Desarrollo Pesquero Analista
22 C. JIMÉNEZ SÁNCHEZ MIRNA LEONOR Coordinación Admiva. Secretaria Ejecutiva “C”
23 C. ZAPATA CASANOVA ROBERTO MANUEL Coordinación Admiva. Analista
24 C. CANUL DIAZ MARTHA DE LOS ANGELES Coordinación Admiva. Analista
25 C. DZUL MIJANGOS LIZBETH JAQUELINE Coordinación Admiva. Analista
26 C. L.A. VERA GÓMEZ ENRIQUE DANIEL Coordinación Admiva. Analista
27 C. UC PIÑA JULIO ALEJANDRO Coordinación Admiva. Chofer “B”
28 C. ESPADAS CHAN ALBINA JUDITH Desarrollo Pesquero Secretaria “D”
29 C. CANTUN POOT DIANA DE LA CRUZ Acuacultura Secretaria “E”
30 C. JIMÉNEZ MARTINEZ SANDRA ILIANA Desarrollo Pesquero Recepcionista “E”
31 C. RUIZ CARRILLO GUSTAVO Coordinación Admiva. Intendente
32 C. ZAPATA SANDOVAL EDI Coordinación Admiva. Velador
33 C. ALDANA BRICEÑO EDGAR RAMÓN Coordinación Admiva. Velador
34 C. GÓMEZ LOPEZ ELIU Coordinación Admiva. Velador
35 C. CINDI VIANEY GONZALEZ DZUL Coordinación Admiva. Promotor
36 C. RUBY SELENE LOPEZ ORTEGON Desarrollo Pesquero Promotor
37 C. ING. RAUL TADEO SOSA Desarrollo Pesquero Promotor
38 C. ING. DULCE AURORA CASANOVA UC Acuacultura Promotor
39 C. LIC. JORGE ALBERTO CANTUN POOT Oficina del Titular Promotor
40 C. ARQ. ALBERTO ROMAN MISS VAZQUEZ Acuacultura Promotor
41 C. MARISELA GONZALEZ JUAREZ Oficina del Titular Promotor
42 C. LIC. LUIS ALBERTO BALAN PACHECO Desarrollo Pesquero Promotor
43 C. ABIMAEL FABIAN REDA ESCAMILLA Desarrollo Pesquero Promotor
44 C. FABIAN COLLI URIBE Desarrollo Pesquero Promotor
45 C. JUAN CARLOS GANZO DOMINGUEZ Coordinación Admiva. Promotor
46 C. JOSE FELIPE PALMA SANCHEZ Acuacultura Promotor
47 C. NALLELI AKE AKE Coordinación Admiva. Promotor
48 C. JOSE CANDELARIO SILVA SEGOVIA Acuacultura Promotor
12
49 C. ESAU UC PIÑA Oficina del Titular Promotor
50 C. ESMERALDA TOLEDO TRESS Oficina del Titular Promotor
51 C. LIC. ANA TERESA REYES CARRERA Desarrollo Pesquero Promotor
52 C. ING. YOLANDA CU QUIJANO Desarrollo Pesquero Promotor
53 C. MANUEL DOMINGO ROSADO Desarrollo Pesquero Promotor
54 C. MARTHA MORALES TORRES Coordinación Admiva. Promotor
(Tabla 1: Empleados de la Secretaria de Pesca del Estado de Campeche)
SITUACIÓN ACTUAL Y COMPETENCIA.
En los últimos 6 años la Secretaria de Pesca ha presentado una disponibilidad pública al
quehacer del Gobierno Estatal. Con la disponibilidad a la ciudadanía para el mérito
poblacional así como la generación de empleos con programas y acuerdos presentados.
A continuación se muestra una tabla con los programas generados y las tazas esperadas y
alcanzadas
Programa Medida Programada Alcanzada
1999Programa de Empleo Temporal
2000Programa de Empleo Temporal
Fondo de Inversión y Administración del Sector Pesquero
Apoyo al Sector Social Camaronero
Capacitación Productores del Sector Social Camaronero
Inspección y Vigilancia Veda de Camarón
2001Fondo de Garantía Líquida Flota Camaronera
Fomento Mediana Altura
Apoyo al Sector Social Camaronero
Inspección y Vigilancia Veda de Camarón
2002Apoyo al Sector Social Camaronero
Seguro de Vida Colectivo
F. de Inversión y Admón. del Sector Social Camaronero
Programa de Inspección y Vigilancia Veda de Camarón
Empleos
Empleos
A. Financiero
Grupo
Cruceros
Contratos
Despensas
Cruceros
Créditos
Personas
Créditos
Cruceros
391
1960
1180
1
0
0
0
0
0
0
7000
0
831
1981
1168
1
4
5
580
4
24
467
2247
7
13
Programa de Empleo Temporal Empleos 0 174
(Tabla 2: Programas generados, tazas esperadas y alcanzadas)
En el área de Transparencia la Secretaria de Pesca ha rendido cuentas a este organismo
cumpliendo todas las normativas que el sistema ordena.
ANALISIS FODA DE LA SECRETARIA DE GOBIERNO DEL ESTADO DE CAMPECHE
FORTALEZAS
Personal capacitado en relación a las artes de pesca y procesos acuicolas
Experiencia profesional en las áreas de servicios
Ambiente de trabajo amistoso y respetuoso
Servicios definidos
Compromiso de los empleados con su trabajo
DEBILIDADES
Presupuesto económico limitado
Equipos tecnológicos anticuados
Falta de uso de TI
OPORTUNIDADES
Capacitación
Oportunidad de implementación de nuevas tecnologias
14
Automatización de procesos
AMENAZAS
Plantones o Manifestaciones
Limitación de recursos para nuevos proyectos
CAPITULO III: MARCO TEÓRICO
LINEA TEORÍCA
La Secretaria de Pesca del Estado de Campeche, cuenta con sistemas y programas en red
que permiten a los usuarios trabajar en diferentes funciones de una forma compartida. Pero
aun así existen varios procesos que siguen siendo creados a mano y la información no es
15
digitalizada lo cual causa que no se puedan validar de manera eficaz ciertas
documentaciones.
Es por eso que nació la idea de crear un sistema de Automatización de comisiones , donde
se pueda llevar el control de dichos documentos con el fin de poder crearlos, guardarlos,
administrarlos y mostrarlos en bases de datos alojadas en el servidor central de esta misma
institución.
De igual forma, con éste sistema Web, se busca que la Secretaria de Pesca del Estado de
Campeche de un paso adelante y empiece a digitalizar su información, teniendo informados
a sus trabajadores acerca de los diferentes documentos creados y los reportes de estos.
Debemos de tener ciertos conceptos claros antes de poder comprender el campo de
aplicación de este sistema, los cuales se explicaran a continuación:
TOMA DE REQUERIMIENTOS
Las necesidades de la secretaria están enfocadas a la digitalización de los procesos
administrativos, que los empleados generan diariamente, para evitar el consumo masivo de
papel y permitir reducir los costos que generan.
El permitir el fácil acceso a documentación por medio de los mismos sistemas de computo
sin tener que buscar dentro de archiveros que llevan años en la institución.
DISEÑO
Este debe adecuarse a las necesidades de la empresa utilizando colores atractivos a los
usuarios, así como también debe de contar con los logotipos de la secretaria.
En todos los módulos el sistema debe contar con un encabezado el cual permita a los
usuarios saber en qué proceso se encuentran.
16
Debe contar con una interface intuitiva y fácil de ser digerida por los diferentes usuarios de la
institución, sin importar su nivel en tecnologías de información.
Los usuarios deben de tener control sobre el sistema, es decir seccionar adecuadamente
cada modulo del sistema para que de esta forma no sientan que se encuentran en un
proceso infinito.
Sistema seguro, cada encargado de la creación de documentos de comisión y reportes,
dependiendo del área administrativa tendrán un nombre de usuario y contraseña, el cual les
permitirá el acceso al sistema.
La aplicación debe de ser consistente con las expectativas del usuario, de acuerdo a un
aprendizaje previo.
El sistema debe de contar con una validación en los procesos de llenado de los formularios,
lo cual haga saber al usuario que esta omitiendo un campo, y centrar su atención en el, para
así no omitir ninguno de estos.
Ley de Fitts indica que el tiempo para alcanzar un objetivo con el ratón está en función de la
distancia y el tamaño del objetivo. A menor distancia y mayor tamaño más facilidad para usar
un mecanismo de interacción.(Vease: webgrafia: http://es.wikipedia.org/wiki/Ley_de_Fitts)
BASES 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 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.
Existen unos programas denominados sistemas gestores de bases de datos, abreviados
SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y
17
estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se
estudian dentro del ámbito de la informática.
Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se
encuentran protegidos por las leyes de varios países. Por ejemplo en España, los datos
personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de
Carácter Personal (LOPD).
Existen dos tipos de gestores de bases de datos, los libres y los de licencia privada, a
continuación se describirán algunos de los más usados: (Vease: Bases de Datos y su Aplicacion con SQL:
Manuales Users, en Español / Spanish (Manuales Users) de Sergio Ezequiel Rozic and MP Ediciones)
MySQL
MySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con
más de seis millones de instalaciones.1 MySQL AB —desde enero de 2008 una subsidiaria
de Sun Microsystems, desarrolla MySQL como software libre en un esquema de
licenciamiento dual.
Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero
las empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa
una licencia específica que les permita este uso. Está desarrollado en su mayor parte en
ANSI C.
Al contrario que proyectos como Apache, donde el software es desarrollado por una
comunidad pública y el copyright del código está en poder del autor individual, MySQL es
propiedad y está patrocinado por una empresa privada, que posee el copyright de la mayor
parte del código.
Algunas de sus principales características son:
Soporte para múltiples plataformas.
Uso de triggers, cursores, vistas actualizables, motores de almacenamiento
independientes (MyISAM, InnoDB)
18
Indexing
Soporte para Unicode
Respeta las reglas ASCII
Fácil de instalar
Millones de formación y certificación para desarrolladores
(Vease: webgrafia: Wikimedia Foundation, Inc. (2008). Bases de datos. Consultado en http://es.wikipedia.org/wiki/Databases.)
LENGUAJES DE PROGRAMACIÓN (WEB)
Actualmente existen diferentes lenguajes de programación para desarrollar en la web, estos
han ido surgiendo debido a las tendencias y necesidades de las plataformas. Algunos de los
más utilizados son los siguientes:
Lenguaje HTML
Desde el surgimiento de internet se han publicado sitios web gracias al lenguaje HTML. Es
un lenguaje estático para el desarrollo de sitios web (acrónimo en inglés de HyperText
Markup Language, en español Lenguaje de Marcas Hipertextuales). Desarrollado por el
World Wide Web Consortium (W3C). Los archivos pueden tener las extensiones (htm, html).(Vease: HTML & XHTML: The Definitive Guide (6th Edition) by Chuck Musciano and Bill Kennedy)
Ventajas: Sencillo que permite describir hipertexto.
Texto presentado de forma estructurada y agradable.
No necesita de grandes conocimientos cuando se cuenta con un editor de páginas
web o WYSIWYG.
Archivos pequeños.
Despliegue rápido.
19
Lenguaje de fácil aprendizaje.
Lo admiten todos los exploradores.
Desventajas: Lenguaje estático.
La interpretación de cada navegador puede ser diferente.
Guarda muchas etiquetas que pueden convertirse en “basura” y dificultan la
corrección.
El diseño es más lento.
Las etiquetas son muy limitadas.
Lenguaje Javascript
Este es un lenguaje interpretado, no requiere compilación. Fue creado por Brendan Eich en
la empresa Netscape Communications. Utilizado principalmente en páginas web. Es similar a
Java, aunque no es un lenguaje orientado a objetos, el mismo no dispone de herencias. La
mayoría de los navegadores en sus últimas versiones interpretan código Javascript.
El código Javascript puede ser integrado dentro de nuestras páginas web. Para evitar
incompatibilidades el World Wide Web Consortium (W3C) diseño un estándar denominado
DOM (en inglés Document Object Model, en su traducción al español Modelo de Objetos del
Documento).
Ventajas: Lenguaje de scripting seguro y fiable.
Los script tienen capacidades limitadas, por razones de seguridad.
El código Javascript se ejecuta en el cliente.
Desventajas: Código visible por cualquier usuario.
El código debe descargarse completamente.
Puede poner en riesgo la seguridad del sitio, con el actual problema llamado XSS
(significa en inglés Cross Site Scripting renombrado a XSS por su similitud con las
hojas de estilo CSS).
20
(Vease: webgrafia: http://www.programacionweb.net/buscador/?tag=lenguaje%20de%20programacion)
Lenguaje PHP
Es un lenguaje de programación utilizado para la creación de sitio web. PHP es un acrónimo
recursivo que significa “PHP Hypertext Pre-processor”, (inicialmente se llamó Personal Home
Page). Surgió en 1995, desarrollado por PHP Group.
PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación
de páginas web dinámicas, embebidas en páginas HTML y ejecutadas en el servidor. PHP
no necesita ser compilado para ejecutarse. Para su funcionamiento necesita tener instalado
Apache o IIS con las librerías de PHP. La mayor parte de su sintaxis ha sido tomada de C,
Java y Perl con algunas características específicas. Los archivos cuentan con la extensión
(php).
Ventajas: Muy fácil de aprender.
Se caracteriza por ser un lenguaje muy rápido.
Soporta en cierta medida la orientación a objeto. Clases y herencia.
Es un lenguaje multiplataforma: Linux, Windows, entre otros.
Capacidad de conexión con la mayoría de los manejadores de base de datos:
MysSQL, PostgreSQL, Oracle, MS SQL Server, entre otras.
Capacidad de expandir su potencial utilizando módulos.
Posee documentación en su página oficial la cual incluye descripción y ejemplos de
cada una de sus funciones.
Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Incluye gran cantidad de funciones.
No requiere definición de tipos de variables ni manejo detallado del bajo nivel.
Desventajas: Se necesita instalar un servidor web.
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 de número.
21
La legibilidad del código puede verse afectada al mezclar sentencias HTML y PHP.
La programación orientada a objetos es aún muy deficiente para aplicaciones
grandes.
Dificulta la modularización.
Dificulta la organización por capas de la aplicación.
Seguridad:
PHP es un poderoso lenguaje e intérprete, ya sea incluido como parte de un servidor web en
forma de módulo o ejecutado como un binario CGI separado, es capaz de acceder a
archivos, ejecutar comandos y abrir conexiones de red en el servidor. Estas propiedades
hacen que cualquier cosa que sea ejecutada en un servidor web sea insegura por
naturaleza.
PHP está diseñado específicamente para ser un lenguaje más seguro para escribir
programas CGI que Perl o C, y con la selección correcta de opciones de configuración en
tiempos de compilación y ejecución, y siguiendo algunas prácticas correctas de
programación. (Vease PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide de Larry Ullman, pag: 81)
Lenguaje JSP
Es un lenguaje para la creación de sitios web dinámicos, acrónimo de Java Server Pages.
Está orientado a desarrollar páginas web en Java. JSP es un lenguaje multiplataforma.
Creado para ejecutarse del lado del servidor.
JSP fue desarrollado por Sun Microsystems. Comparte ventajas similares a las de ASP.NET,
desarrollado para la creación de aplicaciones web potentes. Posee un motor de páginas
basado en los servlets de Java. Para su funcionamiento se necesita tener instalado un
servidor Tomcat.
Características: Código separado de la lógica del programa.
Las páginas son compiladas en la primera petición.
Permite separar la parte dinámica de la estática en las páginas web.
Los archivos se encuentran con la extensión (jsp).
22
El código JSP puede ser incrustado en código HTML.
Elementos de JSP
Los elementos que pueden ser insertados en las páginas JSP son los siguientes:
Código: se puede incrustar código “Java”.
Directivas: permite controlar parámetros del servlet.
Acciones: permite alterar el flujo normal de ejecución de una página.
Ventajas: Ejecución rápida del servlets.
Crear páginas del lado del servidor.
Multiplataforma.
Código bien estructurado.
Integridad con los módulos de Java.
La parte dinámica está escrita en Java.
Permite la utilización se servlets.
Desventajas: Complejidad de aprendizaje.
(Vease Pro JSP 2, Fourth Edition (Expert's Voice in Java) de Simon Brown, Sam Dalton, Daniel Jepp, and Dave Johnson , pags: 45-51)
SEGURIDAD
Los distintos niveles de seguridad o círculos de seguridad, nos acercan hacia el hermetismo
y al incremento de seguridad.
Algunas de las principales formas de proteger nuestros sistemas basados en web , son las
siguientes:
Ofuscar Código
23
El Código ofuscado es aquél código que, aunque se tiene el código fuente, ha sido
enrevesado específicamente para ocultar su funcionalidad (hacerlo ininteligible).
Algunos tienden más a la ofuscación que otros. C, C++ y Perl son los más citados como
fácilmente ofuscables. Las macros de preprocesador son usadas a menudo para crear
código complicado de leer enmascarando la gramática y sintaxis estándar del lenguaje del
cuerpo principal de código.
Aparte de los lenguajes más conocidos, existen lenguajes de programación esotéricos no es
correcto a la hora de programar ofuscadamente también se puede buscar que el código
fuente resulte una obra de ascii art. Existen otros programas ofuscados llamados quine que
al ejecutarse la salida debe ser el código fuente del programa.
También hay programas ofuscadores que pueden actuar sobre el código fuente, código
objeto o ambos para dificultar la ingeniería inversa.
(Vease: webgrafia: http://es.wikipedia.org/wiki/C%C3%B3digo_ofuscado)
Inyección SQL
Es una vulnerabilidad informática en el nivel de la validación de las entradas a la base de
datos de una aplicación. El origen es el filtrado incorrecto de las variables utilizadas en las
partes del programa con código SQL. Es, de hecho, un error de una clase más general de
vulnerabilidades que puede ocurrir en cualquier lenguaje de programación o de script que
esté incrustado dentro de otro.
Una inyección SQL sucede cuando se inserta o "inyecta" un código SQL "invasor" dentro de
otro código SQL para alterar su funcionamiento normal, y hacer que se ejecute
maliciosamente el código "invasor" en la base de datos.
La inyección SQL es un problema de seguridad informática que debe ser tomado en cuenta
por el programador para prevenirlo. Un programa hecho con descuido, displicencia, o con
ignorancia sobre el problema, podrá ser vulnerable y la seguridad del sistema puede quedar
ciertamente comprometida. Esto puede suceder tanto en programas corriendo en
24
computadores de escritorio, como en páginas Web, ya que éstas pueden funcionar mediante
programas ejecutándose en el servidor que las aloja.
La vulnerabilidad puede ocurrir cuando un programa "arma" descuidadamente una sentencia
SQL, con parámetros dados por el usuario, para luego hacer una consulta a una base de
datos. Dentro de los parámetros dados por el usuario podría venir el código SQL inyectado.
Al ejecutarse esa consulta por la base de datos, el código SQL inyectado también se
ejecutará y podría hacer un sinnúmero de cosas, como insertar registros, modificar o eliminar
datos, autorizar accesos e, incluso, ejecutar código malicioso en el computador.
CONCEPTOS
Página Web
Una página web u hoja electrónica es una fuente de información adaptada para la World
Wide Web (WWW) y accesible mediante un navegador de Internet que normalmente forma
parte de un Sitio web. Esta información se presenta generalmente en formato HTML y puede
contener hiperenlaces a otras páginas web, constituyendo la red enlazada de la World Wide
Web.
(Véase http://www.programacionweb.net/buscador/?tag=lenguaje%20de%20programacion)
Hosting
El alojamiento web (en inglés web hosting) es el servicio que provee a los usuarios de
Internet un sistema para poder almacenar información, imágenes, vídeo, o cualquier
contenido accesible vía Web. Los Web Host son compañías que proporcionan espacio de un
servidor a sus clientes. (Véase Refer(Véase http://www.programacionweb.net/buscador/?tag=lenguaje%20de%20programacion)
Hypertext Transfer Protocol
25
HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquitectura
web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a
transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente
que efectúa la petición (un navegador o un spider) se lo conoce como "user agent" (agente
del usuario). A la información transmitida se la llama recurso y se la identifica mediante un
URL. Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una
consulta a una base de datos, la traducción automática de un documento, etc.
HTTP es un protocolo sin estado, es decir, que no guarda ninguna información sobre
conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener
estado. Para esto se usan las cookies, que es información que un servidor puede almacenar
en el sistema cliente. Esto le permite a las aplicaciones web instituir la noción de "sesión", y
también permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por
tiempo indeterminado. (Véase http://www.programacionweb.net/buscador/?tag=lenguaje%20de%20programacion)
Internet
Internet es un conjunto descentralizado de redes de comunicación interconectadas, que
utilizan la familia de protocolos TCP/IP, garantizando que las redes físicas heterogéneas que
la componen funcionen como una red lógica única, de alcance mundial. (Véase
http://www.programacionweb.net/buscador/?tag=lenguaje%20de%20programacion)
WWW
En informática, World Wide Web (o la "Web") o Red Global Mundial es un sistema de
documentos de hipertexto y/o hipermedios enlazados y accesibles a través de Internet. Con
un navegador Web, un usuario visualiza páginas web que pueden contener texto, imágenes,
vídeos u otros contenidos multimedia, y navega a través de ellas usando hiperenlaces. ((Véase
http://www.programacionweb.net/buscador/?tag=lenguaje%20de%20programacion)
26
Software
La palabra «software» se refiere al equipamiento lógico o soporte lógico de un computador
digital, comprende el conjunto de los componentes lógicos necesarios para hacer posible la
realización de una tarea específica, en contraposición a los componentes físicos del sistema. (Véase http://es.wikipedia.org/wiki/Computer_software)
Browser
Un navegador web (del inglés, web browser) es una aplicación software que permite al
usuario recuperar y visualizar documentos de hipertexto, comúnmente descritos en HTML,
desde servidores web de todo el mundo a través de Internet. Esta red de documentos es
denominada World Wide Web (WWW). Cualquier navegador actual permite mostrar o
ejecutar gráficos, secuencias de vídeo, sonido, animaciones y programas diversos además
del texto y los hipervínculos o enlaces. (Véase http://es.wikipedia.org/wiki/Browser)
Login
Autenticación el acto de establecimiento o confirmación de algo (o alguien) como auténtico,
es decir que reclama hecho por, o sobre la cosa son verdadero. La autenticación de un
objeto puede significar (pensar) la confirmación de su procedencia, mientras que la
autenticación de una persona a menudo consiste en verificar su identidad. La autenticación
depende de uno o varios factores de autenticación. (Véase http://www.alegsa.com.ar/Dic/login.php)
CAPITULO IV: METODOLOGIA
Una vez establecidos los principales conceptos, recursos, componentes, se necesita explicar
el proceso de desarrollo del sistema, las herramientas a utilizar y los recursos que
necesitaremos.
27
DISEÑO DE INVESTIGACIÓN
El tipo de diseño para este proyecto es no experimental, ya que este diseño se realiza sin la
manipulación deliberada de las variables, es netamente explicativo, y las variables
independientes no sufrirán variaciones. De acuerdo con el fenómeno como tal, así como se
da en su contexto natural para después analizarlo.
Nuestro tipo de diseño no experimental, será de investigación cualitativo para poder explorar
las relaciones sociales y describir la realidad tal como la experimentan.
OBJETIVO O PROPÓSITO
El propósito general nos permite partir de cierto punto para el desarrollo de la investigación,
por lo que es esencialmente importante que sea explicado de una manera sumamente clara
y concisa. Basándonos en este objetivo se identifican todas las variables que en conjunto
nos permiten mostrar un panorama general del proyecto a realizar.
Esta vez el objetivo es la creación de un sistema para la automatización de la creación de
oficios de comisión, así como los reportes de estos mismos, para la Secretaria de Pesca del
Estado de Campeche.
JUSTIFICACIÓN DEL PROYECTO
Esta investigación se ve justificada ya que en los últimos años la Secretaria de Pesca del
Estado de Campeche ha indagado en la búsqueda de diversas maneras para el manejo de la
información de manera digital, lo cual ha permitido la introducción de nuevas herramientas
de automatización para esta misma secretaria.
Por lo tanto la creación de un sistema de automatización de oficios de comisión y reportes de
estos mismos resolverá uno de estos problemas y agilizara el proceso de creación de estos.
28
TIPO DE INVESTIGACIÓN
Esta investigación es de tipo experimental ya que consiste en la manipulación de una (o
más) variable experimental no comprobada, en condiciones rigurosamente controladas, con
el fin de describir de qué modo o por qué causa se produce una situación o acontecimiento
particular. El experimento provocado por el investigador, le permite introducir determinadas
variables de estudio manipuladas por él, para controlar el aumento o disminución de esas
variables y su efecto en las conductas observadas.
HIPÓTESIS
La creación de una aplicación que permita la automatización de oficios y reportes de
comisión, que ayudará a la agilización y monitoreo de estos, así como también permitirá
mantener estos archivos en el servidor para poder ser consultados en cualquier momento
.
CAPITULO V: DESARROLLO DEL PROYECTO
ANÁLISIS DE DATOS
El desarrollo de este sistema comienza a partir de los oficios de comisión que se creaban
anteriormente utilizando herramientas como Word u Open Office (Herramientas de Ofimática
para la edición de texto).
Por lo que lo primero a realizar fue el análisis de los campos y variables a utilizar para la
creación de este sistema, con esto me refiero a el texto oficial que los oficios deben de
29
contener, los espacios donde debe de ir los campos que el usuario vaya a introducir, las
secciones o módulos que el sistema contendrá y las variables que se utilizaran para la
creación de estos mismos. (Figura1)
Una vez finalizado este análisis pasamos a la parte del desarrollo del sistema.
Lo primero que debemos de hacer es la base de datos y establecer las variables a utilizar
para el manejo de los datos de PHP a MySQL.
Para esto utilizarnos un gestor de base de datos MySQL llamado MySQL Administrator
(Figura 2), el cual nos permite crear las tablas y los datos de estas.
Se creó un catalogo llamado Sepesca01 el cual contiene las tablas con las características a
continuación explicadas (Figura 3):
Para el modulo de oficios de comisión:
members: Esta tabla es la encargada de almacenar los nombres de usuario y contraseñas
para ingresar al sistema, se utilizan las siguientes columnas:
username : almacena el nombre de usuario para inicio de sesión
password : almacena la contraseña para inicio de sesión
empleados: Esta tabla almacena la información de los empleados de la empresa, utilizara
las siguientes columnas:
CodigoEmpleado : almacena un número o código de empleado el cual relacionara al
empleado con su foto y área de trabajo.
empleado : almacena el nombre del empleado
foto : guarda una dirección (url) de la ubicación del archivo en formato JPG de la
fotografía de los empleados
area: Tabla encargada de almacenar los códigos de área y su relación con las aéreas
existentes en la secretaria (oficina del titular, coordinación administrativa, acuacultura y
desarrollo pesquero)
30
CodigoArea: almacena un número del 1 al 4 los cuales son relacionados con las
aéreas
Area: almacena el nombre de las aéreas en la secretaria
tablapuente: Esta tabla nos permite hacer una referencia entre el código de área y el código
de empleado, permitiéndonos de esta manera saber a qué área pertenece cada empleado,
esta relación es establecida gracias a las llaves primarias en la base de datos, y
posteriormente serán utilizadas en la programación PHP para poder seleccionar empleados
de una manera independiente, y automáticamente generar el área en la que esta cada uno
de estos empleados.
CodigoArea : esta columna es la llave maestra de nuestra tabla la cual conecta con la
tabla área
CodigoEmpleado : esta columna almacena los códigos de empleados, los cuales
también son almacenados en la tabla empleados
comisiones: En esta tabla almacenamos la información generada por el modulo de
“creación de oficios de comisión”, para posteriormente ser consultada en el modulo de “ver
comisión”
código_comision: almacena el código de comisión de cada documento creado
area: guardara el área a la cual pertenece la comisión creada
codigoempleado: en esta se guarda el código del empleado encargado de dicha
comisión
comisionadoa: esta columna almacena la ubicación a la cual será comisionado el
empleado
descripcion: almacena la descripción de la comisión
autorizo : almacena el nombre del directivo que autorizo el documento creado
dia1 : en esta se guarda el día inicial de la comisión
31
dia2: se almacena el día final de la comisión
mes1: en esta columna se almacena el mes inicial de la comisión
mes2: en esta se almacena el mes en el que finalizara la comisión creada
reportes: esta tabla contiene toda la información generada a partir de los reportes de
comisión previamente creados de cada comisión, dentro de esta tabla se crearon las
siguientes columnas:
comisioncode : el código de el reporte de comisión se almacena en esta columna
dia: almacena el día de la creación de el reporte de comisión
mes : almacena el mes de la creación de el reporte de comisión
anio: almacena el año de la creación de el reporte de comisión
entidad : en esta se guarda la entidad o dependencia de la comisión
unidadpresupuestal: almacena la unidad presupuestal encargada de la comisión, que
usualmente es un código establecido
empleado: esta almacena el nombre del comisionado
cargo: se almacena en esta el cargo del comisionado
periodo: esta almacena la fecha de de inicio y de fin de la comisión
lugar: lugar de la comisión
importe: el total de viáticos designados para esta comisión
objetivo: la descripción de los objetivos de la comisión
oficiox: columna de tipo booleano que indica si el reporte contiene documento de
comprobación de tipo reporte
32
actax: columna de tipo booleano que indica si el reporte contiene documento de
comprobación de tipo acta circunstanciada
diplomax: columna de tipo booleano que indica si el reporte contiene documento de
comprobación de tipo diploma o constancia de participación
informex : columna de tipo booleano que indica si el reporte contiene documento de
comprobación de tipo informe de comisión
desglosex : columna de tipo booleano que indica si el reporte contiene documento de
comprobación de tipo desglose de gastos
otrox: columna de tipo booleano que indica si el reporte contiene documento de
comprobación de otros
otrox2: en esta columna se almacena una descripción personalizada de un
documento de comprobación anexado al reporte generado
Una vez que ha sido creada la base de datos, pasamos al proceso de desarrollo de los
módulos y secciones de nuestra aplicación.
Se crearon los archivos PHP en modo de diseño, para lo cual se utilizo un gestor web, en
este caso Adobe Dreamweaver CS3 (Figura 4).
Se desarrollo la sección de autentificación usando una combinación de tablas, formas y
método de envió post de HTML (este post apunta a el archivo llamado log.php). La cual debe
de contener un área para introducir el nombre de usuario y la contraseña.
Una vez creada la estructura de este, se seleccionaron colores e imágenes para lo cual
usamos el editor de imágenes Adobe Photoshop CS3 (Figura 5).
Ya que los colores fueron seleccionados (en este caso una combinación de grises),
diseñamos una cabecera con el logotipo de la secretaria y la leyenda “Inicio de Sesión”
(Figura 6).
33
Después de esto se guardo nuestro documento con el nombre de “login.php”, y continuamos
con la programación de un nuevo documento llamado log.php el cual recibe los datos
enviados por nuestro archivo “login.php” y utilizando una combinación de consultas SQL y
programación PHP nos permite conectar a la base de datos, y autentificar si el usuario y
contraseña existe en nuestra base de datos, si esto es correcto nos enviara a el archivo
"location:login_success.php" de otra manera recibiremos una pantalla en blanco con la
leyenda "El nombre de usuario o contraseña son incorrectos".
Para esto se utilizo una conexión a base de datos de esta forma:
<?phpob_start();$host="server";$username="nombredeusuario";$password="contraseña";$db_name="Sepesca01";$tbl_name="members"; mysql_connect("$host", "$username", "$password")or die("No se puede conectar");mysql_select_db("$db_name")or die("No se puede selecionar la base de datos");
Posteriormente se uso la función de sesión, la cual nos permite registrar el nombre de
usuario y contraseña para la siguiente página a la cual seremos re direccionados si el
nombre de usuario y contraseña son correctos:
session_register("myusername");session_register("mypassword");header("location:login_success.php");}else {echo "El nombre de usuario o contraseña son incorrectos";}ob_end_flush();?>
Después se creó del archivo “login_success” usando Dreamweaver, el cual es simplemente
un archivo PHP que retiene la conexión de inicio de sesión y divide nuestra página en 2
archivos (menú.html y main.php) usando frames.
<?session_start();if(!session_is_registered(myusername)){header("location:login.php");}?>
34
Lo siguiente fue crear el archivo “menu.html” el cual nos sirve para incluir las secciones o
módulos de nuestra aplicación y los usuarios puedan acezar a estas de una manera más
rápida y eficiente.
Se crearon 8 imágenes para todos y cada uno de los botones que se usaron en esta sección,
utilizando Adobe Photoshop CS4 (crearemos 8 imágenes ya que por cada botón se utilizan 2
imágenes).
El archivo “menú.html” incluye estos botones usando funciones en lenguaje Javascript lo cual
nos permite el efecto de mouseover:
(Codigo del script):script type="text/javascript"><!--function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;}function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}}
Efecto que permite mostrar una imagen diferente al pasar el mouse sobre la imagen
correspondiente (Figura 7) con las secciones que nos mandaran a:
Crear nueva comisión: apunta a “nuevacomision.php”
Ver comisiones creadas: apunta a “ver.php”
Crear reporte de comisión: “selectcomision4report.php”
Ver reportes creados: “verreporte.php”
Lo siguiente fue crear el archivo “main.php” el cual contiene al igual que el menú, el re
direccionamiento a cada una de las secciones de nuestra aplicación así como un botón para
cerrar la sesión.
En esta sección utilizamos el Adobe Photoshop CS4 para crear imágenes de fondo,
cabeceras y pies de nuestra tabla. (Figura 8).
35
A continuación se creó el archivo “nuevacomision.php” el cual incluye una forma la cual el
usuario deberá de llenar para poder crear un nuevo oficio de comisión, para esto utilizamos
HTML.
También se incluyo código PHP para que el usuario al seleccionar dentro de una lista de tipo
menú el área designada para la comisión, automáticamente la siguiente lista de menú, la que
incluye los nombres de los empleados, y que esta cambie según sea la relación de area-
empleado.
Se implemento un arreglo simple para cada área designada:
?>var Oficina_del_Titular = new Array(<?$count = mysql_num_rows ( $result1 );$count2 = 0;while ( $res = mysql_fetch_object ( $result1 ) ) {
$count2 ++;?>'<?print $res->Empleado;?>'<?if ($count2 != $count) {
?>,<?}
}?>);
Después se uso de la función switch para que la consulta sea reflejada en la lista menú según sea el caso:
switch (Index){case "1":
Arreglo = Oficina_del_Titular;break;case "2":
Arreglo = Desarrollo_Pesquero;break;case "3":
Arreglo = Acuacultura;break;case "4":
Arreglo = Cordinacion_Admin;break;
}
for(var l = 0; l < Arreglo.length; l++){
var objOption = new Option(Arreglo[l], Arreglo[l]);document.getElementById('empleado').options.add(objOption);
}
36
Al dar clic sobre el botón de enviar, toda la información que el usuario ha llenado dentro de los campos de la forma será enviado por el método de envió de datos POST a nuestro archivo "comisiondone.php"
Lo siguiente fue crear el archivo "comisiondone.php" el cual recibire los datos de la nueva
comisión y lo guarda en diferentes variables para después crear una conexión en SQL, y así
se genere un envió de todos estos datos a nuestra base de datos (esta conexión no se
pierde gracias al uso de sesiones).
La consulta es la siguiente:
$query="INSERT INTO comisiones (codigo_comision, area, codigoempleado, comisionadoa, descripcion, autorizo, dia1, dia2, mes1, mes2)VALUES ('".$codigo."', '".$area."', '".$empleado."', '".$comisionadoa."', '".$descripcion."', '".$autorizo."', '".$dia1."', '".$dia2."', '".$mes1."', '".$mes2."')";
Posteriormente se crearon las respectivas imágenes de cabecera y pie utilizando la misma
metodología que en los archivos anteriores. (Figura 9)
A continuación se creo el archivo “ver.php2” el cual genera una consulta la base de datos y la
refleja dentro de una lista menú, para de esta forma enviar por método POST el código de la
comisión a la que se desea acceder.
result=mysql_query("SELECT c.codigo_comision FROM Sepesca01.comisiones c;"); if($result) { echo '<select name="comisioncode" id="comisioncode">'; while($myrow = mysql_fetch_array($result)) { echo '<option value="'.$myrow[0].'">'.$myrow[0].'</option>'; } echo "</select>";
Siempre tomando en cuenta la misma estructura en cuanto diseño y la metodología para la
creación de las imágenes.
Cuando el usuario selecciona el código de comisión de la lista menú y de clic sobre el botón
“Ver comisión” será re direccionado enviando mediante el método POST la variable asignada
el código de comisión seleccionado al archivo “comisioncreada.php” en el cual podremos
visualizar nuestra comisión.
37
Creamos el archivo “comisioncreada.php” el cual utiliza una librería llamada FPDF que nos
permite generar archivos en formato PDF a partir de consultas o inserciones de imágenes,
utilizando un lenguaje especifico de esta.
Para esto debemos de crear una nueva conexión a la base de datos, y generar una consulta
en SQL, ya que FPDF no soporta la función de sesiones. Una vez hecho esto se programo el
documento de acuerdo al formato de las comisiones, utilizando texto e inserción de variables
asignadas mediante a la consulta de la previa conexión hecha. (Figura 10)
Posteriormente se creó el archivo “selectcomision4report.php” el cual nos permite la
selección de las comisiones anteriormente creadas que se encuentran almacenadas en
nuestra base de datos, para de esta forma permitirle al usuario generar un reporte de las
comisiones existentes. Para esto se utilizo la misma metodología que el archivo encargado
de crear los documentos de comisión pero utilizando obviamente variables diferentes.
Lo siguiente fue crear el archivo “crearreporte” el cual recibe el código de la comisión
enviado mediante el método POST de el archivo “selectcomision4report.php” y lo imprime en
el documento de modo “hidden” lo cual nos permite mantener la variable para ser usada
posteriormente pero sin mostrarla al usuario.
Cuando el usuario ha llenado todo el formato de reporte de comisión, este es enviado a la
base de datos dentro de la tabla “comisiones”.
El ultimo archivo creado es “verreporte.php” el cual permite al usuario consultar los reportes
de comisiones creadas, este archivo fue creado llevando la misma metodología que se
implemento anteriormente en el archivo “ver.php”.
Para hacer esto, nuevamente se utilizo la librería FPDF de PHP para poder mostrar el
documento en formato PDF.
De esta forma se creó el Sistema de Automatización de Reportes y Comisiones para la
Secretaria de Pesca del Estado de Campeche.
38
El hosting o alojamiento del sistema fue subido al servidor de RR Web Solution
(rrwebsolution.com) temporalmente, hasta que la secretaria contrate un servidor dedicado
para mantener tanto este sistema como la página web y otras aplicaciones de la misma.
El servidor de RR Web Solution cuenta con una capacidad de 1TB, 250GB de transferencia
mensual, alojamiento de bases de datos MySQL.
RESULTADOSPara llegar al análisis de datos se utilizo una metodología de entrevistas personales, no
formales y observando la interacción de los usuarios con dicho sistema
Para lo cual se creó una pequeña aplicación de opción múltiple. (http://www.rrwebsolution.com/www/sepesca/encuesta/index.php)
PROPUESTAS
Crear un modulo dentro del mismo sistema que permita hacer una interconexión de la
aplicación creada con la base de datos del el reloj checador biométrico de la secretaria, para
de esta forma poder autentificar a los usuarios que se encuentran de comisión y no sean
reflejadas en este.
La implementación de un sistema CRM dentro de la secretaria que permita la adminsitracion
de todos los proyectos de la institución para de esta manera poder tener todo un compendio
de información centralizada.
CONCLUSIÓN
39
En el mundo de las tecnologías de información nos enseña la búsqueda del auto-
aprendizaje, la búsqueda de diferentes soluciones para los problemas y retos que se nos
presenten, enfocándonos al desarrollo de software.
Por esta razón al crear una aplicación de esta índole se debe de tener conocimientos en
diferentes campos de las tecnologías de información, como son el diseño grafico, la
programación, encriptación, entre otras.
Al igual que un mantenimiento del sistema es esencial, el control de la base de datos y su
optimización para generar un mayor rendimiento reflejado en el tiempo-respuesta de los
usuarios.
Gracias al desarrollo de esta aplicación los procesos de creación de oficios y reportes de
comisión se han agilizado, permitiendo a los usuarios utilizar el tiempo para procesos de
mayor importancia, con lo cual ha aumentado la productividad de la secretaria.
40
REFERENCIAS
ASP consultado en: Copyleft 2003 - 2008 ProgramacionWeb.net Programación y diseño de Páginas
Web, consultado en
http://www.programacionweb.net/buscador/?tag=lenguaje%20de%20programacion
HTML & XHTML: The Definitive Guide (6th Edition) de Chuck Musciano and Bill Kennedy
PHP consultado en: CopyRight 2006 - 2008 Desarrolloweb.com consultado en
http://www.desarrolloweb.com/php/ y Hernández Sampieri, R. (2000). 2ª edición.
Metodología de la investigación. México: McGraw Hill.
Bases de Datos y su Aplicacion con SQL: Manuales Users, en Español / Spanish (Manuales Users) de
Sergio Ezequiel Rozic and MP Ediciones
Metodología de La Investigación Científica y Tecnológica de Sánchez Cegarra
Javascript consultado en: Copyleft 2003 - 2008 ProgramacionWeb.net
Programación y diseño de Páginas Web, consultado en
http://www.programacionweb.net/buscador/?tag=lenguaje%20de%20programacion
FPDF Open Source Media for PHP (2008), uso de librería y consulta de programación en :
http://www.fpdf.org/
Wikimedia Foundation, Inc. (2008). Bases de datos. consultado en
http://es.wikipedia.org/wiki/Databases.
41
Wikimedia Foundation LEY DE FITTS: http://es.wikipedia.org/wiki/Ley_de_Fitts
Wikimedia Foundation OFUSCAR CODIGO: http://es.wikipedia.org/wiki/C%C3%B3digo_ofuscado
Wikimedia Foundation SOFTWARE: http://es.wikipedia.org/wiki/Computer_software
Wikimedia Foundation BROWSER: http://es.wikipedia.org/wiki/Browser
Alegra Resources LOGIN: http://www.alegsa.com.ar/Dic/login.php
LISTA DE TABLAS
Tabla 1: pagina 12: Lista de Empleados de la Secretaria de Pesca del Estado de
Campeche
Tabla 2: pagina 13: Tabla con los programas generados y las tazas esperadas y
alcanzadas
42
ANEXOS
Figura1: Oficio de Comisión
43
Figura 2: MySQL Administrator
Figura 3: Tablas Creadas
44
Figura 4: Adobe Dreamweaver CS3
45
Figura 5: Adobe Photoshop CS3
46
Figura 6: Autentificación
Figura 7: Sección “menú.html”
Figura 8: Sección “main.html”
47
Figura 9: Sección “nuevacomision.php”
48
Figura 10: Visualización de la comisión creada
49
Figura 11: Selección de comisión para generar reporte
50