• No se han encontrado resultados

Herramienta informática para la Gestión de Información sobre incidentes y accidentes ambientales en el sector industrial: caso de estudio: Empresa Ernesto Che Guevara

N/A
N/A
Protected

Academic year: 2020

Share "Herramienta informática para la Gestión de Información sobre incidentes y accidentes ambientales en el sector industrial: caso de estudio: Empresa Ernesto Che Guevara"

Copied!
100
0
0

Texto completo

(1)

I

ISMMM

INSTITUTO SUPERIOR MINERO METALURGICO DE MOA DR. ANTONIO NUÑEZ JIMENEZ

Ingeniería Informática

Facultad: Geología y Minas

Para Optar por el Título de

Ingeniero Informático

Título: HERRAMIENTA INFORMÁTICA PARA LA GESTIÓN DE

INFORMACIÓN SOBRE INCIDENTES Y ACCIDENTES

AMBIENTALES EN EL SECTOR INDUSTRIAL.

CASO DE ESTUDIO: EMPRESA ERNESTO CHE GUEVARA

Autor: Pricido Fidel Rusiaux Meriño

Tutor: Ing. Yanet Peña González

Moa, 2013

“Año 55 de la Revolución”

(2)

II

DECLARACIÓN DE AUTORÍA

Declaro que soy el único autor de este trabajo y autorizo al departamento de informática para que hagan el uso que estimen pertinente con este trabajo.

Para que así conste firmo la presente a los 2 días del mes de Julio del año 2013.

Pricido Fidel Rusiaux Meriño autor

Ing. Yanet Peña González tutor

(3)

III

Pensamiento

(4)

IV

Agradecimientos

A mi mamá ante todo, por siempre haber estado ahí en todo momento

y por encima de todo por cada momento vivido junto a ti y por los que

quedan.

A mi papá por ser como eres y por estar ahí cuando sea y para lo que

sea.

A mi familia porque siempre me apoyo cada instante en las buenas y

las malas

A mis hermanos no a los de sangre sino a los que considero mis

hermanos por los consejos y la ayuda que me han dado.

A mis tutores Yanet Peña y Exneider Proenza el por su

inestimable ayuda, guía y paciencia en todo momento.

(5)

V

Dedicatoria.

(6)

VI

RESUMEN

Las empresas industriales deben implantar un proceso para identificar los aspectos

medioambientales significativos asociados a cada una de sus actividades, productos o servicios,

que deberían de atenderse como prioritarios.

A su vez, dichas organizaciones deben establecer cuál es su situación actual respecto al medio

ambiente, mediante una revisión, en la que identificará la información obtenida a partir de las

investigaciones sobre incidentes y accidentes ocurridos, relacionando los aspectos

medioambientales significativos, así como sus consecuencias para el medio ambiente y para la

gestión de la empresa.

Con el objetivo de lograr un monitoreo y control sobre los procesos productivos de mayor impacto

en la ocurrencia de accidentes, adaptado al procedimiento interno de la Empresa minero-metalúrgica “Ernesto Che Guevara” (ECG) para la gestión de información de incidentes, accidentes

y averías, tomando los principios básicos de la norma ISO 14001 y según se encuentra legislado en

la Gaceta Oficial de la República de Cuba, en su decreto ley No.222 el reglamento de la ley de

minas, se propone en la presente investigación al desarrollo de un sistema informático para la

gestión de información de incidentes y accidentes ambientales que garantice una mejora en el

proceso llevado a cabo por los especialistas del grupo de Seguridad Industrial y Medio Ambiente de

la empresa.

Para el logro del resultado obtenido fue necesario apoyarse en las más novedosos herramientas de

(7)

VII

SUMMARY

The industrial companies should implant a process to identify the significant environmental aspects

associated to each one of their activities, products or services that you/they should assist as

high-priority.

In turn, this organizations should settle down which their current situation is regarding the

environment, by means of a revision, in which will identify the information obtained starting from the

investigations on incidents and happened accidents, relating the significant environmental aspects,

as well as their consequences for the environment and for the administration of the company.

With the objective of achieving a monitored and control on the productive processes of more impact

in the occurrence of accidents, adapted to the internal procedure of the Company miner-metallurgic

"Ernesto Che Guevara" (ECG) for the administration of information of incidents, accidents and

mishaps, taking the basic principles of the norm ISO 14001 and as it is legislated in the Official

Gazette of the Republic of Cuba, in their ordinance law No.222 the regulation of the law of mines,

intends in the present investigation the development of a computer system for the administration of

information of incidents and environmental accidents that it guarantees an improvement in the

process carried out by the specialists of the group of Industrial Security and Environment of the

company.

For the achievement of the obtained result it was necessary to lean on in the most novel

(8)

VIII

TABLA DE CONTENIDO

DECLARACIÓN DE AUTORÍA ... 2

RESUMEN ... 6

SUMMARY ... 7

TABLA DE CONTENIDO ... 8

ÍNDICE DE TABLA ... 10

INTRODUCCIÓN ... 1

1.1 Flujo actual de los procesos ... 4

1.2 Análisis crítico de la ejecución de los procesos. ... 5

1.3 Normas y resoluciones que rigen la investigación ... 6

1.4 Herramientas informáticas existentes vinculadas al campo de acción ... 7

1.5 Tendencias y tecnologías actuales ... 8

1.5.1 Aplicaciones Web ... 8

1.5.2 Ventajas de una WEB: ... 9

1.5.3 Servidores Web ... 11

1.5.4 Sistemas de Gestión de Bases de Datos ... 13

1.5.5 Lenguajes de Programación Web ... 15

1.5.6 Metodología propuesta para el desarrollo de la aplicación. ... 16

1.5.6.1 Programación Extrema (Extreme Programming, XP) ... 17

1.5.6.2 Valores que promueve XP ... 17

1.5.6.3 Prácticas en las que se fundamenta XP ... 18

1.5.6.4 Fases de la metodología XP ... 21

1.6 Patrones arquitectónicos ... 22

1.6.1 Patrón arquitectónico MVC ... 24

1.7 Herramientas a emplear en la propuesta de solución ... 25

CAPITULO II - PLANEACIÓN Y DISEÑO ... 27

2.1 Funcionalidades generales ... 27

Análisis de la gestión de información relacionada con incidentes y accidentes ambientales: ... 27

2.1.1 Personal relacionado con el sistema ... 27

2.1.2 Lista de reserva ... 28

2.1.3 Historias de usuario ... 30

2.2 Planificación de entregas ... 31

2.2.1 Estimación de esfuerzo por historias de usuario ... 31

2.2.2 Planificación de iteraciones ... 32

2.2.3 Plan de duración de las iteraciones ... 33

CAPÍTULO III - DESARROLLO Y PRUEBAS ... 35

3.1 Modelo de datos ... 35

3.2 Clases, responsabilidades y colaboradores ... 36

3.3 Desarrollo de las iteraciones ... 36

3.3.1 Tareas por historias de usuario ... 36

3.4 Pruebas ... 39

3.4.1 Pruebas de aceptación ... 39

CAPÍTULO IV - ESTUDIO DE FACTIBILIDAD ... 42

4.1. Evaluación Costo-Beneficio ... 42

4.2 Efectos Económicos. ... 42

(9)

IX

4.2.2 Efectos indirectos: ... 43

4.2.3 Efectos externos: ... 43

4.2.4 Intangibles ... 43

CONCLUSIONES GENERALES ... 47

RECOMENDACIONES ... 48

BIBLIOGRAFÍA ... 49

GLOSARIO DE TÉRMINO ... 52

ANEXO 1 Historias de usuarios ... 54

ANEXO 2 Tarjetas CRC ... 63

ANEXO 3 Tarjetas de tareas ... 68

ANEXO 4 Pruebas de aceptación ... 83

(10)

X

ÍNDICE DE TABLA

Tabla HU No.1: Gestión de empresa ... 54

