78
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

“UNIANDES” - IBARRAdspace.uniandes.edu.ec/bitstream/123456789/5649/1/TUAEXCOMSIS0… · ... CUADRO COMPARATIVO DE SGBD / MARIA ... eficiente facilitando el trabajo del administrador

  • Upload
    vanngoc

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

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.

18

19

20

Ilustración 4: Cuadro Comparativo de SGBD / Maria,2015

(María, 2015)

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

39

Ilustración 9 Modelo de la Base de Datos 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

46

3.2.2.1.7 DISEÑO DE SALIDAS

Ilustración 22 Diseño de Salidas: Reporte 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.

Wikipedia. (29 de mayo de 2015). Wikipedia La enciclopedia libre. Obtenido de

http://es.wikipedia.org/wiki/Aplicaci%C3%B3n_web

Zarzuela, G. R. (2002). Programación eXtrema y Software Libre.