“UNIANDES” - IBARRAdspace.uniandes.edu.ec/bitstream/123456789/5649/1/TUAEXCOMSIS0… · ......
Transcript of “UNIANDES” - IBARRAdspace.uniandes.edu.ec/bitstream/123456789/5649/1/TUAEXCOMSIS0… · ......
UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES
“UNIANDES” - IBARRA
FACULTAD DE SISTEMAS MERCANTILES
CARRERA DE SISTEMAS
Proyecto de Examen Complexivo previo la obtención del Título de Ingeniero en
Sistemas e Informática.
Tema: Portal De Servicios Web, Para Mejorar La Gestión Administrativa Del
Convento De La Parroquia De Pablo Arenas.
Autor: Muñoz Vivero Álvaro Andrés.
Asesor: Ing. Martínez Campaña Carlos Eduardo.
Ambato – Ecuador
2016
ÍNDICE GENERAL
CONTENIDO
APROBACIÓN DEL ASESOR DEL TRABAJO DE TITULACIÓN .............................................................
DECLARACIÓN DE AUTENTICIDAD ...................................................................................................
DERECHOS DE AUTOR .....................................................................................................................
ÍNDICE GENERAL ..............................................................................................................................
ÍNDICE DE CUADROS Y GRÁFICOS ...................................................................................................
RESUMEN EJECUTIVO ......................................................................................................................
ABSTRACT ........................................................................................................................................
CAPITULO I .................................................................................................................................... 1
INTRODUCCIÓN ............................................................................................................................. 1
1.1 ANTECEDENTES DE LA INVESTIGACIÓN ........................................................................ 1
1.2 PLANTEAMIENTO DEL PROBLEMA ................................................................................ 3
1.3 FORMULACIÓN .............................................................................................................. 4
1.4 DELIMITACION DEL PROBLEMA .................................................................................... 4
1.5 IDENTIFICACIÓN DE LA LÍNEA DE INVESTIGACIÓN ........................................................ 5
1.6 OBJETIVOS ..................................................................................................................... 5
1.6.1 OBJETIVO GENERAL ............................................................................................... 5
1.6.2 OBJETIVOS ESPECIFICOS ........................................................................................ 6
1.7 IDEA A DEFENDER .......................................................................................................... 6
1.8 JUSTIFICACIÓN DEL TEMA ............................................................................................. 6
1.8.1 CONVENIENCIA ...................................................................................................... 6
1.8.2 RELEVANCIA SOCIAL, ¿BENEFICIO Y SU PROYECCIÓN? ......................................... 7
1.8.3 IMPLICACIÓN PRÁCTICA, ¿PROBLEMA QUE RESUELVE? ....................................... 7
1.9 METODOLOGIA DE LA INVESTIGACIÓN ......................................................................... 7
1.9.1 METODOLOGIA ...................................................................................................... 7
1.10 RESUMEN DE LA ESTRUCTURA DEL PROYECTO ............................................................ 8
1.11 APORTE TEÓRICO Y SIGNIFICACIÓN PRÁCTICA. ............................................................ 9
CAPITULO II ................................................................................................................................. 10
MARCO TEORICO ......................................................................................................................... 10
2.1 SISTEMA DE INFORMACION ........................................................................................ 10
2.1.1 APLICACIONES WEB ............................................................................................. 11
2.1.2 PORTALES WEB .................................................................................................... 11
2.2 HERAMIENTAS DE DESARROLLO ................................................................................. 13
2.2.1 DREAMWEAVER .................................................................................................. 13
2.3 SERVIDORES WEB ........................................................................................................ 14
2.3.1 SOFTWARE ADMINISTRADOR DE SERVICIOS WEB .............................................. 15
2.3.2 IIS ......................................................................................................................... 15
2.3.3 APACHE WEB SERVER .......................................................................................... 16
2.7 SISTEMA DE GESTOR DE BASE DE DATOS. .................................................................. 17
1.11.1 CUADRO COMPARATIVO SISTEMAS DE GESTIÓN DE BASES DE DATOS. ............ 17
2.8 LENGUAJES DE PROGRAMACION WEB ....................................................................... 22
2.8.1 HTML ................................................................................................................... 22
2.8.2 JAVA ..................................................................................................................... 24
2.8.3 JAVASCRIPT.......................................................................................................... 25
2.8.4 CSS ....................................................................................................................... 25
2.8.5 JQUERY ................................................................................................................ 26
2.8.6 PHP ...................................................................................................................... 26
2.9 CONTROL DE GESTION ADMINISTRATIVA .................................................................. 28
2.10 CONCLUSIONES PARCIALES DEL CAPÍTULO. ................................................................ 29
CAPITULO III ................................................................................................................................ 31
MARCO PROPOSITIVO ................................................................................................................. 31
3.1 DESARROLLO DE LA PROPUESTA ................................................................................. 31
3.2 DEFINICIÓN DE LA METODOLOGÍA ............................................................................. 32
3.3 METODOLOGÌA EXTREMA XP ...................................................................................... 32
3.3.1 PLANIFICACIÓN DEL PROYECTO .......................................................................... 34
3.2.2 DISEÑO. ............................................................................................................... 36
3.2.3 CODIFICACIÓN ..................................................................................................... 49
3.2.4 PRUEBAS. ............................................................................................................. 52
3.2.5 CAJA BLANCA Y CAJA NEGRA ............................................................................... 53
CONCLUSIONES ........................................................................................................................... 64
RECOMENDACIONES ................................................................................................................... 65
BIBLIOGRAFÍA ..................................................................................................................................
ÍNDICE DE CUADROS Y GRÁFICOS
ILUSTRACIÓN 1: DELIMITACIÓN ESPACIAL / MUÑOZ A. 5
ILUSTRACIÓN 2: MODELO SISTEMAS DE INFORMACIÓN AUTOR: FERNÁNDEZ, 2006 10
ILUSTRACIÓN 3: RESUMEN COMPARATIVO DE SERVIDORES WEB FUENTE: ASEJO,2011 14
ILUSTRACIÓN 4: CUADRO COMPARATIVO DE SGBD / MARIA,2015 20
ILUSTRACIÓN 5: PROCESO APLICATIVO DEL PROYECTO / AUTOR: ÁLVARO A. MUÑOZ 31
ILUSTRACIÓN 6 DEFINICIÓN DE PROCESOS AUTOR: ÁLVARO A. MUÑOZ 37
ILUSTRACIÓN 7 DEFINICIÓN DE PROCESOS II AUTOR: ÁLVARO A. MUÑOZ 37
ILUSTRACIÓN 8 MODELO DE DESARROLLO AUTOR: ÁLVARO A. MUÑOZ 38
ILUSTRACIÓN 9 MODELO DE LA BASE DE DATOS AUTOR: ÁLVARO A. MUÑOZ 39
ILUSTRACIÓN 10 DICCIONARIO DE DATOS: BAUTIZOS AUTOR: ÁLVARO A. MUÑOZ 40
ILUSTRACIÓN 11DICCIONARIO DE DATOS: CONFIRMACIONES AUTOR: ÁLVARO A. MUÑOZ 40
ILUSTRACIÓN 12DICCIONARIO DE DATOS: DEFUNCIONES AUTOR: ALVARO A. MUÑOZ 41
ILUSTRACIÓN 13DICCIONARIO DE DATOS: INGRESO / EGRESO AUTOR: ÁLVARO A. MUÑOZ 41
ILUSTRACIÓN 14DICCIONARIO DE DATOS: MATRIMONIOS AUTOR: ALVARO A. MUÑOZ 42
ILUSTRACIÓN 15DICCIONARIO DE DATOS: MINISTRO - PARÁMETROS AUTOR: ÁLVARO A. MUÑOZ 42
ILUSTRACIÓN 16 ESTRUCTURA DE MENUS AUTOR: ALVARO A. MUÑOZ 43
ILUSTRACIÓN 17: MAPA DEL SITIO / AUTOR: ÁLVARO A. MUÑOZ 43
ILUSTRACIÓN 18 DISEÑO DE PRESENTACIÓN AUTOR: ÁLVARO A. MUÑOZ 44
ILUSTRACIÓN 19 DISEÑO DE INTERFAZ: PANTALLA PRINCIPAL AUTOR: ÁLVARO A. MUÑOZ 44
ILUSTRACIÓN 20 DISEÑO DE INTERFAZ: PANTALLA DE GESTIÓN AUTOR: ALVARO A. MUÑOZ 45
ILUSTRACIÓN 21 DISEÑO DE INTERFAZ: NUEVO REGISTRO AUTOR: ALVARO A. MUÑOZ 45
ILUSTRACIÓN 22 DISEÑO DE SALIDAS: REPORTE AUTOR: ALVARO A. MUÑOZ 46
ILUSTRACIÓN 23 DISEÑO DE PROGRAMA: GESTIÓN AUTOR: ALVARO A. MUÑOZ 47
ILUSTRACIÓN 24 DISEÑO DE PROGRAMA: EDICIÓN AUTOR: ALVARO A. MUÑOZ 47
ILUSTRACIÓN 25: PRUEBA DE CAJA BLANCA AUTOR: ÁLVARO A. MUÑOZ 60
ILUSTRACIÓN 26: PRUEBA DE CAJA NEGRA AUTOR: ÁLVARO A. MUÑOZ 62
ILUSTRACIÓN 27: PRUEBA DE CAJA NEGRA AUTOR: ÁLVARO A. MUÑOZ 63
TABLA 1 PERFIL DEL INTERESADO - TIPO: PARROCO 34
TABLA 2 PERFIL DEL COORDINADOR - TIPO: ASESORA DE PROYECTO 34
TABLA 3: PERFIL DEL DESARROLLADOR - TIPO: ANALISTA PROGRAMADOR 35
TABLA 4 LISTA DE RIESGOS AUTOR: ALVARO A. MUÑOZ 48
RESUMEN EJECUTIVO
La Parroquia de El Carmelo de Pablo Arenas es una de las más jóvenes de la Diócesis
de Ibarra, datos concretos de la erección de dicha parroquia no han sido encontrados en
los archivos; no obstante según actas bautismales dan testimonio claro y fidedigno que
existe como tal desde el año 1948 demostrando las actividades pastorales y espirituales
dirigidas por varios párrocos de dicha parroquia.
Teniendo en cuenta que en la actualidad toda institución pública y privada que busque
posicionarse en el mejoramiento de la atención al cliente o usuario y el adelanto
tecnológico, requiere de una infraestructura informática y de comunicación acorde a los
avances tecnológicos que a diario se presentan y son indispensables para dinamizar sus
procesos de dotación de herramientas técnicas (hardware y software) que apoyen dicho
quehacer institucional; buscando obtener un mejoramiento en el tratamiento de la
información del Convento de la Parroquia el Carmelo de Pablo Arenas, y agilitar todos
sus trámites que actualmente se los lleva manualmente; además generar un servicio
mucho más rápido y eficiente facilitando el trabajo del administrador de esta
información.
El presente trabajo se enmarca en la línea de investigación denominada Tecnologías de
la Información y las Comunicaciones estructurada bajo los lineamientos de la
metodología de desarrollo eXtreme Programming XP.
La importancia del presente trabajo radica en brindar una herramienta la cual mejore el
tratamiento de la documentación pertinente a los registros de los feligreses además de
contribuir con el desarrollo de la institución incrementando su flexibilidad al
proporcionar información precisa de cada registro.
ABSTRACT
El Carmelo de Pablo Arenas is one of the youngest diocesan parish member of the
Diocese of Ibarra, specifics data of its creation have not been found in the files; however
according baptismal records give clear and credible testimony that it exists as such since
1948 showing the pastoral and spiritual activities led by several priests of the parish.
Considering that today every public and private institution that seeks to position itself
in get improvement at customer or user service and technological advancement, it
requires infrastructure and communication technologies according to the technological
advances that daily occur and are essential to streamline their processes endowment of
technical tools (hardware and software) to support such institutional activities; seeking
to obtain an improvement in the treatment of information in El Carmelo de Pablo
Arenas diocesan Parish, and expedite all the procedures that are currently carried
manually; also to generate a much faster and efficient service facilitating the work of
the administrator of this information.
This work is part of the research line called Information and Communications
Technologies structured under the guidelines of the development methodology eXtreme
Programming XP.
The importance of this work is to provide a tool which improves the treatment of
relevant documents to the records of parishioners and contributes with the development
of this institution by increasing its flexibility to provide accurate information for each
record.
1
CAPITULO I
INTRODUCCIÓN
1.1 ANTECEDENTES DE LA INVESTIGACIÓN
Como se conoce en la mayoría de instituciones religiosas (conventos) encontramos un
problema que los creyentes no tienen el deseo de ser ayudados por la tecnología, no les
gusta la innovación informática y por ende sus tareas son monótonas y tradicionales, lo
que me ha motivado la investigación del tema. Es por ello que durante las charlas
realizadas se ha hecho hincapié en la comprensión de la valiosa ayuda que puede llegar
a ser la informática en sus labores diarias, así mismo por añadidura obtendremos
servicios más agiles y oportunos, donde en cada proceso se ponga de manifiesto una
mejor atención hacia el usuario, podrán brindar reportes con facilidad, reduciendo
tiempo y esfuerzo, esto fortalecerá la ideología del religioso en cuanto a la informática
se refiere.
La Parroquia de El Carmelo de Pablo Arenas es una de las más antiguas de la Diócesis
de Ibarra. datos concretos de la erección de dicha parroquia no los encontramos en los
archivos parroquiales; no obstante hemos encatrado actas bautismales que nos dan
testimonio claro y fidedigno que existe como tal desde el año 1748 en los que vemos
plasmadas las actividades pastorales y espirituales que han sido párrocos de dicha
parroquia.
2
Tomando en cuenta que nuestro continente y en concreto el Ecuador fue evangelizado
por religiosos es decir miembros de comunidades religiosas como los franciscanos
mercedarios jesuitas agustinos josefinos etc. afirmamos que según los documentos
encontrados en nuestra parroquia el párroco del año 1749 era Fray Germán Pérez.
Aclaramos que no podemos precisar de qué comunidad religiosa era sin embargo por la
firma estamos seguro de que era religioso y no sacerdote del clero secular para
constancia de lo dicho hasta el momento adjuntamos una copia de una acta matrimonial
del 17 del mes de agosto de 1949.
En la actualidad la parroquia de Pablo Arenas cuenta con una población bastante
pequeña. Los datos del último censo del INEN que la Parroquia tienen una población de
1045 habitantes que están disgregados tanto en el casco parroquial como en las
comunidades de San Francisco, Ajúmemela, Cruz Tola y Chiriacu. La mayor parte de
los pobladores son de raza mestiza, un pequeño grupo de la etnia de los negros se
encuentra habitando la comunidad de Chiriacu de la misma manera en la comunidad de
Ajumbuela un número minúsculo de pobladores son indígenas. Hay que recalcar que no
existe gente de raza blanca aunque en el último censo se dejó a criterio personal el
distingo de razas. La religión que se profesa en la parroquia en un 99.5% es católica, se
puede decir que es una de las pocas parroquias que tiene casi en su totalidad católicos.
La situación económica de las familias de la parroquia depende de su mayoría de la
agricultura hay una extensión de 25 mil hectáreas cultivables de las cuales el 25% es
aprovechado el porcentaje restante no por no haber un sistema de regadío que de auge a
la agricultura.
3
Hace no muchos años algunos empresarios implantaron planteles avícolas, empresas
que han constituido fuente de trabajo para muchos pobladores. Pobladores que en
muchos de los casos no son oriundos propiamente de Pablo Arenas pues algunos han
venido del Carchi y se han radicado en nuestra parroquia.
La situación geográfica de nuestra parroquia es una de las más ricas de la provincia en
un espacio tan reducido podemos encontrar variedad de climas desde el frio hasta el
sub. Tropical. Además nuestra parroquia ha sido beneficiada por la naturaleza con las
termas naturales de Chachimbiro. En la actualidad contamos con tres complejos
turísticos cuyo atractivo principal son: Las aguas termales naturales que atraen al turista
sobre todo por el beneficio que comporta a su salud. Se ha hecho una estadística que no
es precisa pero que se habla de que estos complejos son visitados por 10 mil turistas al
mes.
1.2 PLANTEAMIENTO DEL PROBLEMA
En el Convento de la Parroquia El Carmelo de Pablo Arenas, del Cantón San Miguel de
Urcuquí, surge la necesidad de implantar un Portal de servicios web, para mejorar la
Gestión administrativa – financiera del Convento de la parroquia de Pablo Arenas
generando la automatización de los registros bautismales, primeras comuniones,
confirmaciones, matrimonios y defunciones; así como también el control de ingresos y
egresos económicos ya que, en la actualidad la información poblacional en el aspecto
mencionado, se la efectúa de forma manual siendo el sacerdote quien realiza esta labor,
pero nunca se ha logrado un control trabajando de una manera computarizada, razón por
la cual, considero beneficioso para la institución la implantación de un Portal Web,
mediante la utilización de una correcta base de datos, con un buen diseño estructurado,
4
para que a la hora de llevar a cabo el ingreso de nuevos registros, la información quede
ordenada, teniendo presente que se puede acceder a la misma, de una manera rápida y
segura sin un posible margen de error humano al realizar este tipo de trabajo. Un
problema frecuente es que muchas veces, se reclama que existe lentitud y pérdida de
datos en los libros.
1.3 FORMULACIÓN
¿Cómo se puede mejorar la Gestión Administrativa del Convento de la parroquia de
Pablo Arenas?
1.4 DELIMITACION DEL PROBLEMA
Objeto de estudio: Ingeniería en Sistemas.
Campo de acción: Portal de servicios web
Físicamente la investigación se llevará a cabo en el Convento de la Parroquia de El
Carmelo de Pablo Arenas que se encuentra ubicado geográficamente en la Provincia de
Imbabura, en el Cantón Urcuquí, en la Parroquia de Pablo Arenas, con número
telefónico 062 683 187.
Delimitación Espacial
5
Ilustración 1: Delimitación Espacial / Muñoz A.
1.5 IDENTIFICACIÓN DE LA LÍNEA DE INVESTIGACIÓN
El presente trabajo se enmarca en la línea de investigación denominada: Desarrollo de
Software y Programación de Sistemas
1.6 OBJETIVOS
1.6.1 OBJETIVO GENERAL
Desarrollar un portal de servicios web, para mejorar la Gestión Administrativa del
Convento de la parroquia de Pablo Arenas.
Provincia de Imbabura
Pablo Arenas
Cahuasquí
Salinas
Parroquia – Pablo Arenas
Comunidad de Palaga Tumbabiro
Cantón San Miguel de Urcuquí
6
1.6.2 OBJETIVOS ESPECIFICOS
Fundamentar bibliográficamente los Portales Web, sus herramientas de
desarrollo y la Gestión Administrativa del convento de la parroquia de Pablo
Arenal, con el fin de obtener conocimiento y práctica de las mismas.
Diagnosticar el campo de la problemática para determinar el proceso de la
Gestión Administrativa en el convento de la parroquia de Pablo Arenas.
Diseñar el Portal Web bajo todos los parámetros necesarios con el fin de ayudar
a complementar la Gestión Administrativa del convento de la parroquia de Pablo
Arenal
1.7 IDEA A DEFENDER
Con la utilización del portal web, se mejorará la gestión administrativa del Convento de
la parroquia de Pablo Arenas.
1.8 JUSTIFICACIÓN DEL TEMA
1.8.1 CONVENIENCIA
El recurso informático de hardware de Pc, redes y comunicación ha alcanzado en los
últimos años un incide de utilización bastante importante que ha obligado a
instituciones y personas en general a adoptar como estrategia de conservación y
continuidad, una constante inversión en equipos de cómputo, dispositivos de red y
comunicación alterna, con esto va de la mano el desarrollo de aplicaciones informáticas
7
las cuales ayuden al ser humano a afrontar las tareas monótonas y tradicionales en
procesos agiles y eficaces.
Por ello, es de suma importancia que el servicio eclesiástico en la parroquia de Pablo
Arenas se mantenga y se desarrolle en condiciones óptimas, sobre todo ahora con el
cambio tecnológico, por lo que se juzga oportuno generar espacios de investigación y
análisis sobre la gestión de actividades eclesiales a efecto de propiciar la estructuración
de un proceso automatizado que parta de la transformación sucesiva de los datos y de la
información.
1.8.2 RELEVANCIA SOCIAL, ¿BENEFICIO Y SU PROYECCIÓN?
Generando un beneficio directo para todos los feligreses de la parroquia así como
también establecer una visión a futuro de extender este proyecto a las demás parroquias
del cantón Urcuquí.
1.8.3 IMPLICACIÓN PRÁCTICA, ¿PROBLEMA QUE RESUELVE?
Buscado solucionar las prácticas actuales en cuanto al registro a proceso de los datos
generando una automatización de los mismos;
1.9 METODOLOGIA DE LA INVESTIGACIÓN
1.9.1 METODOLOGIA
La metodología investigativa que se empleará en el desarrollo del presente trabajo de
titulación tiene algunos aspectos a destacar así: En lo que se refiere a la modalidad de la
investigación concretamente se utilizará el método denominado cuali-cuantitativo, en
8
este paradigma permite investigar las cualidades o características generales del
problema, las que posteriormente son ratificadas mediante la cuantificación de la
investigación de campo llevada a cabo generalmente en base a encuestas y entrevistas.
Es por ello que para la realización del portal web de la parroquia El Carmelo de Pablo
Arenas, se ha tomado a bien hacerlo por este método de investigación ya que es el que
se considera que satisface las necesidades de nuestra investigación. La identificación del
problema es realizada a través del uso de entrevistas y encuestas estructuradas y
dirigidas al Párroco de la iglesia y a los feligreses de la comunidad parroquial para
determinar las condiciones del desarrollo del portal web. Todo esto con el fin de
conocer y expandir la información relevante de la institución.
En la recopilación de información existente en libros revistas e internet, se la
aplica para la elaboración del denominado marco teórico que es el que fundamenta
científicamente la propuesta de solución. En este caso concreto la investigación
bibliográfica se orienta a las herramientas de desarrollo de la aplicación web, como por
ejemplo, PHP, MySql, Ajax, HTML, JavaScript, CSS, servidores web, aplicaciones
Web.
1.10 RESUMEN DE LA ESTRUCTURA DEL PROYECTO
El actual proyecto refiere el desarrollo de una aplicación para la gestión de las
actividades eclesiásticas de la Iglesia Católica, tomada como base los registros de la
Parroquial Pablo Arenas usando herramientas Web. Se divide en cuatro capítulos que se
detallan a continuación:
9
El Capítulo 1 sobre Aspectos Generales y detalla la situación actual de la Iglesia
Católica de Parroquial de Pablo Arenas, el planteamiento del problema, la formulación
y sistematización y se justifica la realización del proyecto.
El Capítulo 2 se abarca Aspectos Teóricos y describe las metodologías de desarrollo y
las herramientas consideradas, se justifican aquellas que fueron seleccionadas para el
desarrollo del sistema.
El Capítulo 3 se enfoca en el desarrollo del sistema, en la planificación, ejecución,
inspección y adaptación de cada uno de las iteraciones en las que se divide el proyecto.
El Capítulo 4 especifica las Conclusiones y Recomendaciones obtenidas como resultado
de la realización del presente proyecto.
1.11 APORTE TEÓRICO Y SIGNIFICACIÓN PRÁCTICA.
Aporte o significación practica: La relevancia social que genera el desarrollo de este
proyecto recae en el círculo religioso católico en la zona norte del cantón Urcuquí, de
modo que serán beneficiados con una herramienta informática la cual facilite el trabajo
en las diferentes actividades administrativas del convento religioso, con esto buscamos
solucionar el problema del actual registro manual que lleva la parroquia, prácticamente
la cristalización de este proyecto es nueva ya que en este círculo social muy poco ha
adoptado practicas informáticas en sus labores diarias.
10
CAPITULO II
MARCO TEORICO
2.1 SISTEMA DE INFORMACION
Un sistema de información es un conjunto de componentes que interaccionan entre si
para lograr un objetivo común. Aunque existe una gran variedad de sistemas, la mayoría
de ellos pueden representarse a través de un modelo formado por cinco bloques básicos:
elementos de entrada, elementos de salida, sección de transformación, mecanismos de
control y objetivos. Tal y como muestra la figura, los recursos acceden al sistema a
través de los elementos de entrada para ser modificados en la sección de transformación.
Este proceso es controlado por el mecanismo de control con el fin de lograr el objetivo
marcado. Una vez se ha llevado a cabo la transformación, el resultado sale del sistema a
través de los elementos de salida. (Fernandez, 2006)
Ilustración 2: Modelo sistemas de información Autor: Fernández, 2006
OBJETIVOS
MECANISMOS DE
CONTROL
TRANSFORMACION ENTRADAS SALIDAS
11
Este proyecto está enfocado dentro de los TPS los cuales son sistemas de procesamiento
de transacciones es decir enmarca el accionar de la actividad del convento de la
parroquia de Pablo Arenas.
2.1.1 APLICACIONES WEB
Se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar
accediendo a un servidor web a través de Internet o de una intranet mediante un
navegador. En otras palabras, es una aplicación software que se codifica en un lenguaje
soportado por los navegadores web en la que se confía la ejecución al navegador.
Las aplicaciones web son populares debido a lo práctico del navegador web como
cliente ligero, a la independencia del sistema operativo, así como a la facilidad para
actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de
usuarios potenciales. Existen aplicaciones como los web mails, wikis, weblogs, tiendas
en línea y la propia Wikipedia que son ejemplos bastante conocidos de aplicaciones
web. (Wikipedia, 2015)
En las aplicaciones web suelen distinguirse tres niveles el nivel superior que
interacciona con el usuario (cliente web, normalmente un navegador), el nivel inferior
que proporciona los datos (la base de datos) y el nivel intermedio que procesa los datos
(el servidor web). (Luján Mora, 2001)
2.1.2 PORTALES WEB
El portal es un sitio web que provee un único punto de interacción con aplicaciones,
información, personas y procesos, personalizados a las necesidades y responsabilidades
12
del usuario. Constituyen la próxima generación de escritorios de trabajo, permitiendo la
ejecución de aplicaciones a través de Internet utilizando no sólo una PC, sino además
otros dispositivos como PDA y teléfonos celulares. Un portal brinda de una manera
integrada contenidos y aplicaciones, con el agregado de un espacio de trabajo unificado
y colaborativo, con el objeto de proveer al usuario de toda la información relevante que
necesita para poder tomar decisiones de manera acertada, acorde a sus necesidades y
responsabilidades, en cualquier lugar y a cualquier hora. (Voos, 2011)
También es una página web o un conjunto de páginas web, pero orientado a lograr la
participación del usuario final o lector, con el fin de obtener algo de él, podría ser
información más en detalle sobre sí mismo para poder utilizarla luego en campañas
personalizadas o visitas personales dirigidas, puede ser el cierre de una venta, en este
caso el portal podría ser una tienda virtual que permita que el usuario final seleccione
los productos o servicios, defina la forma de pago y realice el pedido, es posible que el
portal esté dirigido a recibir la información de quejas y reclamos por parte de los
usuarios, que discrimine la persona responsable y le haga llegar la información, lleve un
control de la solicitud y finalmente a través del mismo portal se haga conocer al usuario
el resultado correcto.
Pero también un portal es una herramienta que permite integrar soluciones para
múltiples tipos de usuarios de su empresa o negocio, sus clientes, proveedores,
vendedores, técnicos, ejecutivos, ingenieros, personal de soporte y servicios
administrativos y comparten entre todos, obviamente con los niveles de autorización
adecuada, la misma información, en línea, que normalmente estará almacenada en una
base de datos a la que se accede a través de aplicaciones, muchas veces complejas que
hacen de intercambiadores de información. (Ramirez, 2015)
13
2.2 HERAMIENTAS DE DESARROLLO
2.2.1 DREAMWEAVER
Adobe Dreamweaver es una aplicación en programa de estudio (basada en la forma de
estudio de Adobe Flash) que está destinada a la construcción, diseño y edición de sitios,
vídeos y aplicaciones Web basados en estándares. Creado inicialmente
por Macromedia (actualmente producido por Adobe Systems) es uno de los programas
más utilizados en el sector del diseño y la programación web por sus funcionalidades, su
integración con otras herramientas como Adobe Flash y, recientemente, por su soporte
de los estándares del World Wide Web Consortium.
Sus principales competidores son Microsoft Expression Web y BlueGriffon (que es de
código abierto) y tiene soporte tanto para edición de imágenes como para animación a
través de su integración con otras. Hasta la versión MX, fue duramente criticado por su
escaso soporte de los estándares de la web, ya que el código que generaba era con
frecuencia sólo válido para Internet Explorer y no validaba como HTML estándar. Esto
se ha ido corrigiendo en las versiones recientes.
Se vende como parte de la suite Adobe Creative Suite. A partir de la compra de
Macromedia por parte de Adobe. Las letras CS significan Creative Suite
La gran ventaja de este editor sobre otros es su gran poder de ampliación y
personalización, puesto que en este programa sus rutinas (como la de insertar un
hipervínculo, una imagen o añadir un comportamiento) están hechas en Javascript-C, lo
que le ofrece una gran flexibilidad en estas materias. Esto hace que los archivos del
programa no sean instrucciones de C++ sino rutinas de Javascript que hace que sea un
14
programa muy fluido y todo ello permite que programadores y editores web hagan
extensiones para su programa y lo pongan a su gusto. (Wikipedia, 2015)
2.3 SERVIDORES WEB
Los servidores web son los encargados de recibir las peticiones referidas a páginas o
elementos de la web a través del protocolo http. Normalmente es un software alojado en
un ordenador servidor. Normalmente es el navegador el que pide al servidor web el
recurso que desea el usuario, para finalmente recibir dicho recurso (si fue válida la
petición) y traducirle si es necesario a su forma legible por el usuario (es decir la
traducción de HTML la hace el navegador). (Asenjo, 2011)
Ilustración 3: Resumen Comparativo de servidores web Fuente: Asejo,2011
15
2.3.1 SOFTWARE ADMINISTRADOR DE SERVICIOS WEB
Es necesario contar con un software administrador de servicios web. En este apartado
verá los dos sistemas más utilizados:
Internet Information Server (IIS) (exclusivo de Microsoft Windows)
Apache Web Server (Microsoft Windows y Linux)
2.3.2 IIS
Abreviatura de Internet Information Server, es el servidor de aplicaciones de Microsoft
que está presente en las versiones profesionales de Windows y en todas las de servidor.
Viene con el propio sistema operativo y para instalarle basta con agregarle como
componente del sistema en la zona de instalación de aplicaciones del panel de control de
Windows (IIS sólo funciona bajo Windows).
El servidor incluye un servidor web (tanto http como https), servidor ftp, webDAV y
smtp.
Además se comporta como servidor de aplicaciones web .NET y admite extensiones
para diversos tipos de aplicaciones (incluido PHP). (web, 2008)
Es el segundo servidor web más popular tras Apache (17% del mercado)
16
Es un sistema administrador de servicios web propietario de Microsoft que solo
trabaja sobre servidores Windows.
Incluye una interfaz de administración altamente gráfica y de fácil utilización.
Cuenta con el respaldo técnico y garantía de Microsoft Corporation. Es parte del
sistema operativo Microsoft Windows Server. Por lo tanto, su uso no tiene un
costo adicional hasta un límite de sitios web hospedados en el servidor
(actualmente, 50). Superar el límite implica un costo adicional.
2.3.3 APACHE WEB SERVER
Servidor HTTP libre, open source
Ejecutable en varios sistemas operativos
Unix, FreeBSD, Linux, Solaris, Novell NetWare, OS X, Microsoft Windows
Permite múltiples lenguajes de script
PHP, Perl, Tcl, Python
Virtual hosts
Un mismo servidor físico para varias IPs y nombres de dominio
Diseño modular
Se pueden crear nuevos módulos con el API de módulos de Apache
Configuración sencilla
17
Basada en directivas que se editan en ficheros: httpd.conf, access.conf (en Unix),
htaccess, .htpasswd.
(Mestras, 2012)
2.7 SISTEMA DE GESTOR DE BASE DE DATOS.
Tradicionalmente, para manipular grandes cantidades de datos aparecieron en primer
lugar las bases de datos o "bancos de datos", cumpliendo de manera aproximada con la
definición presentada en el apartado anterior. Se trataba de almacenar ordenadamente
datos en un juego de ficheros, y, mediante unas aplicaciones informáticas y un sistema
de índices, gestionarlas adecuadamente.
Al aumentar la complejidad de estos bancos de datos (elevado número de ficheros y
usuarios, acceso múltiple y simultáneo a los ficheros, aumento del número de registros,
etc.) se producen problemas cada vez más graves para asegurar la consistencia, la
integridad y la accesibilidad de los datos, produciendo problemas de eficiencia en el
tratamiento de los datos. Para resolver estos problemas aparecen en el mercado los
Sistemas de Gestión de Bases de Datos (SGBD), haciéndose cargo de todos los
problemas de explotación, mantenimiento y comprobación de los datos. (Roll, 2008)
1.11.1 CUADRO COMPARATIVO SISTEMAS DE GESTIÓN DE BASES DE
DATOS.
21
3.2.1.2 MySql
MySQL es un sistema gestor de bases de datos (SGBD, DBMS por sus siglas en inglés)
muy conocido y ampliamente usado por su simplicidad y notable rendimiento. Aunque
carece de algunas características avanzadas disponibles en otros SGBD del mercado, es
una opción atractiva tanto para aplicaciones comerciales, como de entretenimiento
precisamente por su facilidad de uso y tiempo reducido de puesta en marcha. Esto y
su libre distribución en Internet bajo licencia GPL le otorgan como beneficios
adicionales (no menos importantes) contar con un alto grado de estabilidad y un rápido
desarrollo.
MySQL está disponible para múltiples plataformas, la seleccionada para los
ejemplos de este libro es GNU/Linux. Sin embargo, las diferencias con cualquier otra
plataforma son prácticamente nulas, ya que la herramienta utilizada en este caso es el
cliente mysql-client, que permite interactuar con un servidor MySQL (local o
remoto) en modo texto. De este modo es posible realizar todos los ejercicios sobre un
servidor instalado localmente o, a través de Internet, sobre un servidor remoto. (DuBois,
2003)
Está disponible para la mayoría de las plataformas de sistemas operativos.
Su bajo consumo lo hacen apto para ser ejecutado en una máquina con escasos
recursos sin ningún problema.
El conjunto de aplicaciones Apache-PHP-MySQL es uno de los más utilizados
en aplicaciones en ambiente Web.
22
Velocidad a la hora de realizar las operaciones.
(Rouse, 2015)
2.8 LENGUAJES DE PROGRAMACION WEB
2.8.1 HTML
HTML o Hypertext Markup Language. La traducción que le doy al español es
"Lenguaje Etiquetado de Hipertexto". Probablemente no es la traducción exacta pero es
muy significativa.
Vayamos desentrañando cada uno de estos conceptos.
Hipertexto (HyperText) Navegar en Internet es como navegar en el océano, si no
llevamos una buena brújula o si no sabemos el lugar al que queremos ir, lo mas seguro
es que nos perderemos en este océano digital.
Al seguir un vínculo, lo hacemos para aumentar una información, ver una imagen o
reproducir un sonido o video. Esta capacidad de ir uniendo páginas con otras páginas es
lo que le da a Internet su dinamismo.
Como todos sabemos la información es la esencia de Internet, o mejor dicho, la
transferencia de esa información. En sí, el concepto del Hipertexto fue uno de los más
importantes detonantes de lo que ahora llamamos World Wide Web que podría ser
definido llanamente como un conjunto cuasi infinito de vínculos.
Una definición más general que podríamos dar de Hipertexto es la siguiente:
"Es la organización de las unidades de información interconectadas entre si".
23
Supongamos por ejemplo una página o sitio, con varios vínculos incrustados en ella. La
lectura de dicha página se puede hacer de manera lineal, olvidando que los vínculos
existen, o podemos llevar una lectura no lineal siguiendo cada uno de los vínculos. Así
nuestra definición podría ser de la siguiente forma:
"Es la organización no lineal de las unidades de información interconectadas entre si"
Si quisiéramos ser puristas, podríamos decir que el hipertexto solo se refiere a texto y al
hablar de vínculos a objetos multimedia podríamos hablar de hipermedia. En fin, que
cada quien escoja la suya. (Támara, 2000)
2.8.1.1 HTML5
HTML5 no es una nueva versión del antiguo lenguaje de etiquetas, ni siquiera una
mejora de esta ya antigua tecnología, sino un nuevo concepto para la construcción de
sitios web y aplicaciones en una era que combina dispositivos móviles, computación en
la nube y trabajos en red.
Todo comenzó mucho tiempo atrás con una simple versión de HTML propuesta para
crear la estructura básica de páginas web, organizar su contenido y compartir
información. El lenguaje y la web misma nacieron principalmente con la intención de
comunicar información por medio de texto.
El limitado objetivo de HTML motivó a varias compañías a desarrollar nuevos
lenguajes y programas para agregar características a la web nunca antes implementadas.
Estos desarrollos iniciales crecieron hasta convertirse en populares y poderosos
accesorios. Simples juegos y bromas animadas pronto se transformaron en sofisticadas
aplicaciones, ofreciendo nuevas experiencias que cambiaron el concepto de la web para
siempre.
24
HTML5 provee básicamente tres características: estructura, estilo y funcionalidad.
Nunca fue declarado oficialmente pero, incluso cuando algunas APIs (Interface de
Programación de Aplicaciones) y la especificación de CSS3 por completo no son parte
del mismo, HTML5 es considerado el producto de la combinación de HTML, CSS y
Javascript. Estas tecnologías son altamente dependientes y actúan como una sola unidad
organizada bajo la especificación de HTML5. HTML está a cargo de la estructura, CSS
presenta esa estructura y su contenido en la pantalla y Javascript hace el resto que
(como veremos más adelante) es extremadamente significativo.
Más allá de esta integración, la estructura sigue siendo parte esencial de un documento.
La misma provee los elementos necesarios para ubicar contenido estático o dinámico, y
es también una plataforma básica para aplicaciones. Con la variedad de dispositivos
para acceder a Internet y la diversidad de interfaces disponibles para interactuar con la
web, un aspecto básico como la estructura se vuelve parte vital del documento. Ahora la
estructura debe proveer forma, organización y flexibilidad, y debe ser tan fuerte como
los fundamentos de un edificio. (Gauchat, 2013)
2.8.2 JAVA
La principal característica de Java es la de ser un lenguaje compilado e interpretado.
Todo programa en Java ha de compilarse y el código que se genera byte codes es
interpretado por una máquina virtual. De este modo se consigue la independencia de
la máquina, el código compilado se ejecuta en máquinas virtuales que si son
dependientes de la plataforma.
Java es un lenguaje orientado a objetos de propósito general. Aunque Java
comenzará a ser conocido como un lenguaje de programación de applets que se
25
ejecutan en el entorno de un navegador web, se puede utilizar para construir
cualquier tipo de proyecto.
Su sintaxis es muy parecida a la de C y C++ pero hasta ahí llega el parecido. Java no
es una evolución ni de C++ ni un C++ mejorado. (Fernández, 2004)
2.8.3 JAVASCRIPT
JavaScript es un lenguaje de programación que se utiliza principalmente para crear
páginas web dinámicas.
Una página web dinámica es aquella que incorpora efectos como texto que aparece y
desaparece, animaciones, acciones que se activan al pulsar botones y ventanas con
mensajes de aviso al usuario. Técnicamente, JavaScript es un lenguaje de programación
interpretado, por lo que no es necesario compilar los programas para ejecutarlos.
En otras palabras, los programas escritos con JavaScript se pueden probar directamente
en cualquier navegador sin necesidad de procesos intermedios. A pesar de su nombre,
JavaScript no guarda ninguna relación directa con el lenguaje de programación Java.
(Perez, 2008)
2.8.4 CSS
Las siglas de CSS son “Cascade Style Sheet”, en español hojas de estilo en cascada.
CSS es un leguaje que nos permite otorgar atributos a los elementos de los documentos
realizados en HTML. CSS permite realizar una separación del diseño (formato y estilo)
de los contenidos de las páginas webs. Es importante resaltar que, hay características
que ofrece CSS y que también se puede realizar con HTML, pero CSS tiene una mayor
26
cantidad de opciones para personalizar los elementos de una página web en general.
(Enrique E. Condor Tinoco, 2014)
2.8.5 JQUERY
jQuery es una biblioteca de JavaScript que permite simplificar la manera de interactuar
con los documentos HTML, manipular el árbol DOM, manejar eventos, desarrollar
animaciones y agregar interacción con la técnica AJAX a páginas web. (Isaac Ojeda
Quintana, 2012)
2.8.6 PHP
PHP (acronimo de "PHP: Hypertext Preprocessor") es un lenguaje "open source"
interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor.
Una respuesta corta y concisa, pero que significa realmente? Un ejemplo nos aclarará
las cosas:
Un ejemplo introductorio <html>
<head>
<title>Example</title>
</head>
<body>
<?php echo "Hi, I’m a PHP script!";?>
</body>
</html>
Podemos ver que no es lo mismo que un script escrito en otro lenguaje de programación
como Perl o C --
En vez de escribir un programa con muchos comandos para crear una salida en HTML,
escribimos el código HTML con cierto código PHP embebido (introducido) en el
mismo, que producirá cierta salida (en nuestro ejemplo, producir un texto). El código
PHP se incluye entre etiquetas especiales de comienzo y final que nos permitirán entrar
y salir del modo PHP.
27
Lo que distingue a PHP de la tecnología Javascript, la cual se ejecuta en la máquina
cliente, es que el código PHP es ejecutado en el servidor. Si tuviésemos un script similar
al de nuestro ejemplo en nuestro servidor, el cliente solamente recibiría el resultado de
su ejecución en el servidor, sin ninguna posibilidad de determinar que código ha
producido el resultado recibido. El servidor web puede ser incluso configurado para que
procese todos los ficheros HTML con PHP.
Lo mejor de usar PHP es que es extremadamente simple para el principiante, pero a su
vez, ofrece muchas características avanzadas para los programadores profesionales.
PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como procesar la
información de formularios, generar páginas con contenidos dinámicos, o mandar y
recibir cookies. Y esto no es todo, se puede hacer mucho más.
Existen tres campos en los que scripts escritos en PHP son usados.
Scripts en la parte del servidor. Este es el campo más tradicional y el principal
campo de trabajo. Se necesitan tres cosas para que esto funcione. El procesador
PHP (CGI ó módulo), un servidor web y un navegador. Se necesita correr el
servidor web con PHP instalado. El resultado del programa PHP se puede
obtener a través del navegador, conectando con el servidor web.
Scripts en línea de comandos. Podéis crear un script PHP y correrlo sin ningún
servidor web ó navegador. Solamente necesitáis el procesador PHP para usarlo
de esta manera. Este tipo de uso es ideal para scripts ejecutados regularmente
desde cron (en *nix ó Linux) ó el Planificador de tareas (en Windows). Estos
scripts también pueden ser usados para tareas simples de procesador de texto.
Escribir aplicaciones gráficas clientes. PHP no es probablemente el mejor
lenguaje para escribir aplicaciones gráficas, pero si sabéis bien PHP, y os
28
gustaría utilizar algunas características avanzadas en programas clientes, podéis
utilizar PHP-GTK para escribir dichos programas. Es también posible escribir
aplicaciones independientes de una plataforma. PHP-GTK es una extensión de
PHP. (PHP, 2002)
2.9 CONTROL DE GESTION ADMINISTRATIVA
El control debe servir de guía para alcanzar eficazmente los objetivos planteados con el
mejor uso de los recursos disponibles (técnicos, humanos, financieros, etc.). Por ello
podemos definir el control de gestión como un proceso de retroalimentación de
información de uso eficiente de los recursos disponibles de una empresa para lograr los
objetivos planteados.
El presente estudio se refiere al mejoramiento de la Gestión Administrativa a través de
la implementación de un Sistema de Control Interno. Se propone medidas de Control
para un mejor desempeño tanto en el ámbito financiero como administrativo
enfocándose a la Administración de datos recabados por procesos.
El Control de gestión es un proceso que sirve para guiar la gestión empresarial hacia
los objetivos de la organización y un instrumento para evaluarla.
Existen diferencias importantes entre las concepciones clásica y moderna de control de
gestión. La primera es aquella que incluye únicamente al control operativo y que lo
desarrolla a través de un sistema de información relacionado con la contabilidad de
costos, mientras que la segunda integra muchos más elementos y contempla una
continua interacción entre todos ellos. El nuevo concepto de control de gestión centra su
29
atención por igual en la planificación y en el control, y precisa de una orientación
estratégica que dote de sentido sus aspectos más operativos.
El Control de gestión es un proceso que sirve para guiar la gestión empresarial hacia los
objetivos de la organización y un instrumento para evaluarla.
Existen diferencias importantes entre las concepciones clásica y moderna de control de
gestión. La primera es aquella que incluye únicamente al control operativo y que lo
desarrolla a través de un sistema de información relacionado con la contabilidad de
costos, mientras que la segunda integra muchos más elementos y contempla una
continua interacción entre todos ellos. El nuevo concepto de control de gestión centra su
atención por igual en la planificación y en el control, y precisa de una orientación
estratégica que dote de sentido sus aspectos más operativos. (Noguera, 2012)
2.10CONCLUSIONES PARCIALES DEL CAPÍTULO.
El crecimiento constante de la tecnología hace un llamado a que cada empresa
pública o privada este a la vanguardia conjuntamente con dicho avance, para
obtener el máximo beneficio que conlleva el adoptar mecanismos de
automatización informático.
En todo ámbito es primordial el conocimiento ya sea proveniente de un libro,
una persona o una web, ya que es la base para el desarrollo de una aplicación
flexible y acorde a las mejores herramientas disponibles en nuestro entorno.
30
La aplicación establece un gran salto a la informática instituyendo un
mecanismo que optimizará tiempo y recursos.
La ventaja ante otras aplicaciones similares es su género es su estructura
amigable con el usuario, sin enredos ni trabas.
31
CAPITULO III
MARCO PROPOSITIVO
3.1 DESARROLLO DE LA PROPUESTA
La investigación planteada dentro del área de aplicación de la propuesta como es el
convento de la parroquia de el Carmelo de Pablo Arenas, consolida la problemática
relacionado con la administrar ineficaz de la información y actividades del convento
parroquial, esto conlleva a que la solución tiene que enfocarse a estos aspectos, por ende
se propone como solución a nuestra problemática antes mencionada el desarrollo de un
portal web que se proyecte fundamentalmente a la automatización de los procesos
administrativos - eclesiásticos del convento.
Ilustración 5: Proceso aplicativo del Proyecto / Autor: Álvaro A. Muñoz
PORTAL WEB
Administracion Bautizos
Administracion Primeras
Comuniones
Administracion Confirmaciones
Administracion Matrimonios
Administracion Defunciones
Registro de Feligreses
Usuarios
Promocion Cultural
32
La metodología de desarrollo de software seleccionada para elaborar el portal web es la
denominada eXtreme Programming o XP.
3.2 DEFINICIÓN DE LA METODOLOGÍA
La estructura de este proyecto está fundamentados en relación con los requisitos de
software recabados mediante ideas expuestas por parte de la persona encargada del
convento como es el Sr. Rvdo. Fernando Medina con la finalidad de desarrollar un
producto acorde a los requerimientos y especificaciones del cliente.
La metodología de desarrollo de software que administra el proceso del sistema
propuesto es eXtreme Programming, que es una forma eficaz de asegurar la calidad del
sistema en cuestión.
3.3 METODOLOGÌA EXTREMA XP
La programación extrema se basa en una serie de reglas y principios que se han ido
gestando a lo largo de toda la historia de la ingeniería del software. Usadas
conjuntamente proporcionan una nueva metodología de desarrollo software que se
puede englobar dentro de las metodologías ligeras, que son aquéllas en la que se da
prioridad a las tareas que dan resultados directos y que reducen la burocracia que
hay alrededor tanto como sea posible (pero no más) [Fowler]. La programación
extrema, dentro de las metodologías ágiles, se puede clasificar dentro de las
evolutivas [Harrison].
Una de las características de eXtreme Programming es que muchos de, si no todos,
sus ingredientes son de sobra conocidos dentro de la rama de la ingeniería del
software desde hace tiempo, incluso desde sus comienzos. Los autores de han
33
seleccionado los que han considerados como los mejores y han profundizado en sus
relaciones y en cómo se refuerzan unos a otros. El resultado ha sido una
metodología única y compacta. Por eso, aunque se pueda alegar que la programación
extrema no se base en principios nada nuevos, se ha de aclarar que, en conjunto, es
una nueva forma de ver el desarrollo de software.
Aunque, como ya se ha comentado, la programación extrema se basa en unos
valores, unos principios fundamentales y unas prácticas, en este artículo no se van a
enumerar así de primeras, ya que el autor considera que no es la mejor forma de
presentarlos. Los principios y prácticas no se han hecho a priori o porque sí, sino
que tienen un porqué a partir de una forma global de desarrollar software que, al
menos en teoría, parece ser más eficiente.
Por tanto, en este artículo se presentará la programación extrema desde un punto de
vista práctico para luego dar paso a enunciar los valores y principios que se han
extraído y las prácticas que hacen que se lleven a buen fin. La idea es seguir que el
lector pueda seguir en los siguientes párrafos un proceso de desarrollo extremo tal y
como debería darse en un equipo de desarrollo que siguiera la metodología XP. De
esta forma se irán detallando y explicando las diferentes técnicas utilizadas, así
como su razón de ser. (Zarzuela, 2002)
34
3.3.1 PLANIFICACIÓN DEL PROYECTO
3.3.1.1 HISTORIAS DE USUARIOS
4. Representante Fernando Medina
Descripción Párroco del convento de Pablo Arenas.
Tipo Párroco
Responsabilidad Establecer los lineamientos para el
desarrollo del proyecto.
Criterio de éxito Implantar una comunicación firme en el
desarrollo del sistema.
Implicación Revisión y aprobación del proyecto.
Comentarios Expandir el proyecto.
Tabla 1 Perfil del Interesado - Tipo: Parroco
Representante Ing. Carlos Martinez
Descripción Coordinador del Proyecto
Tipo Asesora del Proyecto
Responsabilidad Análisis, gestión, pruebas y validación del
sistema
Implicación Revisión y aprobación del proyecto
Entregable Revisión del sistema, documentos y
capítulos
Tabla 2 Perfil del Coordinador - Tipo: Asesora de Proyecto
35
Responsable Álvaro Muñoz
Descripción Desarrollador del sistema
Tipo Analista programador
Responsabilidades Diseño de la base de datos, codificación,
integración, validación y pruebas del
sistema.
Implicación Programador
Entregable Sistema, BDD e informe final
Comentarios Coordinar las actividades en cada etapa de
desarrollo.
Tabla 3: Perfil del Desarrollador - Tipo: Analista Programador
3.2.1.2 PLANIFICACION
El plan de publicaciones se la fusionó conjuntamente con el señor párroco ya que se
trabajó en la aplicación mediante muestras de avances continuos por módulos con
criterios a favor y correctivos.
3.2.1.3 ITERACIONES.
Tomando en cuenta las historias de usuarios seleccionadas para implementar a la
programación de una forma eficaz y eficiente.
36
3.2.1.4 VELOCIDAD DEL PROYECTO
En cuanto a la velocidad del desarrollo del proyecto se lo realizó en base al número de
historias de usuarios, generando un tiempo no variable y constante asumiendo que el
ritmo de programación sea el idóneo para cumplir las etapas.
3.2.1.5 PROGRAMACIÓN EN PAREJA
Este punto cabe recalcar que por disposición de la universidad no se pudo realizar este
proyecto en parejas lo cual hubiese sido primordial para ampliar más nuestro proyecto y
generar un mayor impacto sobre la sociedad.
3.2.2 DISEÑO.
3.2.2.1 DISEÑOS SIMPLES.
En cuanto al diseño simple que se implementa en esta metodología he procurado que la
estructura de la aplicación todas las herramientas necesarias estén al alcance del usuario
es más automatizar la mayor cantidad de tareas posibles para que el usuario tenga el
mínimo de esfuerzo posible.
3.2.2.1.1 DEFINICIÓN DE LOS PROCESOS.
Tomando en cuenta que los feligreses y sacerdotes requieren mejorar los procesos
administrativos del convento se definen los procesos de la siguiente manera:
37
Ilustración 6 Definición de Procesos Autor: Álvaro A. Muñoz
Ilustración 7 Definición de Procesos II Autor: Álvaro A. Muñoz
Inicio Verificar Usuario Si / No Patalla Principal
MINISTROS
BAUTIZOS
PRIMERAS COMUNIONES
CONFIRMACIONES
MATRIMONIOS
DEFUNCIONES
INGRESOS /EGRESOS
FIN
Portal de servicios
web, para mejorar
la Gestión
administrativa del
Convento de la
parroquia de Pablo
Arenas
DIOCESIS
REGISTRO CIVIL FELIGRESES
PARROCO Permisos
Datos personales
Datos personales
Certificados e información
Requeridos
Datos de los feligreses
Registrados
Información del
Proceso civil realizado
38
3.2.2.1.2 MODELO DE DESARROLLO
Al tratarse de una aplicación web la arquitectura que maneja es cliente servidor tres
capas en cuanto a la arquitectura de programación está orientada bajo el modelo – Vista
– Controlador (MVC) Modelo: Presenta la información que maneja el sistema (Lógica
del negocio). VISTA: Realiza la transformación del modelo en una página web que
interactúa con el usuario. CONTROLADOR: Procesa la información mediante
interacciones del usuario y realiza los cambios requeridos para el modelo en la vista.
3.2.2.1.3 MODELO DE BASE DE DATOS
La base de datos está desarrollada con la herramienta syBase Power Designer que
facilita la construcción del modelo de datos asociados a los casos de uso de la
aplicación.
Ilustración 8 Modelo de desarrollo Autor: Álvaro A. Muñoz
40
3.2.2.1.4 DICCIONARIO DE DATOS
Ilustración 10 Diccionario de datos: Bautizos Autor: Álvaro A. Muñoz
Ilustración 11Diccionario de datos: Confirmaciones Autor: Álvaro A. Muñoz
41
Ilustración 12Diccionario de datos: Defunciones Autor: Alvaro A. Muñoz
Ilustración 13Diccionario de datos: Ingreso / Egreso Autor: Álvaro A. Muñoz
42
Ilustración 14Diccionario de datos: Matrimonios Autor: Alvaro A. Muñoz
Ilustración 15Diccionario de datos: Ministro - Parámetros Autor: Álvaro A. Muñoz
43
Confirmaciones
Añadir Nuevo
Buscar
Reporte
Matrimonio
Añadir Nuevo
Buscar
Reporte
3.2.2.1.5 MAPA DE SITIO
Ilustración 17: Mapa del Sitio / Autor: Álvaro A. Muñoz
Sitio
Parámetros
Mantenimiento
Salir
Copia de seguridad
Restaurar Copia
Ministro
Añadir Nuevo
Buscar
Reporte
Bautizos
Añadir Nuevo
Buscar
Reporte
Defunciones
Añadir Nuevo
Buscar
Reporte
Primeras Comn
Añadir Nuevo
Buscar
Reporte
Económico
Gestor de Ingresos
Gestor de Egresos
Resultado Económico Ilustración 16
Añadir Nuevo
Reporte
Añadir Nuevo
Reporte
INICIO ACERCA DE TURISMO CONTACTO ACCESO
44
3.2.2.1.6 DISEÑO DE INTERFACES
Ilustración 18 Diseño de Presentación Autor: Álvaro A. Muñoz
Ilustración 19 Diseño de interfaz: Pantalla Principal Autor: Álvaro A. Muñoz
45
Ilustración 20 Diseño de interfaz: Pantalla de Gestión Autor: Alvaro A. Muñoz
Ilustración 21 Diseño de interfaz: Nuevo Registro Autor: Alvaro A. Muñoz
47
3.2.2.1.8 ISEÑO DEL PROGRAMA
Ilustración 23 Diseño de Programa: Gestión Autor: Alvaro A. Muñoz
Ilustración 24 Diseño de Programa: Edición Autor: Alvaro A. Muñoz
48
3.2.2.2 RIESGOS
Para el desarrollo del sistema planteado se evalúan las interacciones del sistema que se
evidencian y clasifican según su dimensión de mayor a menor riesgo de desarrollo. En
el desarrollo y ejecución de nuestro proyecto están enmarcados riegos por las diferentes
acciones que abarcan cambios los mismos que describo a continuación.
FECHA VERSION DESCRIPCION AUTOR
01-01-2015 1.0 Riesgos de la
fase de inicio
Álvaro Muñoz
ID Riesgo Expresión Probabilidad
RI-01 Error de estimación del
presupuesto
Medio 4
RI-02 Políticas de gestión Bajo 2
RI-03 Tiempos de entrega versión 01 Medio 6
RI-04 Error de levantamiento de
requerimientos
Bajo 2
RI-05 Equipo de desarrollo sin
experiencia
Bajo 3
RI-06 Falta de comunicación con el
cliente
Bajo 4
RI-07 Desconocimiento en el manejo de
herramientas de desarrollo
Bajo 1
Tabla 4 Lista de Riesgos Autor: Alvaro A. Muñoz
49
3.2.3 CODIFICACIÓN
La codificación consiste en la traducción del diseño a un formato que sea legible para la
máquina. Se puede observar que estas primeras fases del ciclo de vida consisten
básicamente en una traducción: en el análisis del sistema que está formado en parte por
diagramas y en parte por descripciones en leguaje natural. Entre las funciones y partes
de código más destacadas podemos encontrar:
Conexión
function Conectar()
{
if (!($link=mysql_connect("servidor","usuario","pasword"))) {
die("Problemas en la conexion: ".mysql_error());
exit();
}if (!mysql_select_db("convent",$link)){
die("Problemas al seleccionar la Base de datos: ".mysql_error());
exit();
}
return $link;
}
LOGIN
$LoginRS__query=sprintf("SELECT usNick, usPassword FROM usuarios WHERE (usNick='%s' AND
usPassword='%s' AND parId='%s') OR (usNick='".$loginUsername."' AND usPassword='".$password."'
AND parId='0')",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername),
get_magic_quotes_gpc() ? $password : addslashes($password),get_magic_quotes_gpc() ? $usparId :
addslashes($usparId));
//echo $LoginRS__query."<br>";
$LoginRS = mysql_query($LoginRS__query, $link) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser)
{
//echo $row_chequeo["usActivo"].' '.$row_chequeo["usNick"];
if ($row_chequeo["usActivo"]==0){
$_SESSION['error'] = "Usuario o clave incorrectos";
header("Location: ./" );
//echo $row_chequeo["usActivo"].' '.$row_chequeo["usNick"];
exit;
}
if ($loginUsername=="root") {
$_SESSION['MM_Username'] = $loginUsername;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl']; }
//echo "Administrador";
$_SESSION['nombreusuario'] = $loginUsername;
header("Location: root/menu_root.php" );
}
50
VALIDAR EXPLORADOR
function getBrowser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Unknown';
$platform = 'Unknown';
$version= "";
//First get the platform?
if (preg_match('/linux/i', $u_agent)) {
$platform = 'linux';
}
elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
$platform = 'mac';
}
elseif (preg_match('/windows|win32/i', $u_agent)) {
$platform = 'windows';
}
// Next get the name of the useragent yes seperately and for good reason
if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
{
$bname = 'Internet Explorer';
$ub = "MSIE";
}
elseif(preg_match('/Firefox/i',$u_agent))
{
$bname = 'Mozilla Firefox';
$ub = "Firefox";
}
VALIDAR SESSION
session_start();
//Cargar script en cada pagina para validar que haya iniciado session, caso contrario va a
la pagina de ingreso
if ($_SESSION['MM_Username']=="") {
header("Location: ../");
exit();
}
FORMATO PARA FECHAS
function fecha (){
$week_days = array ("Domingo", "Lunes", "Martes",
"Miercoles", "Jueves", "Viernes", "Sabado");
$months = array ("", "Enero", "Febrero", "Marzo", "Abril", "Mayo",
"Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
$year_now = date ("Y");
$month_now = date ("n");
$day_now = date ("j");
$week_day_now = date ("w");
51
$date = $week_days[$week_day_now] . ", " . $day_now . " de " .
$months[$month_now] . " de " . $year_now;
return $date;
}
VALIDAR FORMULARIO
function validarformulario(x){
var
campos=["bauLibro","bauFolio","bauPagina","bauNumero","bauPapa","bauMama","pe
rNombres","perApellidos","perSexo","bauPadrino","perFechaNacimiento","bauFechaB
autizo","IdMinistro"];
var camposnumero=(campos.length)-1;
var vacios =0; i=0;
//alert(i)
for(; i <= camposnumero; i++){
if ((document.getElementById(campos[i]).value == '') ||
(document.getElementById(campos[i]).value ==
"Seleccione")||(document.getElementById(campos[i]).value == null)) {
document.getElementById(campos[i]).style.border="1px
solid #88B719";
vacios++;
}else{ document.getElementById(campos[i]).style.border="";}
}//for
document.getElementById(campos[i-1]).focus();
fecha_actual = new Date()
if (Date.parse(form_nuevo.perFechaNacimiento.value) >
Date.parse(fecha_actual)) {
alert("FECHA INVALIDA!\nLa Fecha no puede ser mayor a la actual!
=>"+fecha_actual)
form_nuevo.perFechaNacimiento.focus();
return false;
}
if (Date.parse(form_nuevo.perFechaNacimiento.value) >
Date.parse(form_nuevo.bauFechaBautizo.value)) {
alert("FECHA INVALIDA!\nLa Fecha no puede ser mayor a la Fecha de
Bautizo!")
form_nuevo.perFechaNacimiento.focus();
return false;
}
if (Date.parse(form_nuevo.bauFechaBautizo.value) > Date.parse(fecha_actual))
{
alert("FECHA INVALIDA!\nLa Fecha no puede ser mayor a la actual!
=>"+fecha_actual)
form_nuevo.bauFechaBautizo.focus();
return false;
}
52
//alert(vacios)
if (vacios>0) {
alert("::: ADVERTENCIA :::\nEl formulario contiene "+(vacios)+" campos
vacios" );
//return false
} else{
document.form_nuevo.submit()
}
}
3.2.4 PRUEBAS.
Según Cem Kaner es una investigación técnica realizada para proveer información a los
stakeholders sobre la calidad del producto o servicio bajo pruebas. Según Glenford
Myers, software testing es un proceso diseñado para asegurar que el código hace lo que
se supone que debe hacer y no hace lo que se supone que no debe. Según el autor, se
trata de un proceso en el que se ejecuta un programa con el objetivo de encontrar
errores.
Lo más importante: aportar calidad al software que se está verificando. ¿Cómo?
Detectando posibles incidencias de diversa índole que pueda tener cuando esté en uso.
OBJETIVOS
Y la forma en la que estaremos aportando calidad es principalmente buscando fallos.
Por supuesto. Digamos que si no encuentro fallo todo el costo del testing me lo pude
haber ahorrado. ¿No? ¡Nooo! Porque si no encontramos fallos entonces tenemos más
confianza en que los usuarios encontrarán menos problemas. ¿Se trata de encontrar la
mayor cantidad de fallos posible? ¿Un tester que encuentra cien fallos en un día hizo
mejor su trabajo que uno que apenas encontró 15? De ser así, la estrategia más efectiva
sería centrarse en un módulo que esté más verde, que tenga errores más fáciles de
53
encontrar, me centro en diseñar y ejecutar más pruebas para ese módulo, pues ahí
encontraré más fallos.
¡NO! La idea es encontrar la mayor cantidad de fallos que más calidad le aporten al
producto. O sea, los que al cliente más le van a molestar.
¡Ojo!, el objetivo no tiene por qué ser el mismo a lo largo del tiempo, pero sí es
importante que se tenga claro en cada momento cuál es. Puede ser válido en cierto
momento tener como objetivo del testing encontrar la mayor cantidad de errores
posibles, entonces seguramente el testing se enfoque en las áreas más complejas del
software o más verdes. Si el objetivo es dar seguridad a los usuarios, entonces
seguramente se enfoque el testing en los escenarios más usados por los clientes.
(Toledo, 2014)
3.2.5 CAJA BLANCA Y CAJA NEGRA
La clasificación más importante y más difundida de técnicas de diseño de casos de
prueba es basada en la información utilizada como entrada. Si utilizamos información
interna del sistema que estamos probando, tal como el código, esquema de base de
datos, etc., entonces se dice que estamos siguiendo una estrategia de caja blanca. Si en
cambio nos basamos únicamente en la observación de entradas y salidas del sistema,
estamos siguiendo un enfoque de caja negra. Efectivamente, ese caso sería como
considerar que el sistema es una caja a la cual no podemos mirar su interior. Por esta
asimilación es también que a las técnicas de caja blanca a veces se les dice técnicas de
“caja transparente”, haciendo mejor referencia a que la idea es poder mirar qué hay
dentro de esa caja que estamos probando.
54
Podríamos decir que con caja blanca nos preocupamos por lo que pasa dentro de la caja
y con caja negra nos preocupamos por lo que pasa fuera de ella. Muchas veces el límite
no está claro, o tal vez estamos siguiendo un enfoque de caja negra, pero como sabemos
algo de lo que sucede dentro entonces aprovechamos esa información. También hay
quienes hablan de “caja gris” cuando se combinan ambos enfoques.
Lo importante es que puede haber una diferencia en el alcance, la forma de hacernos las
preguntas, la información y los objetivos de las pruebas que diseñemos.
3.2.5.1 PRUEBA DE CAJA BLANCA
Las pruebas de caja blanca, que sería mejor llamarlas de caja transparente, se establecen
por medio del diseño de casos que usan como base las estructuras de control del flujo.
Estas pruebas se pueden clasificar en tres tipos según sus objetivos:
Que se ejecute por lo menos una vez cada instrucción del programa.
Garantizar que todas las condiciones se comprueban como verdaderas y falsas.
Que se ejecuten los bucles, probando el caso general y los casos extremos.
Para comprobar la ausencia de errores en el software haremos tres pruebas.
La primera es la prueba del camino básico, que se basa en la complejidad del flujo de
ejecución desglosado en un conjunto básico de caminos. Los casos en los que se divide
la prueba, obtenidos en función del conjunto básico, garantizan que se ejecuta por lo
menos una vez cada sentencia del programa.
La prueba de condiciones tiene como objetivo ejercitar adecuadamente todas las
condiciones del módulo para buscar errores que puedan estar en variables lógicas,
paréntesis, operadores relacionales o expresiones lógicas.
55
Por último la prueba de bucles tiene como objetivo reducir la posibilidad de que se pase
por alto un error no encontrado en otro tipo de prueba. (Santana, 2012)
function check_cedula( vari )
{
switch (vari)
{
case 'ciNovio':
var cedula = document.form_nuevo.ciNovio.value;
//alert(cedula);
break;
case 'ciNovia':
var cedula = document.form_nuevo.ciNovia.value;
//alert(cedula);
break;
case 'ciPadrino':
var cedula = document.form_nuevo.ciPadrino.value;
//alert(cedula);
break;
case 'ciMadrina':
var cedula = document.form_nuevo.ciMadrina.value;
//alert(cedula);
break;
case 'ciMuerte':
var cedula = document.form_nuevo.perCi.value;
//alert(cedula);
break;
case 'ciEgreso':
if
(form_nuevo.cbo_docTipo.options[form_nuevo.cbo_docTipo.selectedIndex].value ==
'CI')
{
var cedula = document.form_nuevo.NumDoc.value;
}
//alert(cedula);
break;
}
//alert('la '+cedula);
array = cedula.split( "" );
num = array.length;
//alert(num);
if ( num == 10 )
56
{
total = 0;
digito = (array[9]*1);
for( i=0; i < (num-1); i++ )
{
mult = 0;
if ( ( i%2 ) != 0 ) {
total = total + ( array[i] * 1 );
}else
{
mult = array[i] * 2;
if ( mult > 9 )
total = total + ( mult - 9 );
else
total = total + mult;
}
}
decena = total / 10;
decena = Math.floor( decena );
decena = ( decena + 1 ) * 10;
final = ( decena - total );
if ( ( final == 10 && digito == 0 ) || ( final == digito ) ) {
//alert( "La c\xe9dula ES v\xe1lida!!!" );
switch(vari)
{
case "ciNovio":
if(document.form_nuevo.ciNovio.value==document.form_nuevo.ciNovia.value)
{document.form_nuevo.ciNovio.focus();
alert('Cédula Duplicada..!!\n'+"CI
Novio:"+document.form_nuevo.ciNovio.value+" == "+"CI. Novia:
"+document.form_nuevo.ciNovia.value);
document.form_nuevo.ciNovio.value='';
return false}
break;
case "ciNovia":
if(document.form_nuevo.ciNovia.value==document.form_nuevo.ciNovio.value)
{document.form_nuevo.ciNovia.focus();
alert('Cédula Duplicada..!!\n'+"CI
Novio:"+document.form_nuevo.ciNovio.value+" == "+"CI. Novia:
"+document.form_nuevo.ciNovia.value);
document.form_nuevo.ciNovia.value='';
return false}
57
break;
case "ciPadrino":
switch(document.form_nuevo.ciPadrino.value)
{
case document.form_nuevo.ciNovio.value:
document.form_nuevo.ciPadrino.focus();
alert('Cédula Duplicada..!!\n'+"CI
Padrino:"+document.form_nuevo.ciPadrino.value);
document.form_nuevo.ciPadrino.value=''
return false;
break;
case document.form_nuevo.ciNovia.value:
document.form_nuevo.ciPadrino.focus();
alert('Cédula Duplicada..!!\n'+"CI
Padrino:"+document.form_nuevo.ciPadrino.value);
document.form_nuevo.ciPadrino.value=''
return false;
break;
case document.form_nuevo.ciMadrina.value:
document.form_nuevo.ciPadrino.focus();
alert('Cédula Duplicada..!!\n'+"CI
Padrino:"+document.form_nuevo.ciPadrino.value);
document.form_nuevo.ciPadrino.value=''
return false;
break;
}//switch interno
case "ciMadrina":
switch(document.form_nuevo.ciMadrina.value)
{
case document.form_nuevo.ciNovio.value:
document.form_nuevo.ciMadrina.focus();
alert('Cédula Duplicada..!!\n'+"CI
Madina:"+document.form_nuevo.ciPadrino.value);
document.form_nuevo.ciMadrina.value=''
return false;
break;
case document.form_nuevo.ciNovia.value:
document.form_nuevo.ciMadrina.focus();
alert('Cédula Duplicada..!!\n'+"CI
Madrina:"+document.form_nuevo.ciPadrino.value);
document.form_nuevo.ciMadrina.value=''
return false;
break;
case document.form_nuevo.ciPadrino.value:
58
document.form_nuevo.ciMadrina.focus();
alert('Cédula Duplicada..!!\n'+"CI
Madrina:"+document.form_nuevo.ciPadrino.value);
document.form_nuevo.ciMadrina.value=''
return false;
break;
}//switch interno
}//switch externo
return true;
}
else
{
switch (vari)
{
case "ciNovio":
document.form_nuevo.ciNovio.value='';
document.form_nuevo.ciNovio.focus();
break;
case "ciNovia":
document.form_nuevo.ciNovia.value='';
document.form_nuevo.ciNovia.focus();
break;
case "ciPadrino":
document.form_nuevo.ciPadrino.value=''
document.form_nuevo.ciPadrino.focus();
break;
case "ciMadrina":
document.form_nuevo.ciMadrina.value='';
document.form_nuevo.ciMadrina.focus();
break;
case "ciMuerte":
document.form_nuevo.perCi.value='';
/*document.form_nuevo.perCi.focus();*/
break;
}
if
(form_nuevo.cbo_docTipo.options[form_nuevo.cbo_docTipo.selectedIndex].text ==
'CI')
{if (vari == "ciEgreso")
document.form_nuevo.NumDoc.value='';document.form_nuevo.NumDoc.focus();}
//alert( "La cedula NO es valida!!!" );
return false; } }
59
else
{
switch (vari)
{
case "ciNovio":
document.form_nuevo.ciNovio.value='';
document.form_nuevo.ciNovio.focus();
break;
case "ciNovia":
document.form_nuevo.ciNovia.value='';
document.form_nuevo.ciNovia.focus();
break;
case "ciPadrino":
document.form_nuevo.ciPadrino.value=''
document.form_nuevo.ciPadrino.focus();
break;
case "ciMadrina":
document.form_nuevo.ciMadrina.value='';
document.form_nuevo.ciMadrina.focus();
break;
case "ciMuerte":
document.form_nuevo.perCi.value='';
//document.form_nuevo.perCi.focus();
break;
}
if
(form_nuevo.cbo_docTipo.options[form_nuevo.cbo_docTipo.selectedIndex].text ==
'CI')
{if (vari == "ciEgreso")
document.form_nuevo.NumDoc.value='';document.form_nuevo.NumDoc.focus();}
//alert("La c\xe9dula no puede tener menos de 10 d\xedgitos");
return false;
}
}
60
Ilustración 25: Prueba de Caja Blanca Autor: Álvaro A. Muñoz
3.2.5.2 PRUEBAS DE CAJA NEGRA
En la prueba de la caja negra, los casos de prueba pretenden demostrar que las funciones
del software son operativas, que la entrada se acepta de forma adecuada y que se
produce una salida correcta.
Bautizo.php
include("conexion.php");
$link=Conectar();
class Buatizos{ public function InsertarBautizo($bauId=null,
$bauFechaBautizo=null,$bauPapa=null,$bauMama=null,$bauPadrino=null,$IdMinistro
=null) {
if($bauId==null){
throw new Exception("¡Este no es un código válido!"); }
$consulta = "INSERT INTO bautizos
(bauId,bauFechaBautizo,bauPapa,bauMama,bauPadrino,IdMinistro)
VALUES ('".$bauId."', '".$bauFechaBautizo."','".$bauPapa."',
'".$bauMama."','".$bauPadrino."', '".$IdMinistro."')";
61
$result = mysql_query($consulta);
return ($result) ? true : false; }
public function InsertarPersona($perId=null, $perCi=null, $perNombres=null,
$perApellidos=null, $perFechaNacimiento=null, $bauId=null,$parId=null) {
if($perId==null){
throw new Exception("¡Este no es un código válido!"); }
$perSql="INSERT INTO personas(
perId,perCi,perNombres,perApellidos,perFechaNacimiento,bauId,parId)
VALUE('".$perId."', '".$perCi."', '".$perNombres."', '".$perApellidos."',
'".$perFechaNacimiento."', '".$bauId."', '".$parId."')";
$result = mysql_query($perSql);
return ($result) ? true : false; }
public function returnSampleObject() { return $this; }
}
BautizoTest.php
require_once('bautizo.php');
class BautizoTest extends PHPUnit_Framework_TestCase{
public function setUp(){ }
public function tearDown(){ }
public function testConnectionIsValid() {
// prueba para asegurarse de que el objeto de un fsockopen es válido
$connObj = new Buatizos();
$bauId = '444';
$bauFechaBautizo='1987-01-01';
$bauPapa='Carlos';
$bauMama='Olga';
$bauPadrino='Luis';
$IdMinistro='1';
/*$this->assertTrue($connObj->InsertarBautizo($bauId !== false, $bauFechaBautizo
!== false,$bauPapa !== false, $bauPapa !== false,$bauMama !== false, $bauPadrino
!== false, $IdMinistro !== false));*/
$this->assertEquals(0,$connObj->InsertarBautizo($bauId,
$bauFechaBautizo,$bauPapa, $bauPapa,$bauMama , $bauPadrino , $IdMinistro ) );
$connObjPer = new Buatizos();
62
$perId='444';
$perCi='1003462999';
$perNombres='Galo';
$perApellidos='Barahona';
$perFechaNacimiento='1987-01-08';
/*$bauId='999';*/
$parId='1';
$this->assertEquals(0,$connObjPer->InsertarPersona($perId !== false, $perCi !==
false,$perNombres !== false, $perApellidos !== false,$perFechaNacimiento !== false,
$bauId !== false, $parId) );
}
}
Ilustración 26: Prueba de caja negra Autor: Álvaro A. Muñoz
Eliminar.php
include("conexion.php");
$link=Conectar();
class Eliminar{
public function EliminarBautizo($cod=null) {
if($cod==null){ throw new Exception("¡Este no es un código válido!");}
$consulta = "DELETE FROM bautizos WHERE BauId ='".$cod."'";
$result = mysql_query($consulta);
return ($result) ? true : false; }
public function returnSampleObject() {
return $this; }}
63
EliminarTest.php
require_once('Eliminar.php');
class EliminarTest extends PHPUnit_Framework_TestCase{
public function setUp(){ }
public function tearDown(){ }
public function testConnectionIsValid(){ $connObj = new Eliminar(); $cod = '3';
$this->assertTrue($connObj->EliminarBautizo($cod) !== false); }}
Ilustración 27: Prueba de Caja Negra Autor: Álvaro A. Muñoz
64
CONCLUSIONES
El sistema fue desarrolla para que el nivel de complejidad para el usuario se de
bajo nivel.
Con la capacidad y garantía del sistema Claustro, hacia el convento y sus
feligreses promete satisfacer su funcionalidad, usabilidad y navegabilidad.
Los resultados obtenidos luego de implantar el sistema fueron óptimas en cuanto
a su utilización ya que su interfaz muestra un entorno amigable, sencillo y de fácil
manipulación, apoyado en sus respectivos manuales.
El tiempo de la realización de las tareas es mucho menor, gracias a la facilidad de
manejo del sistema por parte de los usuarios, además de permitir búsquedas
rápidas
65
RECOMENDACIONES
Recibir capacitaciones para el buen manejo de la aplicación y un óptimo
rendimiento de la misma.
Forjar en los encargados del ingreso y manipulación de los datos un hábito de
crear respaldos constantes de la información.
Trabajar en una comunicación constante para solventar cualquier expectación en
cuanto a soporte e inquietudes se refiere.
BIBLIOGRAFÍA
Asenjo, J. S. (2011). Servidores de Aplicaciones Web.
DuBois. (2003). MySQL Second Edition: The definitive guide to using, programming,
and administering MySQL 4 databases . Developer’s Library.
Enrique E. Condor Tinoco, I. S. (2014). Programación Web con CSS, JavaScript, PHP
y AJAX. Jose Maria Arguedas.
Fernández, O. B. (2004). Introducción al lenguaje de programacion Java.
Fernandez, V. (2006). Desarrollo de los sitema de información: una metodologia
basada en el modelo. Barcelona: EDICIONS UPS.
Gauchat, J. D. (2013). el gran libro de HTML5, CSS3 y Javascript. marcombo.
Isaac Ojeda Quintana, M. M. (2012). jQuery & jQueryUI. ITCH II .
Luján Mora, S. (31 de Octubre de 2001). rua.ua.es. Obtenido de
http://rua.ua.es/dspace/handle/10045/16995
María, G. P. (24 de Junio de 2015). Obtenido de SlideShared:
http://es.slideshare.net/mariagarcia1510/cuadro-comparativo-de-manejadores-
de-la-base-de-datos
Mestras, J. P. (2012). Web, Servidores Web – Apache / Aplicaciones Web/Sistemas.
Madrid: UCM.
Noguera, J. S. (10 de 12 de 2012).
http://controldegestionadministrativajsnb.blogspot.com/. Obtenido de
http://controldegestionadministrativajsnb.blogspot.com/
Perez, J. E. (2008). Introduccion a Javascript.
PHP, G. d. (2002). Manual de PHP. Zend Technologies.
Rafaelma. (10 de Noviembre de 2010). postgresql.org.es. Obtenido de
http://www.postgresql.org.es/sobre_postgresql
Ramirez, J. C. (03 de 05 de 2015). GRYPUS. Obtenido de GRYPUS:
http://www.grypus.com/design/internet/49-redes-sociales/79-diferencias-entre-
paginas-web-y-portales
Roll, L. Q. (2008). Sistemas de Gestion de Base de datos / Modulo VII. Mexico: sgs.
Rouse, M. (enero de 2015). searchdatacenter.techtarget.com. Obtenido de
http://searchdatacenter.techtarget.com/es/definicion/MySQL
Santana, A. B. (2012). Prueba y Mantenimiento del Software. abesdih.
Támara, I. (2000). HTML & CSS. Bosston.
Toledo, F. (2014). Introduccion a las pruebas de sistemas de informacion . Uruguay:
Abstracta.
Voos, J. A. (2011). http://www.bioingenieria.edu.ar/. Obtenido de
http://www.bioingenieria.edu.ar/grupos/geic/biblioteca/Trabypres/T03TCAr10.p
df
web, C. d. (2008). Como Funciona la Web. Chile: LOM.