Tabla HU No.2: Gestión de usuarios ... 55

Tabla HU No.3: Gestión del trabajador implicado ... 56

Tabla HU No.4: Gestión del suceso ... 57

Tabla HU No.5: Gestión de la corrección ... 58

Tabla HU No.6: Gestión de la comisión ... 59

Tabla HU No.7: Gestión de la investigación ... 60

Tabla HU No.8: Gestión de los investigadores ... 61

Tabla HU No.9: Gestión del tipo de evento en cuestión ... 62

Tabla Tarjeta CRC No.1 ... 63

Tabla Tarjeta CRC No.2 ... 63

Tabla Tarjeta CRC No.3 ... 64

Tabla Tarjeta CRC No.4 ... 64

Tabla Tarjeta CRC No.5 ... 65

Tabla Tarjeta CRC No.6 ... 65

Tabla Tarjeta CRC No.7 ... 66

Tabla Tarjeta CRC No.8 ... 66

Tabla Tarjeta CRC No.9 ... 67

Tabla Tarjeta de tarea No. 1 ... 68

Tabla Tarjeta de tarea No.2 ... 68

Tabla Tarjeta de tarea No. 3 ... 69

Tabla Tarjeta de tarea No. 4 ... 69

Tabla Tarjeta de tarea No. 5 ... 70

(11)

XI

Tabla Tarjeta de tarea No. 7 ... 70

Tabla Tarjeta de tarea No. 8 ... 71

Tabla Tarjeta de tarea No. 9 ... 71

Tabla Tarjeta de tarea No. 10 ... 72

Tabla Tarjeta de tarea No. 11 ... 72

Tabla Tarjeta de tarea No. 12 ... 72

Tabla Tarjeta de tarea No. 13 ... 73

Tabla Tarjeta de tarea No. 14 ... 73

Tabla Tarjeta de tarea No. 15 ... 74

Tabla Tarjeta de tarea No. 16 ... 74

Tabla Tarjeta de tarea No. 17 ... 74

Tabla Tarjeta de tarea No. 18 ... 75

Tabla Tarjeta de tarea No. 19 ... 75

Tabla Tarjeta de tarea No. 20 ... 76

Tabla Tarjeta de tarea No. 21 ... 76

Tabla Tarjeta de tarea No. 22 ... 76

Tabla Tarjeta de tarea No. 23 ... 77

Tabla Tarjeta de tarea No. 24 ... 77

Tabla Tarjeta de tarea No. 25 ... 78

Tabla Tarjeta de tarea No. 26 ... 78

Tabla Tarjeta de tarea No. 27 ... 78

Tabla Tarjeta de tarea No. 28 ... 79

Tabla Tarjeta de tarea No. 29 ... 79

Tabla Tarjeta de tarea No. 30 ... 80

Tabla Tarjeta de tarea No. 31 ... 80

Tabla Tarjeta de tarea No. 32 ... 80

(12)

XII

Tabla Tarjeta de tarea No. 34 ... 81

Tabla Tarjeta de tarea No. 35 ... 82

Tabla Tarjeta de tarea No. 36 ... 82

Tabla PA: Prueba para comprobar la de entrada de datos de usuarios. ... 83

Tabla PA: Prueba para comprobar la de entrada de datos de un suceso. ... 84

Tabla PA: Prueba para comprobar la de entrada de datos de una investigación. ... 85

Tabla PA: Prueba para comprobar la de entrada de datos de una comisión. ... 86

(13)

Pricido Fidel Rusiaux Meriño

Página 1

INTRODUCCIÓN

Para lograr un Desarrollo Sostenible, que consiga prevenir o minimizar los efectos no deseados

sobre el medio ambiente, consiguiendo a la vez un óptimo desarrollo económico, es imprescindible

realizar una correcta gestión medioambiental. Las empresas se encuentran actualmente ante la

necesidad de incorporar prácticas de gestión medioambiental, como un factor de desarrollo

estratégico y de competitividad, si quieren abrirse camino en un mercado cada vez más

desarrollado, exigente y preocupado por el entorno.

La empresa “Comandante Ernesto Che Guevara” ubicada en el municipio de Moa no está exenta

del proceso de monitoreo y control sobre los procesos productivos de mayor impacto en la

accidentalidad, por lo que cuenta con un procedimiento interno para la gestión de información de

incidentes, accidentes y averías a los que está sometida la empresa, además de contar con una

metodología para la investigación ante la ocurrencia de dichos fenómenos y con ello analizar los

datos obtenidos. Es esta empresa la que hemos tomamos como caso de estudio.

Por lo general, es difícil prevenir la mayoría de los accidentes naturales; en diversos países del

mundo, principalmente en aquellos en los que estos fenómenos son más frecuentes, se ha invertido

en sistemas para atender estas situaciones.

La mayoría de los accidentes de origen tecnológico son previsibles, por lo que se debe trabajar

principalmente en la prevención de estos fenómenos, sin descuidar la preparación e intervención

durante su ocurrencia.

En Cuba se encuentra legislado en la Gaceta Oficial de la República de Cuba, en su decreto ley

No.222 el reglamento de la ley de minas, en el cuál se encuentra intrínseca la seguridad del trabajo

en empresas mineras.

Actualmente la información de los incidentes, accidentes y averías se maneja por medio de hojas

de cálculo de Microsoft Excel y no se realiza un procesamiento inmediato de la información,

producto a que no se efectúa la gestión de manera oportuna y ágil lo que dificulta el manejo e

integración de la información, ocasionando a los especialistas de medio ambiente y seguridad

industrial involucrados un avance lento en la gestión de la información requerida para el posterior

análisis de los datos obtenidos, de modo que limita la orientación hacia las áreas con mayor

(14)

Pricido Fidel Rusiaux Meriño

Página 2

Problema Científico ¿Cómo perfeccionar la gestión de información de incidentes y accidentes

ambientales en el sector industrial?

Objeto de estudio: Sistema informático para la gestión de información de incidentes y accidentes

ambientales.

Campo de acción: Informatización del proceso de gestión de información de incidentes y

accidentes ambientales.

Objetivo general: Desarrollar un sistema informático que permita llevar a cabo la gestión de

información de incidentes y accidentes ambientales en el sector industrial.

Objetivos Específicos

 Establecer el estado del arte sobre la información disponible relacionada con incidentes y

accidentes ambientales.

 Realizar un estudio de las tecnologías y herramientas a utilizar para el diseño e

implementación de la aplicación.

 Implementar una aplicación que permita llevar a cabo la gestión integral de incidentes y

accidentes ambientales de la empresa.

Tareas

 Realizar un estudio de las normas, leyes, y procedimientos que regulan el proceso de

gestión integral de incidentes y accidentes ambientales.

 Estudiar el proceso de gestión de información de incidentes, accidentes y averías con los

especialistas de Medio Ambiente y Seguridad Industrial de la empresa.

 Selección del lenguaje de programación para implementar la aplicación.

 Estudio de las metodologías de Análisis y Diseño de sistemas informáticos para su posterior

selección.

 Diseñar e implementar la aplicación informática web para la gestión de la información de

(15)

Pricido Fidel Rusiaux Meriño

Página 3

Idea a defender: Con el desarrollo de un sistema informático para la gestión de información de

incidentes y accidentes ambientales en la Empresa Ernesto Che Guevara de Moa se perfeccionará

el manejo de datos para el Grupo de Seguridad Industrial y Medio Ambiente de la empresa.

Métodos Teóricos:

Análisis-síntesis: Utilizado en los fundamentos teóricos, en el procesamiento de la información, al

valorar el uso de la tecnología a utilizar e identificar los requerimientos del sistema de gestión de

información.

Histórico-lógico: Permitió la búsqueda de antecedentes del software, herramientas utilizadas y la

forma en que se gestionaba la documentación en la empresa en cuestión.

Hipotético – Deductivo: Para elaborar la idea a defender de la investigación la cual guiará el

proceso hasta la obtención de la solución al problema planteado.

Métodos empíricos:

Observación:

La presente investigación está estructurada por una introducción, cuatro capítulos, conclusiones,

recomendaciones, bibliografía, glosario de términos y anexos.

En el capítulo 1: Fundamentación Teórica, se analizan aspectos relacionados con los incidentes y

accidentes ambientales; se realiza un estudio acerca de los diferentes sistemas existentes

vinculados al campo de acción, además se presenta la metodología y las herramientas a utilizar en

el desarrollo del sistema propuesto.

En el capítulo 2: Planeación y Diseño, se hace uso de la metodología expuesta en el capítulo inicial

para el desarrollo del proyecto, abordando en detalles cada una de sus fases.

El capítulo 3: Desarrollo y Pruebas, se presentan los principales métodos y definiciones dentro de la

implementación de los flujos de trabajo. Se describen además las pruebas realizadas y sus

resultados.

En el capítulo 4: Estudio de Factibilidad y Sostenibilidad, se realiza un estudio de los esfuerzos

(16)

Pricido Fidel Rusiaux Meriño

Página 4

CAPITULO I - FUNDAMENTACIÓN TEÓRICA

En este capítulo se presenta una descripción general del escenario donde radica el objeto de

estudio, así como el campo de acción en que se trabaja. Se abordan las normas y leyes asociadas

al dominio del problema y a la solución planteada. Se presenta una visión sobre la herramienta a

desarrollar. Este capítulo constituye la base teórica para la comprensión del trabajo que se

desarrolla.

1.1 Flujo actual de los procesos

En la Unidad Básica de Seguridad, Salud y Medio Ambiente (UBSSMA) de la Empresa “Ernesto Che Guevara” se gestiona diariamente la información relacionada con incidentes, accidentes y

averías que ocurren en la entidad.

El proceso de gestión de información inicia cuando el gestor del proceso, ya sea jefe de brigada,

jefe de planta de producción, jefe operaciones, director de Unidad Básica u otro responsable,

identifica la desviación del régimen tecnológico, el cual es registrado en el libro de incidencias que

existe por cada área de la empresa y es clasificado como incidente o accidente natural o

tecnológico.

Luego, según el impacto, trascendencia e implicación ambiental del suceso ocurrido, se reporta el

mismo a la UBSSMA por medio de un informe preliminar que es enviado por correo electrónico, en

el cual se refleja el área afectada, la descripción del hecho, así como sus causas y consecuencias

iniciales, siendo almacenada dicha información en formato digital en carpetas contenedoras que

son identificadas por la fecha.

Una vez recibida la información se decide si es necesario investigar el suceso, de ser afirmativo se

procede a la activación de la investigación del acontecimiento con el objetivo de comprobar ¿qué

pasó?, ¿cómo pasó? y ¿por qué pasó?, para lo cual se crea una comisión que designa el Director

del Grupo Empresarial CUBANIQUEL, siendo la misma oficializada mediante Resolución. Dicha

comisión tiene como propósito determinar la forma de ocurrencia del incidente o accidente, los

trabajadores involucrados, las causas raíces o básicas que originaron el evento y consecuencias

detectadas en sentido general, así como las medidas correctivas y preventivas necesarias; además

se evalúan los costos reales y el grado de severidad y probabilidad de repetición y se calculan los

(17)

Pricido Fidel Rusiaux Meriño

Página 5 Finalmente, luego de concluir la exploración pertinente en un período de 10 días hábiles, se procede

a la realización de un informe de investigación de incidente o accidente ambiental para su

almacenamiento en formato digital e impreso.

1.2 Análisis crítico de la ejecución de los procesos.

Los factores o causas que afectan el proceso de gestión de información de incidentes y accidentes

ambientales para la evaluación de riesgos ambientales han sido identificados mediante técnicas de

observación directa y entrevistas en los departamentos de medio ambiente y seguridad industrial de

la empresa.

Información

Causas identificadas

 No existe retroalimentación inmediata de información.

 Aislamiento de información.

 Dificultad en el manejo de información.

 Dificultad de obtención de información en el momento requerido.

Tiempo

Causas identificadas

 Retraso en la entrega de la información.

 Retraso en el procesamiento de la información.

 Retraso en la elaboración de reportes de incidentes y accidentes ambientales.

Procedimientos

Causas identificadas

 Procesamiento mediante hojas de cálculo de Microsoft Excel.

 Procesamiento de datos en formas impresas.

El estudio de cada uno de los factores que influyen en la gestión de información de accidentes,

incidentes y averías para la evaluación de riesgos ambientales pueden contribuir en mayor

(18)

Pricido Fidel Rusiaux Meriño

Página 6 comprobar el grado de aporte de cada uno e identificar los que afectan en mayor proporción y

obtener la solución adecuada para cada uno de los factores que intervienen.

1.3 Normas y resoluciones que rigen la investigación

Seguidamente se describen cada una de las normas y leyes que regulan el desarrollo de la

presente investigación, mostrando los rasgos distintivos de cada una de ellas.

Norma ISO 14001

 La organización deberá establecer y mantener al día procedimientos para identificar y

responder a accidentes potenciales y situaciones de emergencia, y para prevenir y mitigar los

impactos medioambientales que puedan estar asociados con ellos.

 Además deberá revisar y corregir cuando sea necesario, sus planes de emergencia y

procedimientos de respuesta, en particular después de que ocurran accidentes o situaciones

de emergencia.

 La organización establecerá y mantendrá al día procedimientos documentados para vigilar y

medir de forma regular las características clave de sus operaciones y actividades que puedan

tener un impacto significativo en el medio ambiente.

OHSAS 18001: Normativa Internacional de Seguridad y Salud en el Trabajo

 Establece un modelo para la gestión de la prevención de los riesgos laborales. El fin de esta

norma consiste en proporcionar a las organizaciones un sistema de gestión de la seguridad y

la salud ocupacional (OHSAS), que permita identificar y evaluar riesgos laborales desde el

punto de vista de requisitos legales y definir la estructura organizativa, las responsabilidades,

la planificación de las actividades, los procesos, procedimientos, registros, etc., que permitan

(19)

Pricido Fidel Rusiaux Meriño

Página 7

Ley Nº 81 del Medio Ambiente

 Tiene como objeto establecer los principios que rigen la política ambiental y las normas

básicas para regular la gestión ambiental del Estado y las acciones de los ciudadanos y la

sociedad en general, a fin de proteger el medio ambiente y contribuir a alcanzar los objetivos

del desarrollo sostenible del país.

Decreto No. 222 Reglamento de la ley de minas

En la misma se encuentra intrínseca la seguridad del trabajo en empresas mineras donde se refleja

en el capítulo XI, artículo 71:

 la identificación, evaluación y control de los riesgos, incluyendo los planes de medidas,

 el cumplimiento de las regulaciones vigentes sobre seguridad en las minas, y

 la investigación, registro, y análisis de las causas que originaron accidentes del trabajo.

1.4 Herramientas informáticas existentes vinculadas al campo de acción

Entre los productos de software existentes desarrollados internacionalmente se muestran los

siguientes:

Prevengos: Software de gestión de seguridad y salud laboral

Prevengos es un software de gestión integral para la prevención de riesgos laborales, considerado

uno de los aplicativos más completo del mercado, que engloba todas las especialidades

preventivas:

Seguridad en el trabajo

Higiene industrial

Ergonomía y psicosociología aplicada

(20)

Pricido Fidel Rusiaux Meriño

Página 8 Incluye además una completa gestión comercial, administrativa, documental y estadística para un

perfecto control de la seguridad y salud ocupacional de múltiples empresas o entidades, sus

centros de trabajo y trabajadores.

El sistema se encuentra implantado en múltiples consultoras o servicios de prevención

ajenos, asociaciones de empresas con servicios de prevención mancomunados, empresas con

servicios de prevención propios y en diversas entidades con objeto educativo o divulgativo, tanto en

España como en Latinoamérica.(29)

ISOTools: Solución Informática para los Sistemas de Gestión.

Desarrollada en entorno Web con el objetivo de cumplir los requisitos de las normas ISO y de

modelos de Excelencia. ISOTools resulta una herramienta para implantar, mantener y mejorar

continuamente los Sistemas de Calidad, Medio Ambiente o Riesgos Laborales, entre otros.

ISOTools constituye un conjunto escalable de soluciones de innovación tecnológica para la

modernización y mejora de la gestión de los servicios y trabajo en equipo:

Comunicación.

Colaboración.

Coordinación.

Estos sistemas no son una opción viable debido a que para el uso de las mismas son de carácter

privado hay que pagar por licencias y por el software en general. (30)

1.5 Tendencias y tecnologías actuales

1.5.1 Aplicaciones Web

En la ingeniería de software se denomina aplicación web a aquellas aplicaciones 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 (HTML, JavaScript, Java, etc.) en la

(21)

Pricido Fidel Rusiaux Meriño

Página 9 Las aplicaciones web generan dinámicamente una serie de páginas en un formato estándar,

como HTML o XHTML, que soportan por los navegadores web comunes. Se utilizan lenguajes

interpretados en el lado del cliente, tales como JavaScript, para añadir elementos dinámicos a la

interfaz de usuario. Generalmente cada página web en particular se envía al cliente como un

documento estático, pero la secuencia de páginas ofrece al usuario una experiencia interactiva.

Durante la sesión, el navegador web interpreta y muestra en pantalla las páginas, actuando

como cliente para cualquier aplicación web. Una ventaja significativa es que las aplicaciones web

deberían funcionar igual independientemente de la versión del sistema operativo instalado en el

cliente. En vez de crear clientes para Windows, Mac OS X, GNU/Linux, y otros sistemas

operativos, la aplicación web se escribe una vez y se ejecuta igual en todas partes. (23)

Aunque existen muchas variaciones posibles, una aplicación web está normalmente estructurada

como una aplicación de tres-capas. En su forma más común, el navegador web ofrece la primera

capa y un motor capaz de usar alguna tecnología web dinámica (ejemplo: PHP, Java Servlets o

ASP, ASP.NET, CGI, ColdFusion, embPerl, Python (lenguajes de programación) o Ruby on

Rails) constituye la capa intermedia. Por último, una base de datos constituye la tercera y última

capa. (23)

El navegador web manda peticiones a la capa intermedia que ofrece servicios valiéndose de

consultas y actualizaciones a la base de datos y a su vez proporciona una interfaz de usuario.

(23)

1

.

5.2 Ventajas de una WEB:

Compatibilidad multiplataforma: Las aplicaciones Web tienen un camino mucho más

sencillo para la compatibilidad multiplataforma que las aplicaciones de software

descargables. Varias tecnologías incluyendo Java, Flash, ASP y Ajax permiten un desarrollo

efectivo de programas soportando todos los sistemas operativos principales. (24)

Actualización: Las aplicaciones basadas en Web están siempre actualizadas con el último

lanzamiento sin requerir que el usuario tome acciones pro-activas, y sin necesitar llamar la

atención del usuario o interferir con sus hábitos de trabajo, pues no se hace necesario iniciar

nuevas descargas y/o procedimientos de instalación (algunas veces imposible cuando usted

(22)

Pricido Fidel Rusiaux Meriño

Página 10  Inmediatez de acceso: Las aplicaciones basadas en Web no necesitan ser descargadas,

instaladas y configuradas. Usted accede a su cuenta online y están listas para trabajar sin

importar cuál es su configuración o su hardware. (28)

Menos requerimientos de memoria: Las aplicaciones basadas en Web tienen menos

demandas de memoria RAM de parte del usuario final que los programas instalados

localmente. Al residir y correr en los servidores del proveedor, esas aplicaciones basadas en

Web usan en muchos casos la memoria de las computadoras donde ellas corren, dejando

más espacio para correr múltiples aplicaciones sin incurrir en frustrantes deterioros en el

rendimiento. (28)

Menos Bugs: Las aplicaciones basadas en Web son menos propensas a colgarse y crear

problemas técnicos debido a software o conflictos de hardware con otras aplicaciones

existentes, protocolos o software personal interno. Con aplicaciones basadas en Web, todos

utilizan la misma versión, y todos los bugs pueden ser corregidos tan pronto como son

descubiertos. (28)

Precio: Las aplicaciones basadas en Web no requieren la infraestructura de distribución,

soporte técnico y marketing requerido por el software descargable tradicional. Esto permite

que las aplicaciones online cuesten una fracción de sus contrapartes descargables y no

totalmente gratuitas, mientras que ofrecen componentes adicionales y servicios Premium

como una opción. (24)

Múltiples usuarios concurrentes: Las aplicaciones basadas en Web pueden ser utilizadas

por múltiples usuarios al mismo tiempo. No hay más necesidad de compartir pantallas o

enviar instantáneas cuando múltiples usuarios pueden ver e incluso editar el mismo

documento de manera conjunta.

Los datos son más seguros: Si bien la ruptura de discos no va a desaparecer, es probable

que los usuarios escuchen mucho menos del tema. A medida que las compañías se hagan

cargo del almacenamiento de los datos del usuario, granjas de almacenamiento de datos

redundantes, altamente fiables, los usuarios van a tener mucho menos riesgo de perder sus

datos debido a una ruptura de disco impredecible o a un virus de la computadora. Las

(23)

Pricido Fidel Rusiaux Meriño

Página 11 resguardo de datos ya sea como una parte integral del servicio básico o como una opción

paga.(28)

1.5.3 Servidores Web

Un servidor Web es un programa que implementa el protocolo HTTP (Hypertext Transfer

Protocol). Este protocolo está diseñado para transferir lo que llamamos hipertextos, páginas Web

o paginas HTML (Hypertext Markup Language), textos complejos con enlaces, figuras,

formularios, botones y objetos incrustados como animaciones o reproducciones de sonidos.

Un servidor Web se encarga de mantenerse a la espera de peticiones HTTP llevada a cabo por

un cliente HTTP que solemos conocer como navegador. El navegador realiza una petición al

servidor y este le responde con el contenido que el cliente solicita. Entre los servidores Web más

utilizados se encuentran Microsoft Internet Information Server, Microsoft Personal Web Server,

Apache HTTP Server, Netscape Enterprise Server y Sun ONE Web Server.

Apache es el servidor Web más difundido y utilizado en Internet debido a su alta estabilidad,

seguridad, facilidad de expansión y por su costo ya que es software libre, lo que significa que se

distribuye por medio de una licencia gratuita y de código abierto; además se encuentra disponible

para una gran cantidad de sistemas operativos, tiene como fin crear un servidor HTTP (Web)

robusto, de nivel comercial, con innumerables características y de distribución gratuita. (23)

IIS (Internet Information Server), es el servidor web estándar del sistema operativo Windows

NT/2000/XP, ofrece varios servicios de Internet: servidor Web (o HTTP), servidor FTP y servidor

SMTP. (23)

Apache vs. IIS

Ventajas

IIS

- Fácil de usar.

- ASP preparado en la instalación por defecto.

- Soporte ODBC integrado.

- Configuración gráfica y en línea de comandos.

Apache

(24)

Pricido Fidel Rusiaux Meriño

Página 12 - Existen versiones virtualmente para cualquier sistema operativo.

- Excelente integración con PHP y MySQL.

- Es el servidor web por excelencia en la Red.

Características de Apache

1. Fundamentalmente corre sobre una multitud de plataformas y Sistemas Operativos.

2. Ofrece tecnología libre y de código abierto, otorgándole una transparencia y dando la

posibilidad de conocer que es lo que realmente estamos instalando.

3. Es un servidor Web altamente configurable y de diseño modular, capaz de ampliar su

funcionalidad y calidad de servicios.

4. Trabaja en conjunto con gran cantidad de Lenguajes de Programación interpretados

como PHP (PHP Hypertext Pre-processor), Perl, soporte con CGI (Common Gateway

Interface), Java, JSP (Java Server Pages) y otros lenguajes de script, el complemento ideal

para los sitios web dinámicos que vemos en la actualidad.

5. Es posible configurar y personalizar cada uno de los mensajes de error que se pueden

producir por la utilización del servidor.(23)

Inconvenientes:

IIS

- Multitud de nuevos fallos de seguridad.

- La mayoría de funcionalidad extra debe ser comprada separadamente.

- Sólo funciona en Windows NT/2000.

Apache

- No existe aún configuración gráfica oficial.

- Curva larga de aprendizaje para sacarle el máximo partido.

XAMPP

Es un paquete formado por un servidor web Apache, una base de datos MySQL y los intérpretes

para los lenguajes PHP y Perl. El nombre proviene de X (para cualquier sistema operativo), A

(Apache), M (MySQL), P(PHP), P (Perl). El programa esta liberado bajo la licencia GNU y actúa

como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente

(25)

Pricido Fidel Rusiaux Meriño

Página 13 XAMPP es regularmente actualizado para incorporar las últimas versiones de Apache/MySQL/PHP

y Perl. También incluye otros módulos como OpenSSL, y PhpMyAdmin. Para instalar XAMPP

requiere solamente una pequeña fracción del tiempo necesario para descargar y configurar

programas por separado.

Oficialmente, los diseñadores de XAMPP solo pretendían su uso como una herramienta de

desarrollo, para permitir a los diseñadores de sitios webs y programadores testear su trabajo en sus

propios ordenadores sin ningún acceso a Internet. En la práctica sin embargo, XAMPP es utilizado

actualmente para servidor de sitios webs en WWW, y con algunas modificaciones es generalmente

lo suficientemente seguro para serlo. Una herramienta especial es suministrada para proteger

fácilmente las partes más importantes del paquete. (24)

1.5.4 Sistemas de Gestión de Bases de Datos

Los sistemas de gestión de base de datos (SGBD); en inglés: Database management system,

abreviado DBMS son un tipo de software muy específico, dedicado a servir de interfaz entre la base

de datos, el usuario y las aplicaciones que la utilizan.

El propósito general de los sistemas de gestión de base de datos es el de manejar de manera clara,

sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información

relevante, para un buen manejo de datos. Entre los SGBD disponibles en el mercado se

encuentran: PostgreSQL, MySQL, Firebird, SQLite, Oracle, Microsoft SQL Server, entre otros.

MySQL

Es una base de datos relacional de libre distribución con una potencia, usada principalmente como

soporte de portales web que necesitan manejar datos dinámicamente, es una alternativa a los

grandes servidores de bases de datos basados en Microsoft SQL Server y Oracle. MySQL se

destaca especialmente por su velocidad al efectuar lecturas y búsquedas en la base de datos.

Es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva

datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite

velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible

combinar datos de diferentes tablas sobre pedido.

Entre diez competidores principales de MySQL, se puede citar a PostgreSQL, Microsoft SQL Server

(26)

Pricido Fidel Rusiaux Meriño

Página 14  Alto rendimiento

 Bajo coste

 Facilidad de configuración y aprendizaje

 Portabilidad

MySQL vs Postgres

El principal objetivo de diseño de MySQL es la velocidad; consume muy pocos recursos tanto de

CPU como de memoria; presenta ventajas como mayor rendimiento, mayor velocidad al conectar

con el servidor, mejores utilidades de administración (backup, recuperación de errores, etc), aunque

se cuelgue, no suele perder información ni corromper los datos, mejor integración con PHP, no hay

límites en el tamaño de los registros, mejor control de acceso, en el sentido de qué usuarios tienen

acceso a qué tablas y con qué permiso, MySQL se comporta mejor que Postgres a la hora de

modificar o añadir campos.

A su vez, Postgres intenta ser un sistema de bases de datos de mayor nivel que MySQL, a la altura

de Oracle, Sybase o Interbase. Por su arquitectura de diseño, escala muy bien al aumentar el

número de CPUs y la cantidad de RAM. Tiene ciertas características orientadas a objetos.

Entre sus inconvenientes, se aprecia que consume más recursos y carga más el sistema. Límite del

tamaño de cada fila de las tablas a 8k (se puede ampliar a 32k recopilando, pero con un coste

añadido en el rendimiento). Es de 2 a 3 veces más lenta que MySQL y presenta menos funciones

en PHP. (23)

MySQL vs Microsoft SQL Server

El SQL Server 2000 solo trabaja en las plataformas basadas en Windows, incluyendo Windows 9x,

WINDOWS NT, Windows 2000, Windows CE y otras versiones posteriores. Comparado con el SQL

Server 2000, MySQL trabaja en todas las plataformas conocidas, incluyendo las plataformas

Basadas en Windows, los sistemas AIX-based, sistemas HP-UX, Linux Intel, Sun Solaris y así

sucesivamente.

SQL Server 2000 necesita aproximadamente de 128 MB RAM, de un procesador Pentium 166 MHz

y de un espacio de disco de aproximadamente 270 MB para una completa instalación.

MySQL usa menos recursos del hardware. Para instalar MySQL, se necesita 32 RAM de Mb y casi

(27)

Pricido Fidel Rusiaux Meriño

Página 15 El SQL Server 2000 está actualmente disponible bajo dos opciones de autorización:

 La licencia del procesador.

 Licencia de acceso puesto cliente/ Servidor.

La licencia del procesador requiere una sola licencia por cada CPU en el que se va a correr

el SQL Server 2000 e incluye accesos ilimitados a clientes, esta licencia normalmente es

más barata que la del acceso puesto cliente/ Servidor pues requiere una licencia para el

servidor y las licencias para cada dispositivo del cliente. (23)

MySQL vs Oracle

Oracle es un sistema de administración de base de datos, es un producto vendido a nivel

mundial, aunque la gran potencia que tiene y su elevado precio hacen que sólo se vea en

empresas muy grandes y multinacionales, por norma general. En el desarrollo de páginas web

pasa lo mismo: como es un sistema muy caro no está tan extendido como MySQL, esta

última por tener licencia Software Libre recientemente le está haciendo competencia en el

mercado mundial pues hasta hace poco Oracle tenía su dominio casi total en el mercado de

servidores empresariales. (23)

1.5.5 Lenguajes de Programación Web

En el dominio de la red, los lenguajes de lado servidor más ampliamente utilizados para

el desarrollo de páginas dinámicas son el ASP, PHP, entre otros.

PHP (Hypertext Preprocessor), es un lenguaje interpretado de alto nivel embebido en

páginas HTML. La mayoría de su sintaxis es similar a C, Java y Perl, con numerosas

características de PHP específicas. La meta de este lenguaje es permitir escribir a los

creadores de páginas web, páginas dinámicas de una manera rápida y fácil.

ASP (Active Server Pages), desarrollado por Microsoft para funcionar junto a su servidor IIS,

es un lenguaje poderoso sobre todo si se va a utilizar herramientas de Microsoft en

conjunto como SQL Server.

PHP vs ASP

Velocidad

Uno de los principales problemas en los portales de Internet que soportan una gran carga de

usuarios es la velocidad de respuesta de su servidor, por lo que este debería ser un punto

crítico al elegir un lenguaje u otro.

(28)

Pricido Fidel Rusiaux Meriño

Página 16 arquitectura de objetos COM, y por lo tanto, cuando un programador de ASP usa VBScript

realmente está corriendo un objeto COM. Si escribe un simple texto en la salida estándar,

estaría llamando al objeto Response del método Write. Si accede a una base de datos, debe

usar otro objeto, etc. Todo esto sobrecarga y hace más lento el sistema.

En cambio, al usar PHP todas las operaciones se realizan en el espacio de memoria de

PHP. Esto significa que el código PHP ejecutará más rápido ya que no debe cargar

dinámicamente ningún otro objeto en memoria en la ejecución de un programa.

Costes Ocultos

Una de las cosas que se suelen pasar por alto al usar un software determinado son los costes

ocultos o derivados de la primera compra.

ASP cumple con esta especificación, es decir, un desarrollador posiblemente no pueda

realizar todas las tareas que necesita con las opciones que ofrece ASP por defecto; si

necesita encriptación comprará ASPEncrypt, si necesita gestión de correo comprará Qmail

de ServerObject, por ejemplo, si necesita subir ficheros (file uploading) al servidor

comprará SA-FileUP de Artisans.

Todo esto y más están disponibles en PHP gratuitamente.

PHP vs ASP con respecto a su ejecución en sistemas operativos

PHP es un lenguaje multiplataforma. Un script PHP normal puede ejecutarse sin cambiar ni una

sola línea de código en cualquier servidor que interprete PHP, es decir, en servidores Windows,

Linux etc. ASP, por contra, es un lenguaje propietario de Microsoft y solo puede ejecutarse en

servidores Microsoft.

1.5.6 Metodología propuesta para el desarrollo de la aplicación.

El desarrollo de software no es una tarea fácil, prueba de ello es que existen numerosas propuestas

metodológicas que inciden en distintas dimensiones del proceso de desarrollo. Por una parte

tenemos aquellas propuestas más tradicionales que se centran especialmente en el control del

proceso, estableciendo rigurosamente las actividades involucradas, los artefactos que se deben

producir, las herramientas y anotaciones que se usarán. Estas propuestas han demostrado ser

efectivas y necesarias en un gran número de proyectos, pero también han presentado problemas

(29)

Pricido Fidel Rusiaux Meriño

Página 17 Una posible mejora es incluir en los procesos de desarrollo más actividades, artefactos y

restricciones, basando en los puntos débiles detectados, sin embargo, el resultado final sería un

proceso de desarrollo más complejo que puede incluso limitar la propia habilidad del equipo para

llevar a cabo el proyecto. Otra aproximación es centrarse en otras dimensiones, como por ejemplo

el factor humano o el producto software. Esta es la filosofía de las metodologías ágiles, las cuáles

dan mayor valor al individuo, a la colaboración con el cliente y al desarrollo incremental del software

con iteraciones muy cortas.

Este enfoque ha mostrado su efectividad en proyectos con requisitos muy cambiantes y cuando se

exige reducir drásticamente los tiempos de desarrollo, no obstante, mantiene una alta calidad. Las

metodologías ágiles están revolucionando la manera de producir software, y a la vez generando un

amplio debate entre sus seguidores y quienes por escepticismo o convencimiento no las ven como

alternativa para las metodologías tradicionales.

1.5.6.1 Programación Extrema (Extreme Programming, XP)

XP es una metodología ágil, centrada en potenciar las relaciones interpersonales como clave para

el éxito en desarrollo de software, promoviendo el trabajo en equipo, se preocupa por el aprendizaje

de los desarrolladores, y propicia un buen clima de trabajo. Se basa en realimentación continua

entre el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes,

simplicidad en las soluciones implementadas y coraje para enfrentar los cambios. Se define como

especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde

existe un alto riesgo técnico.

Los principios y prácticas son de sentido común pero llevadas al extremo, de ahí proviene su

nombre. Kent Beck, el padre de XP, que describe la filosofía de XP en el "Manifiesto Ágil", sin cubrir

los detalles técnicos y de implantación de las prácticas. Posteriormente, otras publicaciones de

experiencias se han encargado de dicha tarea. (26)

1.5.6.2 Valores que promueve XP

(30)

Pricido Fidel Rusiaux Meriño

Página 18

Simplicidad: XP propone el principio de hacer las cosas más simple que pueda funcionar, en

relación al proceso y la codificación. Es mejor hacer hoy algo simple, que hacerlo complicado y

probablemente nunca usarlo mañana.

Comunicación: Algunos problemas en los proyectos tienen su origen en que alguien no dijo algo

importante en algún momento. XP hace imposible la falta de comunicación.

Retroalimentación: Retroalimentación concreta y frecuente del cliente, del equipo y de los usuarios

finales da una mayor oportunidad de dirigir el esfuerzo eficientemente.

Coraje: El coraje (valor) existe en el contexto de los otros 3 valores. (25)

1.5.6.3 Prácticas en las que se fundamenta XP

Planificación incremental

La programación extrema asume que la planificación nunca será perfecta, y que variará en función

de cómo varíen las necesidades del negocio. Por tanto, el valor real reside en obtener rápidamente

un plan inicial, y contar con mecanismos de retroalimentación que permitan conocer con precisión

dónde se está. Como es lógico, la planificación es iterativa: un representante del negocio decide al

inicio de cada iteración qué características concretas se van a implementar.

El objetivo de XP es generar versiones de la aplicación tan pequeñas como sea posible, pero que

proporcionen un valor adicional claro, desde el punto de vista del negocio. A estas versiones se les

denomina releases.(25)

Un release cuenta con un cierto número de historias. La historia es la unidad de funcionalidad en un

proyecto XP, y corresponde a la mínima funcionalidad posible que tiene valor desde el punto de

vista del negocio. Durante cada iteración se cierran varias historias, lo que hace que toda iteración

añada un valor tangible para el cliente.(25)

Gran parte de la eficacia de este modelo de planificación se deriva de una división clara de

responsabilidades, que tiene en cuenta las necesidades del negocio en todo momento. Dentro de

esta división, el representante del cliente tiene las siguientes responsabilidades:

(31)

Pricido Fidel Rusiaux Meriño

Página 19  Fijar las fechas de fin de un release, recortando unas características o añadiendo otras.

 Priorizar el orden de implementación, en función del valor de negocio.

Las responsabilidades del equipo de desarrollo son las siguientes:

 Estimar cuánto tiempo llevará una historia de usuario, esto es fundamental para el cliente, y

puede llevarle a reconsiderar qué historias se deben incluir en una iteración.

 Proporcionar información sobre el coste de utilizar distintas opciones tecnológicas.

 Organizar el equipo.

 Estimar el riesgo de cada historia.

 Decidir el orden de desarrollo de historias dentro de la iteración.

Testing

La ejecución automatizada de tests es un elemento clave de la metodología XP. Existen tanto tests

internos (o tests de unidad), para garantizar que el mismo es correcto, como tests de aceptación,

para garantizar que el código hace lo que debe hacer. El cliente es el responsable de definir los

tests de aceptación, no necesariamente de implementarlos. Él es la persona mejor calificada para

decidir cuál es la funcionalidad más valiosa.

Un efecto lateral importante de los tests, es que dan una gran seguridad a los desarrolladores; es

posible llegar a hacer cambios más o menos importantes sin miedoa problemas inesperados, dado

que proporciona una red de seguridad. La existencia de tests hace al código muy maleable. (26)

Diseño simple

Una práctica fundamental de la programación extrema es utilizar diseños tan simples como sea

posible. El principio es "utilizar el diseño más sencillo que consiga que todo funcione". La

metodología XP nos pide, que no se viva bajo la ilusión de que un diseño puede resolver todas o

gran parte de las situaciones futuras.

XP define un “diseño tan simple como sea posible” aquel que pasa todos los tests, no contiene

código duplicado, deja clara la intención de los programadores (enfatiza el qué, no el cómo) en

(32)

Pricido Fidel Rusiaux Meriño

Página 20

Propiedad colectiva del código

XP aboga por la propiedad colectiva del código. En otras palabras, todo el mundo tiene autoridad

para hacer cambios a cualquier código, y es responsable de ellos. Esto permite no tener que estar

esperando a otros cuando todo lo que hace falta es algún pequeño cambio. (26)

Integración continua

En muchos casos la integración de código produce efectos laterales imprevistos, y en ocasiones

esta puede llegar a ser realmente traumática, cuando dejan de funcionar cosas por motivos

desconocidos. La programación extrema hace que la integración sea permanente, con lo que todos

los problemas se manifiestan de forma inmediata. (26)

Clientes en el equipo

Algunos de los problemas más graves en el desarrollo son los que se originan cuando el equipo

toma decisiones de negocio críticas. Esto no debería ocurrir, pero en el momento cumbre, con

frecuencia no se obtiene retroalimentación del cliente con la fluidez necesaria. (26)

La metodología XP intenta resolver este tipo de problemas integrando un representante del negocio

dentro del equipo de desarrollo. Esta persona siempre está disponible para resolver dudas y para

decidir qué se hace en cada momento, en función de los intereses del negocio. (26)

Entregas pequeñas

Siguiendo la política de la metodología XP, de dar el máximo valor posible en cada momento, se

intenta liberar nuevas versiones de las aplicaciones con frecuencia. Estas deben ser tan pequeñas

como sea posible, aunque deben añadir suficiente valor, para que resulten meritorias para el

cliente. (26)

Semana de 40 horas

La programación extrema lleva un modo de trabajo en el que el equipo siempre está al 100%. Una

semana de 40 horas en las que se dedica la mayor parte del tiempo a tareas que suponen un

avance puede dar mucho de sí, y hace innecesario recurrir a sobreesfuerzos, excepto en casos

extremos. Además, el esfuerzo continuado pronto lleva a un rendimiento menor y a un deterioro de

(33)

Pricido Fidel Rusiaux Meriño

Página 21

1.5.6.4 Fases de la metodología XP

Fase I: Planificación

 Se escriben historias de usuario, cuya idea principal es describir un caso de uso en dos o

tres líneas con terminología del cliente (de hecho, se supone que deben ser escritos por el

mismo), de tal manera que se creen test de aceptación para historias de usuarios (user

storie) y permita hacer una estimación de tiempo de desarrollo del mismo.

 Se crea un plan de lanzamiento (release planning), que debe servir para crear un calendario

que todos puedan cumplir y en cuyo desarrollo hayan participado todas las personas

involucradas en el proyecto. Se usa como base las historias de usuario, participando el

cliente en la elección de las que se desarrollarán, y según las estimaciones de tiempo de los

mismos se crearán las iteraciones del proyecto.

 El desarrollo se divide en iteraciones, cada una de las cuales comienzan con un plan de

iteración, para el que se eligen las historias de usuario a desarrollar y las tareas de

desarrollo.

 Se cambia el proceso cuanto sea necesario, para adaptarlo al proyecto.

Fase II: Diseño

 Se eligen los diseños funcionales más simples.

 Se elige una metáfora del sistema para que el nombrado de clases, siga una misma línea,

facilitando la reutilización y la comprensión del código.

 Se escriben tarjetas de clase-responsabilidades-colaboración (CRC) para cada objeto, que

permitan abstraerse al pensamiento estructurado y que el equipo de desarrollo completo

participe en el diseño.

Fase III: Codificación

 El cliente está siempre disponible, de ser posible, cara a cara. La idea es que forme parte del

equipo de desarrollo, y esté presente en todas las fases de XP. La idea es usar el tiempo del

cliente para estas tareas en lugar de crear una detallada especificación de requisitos, y evitar

(34)

Pricido Fidel Rusiaux Meriño

Página 22  El código se ajustará a unos estándares de codificación, asegurando la consistencia y

facilitando la comprensión y refactorización del código.

 Las pruebas unitarias se codifican antes que el código en sí, haciendo que la codificación de

este último sea más rápida, y que cuando se afronte la misma se tenga más claro, qué

objetivos tiene que cumplir lo que se va a codificar.

 La programación del código se realiza en parejas, para aumentar la calidad del mismo. En

cada momento, sólo habrá una pareja de programadores que integre código.

 Se integra código y se lanza dicha integración de manera frecuente, evitando divergencias

en el desarrollo y permitiendo que todo el mundo trabaje con la última versión del desarrollo.

De esta manera, se evitará pasar grandes períodos de tiempo integrando el código al final

del desarrollo, ya que las incompatibilidades serán detectadas enseguida.

 Se usa la propiedad colectiva del código, lo que se traduce en que cualquier programador

puede cambiar cualquier parte del código. El objetivo es fomentar la contribución de ideas

por parte de todo el equipo de desarrollo.

 Se deja la optimización para el final.

 No se hacen horas extra de trabajo.

Fase IV: Pruebas

 Todo el código debe tener pruebas unitarias, y debe pasarlas antes de ser lanzado.

 Cuando se encuentra un error de codificación o bug, se desarrollan pruebas para evitar

volver a caer en el mismo.

 Se realizan pruebas de aceptación frecuentemente, publicando los resultados de las mismas.

Estas pruebas son generadas a partir de las historias de usuarios (HU) elegidas para la

iteración, y son "pruebas de caja negra", en las que el cliente verifica el correcto

funcionamiento de lo que se está probando. Cuando se pasa la prueba de aceptación, se

considera que la correspondiente historia de usuario se ha completado. (25)

1.6 Patrones arquitectónicos

Arquitectura en capas - Los sistemas o arquitecturas en capas constituyen uno de los estilos que aparecen con mayor frecuencia mencionados como categorías mayores del catálogo o por el

contrario, como una de las posibles imágenes de algún estilo envolvente. (Reynoso, Kiccillof, 2004)

(35)

Pricido Fidel Rusiaux Meriño

Página 23 servicios a la capa inmediatamente superior y se sirve de las prestaciones de la inmediatamente

inferior.

La arquitectura por capas es un estilo de arquitectura en la que el objetivo primordial es la

separación de la lógica de negocio de la lógica de diseño, un ejemplo básico es separar la capa de

datos, de la capa de presentación al usuario. La ventaja principal de este estilo, es que el desarrollo

se puede llevar a cabo en varios niveles y en caso de algún cambio, sólo se ataca al nivel requerido

sin tener que revisar entre código mezclado. Además permite distribuir el trabajo de creación de

una aplicación por niveles, de este modo, cada grupo de trabajo está totalmente abstraído del resto

de los niveles, simplemente es necesario conocer las API que existen entre niveles.

El diseño de sistemas informáticos suele usar las arquitecturas multinivel o programación por

capas. En dichas arquitecturas a cada nivel se le confía una misión simple, lo que permite el diseño

de arquitecturas escalables, (que pueden ampliarse con facilidad en caso de que las necesidades

aumenten). El diseño con mayor aceptación actualmente es el diseño en tres capas Modelo Vista

Controlador (MVC).

Figura 1.1 Arquitectura en tres capas

Capas o niveles

 Capa de presentación o interfaces: es la capa de que le permite al usuario interactuar con el

sistema, captura y le comunica la información al mismo, dando un mínimo de proceso,

(realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se

(36)

Pricido Fidel Rusiaux Meriño

Página 24  Capa de lógica o de negocio: es donde residen los programas que se ejecutan, recibiendo

las peticiones del usuario y enviando las respuestas tras el proceso. Se denomina capa

de negocio e incluso lógica del negocio, pues es aquí donde se establecen las reglas que

deben cumplirse. Esta capa se comunica con la de presentación para recibir las solicitudes y

presentar los resultados, y con la capa de datos para solicitar al gestor de bases de datos

para almacenar o recuperar datos de él.

 Capa de datos: es donde se ubican los datos. Está formada por uno o más gestores de

bases de datos que realizan todo el almacenamiento de los mismos, reciben solicitudes de

almacenamiento o de recuperación de información desde la lógica del negocio.

Todas estas capas pueden residir en un único ordenador, esto no sería lo normal, lo más usual es

que haya una multitud de ordenadores donde reside la capa de interface (son los clientes de la

arquitectura cliente/servidor). Las capas de negocio y de datos pueden residir en un mismo

ordenador, y si el crecimiento de las necesidades lo aconseja, pueden dividirse en dos o más

ordenadores. Así, si el tamaño o complejidad de la base de datos aumenta, pueden separarse en

varios ordenadores los cuáles recibirán las peticiones del ordenador en que resida la capa de

negocio. Si por el contrario, la complejidad fuese en la capa de negocio lo que obligase a la

separación, esta lógica del negocio podría residir en uno o más ordenadores que realizarían las

solicitudes a una única base de datos. (28)

1.6.1 Patrón arquitectónico MVC

Modelo: Representa la información con la que trabaja la aplicación, es decir, su lógica de

negocio.

Vista: Presenta el modelo en un formato adecuado, como en una página Web que le permite

al usuario interactuar con ella, usualmente un elemento de interfaz.

Controlador: Responde a eventos, usualmente acciones del usuario y realiza los cambios

apropiados en el modelo o en la vista.

La arquitectura MVC separa la lógica de negocio (el modelo) y la presentación (la vista) logrando un

mantenimiento más rápido y sencillo de las aplicaciones. Para el caso de la Web, si se fuera a

mostrar una misma aplicación en un navegador estándar, como en un navegador de un dispositivo

móvil, sólo es necesario crear una vista nueva por cada dispositivo; manteniendo el controlador y el

(37)

Pricido Fidel Rusiaux Meriño

Página 25 protocolo utilizado para las peticiones (Aplicación de escritorio, HTTP, consola de comandos,

e-mail). El modelo se encarga de la abstracción de la lógica relacionada con los datos, haciendo que

la vista y las acciones sean independientes de, por ejemplo, el tipo de gestor de bases de datos

utilizado por la aplicación (24).

1.7 Herramientas a emplear en la propuesta de solución

Luego del estudio realizado se arriba a la conclusión de que el sistema estará guiado por la

metodología de desarrollo XP por sus facilidades, documentación y flexibilidad, además es la que

mejor se adapta a las condiciones de desarrollo del sistema propuesto.

Se empleó la herramienta de modelado de datos Embarcadero ER/Studio para el diseño y la

construcción lógica y física de la base de datos. Su ambiente es de gran alcance y multinivel.

Simple y fácil al usuario, ayuda a las organizaciones para tomar decisiones en cómo resolver

embotellamientos de los datos, elimina redundancia y alcanza en última instancia usos de más alta

calidad que entreguen datos más eficientes y exactos a la empresa.

En la implementación del sistema, fue utilizado el entorno de programación; Dreamweaver, sin

lugar a dudas, es unas de las herramientas más utilizadas por los webmasters para el trabajo con

aplicaciones visuales en este caso en el diseño e implementación de páginas Web. Se adapta

increíblemente a las necesidades de todo tipo de profesional de diseño Web, tanto para los que

prefieren programar el código directamente en el editor de código como para los que gustan del

ambiente visual pueden trabajar con el editor de vista. Se trata de un editor de texto especialmente

diseñado para trabajar con documentos Web como HTML, PHP, ASP, JavaScript, entre otros.

Por otro lado este entorno de desarrollo soporta el lenguaje de programación PHP, el cual fue

seleccionado para el desarrollo de la aplicación por las características ventajosas que brinda en

comparación con otros lenguajes de programación. Como servidor Web: Apache,sustancialmente,

es un proyecto nacido para crear un servidor de web estable, fiable y veloz para plataformas Unix.

Apache nace, por una parte, de un código ya existente y de una serie de parches (patch) para

mejorar su fiabilidad y sus características.

Como Sistema Gestor de Base de Datos se determina el uso de MySQL, por su rapidez cuando se

trabaja con una base de datos pequeña o mediana, además de estar totalmente integrado con los

entornos de desarrollo seleccionados y el lenguaje de programación escogido. La aplicación se

(38)

Pricido Fidel Rusiaux Meriño

Página 26

Conclusiones

En este capítulo se ha hecho referencia a los conceptos, normas y leyes afines a la gestión integral

de incidentes y accidentes ambientales en el sector industrial, se detallaron las condiciones y

problemas actuales que rodean el objeto de estudio; además se reflejaron los sistemas

desarrollados vinculados a la investigación; se han fundamentado las herramientas que se utilizarán

(39)

Pricido Fidel Rusiaux Meriño

Página 27

CAPITULO II - PLANEACIÓN Y DISEÑO

En este capítulo, se introducen las fases de planeación y diseño, donde son detalladas las

necesidades del cliente, se describen las funcionalidades que serán objeto de automatización

mediante el empleo de las historias de usuarios (HU); se realiza una estimación del esfuerzo

necesario para las mismas y es establecido un plan de iteraciones necesarias sobre el sistema, para

su terminación.

2.1 Funcionalidades generales

Debido a la necesidad de mejorar la gestión de la información referente a incidentes y accidentes

ambientales es implementa el siguiente sistema informático el cual se encargará del manejo de los

reportes emitidos en las diferentes áreas de la empresa.

Análisis de la gestión de información relacionada con incidentes y accidentes

ambientales:

Se encargará de la centralización, gestión y emisión de reportes, así como dar a conocer las

comisiones que estarán encargadas de la investigación del suceso.

2.1.1 Personal relacionado con el sistema

Personas relacionadas con el sistema

Justificación

Especialista de medio ambiente Es la persona que recepciona la información sobre incidentes y accidentes ambientales ocurridos en la empresa.

Especialista de seguridad industrial Es la persona que recepciona información sobre incidentes y accidentes de trabajo, así como averías que hayan ocurrido en la empresa.

(40)

Pricido Fidel Rusiaux Meriño

Página 28

ambiental.

Desarrollador Es la persona responsable de llevar a cabo la implementación del sistema.

Tabla 2.1 Personas relacionadas con el sistema

2.1.2 Lista de reserva

Después de conocer el personal relacionado con el sistema, se procede a realizar el análisis de las

funcionalidades que debe cumplir la aplicación para dar respuesta a los mismos. Para ello se

enumerarán mediante una lista de reserva, las funcionalidades que el sistema debe ser capaz de

cumplir.

De acuerdo a lo antes expuesto, el sistema debe ser capaz de:

1. Gestionar empresa

a) Insertar empresa.

b) Asignar empresa.

c) Eliminar empresa.

2. Gestionar usuarios

a) Insertar usuarios.

a) Asignar usuarios.

b) Eliminar usuarios.

c) Mostrar usuarios registrados.

3. Gestionar trabajadores implicados

a) Insertar trabajadores implicados.

b) Eliminar trabajadores implicados.

c) Modificar trabajadores implicados.

d) Mostrar trabajadores implicados.

4. Gestionar sucesos.

Referencias

Documento similar

Missing estimates for total domestic participant spend were estimated using a similar approach of that used to calculate missing international estimates, with average shares applied

Nombre Tarea: Mostrar accesos por código de respuesta mediante una gráfica de pastel Tipo de Tarea: Desarrollo Puntos Estimados: 0.2 semana Fecha Inicio: 29-04-2014 Fecha

[r]

Gutiérrez, 1987) y (Osborne & Freyberg, El Aprendizaje de las Ciencias. Influencia de las 'ideas previas' de los alumnos., 1995) centrando y destacando la selección de

Prefecto [...] Para este día teníamos arreglada una modesta fiestecita con motivo de la bendición del lighter load [rancho para lanchas] pero todo fue dejado

Nombre tarea: Crear interfaz Wap para gestionar el seguimiento del servicio Tipo de tarea : Desarrollo Puntos estimados: 0,6 Fecha inicio: 23/04/2007 Fecha fin:

Nombre Tarea: Diseño de la interfaz Insertar Proyectos del Profesor Tipo de Tarea : Desarrollo Puntos Estimados: 1 Fecha Inicio: 8/4/09 Fecha Fin: 8/4/09

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el