Sie sind auf Seite 1von 157

UNIVERSIDAD TECNOLGICA EQUINOCCIAL

FACULTAD DE CIENCIAS DE LA INGENIERA

CARRERA DE INGENIERA EN INFORMTICA Y


CIENCIAS DE LA COMPUTACIN

APLICATIVO WEB PARA AUTOMATIZAR LOS PROCESOS DE


VENTAS EN HAUGAN CRUISES PARA SUS PROGRAMAS
TURSTICOS

TRABAJO PREVIO A LA OBTENCIN DEL TTULO

DE INGENIERO EN INFORMTICA Y CIENCIAS DE LA COMPUTACIN

ANDRS GEOVANNY PAZMAY VACA

DIRECTOR: ING. RAMIRO PAZMIO, M.Sc.

Quito, Mayo 2012


Universidad Tecnolgica Equinoccial. 2012

Reservados todos los derechos de reproduccin


DECLARACIN

Yo ANDRS GEOVANNY PAZMAY VACA, declaro que el trabajo aqu descrito


es de mi autora; que no ha sido previamente presentado para ningn grado o
calificacin profesional; y, que he consultado las referencias bibliogrficas que
se incluyen en este documento.

La Universidad Tecnolgica Equinoccial puede hacer uso de los derechos


correspondientes a este trabajo, segn lo establecido por la Ley de Propiedad
Intelectual, por su Reglamento y por la normativa institucional vigente.

_________________________

Andrs G. Pazmay Vaca

C.I. 1717342933
CERTIFICACIN

Certifico que el presente trabajo que lleva por ttulo Aplicativo Web Para
Automatizar Los Procesos de Ventas en Haugan Cruises para sus
Programas Tursticos, que, para aspirar al ttulo de Ingeniero en
Informtica y ciencias de la computacin fue desarrollado por Andrs
Pazmay, bajo mi direccin y supervisin, en la Facultad de Ciencias de la
Ingeniera; y cumple con las condiciones requeridas por el reglamento de
Trabajos de Titulacin artculos 18 y 25.

___________________

Ing. Ramiro Pazmio, M.Sc.

DIRECTOR DEL TRABAJO

C.I. 170340173
DEDICATORIA

Este trabajo est dedicado a mi esposa Lorena, padres Mario & Lola y
hermanos Javier & Julio que siempre confiaron en m.

Andrs G. Pazmay Vaca.


AGRADECIMIENTO

Agradezco a Dios por la oportunidad y fortaleza que me brind para culminar


una etapa ms en mi vida, a pesar de las complicaciones que se dieron en
ciertos momentos.

A mi amada esposa Lorena parte esencial de mi vida y pilar fundamental de


mis proyectos.

A mis padres por el enorme legado que me entregaron sobre educacin y


principios, para que con fortaleza enfrentemos cualquier adversidad y as
alcanzar nuestros sueos.

A mis hermanos Xavier, Julio por sus consejos y apoyo durante cada momento
de mi vida en especial durante el desarrollo de esta tesis.
NDICE DE CONTENIDOS

PGINA

RESUMEN viii

ABSTRACT ix

1. INTRODUCCIN 1
1.1 OBJETIVO GENERAL 2
1.2 OBJETIVOS ESPECFICOS 2

2. MARCO TERICO 3
2.1 SISTEMAS DE INFORMACIN 3
2.2 INGENIERA DE SOFTWARE 4
2.3 MODELOS DE PROCESOS DEL SOFTWARE 7
2.4 METODOLOGA DE DESARROLLO DE SOFTWARE 12
2.5 LENGUAJE UNIFICADO DE MODELADO UML 14
2.6 PATRONES DE DISEO 16
2.7 INTERNET 21
2.8 INTRANET 22
2.9 SERVIDORES WEB 23
2.10 ARQUITECTURA CLIENTE/ SERVIDOR 26
2.11 APLICACIONES WEB 29
2.12 LENGUAJES DE PROGRAMACIN 32
2.13 HERRAMIENTAS DE DESARROLLO 36
2.13.1 ENTORNO DE DESARROLLO INTEGRADO (IDE) 36
2.13.2 SISTEMA GESTOR DE BASE DE DATOS (SGBD) 38
2.14 SOFTWARE LIBRE (OPEN SOURCE) 41
2.14.1 CARACTERSTICAS 42
2.14.2 TIPOS DE LICENCIA 44

i
2.15 HERRAMIENTAS DE LIBRE DISTRIBUCIN (EXPRESS) 47
2.16 INFORMACIN GENERAL HAUGAN CRUISES 47

3. METODOLOGA 50

4. RESULTADOS Y DISCUSIN 52
4.1 ETAPA DE COMUNICACIN 52
4.1.1 RECONOCIMIENTO DEL PROBLEMA 53
4.1.2 ESTUDIO DE FACTIBILIDAD 53
4.1.3 REQUERIMIENTOS DE INFORMACIN (IEEE830) 53
4.2 ETAPA PLANIFICACIN 59
4.2.1 METODOLOGA DE DESARROLLO 59
4.2.2 ALCANCE 59
4.3 ETAPA DE MODELADO 61
4.3.1 ARQUITECTURA Y HERRAMIENTAS 61
4.3.2 DIAGRAMA DE CONTEXTO GENERAL 64
4.3.3 DIAGRAMA CASOS DE USO 65
4.3.4 DIAGRAMA DE ACTIVIDADES 79
4.3.5 DIAGRAMA DE ESTADO 86
4.3.6 DIAGRAMA DE CLASES 87
4.3.7 DIAGRAMA DE BASE DE DATOS 88
4.3.8 DISEO DE INTERFACES 89
4.4 ETAPA DE CONSTRUCCIN 92
4.4.1 PATRN DE DISEO 92
4.4.2 LENGUAJE DE PROGRAMACIN 92
4.4.3 DISEO Y CODIFICACIN DEL APLICATIVO 93
4.4.4 PRUEBAS DE UNIDAD 101
4.4.5 PRUEBAS DE INTEGRACIN 102
4.4.6 PRUEBAS TIPO ALFA 103
4.4.7 PRUEBAS DE RECUPERACIN 104

ii
4.4.8 PRUEBAS DE RENDIMIENTO 104
4.5 ETAPA DE DESPLIEGUE 105
4.5.1 MANUAL DE USUARIO 105
4.5.2 MANUAL TCNICO 105
4.5.3 RETROALIMENTACIN 105

5. CONCLUSIONES Y RECOMENDACIONES 106


5.1 CONCLUSIONES 106
5.2 RECOMENDACIONES 108

BIBLIOGRAFA 110

iii
NDICE DE TABLAS

PGINA

Tabla 1. Fases del Anlisis Estructurado 13

Tabla 2. Clasificacin Patrones de Diseo 16

Tabla 3. Cuadro de Costos Factibilidad Econmica 53

Tabla 4. Cuadro descriptivo proceso de Ofertas 56

Tabla 5. Cuadro descriptivo proceso de Reservas 57

Tabla 6. Cuadro descriptivo proceso de Facturas 57

Tabla 7. Cuadro descriptivo proceso de Reservas 57

Tabla 8. Cuadro descriptivo proceso de Pagos 57

Tabla 9. Cuadro descriptivo proceso de Packages 58

Tabla 10. Seleccin IDE de Desarrollo Cuadro Comparativo 62

Tabla 11. Seleccin Gestor Base de Datos Cuadro Comparativo 63

Tabla 12. . Seleccin Lenguaje de programacin Cuadro Comparativo 92

Tabla 13. Cuadro Resultados Pruebas de Unidad 101

Tabla 14. Cuadro de Resultados Pruebas de Rendimiento 104

iv
NDICE DE FIGURAS

PGINA

Figura 1. Capas de la Ingeniera de Software. (Pressman, 2010) 4

Figura 2. Modelo en Prototipos. (Pressman, 2010) 9

Figura 3. Estructura Patrn MVC (Model View Controler) 19

Figura 4. Esquema de un Servidor 26

Figura 5. Diagrama de Contexto General 1 65

Figura 6. Diagrama de Contexto General 2 65

Figura 7. Diagrama Casa de Uso 66

Figura 8. Diagrama de Actividades CU Gestionar Crucero 80

Figura 9. Diagrama de Actividades CU Gestionar Actividades 80

Figura 10. Diagrama de Actividades CU Gestionar Hospedaje 81

Figura 11. Diagrama de Actividades CU Crear Reserva 81

Figura 12. Diagrama de Actividades CU Crear Paquete Turstico 82

Figura 13. Diagrama de Actividades CU Generar Factura 82

Figura 14. Diagrama de Actividades CU Registrar Pagos 83

Figura 15. Diagrama de Actividades CU Operar Items 83

Figura 16. Diagrama de Actividades CU Crear Barco 84

Figura 17. Diagrama de Actividades CU Crear Actividad 84

v
Figura 18. Diagrama de Actividades CU Crear Hospedaje 85

Figura 19. Diagrama de Estados 86

Figura 20. Diagrama de Clases 87

Figura 21. Diagrama de Base de Datos 88

vi
NDICE DE ANEXOS

PGINA

ANEXO 1 112

MANUAL DE USUARIO

ANEXO 2 128

MANUAL TCNICO

ANEXO 3 130

DESARROLLO DE PRUEBAS

ANEXO 4 131

ENCUESTA

ANEXO 5 133

CODIFICACIN

vii
RESUMEN

En el presente trabajo de tesis, se realiz un estudio sobre las herramientas y


mtodos para el desarrollo de aplicativos web, con el fin de determinar las
ventajas y facilidades que en la actualidad brinda el desarrollo de software libre
frente a los productos de uso comercial, de igual manera la interaccin y
convivencia de las herramientas que se encuentran disponibles y que son de
libre distribucin han permitido a los programadores la libertad de seleccin.
Para cumplir con el objetivo general se procedi a realizar un sistema que
permita la automatizacin y construccin de los paquetes tursticos, de esta
manera se logr realizar una gestin eficiente de ventas dentro de la empresa
facilitadora Haugan Cruises. De los resultados obtenidos se pudo concluir que
los procesos inmersos en el sistema permiten un mejor control, y reducen el
tiempo en que los asesores demoran en confirmar una venta. Con respecto a
los objetivos especficos durante el desarrollo del trabajo se logr satisfacer los
planteamientos iniciales, concluyendo que el trabajo pudo ser realizado sin
mayores inconvenientes. Como recomendacin principal se sugiere realizar un
estudio tcnico funcional dentro de la industria de turismo en el pas, y as
obtener mayores rditos sobre la gestin de ventas y operacin.

viii
ABSTRACT

In this thesis, we studied the tools and methods for developing web applications
in order to determine the advantages and facilities that currently provide free
software development versus commercial products, just as the interaction and
coexistence of the tools that are available and freely available to give developers
the freedom of choice. To achieve the overall objective is carried out a system
for building automation and package tours, so you could make an efficient sales
management within the enterprise facilitator Haugan Cruises.From the results it
is concluded that the processes involved in the system allowed a better control
and reduced the time that trip advisors take to confirm a sale. Regarding the
specific objectives for the development of the study, they did meet the initial
approaches, concluding that the project could be done without major problems.
.As a key recommendation, it is suggested a technical and functional study with
the tourism industry in the country, in order to get higher returns on sales
management and operations management.

ix
1. INTRODUCCIN

En la actualidad el desarrollo y mejoras en las polticas del sector turstico ha


permitido que prosperen empresas dedicadas a la venta y operacin de
cruceros en el pas, y a pesar que existen varias de ellas ya posicionadas
como lderes y otras en vas de crecimiento la gran mayora podran mejorar
sus procesos de ventas para generar mayor utilidad y sobre todo para que el
grupo de empresas nuevas continen dentro del sector como competencia
directa. Se ha observado que dentro de la operacin de las empresas
tursticas dedicadas a los cruceros vacacionales existen falencias en los
procedimientos de recepcin a solicitudes de ventas, dificultad en acceder a
informacin actualizada sobre la disponibilidad de barcos y servicios, y la
sub utilizacin de tcnicas, aplicaciones y herramientas informticas, se ha
podido observar que en la actualidad las empresas pierden oportunidades
para asegurar ventas as como duplicidad de trabajo y cambios que no
estaban contemplados dentro de las proformas iniciales que son enviadas al
cliente.

Con la implementacin de un aplicativo que permita mejorar y automatizar


los procesos en las ventas de empresas tursticas se podrn disminuir
costos adicionales, en lo que corresponde a pagos de servicios no
contemplados inicialmente, as como tambin multas por bloqueos y
liberacin de cupos, generar ganancias relativamente constantes y
crecientes para as lograr la sustentacin y posicionamiento de Haungan
Cruises dentro del sector turstico.

El trabajo de tesis es viable econmicamente por no necesitar un gasto muy


significativo, y esto debido a la utilizacin de herramientas para el desarrollo
de sistemas de libre distribucin EXPRESS. Entre los gastos tomados en
cuenta se consider el uso de un computador, subscripcin al servicio de
internet, insumos de papelera, textos, y gastos varios.

1
El desarrollo del presente trabajo de tesis es viable tcnicamente ya que en
la actualidad se cuenta con un sin nmero de herramientas para el desarrollo
de aplicativos web, as como tambin de herramientas para el diseo e
implementacin de base de datos, que pueden ser de libre distribucin.

El objetivo general de la presente tesis corresponde a desarrollar un


aplicativo web por medio de una metodologa de desarrollo rpida para
obtener un producto con estructura y licenciamiento de cdigo abierto (Open
Source), que permita automatizar la construccin dinmica de paquetes
tursticos, y que los mismos cuenten con validacin dentro de los diferentes
procesos que se deben considerar al momento de enviar una disponibilidad,
as como al momento de confirmar una venta.

Mientras que los objetivos especficos son:

o Investigar los diferentes procesos dentro de la empresa facilitadora


Haugan Cruises para la construccin, reserva, operacin, y venta de
paquetes tursticos.
o Aplicar el modelo de desarrollo de software Prototipado que por sus
caractersticas permite una visibilidad del producto desde el inicio,
reduciendo los riegos de obtener resultados que no satisfagan las
necesidades.
o Seleccionar herramientas de libre distribucin para obtener un aplicativo
eficiente y con viabilidad econmica.
o Documentar los procedimientos a realizar para la obtencin de un
sistema de rpida implementacin, siguiendo las etapas que conforma el
modelo de desarrollo de software.

2
2. MARCO TERICO.

2.1 SISTEMAS DE INFORMACIN


Es un conjunto de componentes que interaccionan entre s para lograr un
objetivo comn.

CATEGORAS DE SISTEMAS DE INFORMACIN


El analista de sistemas desarrolla diferentes tipos de sistemas de
informacin para satisfacer las diversas necesidades de una empresa.

Sistemas para el Procesamiento de Transacciones:

Los sistemas de procesamiento de transacciones (TPS) dentro de toda


empresa son todos los que estn basados en computadoras y que se
relacionan con el procesamiento de transacciones, tienen como finalidad
mejorar las actividades rutinarias de una empresa, como transacciones mas
comunes se cuentan las de facturacin, entrega de mercancas, pago de
empleados y depsito de cheques. (Senn, 1990)

Sistemas de informacin Administrativa:

Estos sistemas (MIS) ayudan a los directivos de las organizaciones a tomar


decisiones, y resolver problemas ya que recurren a los datos almacenados
dentro de sus sistemas informticos. (Senn, 1990)

Sistema para el soporte de Decisiones:

Los sistemas para el soporte de decisiones (DSS) permiten a los directivos


tomar decisiones, ya que no todas son de naturaleza recurrente, algunas se
presentan solo una vez o escasamente, estas decisiones no estructuradas
son las que no cuentan con procedimientos claros para tomarla y tampoco
es posible identificar, con anticipacin todos los factores que deben
considerarse en la decisin.(Senn, 1990)

3
2.2 INGENIERA DE SOFTWARE
Es la ciencia de la computacin, que utiliza mtodos o tcnicas para el
desarrollo y mantenimiento de software. Es comn encontrar a la Ingeniera
del Software como una nueva rea de la Ingeniera, ya que con su aplicacin
se logra obtener econmicamente un software confiable y que funcione de
modo eficiente en mquinas reales, satisfaciendo los requerimientos del
usuario.

Definicin IEEE (Institute of Electrical and Electronics Engineers).

La IEEE la define como la aplicacin de un enfoque sistemtico (ordenado),


disciplinado y cuantificable al desarrollo, operacin y mantenimiento de
software, esto es, la aplicacin de la ingeniera en el rea del software.

Segn (Pressman, 2010) ingeniera de software es una tecnologa con varias


capas. Como se aprecia en la siguiente figura, cualquier enfoque de
ingeniera debe basarse en un compromiso organizacional con la calidad. La
administracin total de la calidad y otras filosofas similares. El fundamento
en el que se apoya la ingeniera de software es el compromiso de calidad.

(
Figura 1. Capas de la Ingeniera de Software. Pressman, 2010)

El proceso define una estructura que debe establecerse para la obtencin


eficaz de la tecnologa de ingeniera de software. El proceso de software

4
forma la base para el control de la administracin de proyectos de software,
y establece el contexto en el que se aplican mtodos tcnicos.

Los mtodos de la ingeniera de software proporcion la experiencia tcnica


para elaborar software. Incluyen un conjunto amplio de tareas, como
comunicacin, anlisis de los requerimientos, modelacin del diseo,
construccin del programa, pruebas y apoyo automatizado o
semiautomatizado para el proceso y los mtodos. (Pressman, 2010)

EL PROCESO DEL SOFTWARE

(
Pressman, 2010), Describe que un proceso es el conjunto de actividades,
acciones y tareas que se ejecutan cuando va a crearse algn producto del
trabajo. En el contexto de la ingeniera de software, un proceso no es una
prescripcin rgida de cmo elaborar software. Por el contrario, es un
enfoque adaptable que permite que las personas que hacen el trabajo
busquen y elijan el conjunto apropiado de acciones y tareas para el trabajo.

La estructura del proceso establece el fundamento para el proceso completo


de la ingeniera de software por medio de la identificacin de un nmero
pequeo de actividades estructurales que sean aplicables a todos los
proyectos de software, sin importar su tamao o complejidad.

Una estructura de proceso general para la ingeniera de software consta de


cinco actividades:

Comunicacin. Antes de que comience cualquier trabajo tcnico, tiene


importancia crtica comunicarse y colaborar con el cliente. Se busca
entender los objetivos de los participantes respecto del proyecto, y reunir los
requerimientos que ayuden a definir las caractersticas del software.

Planeacin. Cualquier viaje complicado se simplifica si existe un mapa. Un


proyecto de software es un viaje difcil y la actividad de planeacin crea un

5
mapa que gua al equipo mientras se viaja. El mapa (llamado plan del
proyecto de software) define el trabajo de ingeniera de software al describir
las tareas tcnicas por realizar, los riesgos probables, los recursos que se
requieren, los productos del trabajo que se obtendrn y una programacin de
las actividades.

Modelado. Ya sea el diseador de paisaje, constructor de puentes,


ingeniero aeronutico, carpintero o arquitecto, a diario trabaja con modelos.
Crea un bosquejo del objeto por hacer a fin de entender el panorama
general, si lo requiere refina el bosquejo con ms y ms detalles en un
esfuerzo por comprender mejor el problema y cmo resolverlo. En la
ingeniera de software se hace lo mismo al crear modelos a fin de entender
mejor los requerimientos y el diseo que los satisfar.

Construccin. Esta actividad combina la generacin de cdigo (ya sea


manual o automtico), y las pruebas que se requieren para describir errores
en ste.

Despliegue. El software (como entidad completa o como un incremento


parcialmente terminado) se entrega al consumidor que lo evala y que le da
retroalimentacin, misma que se basa en dicha evaluacin.

Estas cinco actividades estructurales genricas se usan durante el desarrollo


de programas pequeos y sencillos, en la creacin de aplicaciones web
grandes y en la ingeniera de sistemas enormes y complejos basados en
computadoras. Los detalles del proceso de software sern distintos en cada
caso, pero las actividades estructurales son las mismas.

Para muchos proyectos de software, las actividades estructurales se aplican


en forma iterativa a medida que avanza el proyecto. Es decir, la
comunicacin, la planeacin, el modelado, la construccin y el
despliegue se ejecutan a travs de cierto nmero de repeticiones del

6
proyecto. Cada iteracin produce un incremento del software el cual permite
obtener un producto cada vez ms completo.

2.3 MODELOS DE PROCESOS DEL SOFTWARE


Los procesos fueron propuestos originalmente para poner orden en el caos
del desarrollo del software, y estos prescriben un conjunto de elementos del
proceso: actividades estructurales, acciones de ingeniera, tareas, productos
del trabajo, aseguramiento de la calidad y mecanismos de control del cambio
para cada proyecto. Cada modelo de proceso prescribe un flujo de proceso,
es decir, la manera en la que los elementos se relacionan entre si. (Pressman,
2010)

Todos los modelos del proceso del software pueden incluir las actividades
estructurales generales descritas anteriormente en el proceso del software,
pero cada uno pone distinto nfasis en ellas y define en forma diferente el
flujo de proceso que invoca cada actividad estructural (si como acciones y
tareas de ingeniera de software).

2.3.1 MODELO EN CASCADA


El modelo de cascada, llamado tambin ciclo de vida clsico, propone un
enfoque sistemtico y secuencial para el desarrollo de software, empezando
por las especificaciones de los requerimientos por parte del cliente y avanza
a travs de la planeacin, modelado, construccin y despliegue, para
concluir con el apoyo del software terminado.

2.3.2 MODELO EN V
El modelo en v es un proceso secuencial de pasos en el desarrollo del ciclo
de vida. Describe las actividades y resultados que han de ser producidos
durante el desarrollo del producto. La parte izquierda de la v representa la
descomposicin de los requisitos y la creacin de las especificaciones del
sistema. El lado derecho de la v representa la integracin de partes y su
verificacin. V significa Validacin y Verificacin. (Pfleeeger, Shari, 2003)

7
2.3.3 MODELO ITERATIVO
Es un modelo derivado del modelo en cascada. Este modelo busca reducir el
riesgo que surge entre las necesidades del usuario y el producto final por
malos entendidos durante la etapa de obtencin de requisitos.

2.3.4 MODELO EN ESPIRAL


El desarrollo en espiral es un modelo de ciclo de vida desarrollado por Barry
Boehm en 1985, utilizado de forma generalizada en la ingeniera del
software. Las actividades de este modelo se conforman en una espiral, cada
bucle representa un conjunto de actividades. Las actividades no estn
fijadas, sino que las siguientes se eligen en funcin del anlisis de riesgos,
comenzando por el bucle anterior.

2.3.5 MODELO EN PROTOTIPOS


Segn (Pressman, 2010) El cliente, a menudo, define un conjunto de objetivos
generales para el software, pero no identifica los requisitos detallados de
entrada, proceso o salida. En otros casos, el responsable del desarrollo del
software puede no estar seguro de la eficiencia de un algoritmo, de la
calidad de adaptacin de un sistema operativo, o de la forma en que debera
tomarse la interaccin entre el sistema y el usuario. En esta y en otras
muchas situaciones, un paradigma de construccin de prototipos puede
ofrecer el mejor enfoque.

8
COMUNICACIN
PLAN RPIDO

MODELADO

DISEO RPIDO

DESPLIEGUE
CONSTRUCCIN
ENTREGA Y
RETROALIMENTACIN

(
Figura 2. Modelo en Prototipos. Pressman, 2010)

El modelo en prototipos inicia con la etapa de comunicacin, reunindose


con otros participantes para definir los objetivos generales del software, se
identifica y detecta las reas de las que se es imprescindible una mayor
definicin. Se plantea rpidamente una iteracin para hacer el prototipo, y
se lleva a cabo el modelado (en forma de un diseo rpido). Este se centra
en la representacin de aquellos aspectos del software que sern visibles
para los usuarios finales por ejemplo la interfaz de usuario y el despliegue
de salida. El diseo rpido lleva a la construccin de un prototipo. Este se
entrega y es evaluado por los participantes, y al mismo tiempo le permite al
desarrollador entender mejor lo que se necesita hacer.

(Pressman, 2010) describe que si se pretende dirigir una buena prctica de la


ingeniera de software, es necesario tomar en cuenta los siguientes
principios dentro de cada etapa.

Principios de Comunicacin.- Se enfocan en la necesidad de reducir el


ruido y mejorar el canal de comunicacin conforme progresa la

9
conversacin entre el desarrollador y el cliente, ambas partes deben
colaborar para que se establezca la mejor comunicacin:

Reconocimiento del Problema


Estudio de Factibilidad
Requerimientos de Informacin
Principios de Planeacin.- Se enfoca en las directrices encaminadas a
construir el mejor mapa para realizar el trabajo que conducir a terminar un
sistema o producto, el plan debe indicar que se har, quien lo har, y cuando
se completar el trabajo:

Metodologa de Desarrollo
Alcance
Principios de Modelado.- Incluye tanto el anlisis como el de diseo, al
describir representaciones del software que se vuelven ms detallados de
manera progresiva, proporcionando una gua tcnica para quienes
implementaran el software:

Arquitectura
Diagramas para el Modelado
Diseo de interfaces
Principios de Construccin.- Incorpora un ciclo de codificacin y pruebas
el cual primero se genera el cdigo fuente y despus este se prueba para
descartar errores. La integracin combina los componentes individuales e
involucra una seria de pruebas que se enfocan en los aspectos del
funcionamiento general:

Estructura o Paradigma de programacin


Lenguaje de programacin
Definicin de variables y codificacin
Pruebas (Unidad, Integracin, Tipo Alfa, Recuperacin, Rendimiento)

10
Principios de Despliegue.- Abarca tres acciones entrega, soporte, y
retroalimentacin, como el modelo es evolutivo por naturaleza, el despliegue
no se presenta una sola vez, sino varias veces conforme el software avanza
a su terminacin:

Manual de Usuario
Manual Tcnico
Encuestas y Entrevistas
A pesar que el modelo de prototipos puede ser utilizado como un proceso
independiente, se emplea comnmente como una tcnica susceptible de
implementarse dentro de cualquier otro modelo de proceso descrito
anteriormente, de esta manera el desarrollador y el usuario entendern
claramente el resultado del producto a construirse.

En la gran mayora de proyectos el prototipo obtenido es un primer sistema


susceptible a fallas, a pesar de que a los usuarios y desarrolladores
prefieren este modelo por contar con un sistema real de rpida
implementacin, esto tambin puede generar una problemtica por las
siguientes razones:

1.- El cliente ve lo que parece una versin funcional del sistema sin
entender que el mismo tiene varias adecuaciones realizadas sin considerar
la calidad de software para un mantenimiento a largo plazo.

2.- Frecuentemente el desarrollador define compromisos de implementacin


lo que lleva a utilizar mtodos y procedimientos de rpida integracin, sin
considerar que luego estos mtodos pueden ser parte estructural del sistema
a pesar de que sean inapropiados.

A pesar de que surjan algunas fallas, la construccin de prototipos puede


ser un modelo de desarrollo efectivo dentro de la ingeniera de software, el
existo es definir claramente los lineamientos con el cliente para que en

11
conjunto con el desarrollador se vaya levantando los requerimientos
necesarios y descartando por lo menos en partes mbitos que no se desean
para obtener un producto final con calidad.

2.4 METODOLOGA DE DESARROLLO DE SOFTWARE


Es el conjunto de procedimientos, tcnicas, herramientas y soporte
documental que deben seguirse para el desarrollo del software.

Especifica:

Cmo se debe dividir un proyecto en actividades


Qu tareas hay que realizar en cada actividad
Qu salidas se producen y cundo
Qu restricciones se aplican
Qu herramientas se utilizan
Cmo se gestiona y controla un proyecto
2.4.1 CLASIFICACIN DE LAS METODOLOGAS

1) Desarrollo Convencional este desarrollo no cuenta con metodologa por


lo que los resultados finales son impredecibles, no hay forma de controlar
lo que est sucediendo en el proyecto, y los cambios organizativos
afectan negativamente al proceso de desarrollo.

2) Desarrollo Estructurado este desarrollo persigue elaborar algoritmos


que cumplan la propiedad de modularidad, para ello, dado un problema
que se pretende resolver mediante la elaboracin de un programa de
ordenador, se busca dividir dicho programa en mdulos siguiendo los
principios de diseo de descomposicin por refinamientos sucesivos,
creacin de una Jerarqua modular y elaboracin de mdulos
Independientes.

12
Tabla 1. Fases del Anlisis Estructurado

FASES DEL ANLISIS ESTRUCTURADO

Mtodo de DeMarco Mtodo de Gane y Sarson


1. Construir el modelo fsico actual (DFD 1. Construir el modelo lgico actual
fsico actual) 2. Construir el modelo del nuevo sistema:
2. Construir el modelo lgico actual (DFD elaborar un especificacin estructurada y
lgico actual) construir un modelo lgico de datos en
3. Crear un conjunto de modelos fsicos tercera forma normal que exprese el
alternativos contenido de los almacenes de datos
4. Eliminar los costes y tiempos de cada 3. Seleccionar un modelo lgico
opcin 4. Crear el nuevo modelo fsico del
5. Seleccionar un modelo sistema
6. Empaquetar la especificacin 5. Empaquetar la especificacin

3) Sistemas de Tiempo Real este desarrollo permite el manejo de


interrupciones, comunicacin y sincronizacin entre tareas, gestin de
procesos concurrentes, respuesta oportuna ante eventos externos, y
datos continuos o discretos.

4) Desarrollo Orientado a Objetos este desarrollo induce a los


programadores a pensar en trminos de objetos, en vez de
procedimientos, cuando planifican su cdigo. Un objeto agrupa datos
encapsulados y procedimientos para representar una entidad. El diseo
orientado a objetos es la disciplina que define los objetos y sus
interacciones para resolver un problema de negocio que fue identificado y
documentado durante el anlisis orientado a objetos. Para la gran
mayora de personas, la forma de pensar orientada a objetos (OO) es

13
ms natural que las tcnicas de anlisis estructuradas, despus de todo,
el mundo esta conformado por objetos.
Anlisis Y Diseo Orientado A Objetos (ADOO)

Es un enfoque de la ingeniera de software que modela un sistema como un


grupo de objetos que interactan entre s. Este enfoque representa un
dominio en trminos de conceptos compuestos por verbos y sustantivos,
clasificados de acuerdo a su dependencia funcional. En este mtodo de
anlisis y diseo se crea un conjunto de modelos utilizando una notacin
acordada como, por ejemplo, el lenguaje unificado de modelado (UML).
ADOO aplica tcnicas de modelado de objetos para analizar los
requerimientos para un contexto - por ejemplo, un sistema de negocio, un
conjunto de mdulos de software - y para disear una solucin para mejorar
los procesos involucrados. No est restringido al diseo de programas de
computadora, sino que cubre sistemas enteros de distinto tipo. Las
metodologas de anlisis y diseo ms modernas son casos de uso guiados
a travs de requerimientos, diseo, implementacin, pruebas, y despliegue.

El lenguaje unificado de modelado se ha vuelto el lenguaje de modelado


estndar usado en anlisis y diseo orientado a objetos.

2.5 LENGUAJE UNIFICADO DE MODELADO (UML)


Es el lenguaje que permite especificar, visualizar, construir y documentar los
mbitos que conforman sistemas de software. UML es un estndar para
construir modelos orientados a objetos, fue desarrollado por James
Rumbaugh, Grady Booch e Ivar Jacobson al principio de la dcada de 1990
combinando sus famosos mtodos: BOOCH, OMT (Object Modeling
Technique, Tcnica de Modela de Objetos), y OOSE (Object Oriented
Software Engineering, Ingeniera de Software orientada a Objetos).

14
En la construccin de software utilizando UML, existen cinco clases para
visualizar, especificar, construir y documentar la arquitectura del software.
UML permite cada clase mediante un conjunto de diagramas:

1. Casos de Uso.- Muestra la funcionalidad del sistema desde el punto de


vista de un actor externo que interacta con l. Esta clase es til a
clientes, diseadores y desarrolladores.

2. Diseo.- Muestra la funcionalidad del diseo dentro del sistema en


trminos la estructura esttica y comportamiento dinmico del sistema.

3. Procesos.- Muestra la concurrencia del sistema, comunicacin y


sincronizacin muy til para desarrolladores e integradores.

4. Implementacin.- Muestra la organizacin de los componentes del


cdigo til para los desarrolladores.

5. Implantacin.- (Tambin conocida como despliegue) Muestra la


implantacin del sistema en la arquitectura fsica til para desarrolladores,
integradores, y verificadores.

2.5.1 DIAGRAMAS UML


Parte importante de este lenguaje son los diagramas que permiten modelar
un sistema, un diagrama es una representacin grfica de una coleccin de
elementos de modelado. Los buenos diagramas hacen el sistema que se
esta desarrollando ms comprensible y cercano a los objetivos. UML cuenta
con nueve diagramas, los cuales se describen a continuacin y pueden ser
utilizados en las clases anteriormente descritas:

15
1. Diagrama de caso de uso
2. Diagrama de Objetos
3. Diagrama de Clases
4. Diagrama de actividades
5. Diagrama de secuencia.
6. Diagrama de colaboracin
7. Diagrama de estado
8. Diagrama de componentes
9. Diagrama de instalacin

2.6 PATRONES DE DISEO


Los patrones de diseo son la base y fundamentos que brindan una solucin
ya probada y documentada a problemas de desarrollo de software que estn
sujetos a temas similares, en otras palabras el patrn de diseo es el
esqueleto para el desarrollo de software. Un patrn debe poseer ciertas
caractersticas, una de ellas es que debe haber comprobado su efectividad
resolviendo problemas similares en ocasiones anteriores, otra es que debe
ser reutilizable, lo que significa que es aplicable a diferentes problemas de
diseo en distintas circunstancias. (Larman, 2001)

CLASIFICACIN

Segn el mbito se clasifican en patrones de clase y de objeto.

Tabla 2. Clasificacin Patrones de Diseo

PROPSITO

CREACIONALES ESTRUCTURALES COMPORTAMIENTO

CLASE Factory Method Adapter Interpreter


Template Method

16
Abstract Factory Adapter Chain of Responsability
Factory Method Bridge Command
Prototype Composite Iterator
Singleton Decorator Mediator
OBJETO MVC ( Model View Facade Observer
Controler )
Flyweight State
Proxy Strategy
Visitor

2.6.1 PATRONES CREACIONALES


Este patrn permite dar solucin a problemas de creacin de instancias
ayudando a encapsular y abstraer dicha creacin. (Erich Gamma, Richard Helm,
Ralph Johnson y John Vlissides, 2005)

Abstract Factory (Fabrica Abstracta). El problema que intenta solucionar


este patrn es el de crear diferentes familias de objetos, uno de los usos
ms comunes es el de creacin de interfaces grficas de distinto tipo, para lo
cual se suele combinar con los patrones Singleton y Adapter. (Larman, 2001)

Factory Method (Mtodo De Fabricacin).- Este patrn centraliza en una


clase constructora la creacin de objetos de un subtipo de un tipo
determinado, la clase abstracta tiene mtodos concretos que usan algunos
de los abstractos; segn se use una u otra hija de esta clase abstracta, se
tendr uno u otro comportamiento. (Larman, 2001)

Prototype (Prototipado).- Este patrn se basa en la clonacin de


ejemplares copindolos de un prototipo. (Larman, 2001)

Singleton.- Este patrn de diseo restringe la instanciacin de una clase o


valor de un tipo a un solo objeto. (Larman, 2001)

17
MVC (Model View Controler)

Este patrn plantea la separacin del problema en tres capas y se ve


frecuentemente en aplicaciones web.

La Capa Model: Es el sistema de gestin de base de datos y la lgica de


negocio que representa la realidad.

La Capa Controler: Es el responsable de recibir los eventos de entrada


desde la vista puesto que conoce los mtodos y atributos del modelo.

La Capa Vista: Muestra un aspecto del modelo y es utilizada por la capa


anterior para interaccionar con el usuario generalmente en forma de pgina
HTML.

El flujo que generalmente sigue el patrn MVC es el siguiente:

1. El controlador recibe por parte de los objetos de la interfaz-vista la


notificacin de la accin solicitada por el usuario gestionando el
evento que llega, frecuentemente a travs de un gestor de eventos
(handler) o callback.

2. El controlador accede al modelo, actualizndolo, modificndolo de


forma adecuada a la accin solicitada por el usuario.

3. La vista obtiene sus datos del modelo para generar la interfaz


apropiada para el usuario donde se reflejan los cambios en el modelo

El modelo no debe tener conocimiento directo sobre la vista.

18
Estructura

Figura 32. Estructura Patrn MVC (Model View Controler)

MVC no pretende discriminar entre capa de negocio y capa de presentacin


pero si pretende separar la capa visual grfica de su correspondiente
programacin y acceso a datos, algo que mejora el desarrollo y
mantenimiento de la Vista y el Controlador en paralelo, ya que ambos
cumplen ciclos de vida muy distintos entre s. (Patrones de Diseo. Recuperado el
17 ene 2012, de http://msdn.microsoft.com/es-es/library/bb972240.aspx)

2.6.2 PATRONES ESTRUCTURALES


Este patrn permite solucionar problemas de composicin y agregacin de
clases, separando la interfaz de la implementacin, adems se ocupan de
cmo las clases y objetos se agrupan para formar estructuras ms grandes.
(Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides, 2005)

Adapter.- Convierte la interfaz de una clase en la que otra espera. Adapter


permite que clases trabajen juntas cosa que no sera posible directamente
debido a la incompatibilidad de sus interfaces. (Larman, 2001)

Bridge.- Separa abstraccin e implementacin, as ambas pueden variar de


forma independiente. (Larman, 2001)

19
Composite.- Compone objetos dentro de una estructura arborescente con el
que se representa una jerarqua parte-todo. El uso de este patrn permite
tratar objetos individuales y composiciones uniformemente. (Larman, 2001)

Decorator.- Aade funcionalidad adicional a un objeto dinmicamente.


Proporciona una alternativa para subclasificar por extensin de
funcionalidad.

Facade.- Proporciona una interfaz unificada a un conjunto de interfaces de


un sistema. Facade define una interfaz de alto nivel que hace al sistema ms
fcil de usar. (Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides,
2005)

Flyweight.- Uso de la comparticin para gestionar un gran nmero de


objetos de grano-fino de forma eficiente. (Larman, 2001)

Proxy.- Proporciona un objeto que representa a otro y controla el acceso al


mismo.

2.6.3 PATRONES DE COMPORTAMIENTO


Este patrn da soluciones respecto a la interaccin y responsabilidades
entre clases y objetos, as como los algoritmos que encapsulan, ms que
describir objetos o clases, describen la comunicacin entre ellos. (Erich
Gamma, Richard Helm, Ralph Johnson y John Vlissides, 2005)

Chain Of Responsibility.- Evita ligar al emisor de una peticin y al receptor


de la misma dando a ms de un objeto la posibilidad de gestionar la peticin.
Encadena los objetos receptores y va pasando las peticiones a lo largo de la
cadena hasta que un objeto la maneje.

Command.- Encapsula peticiones como objetos, as permite parametrizar


clientes con diferentes peticiones, auditar peticiones y deshacer operaciones

20
Iterator.- Proporciona una forma de acceder a los elementos de un objeto
compuesto secuencialmente sin conocer su diseo.

Mediator.- Define un objeto que encapsula cmo interactan un conjunto de


objetos. Las comunicaciones entre objetos se realizan a travs del Mediator.

Observer.- Define una dependencia 1:M entre objetos para que cuando uno
cambie su estado, a todos sus dependientes les sea notificado el cambio y
se actualicen automticamente.

State.- Permite a un objeto cambiar su comportamiento cuando cambia su


estado interno. El objeto parecer pertenecer a otra clase.

Strategy.- Define una familia de algoritmos, encapsula cada uno de ellos y


los hace intercambiables. Strategy permite al algoritmo variar
independientemente de los clientes que lo utilicen.

Visitor.- Representa una operacin que ser realizada sobre los elementos
de una estructura de objetos. Visitor permite definir nuevas operaciones sin
cambiar las clases de los elementos sobre las que se realiza.

2.7 INTERNET
Segn la ltima publicacin (INTERNET [en lnea].[Fecha de consulta: 20 Julio 2012)
Disponible en: http://es.wikipedia.org/wiki/Internet)

Internet es un conjunto descentralizado de redes de comunicacin


interconectadas que utilizan la familia de protocolos TCP/IP, garantizando
que las redes fsicas heterogneas que la componen funcionen como una
red lgica nica, de alcance mundial. Sus orgenes se remontan a 1969,
cuando se estableci la primera conexin de computadoras, conocida como
ARPANET, entre tres universidades en California y una en Utah, Estados
Unidos. Con la aparicin de Internet y de las conexiones de alta velocidad
disponibles al pblico, Internet ha alterado significativa la manera de trabajar

21
de algunas personas al poder hacerlo desde sus respectivos hogares.
Internet ha permitido a estas personas mayor flexibilidad en trminos de
horarios y de localizacin, contrariamente a la jornada laboral tradicional,
que suele ocupar la maana y parte de la tarde, en la cual los empleados se
desplazan al lugar de trabajo.

Internet ha impulsado el fenmeno de la Globalizacin y junto con la llamada


desmaterializacin de la economa ha dado lugar al nacimiento de una
Nueva Economa caracterizada por la utilizacin de la red en todos los
procesos de incremento de valor de la empresa.

2.8 INTRANET
Segn la ltima publicacin de Educastur (INTRANET [en lnea].[Fecha de consulta:
20 Julio 2012) Disponible en:
http://www.educastur.princast.es/fp/hola/hola_bus/cursos/curso12/documentos/comunicacio
n_interna_intranets%20_hola_.pdf)

Intranets son un sistema privado de informacin y colaboracin que utiliza


estndares y programas de Internet. Se puede considerar como una red
interna diseada para ser utilizada dentro del mbito de una universidad,
organizacin o empresa.

Hasta hace poco, las empresas dependan de sistemas informticos


llamados propietarios para poner sus computadores en red, un proceso
costoso que consume mucho tiempo. Al usar las nuevas tecnologas de
Internet, las Intranets resuelven este problema, simplificando la
comunicacin y colaboracin interna.

Una Intranet consiste en organizar la informacin interna de una


organizacin utilizando para ello las herramientas que brinda Internet. Por
tanto, no sera ms que una agrupacin dentro de una misma web,
especializada y restringida al pblico en general, de un nmero determinado

22
de personas con objetivos comunes y conocimientos y caractersticas
similares.

Las Intranets estn transformando las comunicaciones internas y la


concepcin del trabajo, gracias a sus posibilidades de intercambio de
informacin y de cooperacin entre equipos, poniendo en manos del usuario
toda la informacin que necesita de una manera sencilla y rpida.

VENTAJAS

Las ventajas que presenta Intranet son:

1. Aumento de la productividad

Principal ventaja que aporta el uso de la Intranet es el acceso a informacin


actualizada de manera til y sencilla redunda en un ahorro de tiempo. Si a
esto, se aade la existencia de una serie de aplicaciones desarrolladas para
facilitar las labores de los usuarios, el aumento de productividad ser
significativo.

3. Reduccin de Costos
Es una de las principales ventajas que se observa de una Intranet. Cuanto
menos papeleo y ms rapidez en las comunicaciones, menos tiempo se
pierde y el ahorro es evidente.

4. Escasa Inversin
La implantacin de una Intranet no requiere una inversin demasiado
costosa y adems se amortiza muy rpidamente. El gasto en equipamiento
es muy bajo respecto a la adopcin de otras tecnologas, al tratarse de un
sistema abierto que suele preservar el ya existente.

23
5. Mayor rapidez en los Procesos
Otra ventaja evidente es la agilidad que proporcionan a la hora de realizar
ciertos procesos dentro de una organizacin, as como la simplificacin y
eliminacin de simples tareas.

2.9 SERVIDORES WEB


Un servidor web o servidor HTTP es un programa que se ejecuta
continuamente en un computador, que procesa una aplicacin del lado del
servidor mantenindose a la espera de peticiones de ejecucin que le har
un cliente o un usuario de Internet. El servidor web se encarga de contestar
a estas peticiones entregando como resultado una pgina web o informacin
de todo tipo de acuerdo a los comandos solicitados. Es importante aclarar
que el servidor no necesariamente se trata solo de una mquina sino
tambin al software que permite la realizacin de las funciones descritas.

Algunos de los servidores web ms importantes son:

Apache.- Tomcat es un servidor web con soporte de servlets y JSPs.


Tomcat no es un servidor de aplicaciones, como JBoss o JOnAS. Incluye
el compilador Jasper, que compila JSPs convirtindolas en servlets. El
motor de servlets de Tomcat a menudo se presenta en combinacin con
el servidor web Apache. Tomcat puede funcionar como servidor web por
s mismo. En sus inicios existi la percepcin de que el uso de Tomcat de
forma autnoma era slo recomendable para entornos de desarrollo y
entornos con requisitos mnimos de velocidad y gestin de transacciones.
Hoy en da ya no existe esa percepcin y Tomcat es usado como servidor
web autnomo en entornos con alto nivel de trfico y alta disponibilidad.
Dado que Tomcat fue escrito en Java, funciona en cualquier sistema
operativo que disponga de la mquina virtual Java. (Apache Tomcat [en
lnea].[Fecha de consulta: 20 Julio 2012) Disponible en: http://tomcat.apache.org/)

24
Internet Information Services (IIS).- o IIS segn la ltima publicacin
(Internet Information Service [en lnea].[Fecha de consulta: 20 Julio 2012) Disponible en:
http://es.wikipedia.org/wiki/Internet_Information_Services) es un servidor web y un
conjunto de servicios para el sistema operativo Microsoft Windows.
Luego fue integrado en otros sistemas operativos de Microsoft destinados
a ofrecer servicios, como Windows 2000 o Windows Server 2003.
Windows XP Profesional incluye una versin limitada de IIS. Los servicios
que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS.
Los servicios de Internet Information Services proporcionan las
herramientas y funciones necesarias para administrar de forma sencilla un
servidor web seguro.

Cherokee.- es un servidor web multiplataforma. Su objetivo es ser rpido


y completamente funcional, sin dejar de ser liviano comparado con otros
servidores web. Est escrito completamente en C. Puede usarse como un
sistema embebido y soporta complementos para aumentar sus
funcionalidades.
Es software libre, disponible bajo la Licencia Pblica General de GNU.
(Cherokee [en lnea].[Fecha de consulta: 20 Julio 2012) Disponible en:
http://www.cherokee-project.com/

25
Esquema de un Servidor Web

Figura 4. Esquema de un Servidor

2.10 ARQUITECTURA CLIENTE/ SERVIDOR


Segn la ltima publicacin (Cliente-Servidor [en lnea].[Fecha de consulta: 20 Julio
2012) Disponible en: http://es.wikipedia.org/wiki/Cliente-servidor) La arquitectura
cliente-servidor es un modelo de aplicacin distribuida en el que las tareas
se reparten entre los proveedores de recursos o servicios, llamados
servidores, y los demandantes, llamados clientes. Un cliente realiza
peticiones a otro programa, siendo el servidor quien le da respuesta. Esta
idea tambin se puede aplicar a programas que se ejecutan sobre una sola
computadora, aunque es ms ventajosa en un sistema operativo
multiusuario distribuido a travs de una red de computadoras.

En esta arquitectura la capacidad de proceso est repartida entre los clientes


y los servidores, aunque son ms importantes las ventajas de tipo
organizativo debidas a la centralizacin de la gestin de la informacin y la
separacin de responsabilidades, lo que facilita y clarifica el diseo del
sistema.

26
La separacin entre cliente y servidor es una separacin de tipo lgico,
donde el servidor no se ejecuta necesariamente sobre una sola mquina ni
es necesariamente un slo programa. Los tipos especficos de servidores
incluyen los servidores web, los servidores de archivo, los servidores del
correo, etc. Mientras que sus propsitos varan de unos servicios a otros, la
arquitectura bsica seguir siendo la misma.

Una disposicin muy comn son los sistemas multicapa en los que el
servidor se descompone en diferentes programas que pueden ser
ejecutados por diferentes computadoras aumentando as el grado de
distribucin del sistema.

La arquitectura cliente-servidor sustituye a la arquitectura monoltica en la


que no hay distribucin, tanto a nivel fsico como a nivel lgico.

La red cliente-servidor es aquella red de comunicaciones en la que todos los


clientes estn conectados a un servidor, en el que se centralizan los diversos
recursos y aplicaciones con que se cuenta; y que los pone a disposicin de
los clientes cada vez que estos son solicitados. Esto significa que todas las
gestiones que se realizan se concentran en el servidor, de manera que en l
se disponen los requerimientos provenientes de los clientes que tienen
prioridad, los archivos que son de uso pblico y los que son de uso
restringido, los archivos que son de slo lectura y los que, por el contrario,
pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente
en caso de que se est utilizando en una red mixta.

VENTAJAS

Centralizacin del control: los accesos, recursos y la integridad de los


datos son controlados por el servidor de forma que un programa cliente
defectuoso o no autorizado no pueda daar el sistema. Esta

27
centralizacin tambin facilita la tarea de poner al da datos u otros
recursos.
Escalabilidad: se puede aumentar la capacidad de clientes y servidores
por separado. Cualquier elemento puede ser aumentado (o mejorado) en
cualquier momento, o se pueden aadir nuevos nodos a la red (clientes
y/o servidores).
Fcil mantenimiento: al estar distribuidas las funciones y
responsabilidades entre varios ordenadores independientes, es posible
remplazar, reparar, actualizar, o incluso trasladar un servidor, mientras
que sus clientes no se vern afectados por ese cambio (o se afectarn
mnimamente). Esta independencia de los cambios tambin se conoce
como encapsulacin.
Existen tecnologas, suficientemente desarrolladas, diseadas para el
paradigma de C/S que aseguran la seguridad en las transacciones, la
amigabilidad de la interfaz, y la facilidad de empleo.
DESVENTAJAS

La congestin del trfico ha sido siempre un problema en el paradigma de


C/S. Cuando una gran cantidad de clientes envan peticiones simultaneas
al mismo servidor, puede ser que cause muchos problemas para ste (a
mayor nmero de clientes, ms problemas para el servidor).
El software y el hardware de un servidor son generalmente muy
determinantes. Un hardware regular de un ordenador personal puede no
poder servir a cierta cantidad de clientes. Normalmente se necesita
software y hardware especfico, sobre todo en el lado del servidor, para
satisfacer el trabajo. Por supuesto, esto aumentar el coste.
El cliente no dispone de los recursos que puedan existir en el servidor.
Por ejemplo, si la aplicacin es una Web, no se podra escribir en el disco
duro del cliente o imprimir directamente sobre las impresoras sin sacar
antes la ventana previa de impresin de los navegadores.

28
(ARQUITECTURA CLIENTE SERVIDOR [en lnea].[Fecha de consulta: 20 Julio 2012)
Disponible en: http://es.wikipedia.org/wiki/Cliente-servidor)

2.11 APLICACIONES WEB


Dentro de la ingeniera de software aplicacin web se conoce a toda
aplicacin en la cual un usuario accede a un servidor web por medio de un
navegador, permitiendo realizar varias actividades de manera interactiva ya
que la pgina web puede contener elementos de comunicacin entre el
usuario y la informacin que se requiere.

Es importante resaltar que adems de contar con gran variedad de utilitarios


para este tipo de aplicaciones, estas son de fcil actualizacin y
mantenimiento, sin tener que distribuir e instalar software a un gran nmero
de usuarios. (Sergio Lujn Mora, 2001)

ANTECEDENTES

Segn publicacin (Historia aplicaciones web [en lnea].[Fecha de consulta: 20 Julio


2012) Disponible en: http://www.cibernetia.com/manuales/introduccion_aplicaciones_web/)
Las aplicaciones web en un inicio eran una coleccin de pginas estticas,
documentos, etc., ya sea para su consulta o descarga. La siguiente
generacin en su evolucin fue la inclusin de un mtodo para elaborar
pginas dinmicas que permitieran que lo mostrado tuviese carcter
dinmico (es decir, generado a partir de los datos de la peticin). Este
mtodo fue conocido como CGI ("Common Gateway Interface") y defina un
mecanismo mediante el que se poda pasar informacin entre el servidor y
ciertos programas externos.

Los CGIs siguen utilizndose ampliamente; la mayora de los servidores web


permiten su uso debido a su sencillez. Adems, dan total libertad para elegir
el lenguaje de programacin que se desea emplear.

29
El funcionamiento de los CGIs tena una desventaja: cada vez que se reciba
una peticin, el servidor deba lanzar un proceso para ejecutar el programa
CGI. Como la mayora de CGIs estaban escritos en lenguajes interpretados,
como Perl o Python, o en lenguajes que requeran "run-time environment",
como Java o VisualBasic, el servidor se vea sometido a una gran carga. La
concurrencia de mltiples accesos al CGI poda resultar en problemas
graves.

CONSIDERACIONES TCNICAS

Dentro del desarrollo de aplicaciones WEB existen bsicamente 2


tendencias las cuales se describen a continuacin:

1.- Diseo de sistemas de ejecucin en mdulos mejor integrados con el


servidor, que evitan la instanciacin y ejecucin de varios programas.

2.- Adicin en los servidores de intrpretes de lenguajes de programacin


que permita incluir el cdigo en las pginas de forma que lo ejecute el
servidor, reduciendo el intervalo de respuesta.

Los aplicativos web ms tiles y los ms utilizados son los que permiten
mezclar las 2 alternativas en donde un lenguaje integrado permita al servidor
interpretar comandos "incrustados" en las pginas HTML y, adems, un
sistema de ejecucin de programas mejor enlazado con el servidor, que no
implique los problemas de rendimiento propios de los CGIs.

Uno de los ms potentes es Sun Microsystems con Java, integrado por 2


componentes; un lenguaje que permite la incrustacin de cdigo en las
pginas HTML que el servidor convierte en programas ejecutables, JSP
("Java Server Pages" o "Pginas de Servidor de Java"), y un mtodo de
programacin muy ligado al servidor, con un rendimiento superior a los
CGIs, denominado "Java Servlet".

30
Otra tecnologa de xito y una de las ms utilizadas es el lenguaje PHP. Se
trata de un lenguaje interpretado que permite la incrustacin de HTML en los
programas, con una sintaxis derivada de C y Perl. El hecho de ser sencillo y
potente ha contribuido a hacer de PHP una herramienta muy apropiada para
determinados desarrollos.

VENTAJAS

La ventaja ms significativa es que las aplicaciones web trabajan de


igual forma, independientemente de la versin del sistema operativo
instalado en el cliente. En vez de crear clientes para Windows, Mac
OS X, GNU/Linux y otros sistemas operativos, la aplicacin web se
escribe una vez y se ejecuta igual en todas partes.
Permite acceder directamente a su contenido, ya que basta con tener
un navegador actualizado para poder utilizarlo, esto permite ahorrar
tiempo sin necesidad de descargar ni instalar ningn programa.
Actualizaciones inmediatas: Como el software lo gestiona el propio
desarrollador, cuando se ingresa al aplicativo web se est usando
siempre la ltima versin que haya lanzado.
Baja ocupacin de espacio en el disco as como tambin de recursos,
dado que, toda o gran parte de la aplicacin no se encuentra en el
computador, muchas de las tareas que realiza el software las ejecuta
desde otro computador.

DESVENTAJAS

Frecuentemente los aplicativos web ofrecen menos funcionalidades


que las aplicaciones de escritorio, y esto debido a que el
procesamiento desde un navegador son ms limitadas que las que se
pueden realizar desde el sistema operativo.

31
La disponibilidad puede ser afectada por el proveedor de la conexin
a internet o el que provee el enlace entre el servidor de la aplicacin y
el cliente.
ESTRUCTURA

La variacin ms aplicada de una aplicacin web es normalmente la que


est estructurada como una aplicacin de tres-capas.

Primera Capa.- El navegador web es su forma ms comn.

Segunda Capa.- El motor encargado de interpretar alguna tecnologa web


dinmica (ejemplo: PHP, Java Servlets o ASP, ASP.NET, CGI, ColdFusion,
embPerl, Python (programming language) o Ruby on Rails).

Tercera Capa.- La Base de datos o repositorio.

El navegador web enva peticiones a la capa intermedia que ofrece servicios


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

2.12 LENGUAJES DE PROGRAMACIN


Existen diferentes lenguajes de programacin para desarrollar aplicaciones
web, estos han ido surgiendo debido a las tendencias y necesidades de las
plataformas. Desde los inicios de Internet, fueron surgiendo diferentes
demandas por los usuarios y se dieron soluciones mediante lenguajes
estticos. A medida que pas el tiempo, las tecnologas fueron
desarrollndose y surgieron nuevos problemas a dar solucin. Esto dio lugar
a desarrollar lenguajes de programacin para las web dinmicas, que
permiten interactuar con los usuarios y utilizan sistemas de Bases de Datos.
(Wilson, Leslie B, 1993)

Entre los ms utilizados se detallan a continuacin los siguientes:

32
2.12.1 HTML (HYPERTEXT MARKUP LANGUAGE)
Es un lenguaje que ha permitido desde el inicio del internet la publicacin de
sitios web, HMTL (HyperText Markup Language). Es un lenguaje esttico
para el desarrollo de sitios web Desarrollado por el World Wide Web
Consortium (W3C). Los archivos pueden tener las extensiones (htm, html).

Ventajas

Es un lenguaje sencillo que permite describir hipertexto en forma


estructurada y agradable.
No necesita de grandes conocimientos cuando se cuenta con un
editor de pginas web.
Su despliegue es rpido y de archivos pequeos que es admitido por
todos los navegadores.
Desventajas

Debido a que es un lenguaje esttico la interpretacin de cada


navegador puede ser diferente.
Guarda muchas etiquetas y en muchos casos son de uso limitado que
pueden convertirse en basura y dificultan la correccin.

2.12.2 JAVASCRIPT
Este es un lenguaje interpretado, no requiere compilacin, utilizado
principalmente en pginas web es similar a Java, aunque no es un lenguaje
orientado a objetos, el mismo no dispone de herencias. La mayora de los
navegadores en sus ltimas versiones interpretan cdigo Javascript.

El cdigo Javascript puede ser integrado dentro de los aplicativos web. Para
evitar incompatibilidades el World Wide Web Consortium (W3C) dise un
estndar denominado DOM (Document Object Model). (Wilson, Leslie B, 1993)

33
Ventajas

Es un lenguaje de scripting seguro y fiable con capacidades limitadas


por razones de seguridad.
El cdigo Javascript se ejecuta en el cliente.

Desventajas

El cdigo puede ser visualizado por cualquier usuario poniendo en


riesgo la seguridad del sitio.
El cdigo debe descargarse completamente.

2.12.3 PHP (PHP Hypertext Pre-processor)


Inicialmente se llam Personal Home Page, surgi en 1995, desarrollado por
PHP Group. PHP (PHP Hypertext Pre-processor) es un lenguaje de script
interpretado en el lado del servidor utilizado para la generacin de pginas
web dinmicas, embebidas en pginas HTML y ejecutadas en el servidor.
PHP no necesita ser compilado para ejecutarse. Para su funcionamiento
necesita tener instalado Apache o IIS con las libreras de PHP. La mayor
parte de su sintaxis ha sido tomada de C, Java y Perl con algunas
caractersticas especficas. Los archivos cuentan con la extensin (php).
(Wilson, Leslie B, 1993)

Ventajas

Lenguaje de fcil aprendizaje que se caracteriza por ser un lenguaje


muy rpido.
Es un lenguaje multiplataforma que soporta en cierta medida la
orientacin de objetos, clases y herencia.
Capacidad de conexin con la mayora de los manejadores de base
de datos: MysSQL, PostgreSQL, Oracle, MS SQL Server.

34
PHP est diseado especficamente para ser un lenguaje ms seguro
para escribir programas CGI que Perl o C, y con la seleccin correcta
de opciones de configuracin en tiempos de compilacin y ejecucin,
y siguiendo algunas prcticas correctas de programacin.
Desventajas

Requiere obligatoriamente la instalacin de un servidor web y debido


a que todo el trabajo lo realiza el servidor y no el cliente puede ser
ms ineficiente a medida que las solicitudes aumenten de nmero.
La claridad del cdigo puede verse afectada al mezclar sentencias
HTML y PHP.

2.12.4 ASP.NET
Este es un lenguaje desarrollado y comercializado por Microsoft.
ASP.NET es el sucesor de la tecnologa ASP, fue lanzada al mercado
mediante una estrategia de mercado denominada .NET.

El ASP.NET fue desarrollado para resolver las limitantes que brindaba su


antecesor ASP. Creado para desarrollar web sencillas o grandes
aplicaciones. Para el desarrollo de ASP.NET se puede utilizar C#,
VB.NET o J#. Los archivos cuentan con la extensin (aspx). Para el
funcionamiento de las pginas se necesita tener instalado IIS con el
Framework .Net. (Wilson, Leslie B, 1993)

Ventajas

Permite la divisin entre la capa de diseo y el cdigo, con ayuda de


los controles de usuario personalizados facilita el desarrollo y el
mantenimiento de grandes aplicaciones.
Buen control de la seguridad y velocidad de respuesta del servidor.

35
Desventajas

Como desventaja ms notable se encuentra el consumo de recursos.

2.12.5 JSP
JSP fue desarrollado por Sun Microsystems comparte ventajas similares a
las de ASP.NET, desarrollado para la creacin de aplicaciones web
potentes. Posee un motor de pginas basado en los servlets de Java. Para
su funcionamiento se necesita tener instalado un servidor Tomcat.

Este lenguaje permite la creacin de sitios web dinmicos, acrnimo de Java


Server Pages, est orientado a desarrollar pginas web en Java en donde el
cdigo se encuentra separado de la lgica del programa, los archivos se
generan con la extensin (jsp). (Wilson, Leslie B, 1993)

Ventajas

Permite una ejecucin rpida de servlets.


Permite la utilizacin de servlets y se integra con los mdulos de
Java.
Desventajas

Complejidad de aprendizaje.
2.13 HERRAMIENTAS DE DESARROLLO
En la actualidad las dos grandes tendencias para el desarrollo de pginas
web son los que usan CMS (Sistema De Gestin De Contenidos) que son
aquellos que no disponen de mayores conocimientos en codificacin y
leguajes de programacin; y, aquellos que estn acostumbrados a un
desarrollo limpio prcticamente desde cero mediante un IDE de desarrollo.

36
2.13.1 ENTORNO DE DESARROLLO INTEGRADO (IDE)
Un entorno de desarrollo integrado, llamado tambin IDE (Integrated
Development Environment), es un programa informtico que ha sido
empaquetado como un programa de aplicacin, es decir, consiste en un
editor de cdigo, un compilador, un depurador y un constructor de interfaz
grfica (GUI).

Los IDEs pueden ser aplicaciones por s solas o pueden ser parte de
aplicaciones existentes, ya que proveen un marco de trabajo amigable para
la mayora de los lenguajes de programacin tales como C++, Python, Java,
C#, Delphi, Visual Basic, etc.

A continuacin se describen los ms comunes:

2.13.1.1 Netbeans
Es un entorno de desarrollo integrado libre y gratuito sin restricciones de
uso, hecho principalmente para el lenguaje de programacin Java.

Sun MicroSystems fund el proyecto de cdigo abierto NetBeans en junio de


2000 y en el 2009 est empresa fue adquirida por Oracle.

Este IDE permite que las aplicaciones sean desarrolladas a partir de un


conjunto de componentes de software llamados mdulos que contienen
clases de java escritas para interactuar con las APIs de NetBeans. Las
aplicaciones basadas en la plataforma NetBeans pueden ser extendidas
fcilmente por otros desarrolladores de software. (NetBeans IDE 7.1.1. [en
lnea].[Fecha de consulta: 27 dic 2011) Disponible en: http://netbeans.org/)

2.13.1.2 Microsoft Visual Studio Express Edition


Es un entorno de desarrollo integrado para sistemas operativos Windows
desarrollado y distribuido por Microsoft Corporation, soporta varios lenguajes
de programacin tales como Visual C++, Visual C#, Visual J#, ASP.NET y
Visual Basic .NET, aunque actualmente se han desarrollado las extensiones

37
necesarias para muchos otros. Es de carcter gratuito y es proporcionado
por la compaa Microsoft Corporation orientndose a principiantes,
estudiantes y aficionados de la programacin web y de aplicaciones.

Visual Studio Express permite a los desarrolladores crear aplicaciones, sitios


y aplicaciones web, as como servicios web en cualquier entorno que soporte
la plataforma .NET (a partir de la versin .net 2002, se incorpora la versin
Framework 3.5 y Framework 4.0 para las ediciones 2005, 2008 y 2010).

Las ediciones que hay dentro de cada suite son:

Visual Basic Express Edition.


Visual C# Express Edition.
Visual C++ Express Edition.
Visual Web Developer Express Edition.
(Microsoft Visual Studio Express Edition. [en lnea].[Fecha de consulta: 27 dic 2011.
Disponible en: http://www.microsoft.com/express)

2.12.2.3 Web Developer Express Edition, es un IDE para programar


fcilmente en ASP.NET, que permite la creacin dinmica de sitios web
basados en estndares, hacienda que los sitios web sean accesibles a partir
de una variedad de navegadores y dispositivos.

Adems, tras la instalacin se puede obtener los ltimos components de la


plataforma Web de Microsoft, incluyendo el servidor web de macros y base
de datos.

Limitaciones Microsoft Visual Studio Express Edition.

Microsoft Visual Studio Express Edition es un entorno de desarrollo


integrado para sistemas operativos Windows, orientado a principiantes,
estudiantes y aficionados de la programacin web, por ser de carcter
gratuito excluye herramientas de anlisis avanzados as como tambin
plantillas de los Servicios de Windows y las plantillas de Crystal Reports.

38
2.13.2 SISTEMA GESTOR DE BASE DE DATOS(SGBD)
Un Sistema Gestor de Bases de Datos (SGBD) o DBMA (DataBase
Management System) es una coleccin de programas cuyo objetivo es servir
de interfaz entre la base de datos, el usuario y las aplicaciones. Se compone
de un lenguaje de definicin de datos, de un lenguaje de manipulacin de
datos y de un lenguaje de consulta. Un SGBD permite definir los datos a
distintos niveles de abstraccin y manipular dichos datos, garantizando la
seguridad e integridad de los mismos.

Las caractersticas de un Sistema Gestor de Base de Datos SGBD son:

Abstraccin de la Informacin. Los SGBD ahorran a los usuarios detalles


acerca del almacenamiento fsico de los datos. Da lo mismo si una base de
datos ocupa uno o cientos de archivos, este hecho se hace transparente al
usuario. As, se definen varios niveles de abstraccin.

Independencia. La independencia de los datos consiste en la capacidad de


modificar el esquema (fsico o lgico) de una base de datos sin tener que
realizar cambios en las aplicaciones que se sirven de ella.

Redundancia mnima. Un buen diseo de una base de datos lograr evitar


la aparicin de informacin repetida o redundante. De entrada, lo ideal es
lograr una redundancia nula; no obstante, en algunos casos la complejidad
de los clculos hace necesaria la aparicin de redundancias.

Consistencia. En aquellos casos en los que no se ha logrado esta


redundancia nula, ser necesario vigilar que aquella informacin que
aparece repetida se actualice de forma coherente, es decir, que todos los
datos repetidos se actualicen de forma simultnea.

Seguridad. La informacin almacenada en una base de datos puede llegar a


tener un gran valor. Los SGBD deben garantizar que esta informacin se
encuentra segurizada frente a usuarios malintencionados, que intenten leer

39
informacin privilegiada; frente a ataques que deseen manipular o destruir la
informacin; o simplemente ante las torpezas de algn usuario autorizado
pero despistado. Normalmente, los SGBD disponen de un complejo sistema
de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas
categoras de permisos.

Integridad. Se trata de adoptar las medidas necesarias para garantizar la


validez de los datos almacenados. Es decir, se trata de proteger los datos
ante fallos de hardware, datos introducidos por usuarios descuidados, o
cualquier otra circunstancia capaz de corromper la informacin almacenada.

Respaldo Y Recuperacin. Los SGBD deben proporcionar una forma


eficiente de realizar copias de respaldo de la informacin almacenada en
ellos, y de restaurar a partir de estas copias los datos que se hayan podido
perder.

Control De La Concurrencia. En la mayora de entornos (excepto quizs el


domstico), lo ms habitual es que sean muchas las personas que acceden
a una base de datos, bien para recuperar informacin, bien para
almacenarla. Y es tambin frecuente que dichos accesos se realicen de
forma simultnea. As pues, un SGBD debe controlar este acceso
concurrente a la informacin, que podra derivar en inconsistencias.

(CAVSI. [en lnea]. [Fecha de consulta: 10 FEB 2012. Disponible en:


http://www.cavsi.com/preguntasrespuestas/que-es-un-sistema-gestor-de-bases-de-datos-o-
sgbd/)

A continuacin se describen los ms comunes:

40
2.13.2.1 Mysql
MySQL proporciona un servidor de base de datos SQL (Structured Query
Language) veloz, multi-hilo, multiusuario y robusto. El servidor est
proyectado tanto para sistemas crticos en produccin soportando intensas
cargas de trabajo como para empotrarse en sistemas de desarrollo masivo
de software. El software MySQL tiene licencia dual, pudindose usar de
forma gratuita bajo licencia GNU o bien adquiriendo licencias comerciales de
MySQL AB en el caso de no desear estar sujeto a los trminos de la licencia
GPL. MySQL es una marca registrada de MySQL AB.

2.13.2.2 Sql Server Express 2008.


Microsoft SQL Server 2008 Express es un sistema de administracin de datos
eficaz y confiable que ofrece un variado conjunto de caractersticas, proteccin
de datos y rendimiento para clientes de aplicaciones incrustadas, aplicaciones
web ligeras y almacenes de datos locales. SQL Server 2008 Express, que est
diseado para una implementacin sencilla y una creacin de prototipos rpida,
est disponible de forma gratuita y su redistribucin con aplicaciones tambin
es gratuita. Est diseado para integrarse a la perfeccin con otras inversiones
de infraestructura de servidor.

2.14 SOFTWARE LIBRE (OPEN SOURCE)


El trmino software libre es adecuado para referirse a programas que se
ofrecen con total libertad de modificacin, uso y distribucin bajo la regla
implcita de no modificar dichas libertades hacia el futuro.

El cdigo abierto es un trmino rgido y se entiende como la libertad de


examinar el cdigo fuente.

41
2.14.1 CARACTERSTICAS

Bajo los trminos de distribucin de software de cdigo abierto estos deben


cumplir las siguientes caractersticas:

1. Redistribucin Libre.
La licencia no debe restringir a nadie vender o entregar el software como un
componente de una distribucin mayor que contiene programas de
diferentes fuentes.

2. Cdigo Fuente.
El programa debe incluir el cdigo fuente, y permitir la distribucin del mismo
as como tambin en su forma compilada. Si por alguna razn el programa
no distribuye el cdigo fuente, debe constar claramente por cualquier medio
como obtener el cdigo fuente.

3. Trabajos Derivados.
La licencia debe permitir modificaciones de los trabajos derivados, as como
tambin que estos se distribuyan bajo los mismos trminos que la licencia
del software original.

4. Integridad Del Cdigo Fuente Del Autor.

La licencia puede restringir que el cdigo fuente sea distribuido en forma


modificada solamente si la licencia permite la distribucin de "archivos
parche" con el cdigo fuente con el propsito de modificar el programa en
tiempo de compilacin. La licencia puede requerir que los trabajos derivados
lleven un nombre o nmero de versin del software original.

5. No Discriminacin Contra Personas O Grupos.

La licencia no debe discriminar a ninguna persona o grupo de personas.

42
6. No Discriminacin En Funcin De La Finalidad Perseguida.

La licencia no debe restringir a nadie que haga uso del programa en un


campo especfico de actividad. Por ejemplo, no puede restringir el programa
de ser utilizado en un negocio, o que se utilicen para la investigacin
gentica.

7. Distribucin De La Licencia.

Los derechos vinculados al programa deben aplicarse a todos aquellos a


quienes se redistribuya el programa, sin necesidad de pedir una licencia
adicional.

8. La Licencia No Debe Ser Especfica A Un Producto.

El programa no puede licenciarse solo como parte de una distribucin


mayor.

9. Licencia No Debe Restringir Otro Software.

La licencia no debe imponer restricciones sobre otro software que se


distribuye junto con el software licenciado. Por ejemplo, la licencia no debe
insistir en que todos los dems programas distribuidos en el mismo medio
deben ser software de cdigo abierto.

10. Licencia Debe Ser Tecnolgicamente Neutral.

Ninguna disposicin de la licencia puede basarse exclusivamente a una


tecnologa o estilo de interfaz.

(OPENSOURCE.ORG. Open Source Initiative. [en lnea].[Fecha de consulta: 20 dic


2011.Disponible en: http://www.opensource.org/osd.html)

43
2.14.2 TIPOS DE LICENCIA.
Una licencia es aquella autorizacin formal con carcter contractual que un
autor de un software da a un interesado para ejercer "actos de explotacin
legales". Pueden existir tantas licencias como acuerdos concretos se den
entre el autor y el licenciatario.

Desde el punto de vista del software libre, existen distintas variantes del
concepto o grupos de licencias entre ellas las ms significativas son:

Licencia General Public License (Gpl).

Una de las ms utilizadas es la Licencia Pblica General de GNU (GNU


GPL). El autor conserva los derechos de autor (copyright), y permite la
redistribucin y modificacin bajo trminos diseados para asegurarse de
que todas las versiones modificadas del software permanecen bajo los
trminos ms restrictivos de la propia GNU GPL. Esto hace que sea
imposible crear un producto con partes no licenciadas GPL.

Es decir, la licencia GNU GPL posibilita la modificacin y redistribucin del


software, pero nicamente bajo esa misma licencia, y aade que si se
reutiliza en un mismo programa cdigo "A" licenciado bajo licencia GNU GPL
y cdigo "B" licenciado bajo otro tipo de licencia libre, el cdigo final "C",
independientemente de la cantidad y calidad de cada uno de los cdigos "A"
y "B", debe estar bajo la licencia GNU GPL.

Aproximadamente el 60% del software licenciado como software libre


emplea una licencia GPL.

Licencia Berkeley Software Distribution (Bsd)

Llamadas as porque se utilizan en gran cantidad de software distribuido


junto a los sistemas operativos BSD. El autor, bajo tales licencias, mantiene
la proteccin de copyright nicamente para la renuncia de garanta y para

44
requerir la adecuada atribucin de la autora en trabajos derivados, pero
permite la libre redistribucin y modificacin, incluso si dichos trabajos tienen
propietario. Son muy permisivas, tanto que son fcilmente absorbidas al ser
mezcladas con la licencia GNU GPL con quienes son compatibles. Puede
argumentarse que esta licencia asegura verdadero software libre, en el
sentido que el usuario tiene libertad ilimitada con respecto al software, y que
puede decidir incluso redistribuirlo como no libre.

Licencia Mozilla Public License (Mpl)

Esta licencia es de Software Libre y tiene un gran valor porque fue el


instrumento que emple Netscape Communications Corp. para liberar su
Netscape Communicator 4.0 y empezar ese proyecto tan importante para el
mundo del Software Libre.

Se utilizan en gran cantidad de productos de software libre de uso cotidiano


en todo tipo de sistemas operativos. La MPL es Software Libre y promueve
eficazmente la colaboracin evitando el efecto "viral" de la GPL (si usas
cdigo licenciado GPL, tu desarrollo final tiene que estar licenciado GPL).
Desde un punto de vista del desarrollador la GPL presenta un inconveniente
en este punto, y lamentablemente mucha gente se cierra ante el uso de
dicho cdigo. No obstante la MPL no es tan excesivamente permisiva como
las licencias tipo BSD.

Licencia Microsoft Public License (MS-PL)

Esta licencia es la menos restrictiva de las licencias de Microsoft y permite la


distribucin de cdigo compilado ya sea para fines comerciales como no
comerciales bajo cualquier licencia que cumpla con la MS-PL.

La redistribucin del cdigo fuente en s nicamente se autoriza bajo la MS-


PL, inicialmente titulada Microsoft Permissive License, fue renombrada a
Microsoft Public License, mientras que se estaba revisando para su

45
aprobacin por la Open Source Initiative (OSI). La licencia fue aprobada el
12 de octubre de 2007.

De acuerdo con la Free Software Foundation, es una licencia de software


libre, sin embargo, no es compatible con la GNU GPL.

Condiciones Y Limitaciones

Esta licencia no otorga derechos de uso de nombre de los


contribuyentes, logotipo o marcas.
Para distribuir cualquier parte del software, debe conservar todos los
derechos de autor, patentes, marcas, y avisos de atribucin que estn
presentes en el software.
Distribuir cualquier parte del software en forma de cdigo fuente,
puede hacerlo slo bajo esta licencia mediante la inclusin de una
copia completa de esta licencia con su distribucin.

Licencia Copyleft

Hay que hacer constar que el titular de los derechos de autor (copyright) de
un software bajo licencia copyleft puede tambin realizar una versin
modificada bajo su copyright original, y venderla bajo cualquier licencia que
desee, adems de distribuir la versin original como software libre. Esta
tcnica ha sido usada como un modelo de negocio por una serie de
empresas que realizan software libre (por ejemplo MySQL); esta prctica no
restringe ninguno de los derechos otorgados a los usuarios de la versin
copyleft. Tambin podra retirar todas las licencias de software libre
anteriormente otorgadas, pero esto obligara a una indemnizacin a los
titulares de las licencias en uso.

(OPENSOURCE.ORG. Open Source Initiative. [en lnea].[Fecha de consulta: 20 dic


2011.Disponible en: http://www.opensource.org/osd.html)

46
2.15 HERRAMIENTAS DE LIBRE DISTRIBUCIN (EXPRESS)
Las herramientas de libre distribucin (Express) son programas de desarrollo
para sistemas operativos Windows de carcter gratuito y son proporcionados
por la compaa Microsoft Corporation.

Constan con todo lo necesario para la creacin de aplicaciones, adems,


cuentan con varios de los componentes ms recientes de sus versiones
comerciales, convirtindolas en una alternativa muy importante para los
programadores que desean desarrollar soluciones informticas sin incurrir en
gastos por el tema de licencias.

Las versiones Express son orientadas a principiantes, estudiantes y


aficionados de la programacin web y de aplicaciones, por lo que los
componentes y mayores potencialidades de las herramientas solo son
validas en las versiones comerciales que generalmente son utilizados en el
desarrollo de proyectos complejos y de gran tamao.

A continuacin algunos de los productos de versin Express

Visual Basic Express


Visual Web Developer Express
Visual C++ Express
Visual C# Express
SQL Server Express
Express for Windows Phone
(MICROSOFT. Product Express. [en lnea].[Fecha de consulta: 1 jul 2012.Disponible en:
http://www.microsoft.com/visualstudio/latam/products/products-express)

2.16 INFORMACIN GENERAL HAUGAN CRUISES


Es una empresa gestionada conjuntamente por personal de Ecuador y Europa
con experiencia en el sector turstico. Desde 1998, Haugan Cruises ha sido la

47
mejor fuente de informacin y recomendaciones para viajes a las Islas
Galpagos.

Haugan Cruises es el nico operador de los lujosos catamaranes Cormorn y


Ocean Spray. Al basar sus operaciones en Ecuador, ofrecen a todos sus
clientes de expediciones una alta calidad a bordo de los mejores cruceros de
Galpagos.

MISIN

Brindar a sus clientes una gran experiencia a bordo de sus cruceros, de manera
social y ambientalmente responsable.

SERVICIOS

a) CRUCEROS
Haugan Cruises como servicio principal cuenta con la venta y operacin de
paquetes tursticos que incluyen crucero a las islas galpagos con varios
itinerarios aprobados por el Parque Nacional Galpagos y para ello cuenta con
2 barcos propios de tipo catamarn con categora de lujo.

b) LAND
Haugan Cruises provee servicios de turismo en tierra a nivel nacional e
internacional por medio de contratacin y convenios con proveedores locales de
transporte, hospedajes, y recreacin, de esta manera se asegura la satisfaccin
del cliente.

c) CONSERVACIN
Haugan Cruises se preocupa por el mundo y apoya a la conservacin por
medio de la utilizacin de productos biodegradables a bordo. Se trabaja en
estrecha colaboracin con el Parque Nacional Galpagos para asegurarse de
que se cumplen las regulaciones del Parque.

48
d) COMPENSACIN DE CARBONO

Haugan Cruises trabaja en estrecha colaboracin con CanopyCo una


organizacin ecuatoriana basada y dirigida por profesionales locales y europeos
dedicados a la reforestacin de los bosques nativos del Ecuador para el
beneficio del clima, la comunidad local y, por supuesto, la flora y fauna del
Ecuador. Junto con CanopyCo se ha calculado cuidadosamente todas las
emisiones que genera la operacin de los cruceros incluso el combustible
utilizado por los motores a bordo, utilizando mtodos reconocidos
internacionalmente se puede conocer cuntos rboles hay que plantar para
absorber las emisiones de dixido de carbono.

e) VOLUNTARIOS DE PROGRAMAS DE ECUADOR Y GALPAGOS

Haugan Cruises es uno de los principales apoyos del Programa de Voluntariado


Simn Bolvar. El programa de voluntariado ayuda a encontrar y colocar a los
voluntarios en proyectos meritorios en todo el Ecuador y las Galpagos. Los
proyectos de caridad son variados e incluyen: programas de salud, el bienestar
infantil, los proyectos de medio ambiente, bienestar animal, educacin agrcola
y prcticas profesionales.

49
3 METODOLOGA
En este captulo se describe las herramientas y mtodos utilizados para la
obtencin del aplicativo web, siguiendo as cada una de las etapas que
conforman el modelo de desarrollo PROTOTIPADO modelo considerado de
desarrollo rpido cumpliendo as con el objetivo general.

1. Etapa de Comunicacin:
El Reconocimiento del Problema y el Estudio de Factibilidad se los
realiz por medio de entrevistas con el gerente de ventas encargado y los
usuarios, el resultado se encuentra detallado en el siguiente captulo (4.1.1
y 4.1.2). Para todo los que corresponde a Requerimientos de Informacin
se utiliz el estndar IEEE830 pese a que su utilizacin no es obligatoria es
un excelente referente para describir los diferentes requisitos de informacin
y sistema.

2. Etapa de Planificacin o Plan Rpido:


La Metodologa de Desarrollo y la planificacin se encuentran detalladas
en el siguiente capitulo (4.2.2), los mismos fueron seleccionados tras el
estudio y anlisis de sus ventajas. El Alcance final fue concretado tras haber
realizado 3 iteraciones del aplicativo web con los usuarios y el mismo se
encuentra detallado en el siguiente captulo (4.2.3).

3. Etapa de Modelado:
La Arquitectura se defini por medio del anlisis de cuadros comparativos,
priorizando aquellas que cuentan con caractersticas asociadas a la libre
distribucin y Open Source, caractersticas que satisfacen con los objetivos,
alcance, y factibilidad descritos en la presente tesis. Para los Diagramas del
Modelado se utiliz el Lenguaje Unificado de Modelado UML seleccin
apropiada debido a que es por definicin el estndar para los proyectos de
desarrollo orientado a objetos, los diagramas que se obtuvieron son los de
Contexto General, Casos de Uso, Actividades, Estado, Clases, y Base de

50
Datos. El Diseo de Interfaces se lo realiz por medio de bosquejos
grficos aprobados por los usuarios de ventas de la empresa facilitadora,
siguiendo el patrn acostumbrado de web forms de Microsoft Windows.

4. Etapa de Construccin:
La Estructura o Paradigma de Programacin corresponde al de diseo
MVC (Modelo Vista Controlador) el mismo que fue seleccionado tras el
anlisis de sus ventajas, sobre todo por las caractersticas con las que
cuenta ahora para el desarrollo de cdigo Open Source. El Lenguaje de
Programacin fue definido por medio del anlisis de cuadros comparativos,
y especialmente por que el lenguaje se acopla perfectamente con el
paradigma y arquitectura seleccionados previamente. La Definicin de
Variables de Codificacin del aplicativo web fue validada con el usuario por
medio de entrevistas realizadas al momento de la entrega de las 2 primeras
iteraciones, finalmente las Pruebas que se definieron para la validacin con
el usuario son Pruebas de Unidad, Integracin, Tipo Alfa, Recuperacin,
Rendimiento, las mismas se las present por medio de cuadros de control.

5. Etapa de Despliegue:
Para el Manual de Usuario se gener un documento que detalla al usuario
lo que el aplicativo web realiza para la gestin de paquetes tursticos. El
Manual Tcnico al igual que el manual de usuario se lo realiz por medio de
un documento que describe la organizacin y estructura de los archivos que
conforman el aplicativo web, informacin bsica para el programador y
administrador. Las Encuestas y Entrevistas se dieron lugar tras la
finalizacin del sistema con la participacin de los usuarios de la empresa
facilitadora Haugan Cruises estos midieron la satisfaccin de los procesos
del aplicativo web (Anexo N 4)

51
4 RESULTADOS Y DISCUSIN
Es importante resaltar que los resultados y anlisis obtenidos y que a
continuacin se presentan corresponden a la ltima iteracin del modelo de
desarrollo por prototipo, la misma que fue de satisfaccin por parte de la
empresa facilitadora Haugan Cruises.

4.1 ETAPA DE COMUNICACIN

4.1.1 RECONOCIMIENTO DEL PROBLEMA


Tras la entrevista se visualiz que la empresa facilitadora Haungan Cruises
presenta problemas de organizacin y control al momento de realizar las
solicitudes, reservas, ventas y operacin de sus paquetes tursticos ya que lo
vienen realizando de forma manual y sin procedimientos sistemticos,
adems la nica herramienta informtica con la que cuentan es el correo
electrnico, razn por la cual reconocen la necesidad de un aplicativo
informtico para una adecuada gestin turstica.

Bajo las actuales condiciones los correos y apuntes del personal son
propensos a ser extraviados o ser daados involuntariamente.

El principal objetivo es desarrollar una herramienta que permita una correcta


gestin de los procesos que en la actualidad el personal desempea dentro
de la empresa relacionada a la venta de sus paquetes tursticos.

Para satisfacer las necesidades del usuario se pueden desarrollar dos tipos
de soluciones: establecer un proceso normalizado con la ayuda de una hoja
de clculo electrnico; o, la de contar con un aplicativo sistematizado que
permita una adecuada gestin de sus procesos.

52
4.1.2 ESTUDIO DE FACTIBILIDAD

ECONMICO

El trabajo de tesis es viable econmicamente por no necesitar un gasto muy


significativo, y esto debido a la utilizacin de herramientas para el desarrollo
de sistemas de libre distribucin EXPRESS. Entre los gastos tomados en
cuenta se consider los siguientes:

Tabla 3. Cuadro de Costos Factibilidad Econmica

RUBRO VALOR
HARDWARE $ 665,00
SUMINISTROS DE PAPELERA $ 100,00
TEXTOS $ 100,00
CONEXIN INTERNET $ 200,00
TOTAL $ 1.065,00

TCNICO

El desarrollo del presente trabajo de tesis es viable tcnicamente ya que en


la actualidad se cuenta con un sin nmero de herramientas para el desarrollo
de aplicativos web, as como tambin de herramientas para el diseo e
implementacin de base de datos, que pueden ser de libre distribucin.

OPERATIVO

El trabajo de tesis es viable operativamente por el nivel de preparacin de


los usuarios que interactan con el aplicativo web, tanto de los usuarios de
ventas como el usuario administrador adems dentro de las pruebas y
encuesta de satisfaccin se logr un nivel bastante aceptable.

4.1.3 REQUERIMIENTOS DE INFORMACIN (IEEE830)


Los puntos de vista que se dieron por el gerente y asesores de ventas sobre
las caractersticas del aplicativo se concretaron en los siguientes:

53
1. PROPSITO
La administracin de HAUGANCRUISES en su afn de mejorar la atencin
al pblico, desea implementar un sistema automatizado para la gestin de
sus paquetes tursticos as como tambin el registro de las ventas, y
actividades de sus empleados.

Con dicho sistema se pretende agilizar el manejo de la informacin


obteniendo menor tiempo en la comercializacin de sus paquetes y disminuir
errores por omisin.

2. MBITO DEL SISTEMA


La aplicacin permitir crear paquetes tursticos en base a un catlogo
prestablecido por la empresa.
Aplicacin desarrollada en el idioma ingls.
Links de referencia hacia sus pginas de contenido.
Registro y seguimiento de los procesos individualizados por cada asesor
de ventas.
Intuitivo de utilizar.
Confiabilidad
Modularidad

3. DESCRIPCIN GENERAL
a. PERSPECTIVA DEL PRODUCTO
El aplicativo web ser desarrollado en forma modular con el objetivo
de automatizar el control que el agente de ventas debe tener cuando existe una
reserva, de igual manera se podr tener un archivo en formato PDF de los
paquetes, reservas, y facturas.

54
b. CARACTERSTICAS DE LOS USUARIOS
La Empresa cuenta con seoritas especialistas en la construccin, gestin, y ventas
de paquetes tursticos y de igual manera tienen un conocimiento amplio en el rea
de informtica y entornos web, adems la empresa cuenta con una persona que da
soporte a la plataformas de correo y pgina web

TIPO DE USUARIO : Especialista en Ventas

FORMACIN : Ingeniera de Gestin Hotelera y Turstica.

HABILIDADES : Manejo de sistemas informticos, dominio de

varios lenguajes Ingls, Francs, Italiano

-----------------------------------------------------------

TIPO DE USUARIO : Administrador

FORMACIN : Ingeniera de Sistemas.

HABILIDADES : Manejo de aplicaciones web, base de

Datos, Gestin de Servidores Linux

c. RESTRICCIONES
El sistema no se integra con el servidor de correo para el envi de los
archivos PDF generados por el aplicativo web.

El sistema es de uso exclusivo de los usuarios internos no permitiendo que


el cliente tenga acceso va internet.

El sistema a pesar de que cuenta con un proceso de factura este no


involucra cuentas contables ni modulo de contabilidad.

Requerimientos de Hardware (USUARIO)

Computadora Pentium IV de 1.4 GHz o superior.


1Gb de RAM o superior.

55
Requerimientos de Software (USUARIO)

Windows XP o superior.
Internet Explorer versin 9 o superior.
Adobe Flash Player 10.1.
Requerimientos de Hardware (SERVIDOR)

Computadora Core de 2.7 GHz o superior.


4Gb de RAM o superior.
Disco duro 250 Gb o superior
Requerimientos de Software (SERVIDOR)

Windows Server 2008.


Internet Explorer versin 9 o superior.
Web Developer 2010 Express
SQL Server 2008 Express

4. REQUISITOS ESPECFICOS
A continuacin se detallan los requerimientos especficos de la aplicacin:

Crear Ofertas (Request)

Tabla 4. Cuadro descriptivo proceso de Ofertas

Sistema Proceso de Ventas


Proceso Creacin de ofertas
Descripcin Construccin de paquetes tursticos
Entradas Hospedaje, Crucero, Actividades
Salidas Archivo PDF, Plantilla HTML

56
Crear Reservas Tm (Booking)

Tabla 5. Cuadro descriptivo proceso de Reservas

Sistema Proceso de Ventas


Proceso Creacin de Reserva
Descripcin Asignacin del identificativo TM
Entradas ID de la oferta
Salidas Archivo PDF, Plantilla HTML

Crear Factura (Invoice)

Tabla 6. Cuadro descriptivo proceso de Facturas

Sistema Proceso de Ventas


Proceso Creacin de Factura
Descripcin ID de Factura, Detalle de la reserva con valores en dlares por cada tem
Entradas ID de la reserva
Salidas Archivo PDF, Plantilla HTML

Operar Reserva (Operation)

Tabla 7. Cuadro descriptivo proceso de Reservas

Sistema Proceso de Ventas


Proceso Operacin de la Reserva
Descripcin Chequeo de cada tem de la reserva
Entradas ID de la reserva
Salidas Plantilla HTML

Registrar Pagos (Payments)

Tabla 8. Cuadro descriptivo proceso de Pagos

Sistema Proceso de Ventas


Proceso Registro de pagos
Descripcin Revisin del pago de abonos y totales de la reserva
Entradas Id de la factura
Salidas Plantilla HTML

57
Creacin de Paquetes (Packages)
Tabla 9. Cuadro descriptivo proceso de Packages

Sistema Proceso de Ventas


Proceso Construccin de paquetes
Descripcin Detalle sobre los tems que conforman el paquete
ID DE CRUCERO, ID DE ACTIVIDADES, ID DE
Entradas HOSPEDAJE
Salidas Plantilla HTML

a. INTERFACES EXTERNAS

i. Requisitos Comunes de Las Interfaces


En este punto se describe las distintas interfaces con las que cuenta el
aplicativo:

ii. Interfaces de Usuario


El usuario tiene en pantalla la opcin para ingresar el Nombre de Usuario y
el Password. Para ingresar el Nombre, el usuario deber hacer click con el
mouse en la opcin LOGIN e ingresar su nombre de usuario, para ingresar
su contrasea puede desplazarse en la opcin PASSWORD clickeando en
dicha opcin o utilizando la tecla de tabulacin.

En caso de ingresar un nombre de usuario o una contrasea errnea el


sistema emitir un mensaje de error.

Una vez que el sistema valide al usuario, el sistema despliega el men del
modulo general.

58
iii. INTERFACES DE HARDWARE
El usuario podr interactuar con el sistema a travs del mouse o el teclado
indistintamente.

Podr ingresar a una ventana del sistema presionando el botn izquierdo del
mouse sobre la opcin elegida, esto le habilita la carga de datos o realizar
consultas, para desplazarse de una opcin a otra tambin podr realizarlo
con el mouse o con el teclado mediante la tecla de tabulacin.

4.2 ETAPA DE PLANIFICACIN

4.2.1 METODOLOGA DE DESARROLLO


El modelo para el proceso de Software corresponde al PROTIPADO

La Metodologa de Desarrollo Orientada a Objetos es la que se seleccion


para el anlisis y diseo del aplicativo ya que cuenta con las siguientes
ventajas que permitieron su eleccin, adems la codificacin es bastante
conocida por el autor de la tesis ya que fueron los impartidos durante la
carrera universitaria.

Diseo Modulares
Paradigma: Reutilizacin de clases (Herencia, encapsulamiento)
Prototipos Rpidos
Herramientas y Bibliotecas muy amplias
Mejor comprensin y mantenimiento
Para el diseo y modelado se contempla UML por ser el estndar para los
proyectos con metodologa orientada a objetos.

4.2.2 ALCANCE
El aplicativo se desarroll con la combinacin de aplicaciones web Open
Source, plantillas predefinidas y codificacin nueva para obtener un producto
con licencia de cdigo abierto bajo los trminos de la Microsoft Public
License (MS-PL). Que ha sido aprobada por la organizaciones Open Source

59
Initiative (OSI) y por la Free Software Foundation (FSF). El aplicativo
contar con los procesos de: Solicitud (Request), Reservas (Booking),
Operacin (Operation), Factura (Invoice), Pagos (Payment), y Paquetes
tursticos (Packages).

De igual manera generar archivos PDF de los procesos de Factura


(Invoice), Pagos (Payments), y Reservas (Booking).

USUARIO ADMIN

Carga de informacin tablas base:

Usuarios (Users)
Departamentos (Departments)
Botes (Boats)
Itinerarios (Itineraries)
Hospedajes (Accommodations)
USUARIO VENTAS

Gestin de los procesos:

Solicitud (Request)
Reservas (Booking)
Operacin (Operation)
Factura (Invoice)
Pagos (Payment)
Paquetes tursticos (Packages)

60
4.3 ETAPA DE MODELADO
4.3.1 ARQUITECTURA Y HERRAMIENTAS
4.3.1.1 Sistema Operativo
El sistema operativo para el servidor debe ser de preferencia Windows
Server 2008 por las prestaciones y afinidad con el ID de Desarrollo.

4.3.1.2 ID de Desarrollo
Cuando se inici la investigacin de las posibles herramientas que se
podran utilizar para el desarrollo de la presente tesis, se tom en cuenta el
IDE NETBEANS, y mientras se avanzaba se encontr mayores ventajas de
integracin y de rpido desarrollo en otras alternativas que permitiran
realizar todas las actividades requeridas y cumplir con los objetivos
propuestos, por tal razn se eligi VISUAL STUDIO EXPRESS 2010 con su
suite VISUAL WEB DEVELOPER, para este fin debido a las bondades que
presenta al momento de realizar trabajos orientados al diseo de pginas
web, as como tambin que el uso de versiones express permite el desarrollo
de aplicaciones .NET sin la necesidad de adquirir licencias, incluso se puede
desarrollar productos finales para comercializarlos sin tener que pagar por el
uso de estas versiones.

A continuacin se describe los requisitos previos para su instalacin:

Requisitos de Software para la instalacin del IDE de Desarrollo

Windows XP (x86) con Service Pack 3 Todas las ediciones salvo


Starter Edition.
Windows Vista (x86 y x64) con Service Pack 2 Todas las ediciones
salvo Starter Edition.
Windows Server 2008 (x86 y x64) con Service Pack 2.
Windows Server 2008 R2 (x64).

61
Requisitos de Hardware para la instalacin del IDE de Desarrollo

Computador con procesador de 1,6 Ghz o ms rpido.


1 GB (32 bits) o 2 GB (64 bits) de RAM (512 MB Aadir si se ejecuta
en una mquina virtual).
3 GB de espacio en disco duro.
5400 RPM unidad de disco duro.
DVD-ROM.
Tabla 10. Seleccin IDE de Desarrollo Cuadro Comparativo

Caractersticas VISUAL STUDIO EXPRESS NETBEANS

Compaa Propietaria Microsoft'Corp Sun'Microsystem

C#,'Visual'Basic'.NET,'ASP.NET,'
Turbo'Delphi'for'.NET,'C++,'C,'
Java,'J#,'Perl,'Pitn,'Fortran,'
Cobol.NET,''ADA,'APL,'Haskell,'
Lenguajes de programacin
Javascript,'Lisp,'Prolog,' Java
Compatibles
Smalltalk'y'muchos'otros,'que'
deben'cumplir'con'las'reglas'
de'CLS'(Common'Language'
Specification

Orientado'a'objetos,' Orientado a objetos de forma no


Paradigma de Programacin Declarativo,'funcional, MVC (Model View estricta,no permite herencia mltiple ni
Controler) sobrecarga de operadores

NET'Framework'(Entorno'
comn'de'ejecucin'para' Java'Runtime'Environment'b'JRE'
lenguajes'b Common!Language! (Mquina'virtual'de'Java'!Java!
Entorno de Ejecucin
Runtime'CLR,'Base'Class' Virtual!Machine'JVM'y'Biblioteca'
Library'BCL,'Common' de'clases'API)
Language'Specification'CLS'

Compilador JIT (Just In Time ) SI SI

62
Caractersticas VISUAL STUDIO EXPRESS NETBEANS
Licenciamiento Comercial y Educacional GNU

4.3.1.3 Gestor Base de Datos


Para el gestor de base de datos se opt por Microsoft SQL Server 2008
Express, en este punto fue muy fcil y atinada su seleccin debido a las
selecciones de herramientas anteriores puesto que permite cumplir con los
objetivos propuestos en la tesis, as como tambin una excelente integracin
entre el patrn de diseo, lenguaje de programacin y el IDE de desarrollo;
adems, es de libre distribucin.

A continuacin se describen los requisitos previos para la instalacin del


Gestor de Base de Datos:

Microsoft .NET Framework.


SP1 de Microsoft Internet Explorer 6.0 o posterior (requisito previo
para .NET Framework).
RAM Mnimo: 192 MB. Recomendado: 512 MB o ms.

ESPACIO EN EL DISCO DURO 600 MB de espacio libre.

PROCESADOR

Compatible con Pentium III o superior.


Mnimo: 500 MHz.
Recomendado: 1 GHz o ms.
Tabla 11. Seleccin Gestor Base de Datos Cuadro Comparativo

SQL Server Express


CARACTERSTICAS MySQL
2008

Costo Libre y de pago Libre

Plataformas Linux,Windows y muchas otras Slo Windows

Limitado por el sistema


Lmite de tamao de la base de datos 4Gb
operativo

63
SQL Server Express
CARACTERSTICAS MySQL
2008
Depende del motor de
Compatibilidad ACID Si
almacenamiento

Transacciones Si Si

Servicio de reportes No Si

Posibilidad de elegir diferentes formas


Si No
de almacenamiento

Claves Forneas Depende del motor Si

Vistas Si Si

Procedimientos almacenados Si Si

Triggers Si Si

Cursores Si Si

Subconsultas Si Si

Replicacin Si Limitado

Funciones definidas por el usuario


Si Si
(UDF)

4.3.2 DIAGRAMA DE CONTEXTO GENERAL


Por medio de este diagrama se model el flujo de datos que el aplicativo
web realiza, as como tambin las interacciones existentes entre los agentes
externos y el sistema, sin describir en ningn momento la estructura del
sistema de informacin. En la siguiente figura se aprecia el diagrama
contextual del sistema donde la entidad externa usuario interacta con el
aplicativo.

64
DATOS OBJETO PDF

USUARIO USUARIO
Prototipo Web

Figura 5. Diagrama de Contexto General 1

En la siguiente figura se observa con mayor detalle los procesos que realizan.
El usuario inscribe los datos del cliente, construye el paquete turstico, genera la
factura, opera las actividades y registra los pagos.

Exterior Opciones escogidas Costos

USUARIO INGRESO DE PAQUETE


DATOS TURSTICO FACTURA

Detalle de factura Archivo PDF

Figura 6. Diagrama de Contexto General 2

4.3.3 DIAGRAMA CASOS DE USO


Este diagrama describe el comportamiento que el aplicativo web tiene en
relacin a la acciones de los usuarios, de igual manera la definicin de este
diagrama permite describir las funcionalidades del sistema las mismas que
fueron de satisfaccin por parte de los usuarios tras varios borradores

65
<<include>> Operar Items
Crear Reserva

<<include>> <<include>>

<<include>>

<<extend>> Generar Factura


Gestionar Crear Barco
Crucero
<<extend>>
USUARIO (Ventas) <<include>>
<<extend>> Crear Actividad

Gestionar <<include>>
Actividades <<include>>
<<extend>> Registrar Pagos
Crear Hospedaje
<<include>>
<<include>>
Gestionar
Hospedaje

Crear Paquete
Turstico
USUARIO (Administrador)

Figura 7 Diagrama Casa de Uso

USUARIO 66
GESTIONAR CRUCERO

<<include>>
Crear Crucero

Gestionar <<extend>>
Editar Crucero
Crucero

Usuario ventas
<<extend>> Eliminar
Crucero

Caso de Uso GESTIONAR CRUCERO

Actores Usuarios

Caso de uso genrico que define el barco, itinerario, fechas, y numero de


Descripcin
personas

Precondiciones Usuario previamente autentificado

1.- Crear Crucero


Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario en blanco)
Usuario ingresa datos del crucero
Sistema valida que los campos obligatorios hayan sido llenados
2.- Editar Crucero
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Flujo Principal
Usuario modifica o edita datos del crucero
Sistema valida que los campos obligatorios hayan sido llenados
3.-Eliminar Crucero
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Sistema solicita confirmacin de eliminacin
Usuario confirma eliminacin

1.- Crear Crucero


Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
Flujo Alternativo campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el formato
o si el campo es obligatorio
2.- Editar Crucero

67
Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el formato
o si el campo es obligatorio

Post Condiciones No tiene

GESTIONAR ACTIVIDADES

<<include>>
Crear Actividad

Gestionar
Actividades <<extend>>
Editar
Actividad

Usuario Ventas <<extend>>


Eliminar
Actividad
Caso de Uso GESTIONAR ACTIVIDADES

Actores Usuario

Caso de uso genrico que define las actividades por localidad, fechas y
Descripcin
numero de personas

Precondiciones Usuario previamente autentificado

1.- Crear Actividad


Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario en blanco)
Usuario ingresa datos de la actividades
Sistema valida que los campos obligatorios hayan sido llenados
2.- Editar Actividad
Usuario selecciona la opcin dentro del men
Flujo Principal Sistema muestra la interfaz (formulario con datos guardados)
Usuario modifica o edita datos de actividades
Sistema valida que los campos obligatorios hayan sido llenados
3.-Eliminar Actividad
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Sistema solicita confirmacin de eliminacin
Usuario confirma eliminacin

68
1.- Crear Actividad
Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el
formato o si el campo es obligatorio
Flujo Alternativo 2.- Editar Actividad
Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el
formato o si el campo es obligatorio

Post Condiciones No tiene

GESTIONAR HOSPEDAJE

<<include>>
Crear
Hospedaje

Gestionar
Hospedaje <<extend>> Editar
Hospedaje

Usuario Ventas <<extend>> Eliminar


Hospedaje

Caso de Uso GESTIONAR HOSPEDAJE

Actores Usuario

Caso de uso genrico que define el hospedaje, fecha, y numero de


Descripcin
personas

Precondiciones Usuario previamente autentificado


1.- Crear Hospedaje
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario en blanco)
Usuario ingresa datos de Hospedaje
Flujo Principal
Sistema valida que los campos obligatorios hayan sido llenados
2.- Editar Hospedaje
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)

69
Usuario modifica o edita datos de Hospedaje
Sistema valida que los campos obligatorios hayan sido llenados
3.-Eliminar Hospedaje
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Sistema solicita confirmacin de eliminacin
Usuario confirma eliminacin

1.- Crear Hospedaje


Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el formato
o si el campo es obligatorio
Flujo Alternativo 2.- Editar Hospedaje
Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el formato
o si el campo es obligatorio

Post Condiciones No tiene

CREAR PAQUETE TURSTICO

<<include>>
Crear Paquete
<<include>>
Crear Paquete
Turstico <<extend>>
Eliminar
Paquete

Usuario Ventas
<<extend>> Detallar Paquete

Caso de Uso GESTIN PAQUETE TURSTICO

Actores Usuario

Permite la creacin de paquetes tursticos en base al contacto entre el


Descripcin
usuario y el cliente.

Precondiciones Usuario previamente autentificado

Flujo Principal 1.- Crear Paquete

70
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario en blanco)
Usuario ingresa datos de Paquete
Usuario selecciona las opciones de
crucero,actividades,hospedaje
Sistema valida que los campos obligatorios hayan sido llenados
2.- Detallar Paquete
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
3.-Elimar Paquete
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Sistema solicita confirmacin de eliminacin
Usuario confirma eliminacin

1.- Crear Paquete


Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
Flujo Alternativo
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el
formato o si el campo es obligatorio

Post Condiciones No tiene

GENERAR RESERVA

<<include>>
Crear Reserva

<<extend>>
Generar Reserva Eliminar Reserva

<<extend>> Detallar Reserva

Usuario Ventas
<<extend>> Generar PDF

Caso de Uso GENERAR RESERVA

Actores Usuario

Permite la reservacin de un paquete (Booking) definido previamente


Descripcin
en el caso de uso Gestin Paquete Turistico

71
Precondiciones Usuario previamente autentificado

1.- Crear Reserva


Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario en blanco)
Usuario ingresa datos de Reserva
Usuario selecciona las opciones de paquetes validos
Sistema valida que los campos obligatorios hayan sido
llenados
2.- Detallar Reserva
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Flujo Principal 3.-Elimar Reserva
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Sistema solicita confirmacin de eliminacin
Usuario confirma eliminacin
4.- Generar PDF
Usuario selecciona la opcin dentro del men
Sistema solicita ingreso del ID de Reserva
Usuario ingresa ID de Reserva
Sistema Genera archivo PDF (formulario con datos guardados)

1.- Crear Reserva


Usuario ingresa valores incorrectos o deja en blanco los
campos
Sistema valida los datos ingresados segn el tipo de formato
del campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el
Flujo Alternativo
formato o si el campo es obligatorio
4.- Generar PDF
Usuario ingresa valores incorrectos o deja en blanco los
campos
Sistema devuelve mensaje de error

Post Condiciones No tiene

72
GENERAR FACTURA

<<include>> Crear Factura

<<extend>>
Generar Factura Eliminar Factura

Generar PDF
<<extend>>

Usuario Ventas
Caso de Uso GENERAR FACTURA

Actores Usuario

Descripcin Genera la factura en base a la informacin de la Reserva (ID)

Precondiciones Usuario previamente autentificado

1.- Crear Factura


Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario en blanco)
Usuario ingresa datos de Factura
Usuario ingresa ID de Reserva
Sistema valida que los campos obligatorios hayan sido llenados
2.-Elimar Factura
Usuario selecciona la opcin dentro del men
Flujo Principal Sistema muestra la interfaz (formulario con datos guardados)
Sistema solicita confirmacin de eliminacin
Usuario confirma eliminacin
3.- Generar PDF
Usuario selecciona la opcin dentro del men
Sistema solicita ingreso del ID de Factura
Usuario ingresa ID de Factura
Sistema Genera archivo PDF (formulario con datos guardados)

1.- Crear Reserva


Usuario ingresa valores incorrectos o deja en blanco los
campos
Sistema valida los datos ingresados segn el tipo de formato
Flujo Alternativo
del campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el
formato o si el campo es obligatorio
3.- Generar PDF

73
Usuario ingresa valores incorrectos o deja en blanco los
campos
Sistema devuelve mensaje de error

Post Condiciones No tiene

REGISTRAR PAGOS
<<include>>
Crear Pago

Registrar Pagos

Usuario Ventas
Caso de Uso REGISTRAR PAGOS

Actores Usuario

Caso de uso que registra los pagos parciales o total del valor
Descripcin
correspondiente a la reserva del paquete turstico.

Precondiciones Usuario previamente autentificado

1. Crear Pago
Usuario selecciona la opcin dentro del men
Sistema solicita ID de Reserva
Usuario ingresa ID de Reserva
Flujo Principal Sistema devuelve Valor total de la Factura e historial de pagos
Usuario ingresa valor de pago
Sistema valida que los campos obligatorios hayan sido llenados

1.- Crear Pago


Usuario ingresa valores incorrectos o deja en blanco los
campos
Flujo Alternativo Sistema valida los datos ingresados segn el tipo de formato
del campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el
formato o si el campo es obligatorio

Post Condiciones No tiene

74
OPERAR ITEMS
<<include>> Bloquear Item

Operar Items

Usuario Ventas
Caso de Uso OPERAR ITEMS
Actores Usuario
Caso de uso que permite chequear los tems que conforman el
Descripcin paquete turstico para bloquear o reservar el bien o servicio en la
fechas requeridas por el cliente.
Precondiciones Usuario previamente autentificado
1.- Bloquear Item
Usuario selecciona la opcin dentro del men
Sistema solicita ID de Reserva
Usuario ingresa ID de Reserva
Sistema devuelve tabla con todos los tems que conforman la
Flujo Principal
reserva
Usuario cambia de estado cada Item para confirmar
Sistema valida que los campos obligatorios hayan sido llenados

1.- Operar Item


Usuario ingresa valores incorrectos o deja en blanco los
campos
Flujo Alternativo Sistema valida los datos ingresados segn el tipo de formato
del campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el
formato o si el campo es obligatorio
Post Condiciones No tiene

75
CREAR BARCO

<<include>>
Ingresar Barco

Crear Barco <<extend>>


Editar Barco

Usuario Administrador
<<extend>> Eliminar Barco

Caso de Uso CREAR BARCO

Actores Usuarios

Descripcin Caso de uso genrico que crea un barco

Precondiciones Usuario previamente autentificado

1.- Ingresar Barco


Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario en blanco)
Usuario ingresa datos de barco
Sistema valida que los campos obligatorios hayan sido llenados
2.- Editar Barco
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Flujo Principal
Usuario modifica o edita datos de barco
Sistema valida que los campos obligatorios hayan sido llenados
3.-Eliminar Barco
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Sistema solicita confirmacin de eliminacin
Usuario confirma eliminacin

1.- Crear Barco


Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Flujo Alternativo
Sistema devuelve mensaje de error si no coincide con el formato
o si el campo es obligatorio
2.- Editar Barco
Usuario ingresa valores incorrectos o deja en blanco los campos

76
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el formato
o si el campo es obligatorio

Post Condiciones No tiene

CREAR HOSPEDAJE

<<include>>
Ingresar
Hospedaje

Crear Hospedaje
<<extend>> Editar
Hospedaje

Usuario Administrador <<extend>> Eliminar


Hospedaje

Caso de Uso CREAR HOSPEDAJE

Actores Usuario

Descripcin Caso de uso genrico que crea un nuevo Hospedaje

Precondiciones Usuario previamente autentificado

1.- Ingresar Hospedaje


Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario en blanco)
Usuario ingresa datos de Hospedaje
Sistema valida que los campos obligatorios hayan sido llenados
2.- Editar Hospedaje
Usuario selecciona la opcin dentro del men
Flujo Principal
Sistema muestra la interfaz (formulario con datos guardados)
Usuario modifica o edita datos de Hospedaje
Sistema valida que los campos obligatorios hayan sido llenados
3.-Eliminar Hospedaje
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Sistema solicita confirmacin de eliminacin

77
Usuario confirma eliminacin

1.- Crear Hospedaje


Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el formato
o si el campo es obligatorio
Flujo Alternativo 2.- Editar Hospedaje
Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el formato
o si el campo es obligatorio

Post Condiciones No tiene

CREAR ACTIVIDAD

<<include>>
Ingresar
Actividad
Crear Actividad
<<extend>>
Editar
Actividad

Usuario Administrador <<extend>>


Eliminar
Actividad
Caso de Uso CREAR ACTIVIDAD

Actores Usuario

Descripcin Caso de uso genrico que crea una actividad

Precondiciones Usuario previamente autentificado

1.- Ingresar Actividad


Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario en blanco)
Flujo Principal Usuario ingresa datos de la actividades
Sistema valida que los campos obligatorios hayan sido llenados
2.- Editar Actividad
Usuario selecciona la opcin dentro del men

78
Sistema muestra la interfaz (formulario con datos guardados)
Usuario modifica o edita datos de actividades
Sistema valida que los campos obligatorios hayan sido llenados
3.-Eliminar Actividad
Usuario selecciona la opcin dentro del men
Sistema muestra la interfaz (formulario con datos guardados)
Sistema solicita confirmacin de eliminacin
Usuario confirma eliminacin

1.- Crear Actividad


Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el
formato o si el campo es obligatorio
Flujo Alternativo 2.- Editar Actividad
Usuario ingresa valores incorrectos o deja en blanco los campos
Sistema valida los datos ingresados segn el tipo de formato del
campo y campos obligatorios
Sistema devuelve mensaje de error si no coincide con el
formato o si el campo es obligatorio

Post Condiciones No tiene

4.3.4 DIAGRAMA DE ACTIVIDADES


El diagrama de actividades describe el flujo de trabajo y su ejecucin paso a
paso dentro del sistema.

79
Figura 8. Diagrama de Actividades CU Gestionar Crucero

Figura 9. Diagrama de Actividades CU Gestionar Actividades

80
Figura 10. Diagrama de Actividades CU Gestionar Hospedaje

CU CREAR
RESERVA

INGRESO DE
DATOS
DENTRO DEL
FORMULARIO

Si Seleccionar opcin
GUARDAR
de:
DATOS EN LA
DATOS VALIDOS Barco
BASE DE DATOS
Actividad
Hospedaje
No

Mensaje de
Error Si
GUARDAR DATOS
EN LA BASE DE
DATOS VALIDOS
DATOS

No
Figura 11. Diagrama de Actividades CU Crear Reserva

81
Figura 12. Diagrama de Actividades CU Crear Paquete Turstico

Figura 13. Diagrama de Actividades CU Generar Factura

82
Figura 14. Diagrama de Actividades CU Registrar Pagos

Figura 15. Diagrama de Actividades CU Operar Items

83
Figura 16. Diagrama de Actividades CU Crear Barco

Figura 17. Diagrama de Actividades CU Crear Actividad

84
Figura 18. Diagrama de Actividades CU Crear Hospedaje

85
4.3.5 DIAGRAMA DE ESTADO

RESERVA

PAGOS FACTURA ITEMS

PAGOS [Pago = 0]
Pago o suma de abonos >= Valor Factura

NOT READY READY

Pago diferente a valor de Factura

FACTURA [FACTURA = NOT READY]

NOT READY READY

Generacin de Factura por ID de Reserva

ITEMS [ITEM = NOT READY]


ITEM CHEQUEADO

NOT READY READY

ITEM POR CONFIRMAR

Figura 19. Diagrama de Estado

86
4.3.6 DIAGRAMA DE CLASES
Boat
Localities
Id Activities
Categoria Id
Nombre Id Nombre
Departments
Url Nombre Pais Passeger
File Categoria Provincia Id Payments
---------------------- URL Ciudad Nombre Id
1-0 Id
Create() ---------------------- Direccin ---------------------- Nombre
BoatByItineraries Fecha
Edit() Create() ---------------------- Create() Nacionalidad
Valor
Detail() Id Edit() Create() Edit() Notas
----------------------
Delete () Nombre Detail() Edit() Detail() Identificacion
Create()
1-* Fch Inicio Delete () Detail() Delete () ----------------------
Edit()
Fch Fin Delete () Create()
Detail()
Itinerary Numadultos Edit()
1-0 1-0 Delete ()
Numnios Detail()
Id 1-0 1-0
Precio adultos Delete ()
nombre
Precio nios ActivitiesByLocalities
Numero dias 1-0
---------------------- Users 1-0
Url Id
Create() 1-*
---------------------- Nombre Id
1-* Edit()
Create() Fch Inicio Nombre
Detail() Invoice
Edit() Fch Fin UserName
Delete ()
Detail() Numadultos Apellido Id
Delete () Numnios Status Nombre
1-0 Precio adultos contrasea Fch Inicio
Precio nios ---------------------- Fch Fin
---------------------- Create() Numadultos
acoomodation
Create() Edit() Numnios
Id Edit() Detail() Precio adultos
Categoria Detail() Delete () Precio nios
Nombre Delete () ----------------------
Url DoPDF()
File 1-* 1-0 Create()
---------------------- Edit()
Create() Detail()
Edit() 1-* Delete ()
Detail() Packages
Delete () Id Request
1-0 1-* Nombre Id
Fecha Fecha
Notas 1-*
----------------------
---------------------- DoPdf
Create() Create()
Edit() 1-0 Edit()
Detail() Detail()
Delete () Delete ()

Figura 20. Diagrama de Clases

87
4.3.7 DIAGRAMA DE BASE DE DATOS

Figura 21. Diagrama de Base de Datos

88
4.3.8 DISEO DE INTERFACES
LOGIN 1 2

TITULO
- O X

User
Password

OK 3

1. Titulo de la ventana
2. Botones (Minimizar, Maximizar, Cerrar)
3. Combo box de ingreso de datos
MEN PRINCIPAL 1 2
3

TITULO -- O X
ACTIVITY BOAT
LOGIN
USER REQUEST INVOICE

BOOKING ACCOMMODATION
4

CONTROL

TM CUSTOMER DATE STATUS INVOICE ITEM PAYMENTS

89
1. Titulo de la ventana
2. Botones (Minimizar, Maximizar, Cerrar)
3. Botn de login para cambiar de usuario
4. Links hacia el resto de pantallas y procesos
5. Tabla de informacin de las reservas
CREAR BARCO (Tabla Base)
1 2

TITULO - O X

LOGIN 3

BOAT

Create New 5 4

ID NAME FILE
xxx x x Editar Eliminar Detalle
xxx x x Editar Eliminar Detalle
xxx x x Editar Eliminar Detalle

1. Titulo de la ventana
2. Botones (Minimizar, Maximizar, Cerrar)
3. Botn de login para cambiar de usuario
4. Acciones permitidas para los registros
5. Link para el formulario de nuevo registro
6. Tabla de informacin de los barcos

90
REPORTES PDF 1

- O X

LOGIN

3 2
CHOOSE INVOICE 1

GENERATED PDF

1. Botones (Minimizar, Maximizar, Cerrar)


2. Botn de login para cambiar de usuario
3. Combo box para el ingreso del ID
CREAR PAQUETE TURSTICO 1

TITULO -- O X

2
Seleccin Crucero xxxxxx <
xxxxxx > xxxxxx-xx
xxx-xxx xxxxx

Seleccin Hospedaje xxxxxx <


xxxxxxx > xxx-xx
xxxxx

Seleccin Actividades xxx-xxx <


xxx-xxx > xx-xxx
xxxx-xxx

Crear

3
1. Botones (Minimizar, Maximizar, Cerrar)
2. List Box para la seleccin de tems
3. Botn Crear

91
4.4 ETAPA DE CONSTRUCCIN

4.4.1 PATRN DE DISEO


Luego del anlisis de los diferentes patrones de diseo se opt por
seleccionar el patrn de diseo MVC (MODEL VIEW CONTROLER) debido
a que ASP.NET MVC ha sido liberado bajo MS-PL que es una licencia Open
Source aprobada por la OSI.

En la actualidad Microsoft dispuso que ASP.NET MVC sea un framework de


cdigo abierto bajo los trminos de la Microsoft Public License (MS-PL), que
corresponde a una licencia de cdigo abierto que ha sido aprobada por la
organizacin Open Source Initiative (OSI), tambin ha sido considerada
como una licencia de software libre por la Free Software Foundation (FSF)
aunque se declara como incompatible con la licencia GPL. Este
licenciamiento como cdigo abierto abre la puerta para que los
desarrolladores de aplicaciones web puedan usar este framework.

4.4.2 LENGUAJE DE PROGRAMACIN


Luego del anlisis de las opciones se opt por seleccionar ASP.NET con el
lenguaje C# por la ventajas y adaptacin que se tiene para el cumplimiento
de los objetivos, as como tambin por que son familiares y conocidos por el
autor ya que fueron los impartidos durante la carrera universitaria.

Tabla 12. Seleccin Lenguaje de programacin Cuadro Comparativo

LENGUAJE DESCRIPCIN VENTAJAS DESVENTAJAS

1. Lenguaje sencillo y
estructurado 1 Por ser esttico la
Lenguaje esttico para el
HTML interpretacin por el navegador
desarrollo de sitios WEB
2 Despliegue rpido y puede variar
de archivos pequeos

92
LENGUAJE DESCRIPCIN VENTAJAS DESVENTAJAS

1. Lenguaje de
1. Cdigo visible por cualquier
scripting seguro y
Lenguaje interpretado que usuario
JAVASCRIPT fiable
no requiere compilacin 2. Cdigo debe descargarse
2. Cdigo javascript se
completamente
ejecuta en el cliente

1. Lenguaje de fcil
1. Requiere obligatoriamente
aprendizaje
Lenguaje de Script un servidor WEB
2. Capacidad de
PHP interpretado en el lado del 2. La claridad del cdigo puede
conexin con la
servidor afectarse al mezclar sentencias
mayora de gestores
HTML y PHP
de base de datos

1.Permite la divisin
entre la capa de
Evolucin del lenguaje ASP diseo y el cdigo
ASP.NET para la creacin de sitios 2. Buen control de la 1. Consumo de recursos
WEB seguridad y velocidad
de respuesta del
servidor

1. Permite la
Lenguaje para la creacin ejecucin rpida de
JSP de sitios Web dinmicos en servlets 1.- Complejidad de aprendizaje
JAVA. 2. Integracin con
mdulos JAVA

4.4.3 DISEO Y CODIFICACIN DEL APLICATIVO


A continuacin se describe el diseo de cada procedimiento que conforma el
aplicativo web, as como tambin la definicin de sus variables

1) PANTALLA PRINCIPAL
La pantalla principal permite escoger las opciones de About,Home, Log On
esto con el fin de contar con un acceso a la aplicacin por medio de usuarios
registrados.

93
2) INGRESO (LOG ON)
La pantalla de ingreso (LogOn) permite acceder a la aplicacin tras validar los
datos de usuario ingresados dentro de la base de datos, por temas de
administracin se crea el usuario Admin para que acceda a los mdulos del
aplicativo de administracin (tablas base)

3) DEPARTAMENTOS
La pantalla de Department despliega el contenido de la tabla Department
con el estilo de formulario, las opciones de Edit , Detail, Delete se
encuentran habilitadas por cada registro y permite la creacin de las reas o
unidades con las que cuenta la empresa.

4) USUARIOS
La pantalla de Users despliega la informacin correspondiente al personal
que labora en la empresa Haungan Cruises, las opciones de Edit , Detail,
Delete se encuentran habilitadas por cada registro.

Los campos que se requieren son:

Nombre de usuario = UserName


Nombre = Name
Segundo nombre = SecondName
Apellidos = LastName
Contrasea = Password
Estatus (1 activo 0 ausente) = Status
Departamento = Department

5) BARCOS
La pantalla de Boat despliega la informacin correspondiente a los botes
con los que se opera a nivel nacional dentro de la empresa Haungan
Cruises, las opciones de Edit, Detail, Delete se encuentran habilitadas por
cada registro.

94
Los campos que se requieren son:

Nombre de la embarcacin = Name


Direccin URL de la embarcacin = Urlnfo
Direccin del archivo de ficha tcnica = FileUrl

6) ITINERARIOS
La pantalla de Itinerary despliega la informacin correspondiente a las
localidades e islas que se visitar diariamente, las opciones de Edit , Detail,
Delete se encuentran habilitadas por cada registro.

Los campos que se requieren son:

Nombre del itinerario = Name


Nmero de das = NumDays
Direccin del archivo detalle = DataUrl

7) ACTIVIDADES
La pantalla de Activity despliega la informacin correspondiente a las
actividades que se pueden realizar a nivel nacional o internacional segn la
localidad y con los que la empresa Haungan Cruises ya tiene acuerdos para
su operacin, las opciones de Edit, Detail, Delete se encuentran habilitadas
por cada registro.

Los campos que se requieren son:

Nombre de la actividad = Name


Nmero de das = NumDays
Archivo de la actividad detalle = DaraUrl
8) LOCALIDADES
La pantalla de Locality despliega la informacin correspondiente a las
ubicaciones a nivel nacional e internacional en donde se operan hospedajes

95
y actividades, las opciones de Edit, Detail, Delete se encuentran habilitadas
por cada registro

Los campos que se requieren son:

Nombre de la localidad = Name


Pas = Country
Provincia o estado = Estate
Ciudad = City
Direccin = Address

9) HOSPEDAJE
La pantalla de Accommodation despliega la informacin correspondiente
a los distintos hoteles, hostales, Lodge, ubicados a nivel nacional e
internacional en donde se operan las estadas de los pasajeros, las opciones
de Edit, Detail, Delete se encuentran habilitadas por cada registro.

Los campos que se requieren son:

Tipo de hospedaje = Type


Nombre del hospedaje = Name
Direccin URL del hospedaje = UrlInfo

10) CONTROL
La pantalla de Control despliega la informacin de todas las reservas
(Booking)) que el usuario del sistema debe operar hasta que el estatus de
cada Booking sea completado.

11) BOTES POR ITINERARIO


La pantalla de BotesByItineraries despliega la informacin
correspondiente a las opciones deseadas de cruceros e itinerarios, las
opciones de Edit, Detail, Delete se encuentran habilitadas por cada registro.

96
Los campos que se requieren son:

Nombre de la opcin de crucero = Name


Fecha de inicio propuesta = StartDate
Fecha fin propuesta = EndDate
Nmero de pasajeros adultos = NumAdult
Nmero de pasajeros menores = NumChild
Precio por adulto = PricePerAdult
Precio por menor = ProcePerChild
Notas = Notes
Botes = Boats
Itinerarios = Itinerary

12) ACTIVIDADES POR LOCALIDAD

La pantalla de ActivitiesByLocalities despliega la informacin


correspondiente a las opciones deseadas para actividades, las opciones de
Edit, Detail, Delete se encuentran habilitadas por cada registro.

Los campos que se requieren son:

Nombre de la opcin de actividad = Name


Fecha de inicio propuesta = StartDate
Fecha fin propuesta = EndDate
Nmero de pasajeros adultos = NumAdult
Nmero de pasajeros menores = NumChild
Precio por adulto = PricePerAdult
Precio por menor = ProcePerChild
Notas = Notes
Actividades = Activities
Localidades = Localities

97
13) HOSPEDAJE POR LOCALIDAD

La pantalla de Accommodation por Localidad despliega la informacin


correspondiente a las opciones deseadas para las estadas segn la
localidad, las opciones de Edit, Detail, Delete se encuentran habilitadas por
cada registro.

14) PAQUETE

La pantalla de Package es la que permite armar las opciones en base a


crucero, actividades, y hospedajes esto en base a los requerimientos de los
turistas, las opciones de Edit, Detail, Delete se encuentran habilitadas por
cada registro.

Los campos que se requieren son:

Nombre de Usuario = UserName


Fecha inicial = StartDate
Nombre de referencia del paquete = Name
Bote e itinerario = AsignedBoatByItinerary
Actividades por localidad = Assigned Activity By
Localities
Hospedaje por localidad = Assigned Accommodation
By L.

98
15) SOLICITUD
La pantalla de Request es la que permite armar la oferta al cliente en
base a los paquetes previamente armados, las opciones de Edit, Detail,
Delete se encuentran habilitadas por cada registro.

Los campos que se requieren son:

Nombre de Usuario = UserName


Fecha actual del sistema = Date
Tarjeta de Identificacin = Identity Card:
Nombre de cliente = UserName
Nombre = Customer Name:
Segundo nombre = SecondName
Apellidos = LastName
Telfono = Phone
Direccin de correo = Email
Fecha de inicio propuesta = StartDate
Fecha fin propuesta = EndDate
Notas = Notes
Seleccin de paquetes = Packages

16) RESERVA
La pantalla de Booking es la que permite convertir las solicitudes en
reservas entendindose que el cliente ha aceptado todos los requisitos y
condiciones para el paquete turstico, las opciones de Edit, Detail, Delete se
encuentran habilitadas por cada registro.

Los campos que se requieren son:

Fecha actual del sistema = Date


Stado (por defecto ready) = Status
Id de solicitud = RequestID

99
17) FACTURA

La pantalla de Invoice es la que permite cargar el contenido de la reserva


por cada tem para el clculo y operacin con los proveedores de Haugan
Cruises.

18) OPERACIN

La pantalla de Operation es la que permite realizar el chequeo y


confirmacin de cada tem que conforma la reserva, una vez que se cuente
con la confirmacin de todos los tems el status de operacin para la reserva
se pasa a READY, las opciones de Edit, Detail, Delete se encuentran
habilitados por cada registro.

Los campos que se requieren son:

Descripcin del Item = Description


Precio por adulto = PricePerAdult
Precio por menor = PricePerChild
Nmero de Adultos = AmountPerAdult
Nmero de Menores = AmountPerChild
Id de solicitud = RequestId
Id de Reserva = BookingId
Valor Total = Total
Estado del tem = status

19) PAGOS

La pantalla de Payment es la que permite registrar los abonos o pagos


totales de las facturas con el fin de controlar el pago total del paquete
turstico, una vez que se cuente con el pago, el estado de pagos se pasar a

100
READY, las opciones de Edit, Detail, Delete se encuentran habilitados por
cada registro.

La codificacin del aplicativo web se puede revisar en el Anexo N 5

4.4.4 PRUEBAS DE UNIDAD

Estas pruebas tienen como objetivo principal probar el funcionamiento de las


unidades ms pequeas del aplicativo, es decir los mdulos

A continuacin se presenta los resultados de estas pruebas:

Tabla 13. Cuadro Resultados Pruebas de Unidad

NOMBRE DEL MODULO CONTROL RESULTADO

Mtodo Control.cs

La funcionalidad del mtodo se valid


OK
Descripcin correctamente confirmando que las
reservas cumplan con todos los controles.

NOMBRE DEL MODULO ITINERARIO RESULTADO

Mtodo Itinerary.cs

El ingreso de las opciones de itinerario se OK


Descripcin
llev a cabo sin inconvenientes.

NOMBRE DEL MODULO BOTE POR ITINERARIO RESULTADO

Mtodo BoatByItinerary.cs

Al llevar a cabo las pruebas con este


mtodo se prob varias opciones de OK
Descripcin
itinerario y botes sin que se presenten
errores

NOMBRE DEL MODULO ACTIVIDADES RESULTADO

Mtodo Activity.cs

Durante la pruebas del mtodo no existi OK


Descripcin
problemas en el ingreso de las opciones

NOMBRE DEL MODULO DEPARTAMENTO RESULTADO

Mtodo Department.cs

El ingreso de las reas o departamentos


OK
Descripcin con las que cuenta la empresa se realiz sin
ningn inconveniente.

101
NOMBRE DEL MODULO USUARIO RESULTADO

Mtodo User.cs
El ingreso de los usuarios se dio sin
problemas pero se vio la necesidad de
OK
Descripcin agregar un campo de estado para saber si
est activo o no dentro de la empresa con
el cdigo 1 o 0
NOMBRE DEL MODULO BOTES RESULTADO

Mtodo Boat.cs

El ingreso de los botes se realiz sin


OK
Descripcin novedades en base al catlogo de barcos
con que la empresa trabaja

NOMBRE DEL MODULO LOCALIDAD RESULTADO

Mtodo Locality.cs

Durante las pruebas de este mtodo el


OK
Descripcin ingreso de las localidades se dio sin
novedades.

NOMBRE DEL MODULO ACTIVIDADES POR LOCALIDAD

Mtodo ActivityByLocality.cs

Durante las pruebas de este mtodo el


OK
Descripcin ingreso de las actividades por localidades
se dio sin novedades.

NOMBRE DEL MODULO HOSPEDAJE POR LOCALIDAD RESULTADO

Mtodo AccommodationByLocality.cs

Durante las pruebas de este mtodo el


OK
Descripcin ingreso de los hospedajes por localidad se
dio sin novedades

NOMBRE DEL MODULO PAQUETE RESULTADO


Mtodo Package.cs

Durante las pruebas de este mtodo el


OK
Descripcin ingreso de los paquetes se dio sin
novedades.

4.4.5 PRUEBAS DE INTEGRACIN


Una vez que se han aprobado las pruebas unitarias la prueba de integracin
garantiza el correcto funcionamiento del sistema.

102
Estas pruebas se llevaron a cabo luego de constatar que los mdulos
funcionaban adecuadamente de manera individual.

El primer problema que se present al momento de realizar la integracin fue


el unir todos los mdulos dentro de una misma plantilla, este problema se
debi a que cada uno de los mdulos fue diseado para trabajar de manera
individual, al presentarse este problema se realiz las correcciones
pertinentes. Otro problema que se present durante esta prueba fue la carga
de cada uno de los links correspondiente a las opciones de men por cada
usuario, y esto se resolvi definiendo el acceso de las vistas por usuario
autentificado en el sistema. Una vez realizadas las correcciones la
integracin fue exitosa y se llev a cabo mediante la prueba de integracin
descendiente.

4.4.6 PRUEBAS TIPO ALFA


La prueba permite conocer si el sistema de software producido cumple con
las especificaciones y que cumple su cometido.

Estas pruebas se realizaron con los jefes de ventas de la empresa Haugan


Cruises, los cuales no tuvieron observacin desfavorable hacia el aplicativo
web.

ESPECIFICACIN OBSERVACIN RESULTADO


La aplicacin permite cambiar de
Ninguna
usuario en cualquier momento
Cuenta con todos los procesos
Ninguna
definidos en el alcance

Sistema intuitivo y modular Ninguna

La aplicacin permite crear


Ninguna
paquetes tursticos
Agregar la informacin de los pasajeros al
Generacin de Factura (Voucher) momento de generar el archivo PDF de
Invoice
Aplicacin desarrollada en el
Ninguna
idioma ingls

103
4.4.7 PRUEBAS DE RECUPERACIN
Permiten comprobar si el sistema es tolerante a errores y por ende estable.
Realizando las pruebas anteriores que son de unidad, validacin e
integracin.

Se comprob que el aplicativo es tolerante a errores, es decir que el sistema


no se cuelga y alerta con algn mensaje bsico del error cometido.

Otra prueba que se realiz es cuando el computador pierde la conexin


elctrica todos los cambios realizados se mantienen debido a que el
aplicativo web realiza los cambios en lnea hacia el servidor y este a su vez
sobre la base de datos, de igual manera todos los errores en la conexin
sean estos de tipo fsico (LAN) como lgicos son controlados por medio de
los mensajes propios del navegador web en este caso Internet Information
Service.

4.4.8 PRUEBAS DE RENDIMIENTO


Esta prueba permite comprobar el desempeo del software en tiempo de
ejecucin, estas pruebas dependen tanto de Hardware como de Software.

A continuacin se describen las pruebas realizadas en computadoras con


diferentes caractersticas.

Tabla 14. Cuadro de Resultados Pruebas de Rendimiento

Pentium IV de 3Ghz memoria 512k Pentium IV de 1.6 Ghz memoria


Caractersticas del Computador
windows 7 768K windows XP

Pruebas de acceso al aplicativo


Funcionamiento adecuado Funcionamiento adecuado
web

Pruebas de visualizacin de
Funcionamiento adecuado Funcionamiento adecuado
pantallas

Pruebas de acceso a los


Funcionamiento adecuado Acceso ocasionalmente lento
diferentes mdulos

104
Pruebas de exportacin y
Funcionamiento adecuado Funcionamiento adecuado
generacin de archivo PDF

Pruebas de insercin de datos en


Funcionamiento adecuado Funcionamiento adecuado
los mdulos

En cuanto al software se dej el cdigo optimizado para conseguir el mejor


desempeo del aplicativo y depender netamente de las caractersticas del
hardware.

4.5 ETAPA DE DESPLIEGUE

4.5.1 MANUAL DE USUARIO

El manual de usuario fue entregado a los usuarios en cada iteracin para su


validacin y el definitivo se encuentra detallado dentro del Anexo N 1

4.5.2 MANUAL TCNICO

De igual manera que el manual de usuario el manual tcnico fue entregado a


los usuarios en cada iteracin para su validacin y el definitivo se encuentra
detallado dentro del Anexo N 2 y se evidencia como tal en todo este
capitulo de Resultados y Discusin.

4.5.3 RETROALIMENTACIN

Con cada iteracin se procedi a realizar entrevistas para especificar los


cambios necesarios los mismos que al concluir con el desarrollo quedaron
expresados en una encuesta detallada en el Anexo N 4.

105
5 CONCLUSIONES Y RECOMENDACIONES

5.1 CONCLUSIONES

Durante el desarrollo de la tesis se investigaron varias tcnicas para la


creacin de aplicativos web bajo las caractersticas de software libre (Open
Source), algo que rpidamente se est convirtiendo en una tendencia para
los desarrollares de software, por el hecho de que permite contar con el
cdigo fuente para su reutilizacin o mejoramiento.

Con la decisin de Microsoft de liberar ASP.NET MVC bajo los trminos de


la licencia MS-PL abre la puerta para que los desarrolladores de
aplicaciones web puedan usar este framework en escritorios Linux y
ejecutarlos posteriormente en servidores Linux, esto refleja una aceptacin
creciente entre los desarrolladores para contar con portabilidad entre
plataformas como necesidad fundamental para tecnologas de desarrollo
web emergentes.

Las herramientas de diseo, base de datos, y programacin, utilizadas en la


creacin del aplicativo permitieron una buena integracin de la parte de
diseo con la parte de la codificacin del programa, por lo que se puede
concluir que la seleccin fue adecuada para el desarrollo del aplicativo y del
aplicativo resultante.

Con el desarrollo del sistema se lleg a obtener nuevos conocimientos para


la creacin de aplicaciones web, especialmente con lo que corresponde a la
codificacin siguiendo un patrn de diseo MVC (Model View Controler) el
mismo que para su codificacin debe separar la vista de la lgica del
negocio y esto difiere en cierto modo a la codificacin tradicional.

106
El correcto y detallado modelado de cada uno de los procesos de la
aplicacin facilitan el conocimiento de funcionalidad a los usuarios finales,
as como tambin que suministran las pautas y lineamientos claros de la
codificacin al programador.

El movimiento de cdigo abierto OpenSource ha crecido hasta convertirse


en una fuerza importante en el entorno informtico actual, en algunos
sectores de la industria del software, los programas de cdigo abierto se
han vuelto lo suficientemente vanguardista como para ejercer una
competencia real a las alternativas propietarias.

El uso de software OpenSource ofrece diversas ventajas, tales como la


capacidad de reducir los costes y tiempo de desarrollo, o para evitar ser
dependiente de un nico proveedor. Por tanto, es de esperar que cada vez
ms empresas e instituciones comenzarn a utilizar software de cdigo
abierto.

107
5.2 RECOMENDACIONES
La implementacin de este aplicativo fortalecera la ejecucin y el
seguimiento de la lgica de negocio dentro de las empresas dedicadas al
sector turstico.

Debido a que la relacin entre la empresa y el cliente en la mayora de


casos es por medio de correo electrnico se recomienda la integracin
del aplicativo web con un servidor de correo, el cual facilitar la recepcin
de solicitudes, control y envi de propuestas, mejorando as los tiempos
de respuesta hacia sus clientes.

El aplicativo web tiene implementado las opciones ms comunes dentro


de la operacin de paquetes tursticos por lo que se recomienda, para
una nueva versin del aplicativo aadir las opciones de tarifas, vouchers,
y reservas tickets areos, as como tambin la funcionalidad de
almacenar e informar actividades de los usuarios dentro del aplicativo a
manera de logs o historial de cambios.

La operacin y actividad turstica dentro nuestro pas est creciendo


rpidamente, sin que esta cuente con herramientas informticas que
permitan optimizar sus recursos y ventas, por lo que se recomienda a la
Universidad que ya cuenta con las carrera de Informtica y de Turismo,
realice convenios y acercamientos con dichas empresas para el
desarrollo de aplicaciones bajo los distintos requerimientos que tienen
como por ejemplo pginas web, servicio de correo, sistemas contables,
sistema de reservas online, etc..

108
Se recomienda a la carrera de Ingeniera en Informtica y Ciencias de la
Computacin mantener constantemente actualizado el pensum de
acuerdo a las ltimas tecnologas, estado del arte y tendencias
existentes en la industria, logrando de esta manera que los egresados
cuenten desde ya con una idea clara sobre la situacin actual y futura de
su profesin.

109
BIBLIOGRAFA
Referencia de libros:

BOOCH Grady et al. (1999), El lenguaje Unificado de Modelado, Addison


Wesley
Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides . (2005),
Design Patterns,
James, Senn. (1990) Anlisis Y Diseo De Sistemas De Informacin, Mc.
Graw Hill. 1990.
Larman, 2001. UML y Patrones. Prentice Hall
Lawrence Pfleeeger, Shari (2003).Ingeniera De Software: Teora Y
Practica, Prentice Hall.
Roger S. Pressman. (2010) Ingeniera del Software Un enfoque prctico, Mc
Graw Hill. 2010.
Sergio Lujn Mora. (2001), Aplicaciones WEB, Club Universitario
Wilson, Leslie B. (1993). Comparative Programming Languages, Second
Edition. Addison-Wesley.

Referencia de Internet:

(Microsoft Visual Studio Express Edition. [en lnea].[Fecha de consulta: 27 dic


2011. Disponible en: http://www.microsoft.com/express)
(CAVSI. [en lnea]. [Fecha de consulta: 10 FEB 2012. Disponible en:
http://www.cavsi.com/preguntasrespuestas/que-es-un-sistema-gestor-de-
bases-de-datos-o-sgbd/)
(OPENSOURCE.ORG. Open Source Initiative. [en lnea].[Fecha de consulta:
20 dic 2011.Disponible en: http://www.opensource.org/osd.html)
(INTERNET [en lnea].[Fecha de consulta: 20 Julio 2012) Disponible en:
http://es.wikipedia.org/wiki/Internet)

110
(INTRANET [en lnea].[Fecha de consulta: 20 Julio 2012) Disponible
en:http://www.educastur.princast.es/fp/hola/hola_bus/cursos/curso12/docu
mentos/comunicacion_interna_intranets%20_hola_.pdf)
(ARQUITECTURA CLIENTE SERVIDOR [en lnea].[Fecha de consulta: 20
Julio 2012) Disponible en: http://es.wikipedia.org/wiki/Cliente-servidor)
(MICROSOFT. Product Express. [en lnea].[Fecha de consulta: 1 jul
2012.Disponible en:
http://www.microsoft.com/visualstudio/latam/products/products-express)

111
ANEXO 1. MANUAL DE USUARIO

NDICE

INGRESO (LOG ON) AL APLICATIVO 113

INGRESO Y LLENADO DE TABLAS BASE 113

CONTROL DE RESERVAS 119

GESTIONAR CRUCERO 120

GESTIONAR ACTIVIDAD 121

GESTIONAR HOSPEDAJE 122

CREAR PAQUETES TURSTICOS 122

GENERAR SOLICITUD 123

GENERAR RESERVA 124

REGISTRAR PAGOS 125

GESTIONAR ITEMS 126

GENERAR FACTURA 127

112
1) INGRESO (LOG ON) AL APLICATIVO
El sistema obliga el ingreso de usuario y contrasea para el acceso al men
principal

Se debe ingresar dentro de los campos debajo indicados

2) INGRESO Y LLENADO DE TABLAS BASE


Las tablas bases son las que contienen informacin con la que el sistema
trabaja e interacta con los dems procesos, el llenado lo realiza nicamente
el usuario Admin pueden ser accedidas por medio de los links visibles en la
parte superior:

Departamento
Usuarios
Itinerario
Actividades
Hospedajes
Barcos
Localidades

113
LINK DEPARTMENT

LINK USERS

114
LINK BOATS

115
LINK ITINERARY

LINK ACTIVITIES

116
LINK LOCALITIES

117
LINK ACCOMMODATIONS

Todas las tablas bases se deben llenar con la informacin que los
formularios requieren, los mismos cuentan con validacin de datos para no
permitir errores al momento del ingreso

118
3) CONTROL DE RESERVAS
El aplicativo Web permite por medio de la pantalla Control dar seguimiento a
las reservas generadas por el usuario para conocer el estado de cada uno
de los factores que permiten la ejecucin de una reserva.

Estas aparecen dentro de una grilla con los estados de pago, factura, y
operacin LINK CONTROL

4) GESTIONAR CRUCERO
Este proceso nos permite definir la relacin que existe entre un barco y su
itinerario as como tambin el precio y observaciones.

LINK BOTS BY ITINERARY

119
5) GESTIONAR ACTIVIDAD
Este proceso nos permite definir la relacin que existe entre una actividad
y su localidad, as como tambin el precio y observaciones

LINK ACTIVITY BY LOCALITY

120
6) GESTIONAR HOSPEDAJE
Este proceso nos permite definir la relacin que existe entre un hospedaje y
su localidad, as como tambin el precio y observaciones

LINK ACCOMMODATION BY LOCALITY

121
7) CREAR PAQUETES TURSTICOS
Una vez que se haya definido los cruceros, actividades, y hospedajes se
deber generar opciones o paquetes compuestos por cualquier combinacin
de estos 3 items, los mismos que podrn ser reutilizables por cualquier
usuario de ventas.

LINK PACKGES

122
8) GENERAR SOLICITUD
Este proceso permite relacionar uno o varios paquetes con los posibles
clientes a manera de ir ofertando los paquetes tursticos

LINK REQUEST

123
9) GENERAR RESERVA
La reserva corresponde a la asociacin la solicitud con el cliente, el mismo
que debe ser generado luego de haber acordado los trminos, esta reserva
permitir al usuario vendedor realizar un seguimiento del proceso de venta
hasta su finalizacin.

LINK BOOKING

124
10) REGISTRAR PAGOS
Este proceso permite registrar cada pago que realice el cliente, el mismo que
debe ser registrado por medio del ID de la reserva

LINK PAYMENTS

125
11) GESTIONAR ITEMS
Este proceso permite al usuario de ventas ir asegurando o bloqueando la
disponibilidad de cada uno de los tems que conforma el paquete turstico, el
mismo se lo realiza ingresando a cada tem y cambiando la opcin a
Cheked

LINK OPERATION

126
12) GENERAR FACTURA
Este proceso nos permite generar un documento con el contenido de todos
los tems que conforman el paquete turstico con el valor que corresponde a
cada uno, el mismo se lo genera con el ingreso del ID de reserva.

LINK INVOICE

127
ANEXO 2 MANUAL TCNICO

El presente manual tiene como finalidad orientar al programador con respecto la


estructura del sistema, sus archivos, funciones, y funcionalidades.

1. DESCRIPCIN GENERAL DEL SISTEMA


La aplicacin web permite la construccin y operacin de paquetes tursticos
brindando a sus usuarios la posibilidad de ofertar varias opciones de cruceros y
actividades as como tambin la de controlar que la operacin y pagos estn
adecuadamente registrados en el sistema.
2. FICHA TCNICA
NOMBRE TSystem2012

EJECUTABLE TSystem2012.sln

LENGUAJE DE PROGRAMACIN C#

IDE DE DESARROLLO MS Visual Web Developer 2010 Express

REQUIERE NAVEGADOR WEB SI

MONITOR 17"

ESPACIO EN DISCO 100 Mb

SISTEMA OPERATIVO DE
Windows Server 2008
DESARROLLO

REQUIERE ADOBE READER Si

GESTOR DE BASE DE DATOS SQL Server 2008 Express

LICENCIA (OPEN SOURCE) MICROSOFT PUBLIC LICENSE (MS-PL)

128
3. DESCRIPCIN DE ARCHIVOS DE LA APLICACIN WEB
Este sistema posee un grupo de archivos los cuales contienen la informacin
necesaria para el funcionamiento de la aplicacin web y se detallan a
continuacin

*.cs Archivo para el lenguaje de programacin C#

*.cshtml Pgina web, con contenido HTML, JavaScript, y cdigo de


programacin

*.css Presentacin del documento estructurado escrito en HTML y XML

4. ORGANIZACIN DE LAS CARPETAS Y ARCHIVOS


El presente proyecto est organizado en carpetas las mismas que contienen los
archivos necesarios para el funcionamiento del proyecto y estn distribuidos de
la siguiente manera:

TSystem2012

Model Controler View

Content Archivos

129
Quito 10 de Abril 2012

Por medio de la presente

Notifico que el Sr Andrs Pazmay con CI 1717342933 estudiante de la


Universidad Tecnolgica Equinoccial realiz pruebas de su aplicacin web, en
nuestra agencia, la aplicacin del Sr. Pazmay cuenta con grandes ventajas para
la construccin y seguimientos de paquetes tursticos optimizando el tiempo
empleado por los asesores de ventas.

Atentamente

Gerente de Ventas (E)

Lorena Alulema

130
ANEXO 4. ENCUESTA
A continuacin se detalla los datos de la entrevista y encuestas realizadas en la
empresa Haungan Cruises:

Datos Generales

Empresa: Haungan Cruises

Direccin: Mariscal Foch y 6 de diciembre Edif Sonelsa

Telfono: 2909394

Representante: Lorena Alulema

Datos Generales sobre el proyecto

Responsable del proyecto: Lorena Alulema

Ttulo de proyecto: Aplicativo WEB para automatizar los procesos de ventas en


Haugan Cruises para sus programas tursticos.

Personas que han cooperado con el proyecto: 3

Objetivo

Mejorar el proceso de construccin y venta de paquetes tursticos en la


empresa.

A continuacin se presenta el cuadro de preguntas realizadas para la encuesta:

131
RESPUESTAS PORCENTAJE
PREGUNTAS
Si Ms o menos No
MOTIVACIN
Es de ayuda la aplicacin para la
3 0 0
construccin y venta de paquetes tursticos 100%
Cree que el uso de la aplicacin le motiva
3 0 0 100%
a seguir utilizando herramientas web
Durante el tiempo que utiliz la aplicacin
3 0 0 100%
fue de fcil utilizacin
CONTENIDO
Cree que la aplicacin es confiable para la
3 0 0 100%
operacin turstica?
Las opciones de la aplicacin le parecen
2 1 0 66.66%
completas?
RITMO
Le parece que esta aplicacin ayuda a su
3 0 0 100%
trabajo?
La aplicacin no le permite ir a su propio
0 1 2 0%
ritmo de trabajo?
INTERFAZ
Los colores de la aplicacin son
2 1 0 66.66%
agradables?
El tamao de las ventanas dificulta el
1 1 1 33.33%
trabajo de construccin de paquetes?
ACTITUD
Piensa que la construccin de paquetes
tursticos apoyados en la aplicacin tiene
3 0 0 100%
ventajas sobre los que no utilizan la
aplicacin?
PROCESO
Considera que los procesos
implementados dentro del aplicativo son los
3 0 0 100%
adecuados para el registro y control de las
ventas dentro de la empresa?

La encuesta permite concluir que existe una satisfaccin promedio del usuario
mayor al 85%. En el resultado particular de la pregunta La aplicacin no le
permite ir a su propio ritmo de trabajo con 0%, tiene como justificativo que el
personal actual estaba acostumbrado a que los trmites eran ms lentos, y con
el aplicativo se gestionan inmediatamente.

132
ANEXO 5. CODIFICACIN
A continuacin se muestra la codificacin realizada para obtener el aplicativo
web siguiente el patrn de diseo MVC el mismo que fue seleccionado en la
etapa de construccin:

GENERACIN DE TABLAS - MODELS

A continuacin se observa el cdigo que permite definir la tabla BoatByItinerary


de este modo se crearon las diferente tablas que conforma la base de datos
TSystem2012.

namespace TSystem2012.Models
{
public class BoatByItinerary
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public int NumAdult { get; set; }
public int NumChild { get; set; }
public double PricePerAdult { get; set; }
public double PricePerChild { get; set; }
public string Notes { get; set; }

public int BoatId { get; set; }


public int ItineraryId { get; set; }

public virtual Boat Boats { get; set; }


public virtual Itinerary Itineraries { get; set; }
}
}

133
DEFINICIN DE PROCEDIMIENTOS CONTROLLERS

A continuacin se observa el cdigo responsable de las acciones que debe


realzar el aplicativo al interactuar con la vista de Departamento entre ellas
las funciones ms utilizadas (Create, Edit, Delete, Detail).

namespace TSystem2012.Controllers
{
public class DepartmentController : Controller
{
private TSystem2012BD db = new TSystem2012BD();

//
// GET: /Department/

public ViewResult Index()


{
return View(db.Departments.ToList());
}

//
// GET: /Department/Details/5

public ViewResult Details(int id)


{
Department department = db.Departments.Find(id);
return View(department);
}

134
//
// GET: /Department/Create

public ActionResult Create()


{
return View();
}

//
// POST: /Department/Create

[HttpPost]
public ActionResult Create(Department department)
{
if (ModelState.IsValid)
{
db.Departments.Add(department);
db.SaveChanges();
return RedirectToAction("Index");
}

return View(department);
}

//
// GET: /Department/Edit/5

public ActionResult Edit(int id)


{
Department department = db.Departments.Find(id);
return View(department);
}

//
// POST: /Department/Edit/5

[HttpPost]
public ActionResult Edit(Department department)
{
if (ModelState.IsValid)
{
db.Entry(department).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(department);
}

//
// GET: /Department/Delete/5

public ActionResult Delete(int id)

135
{
Department department = db.Departments.Find(id);
return View(department);
}

//
// POST: /Department/Delete/5

[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
{
Department department = db.Departments.Find(id);
db.Departments.Remove(department);
db.SaveChanges();
return RedirectToAction("Index");
}

protected override void Dispose(bool disposing)


{
db.Dispose();
base.Dispose(disposing);
}
}
}

136
DEFINICIN DE LAS VISTA - VIEW

A continuacin se observa el cdigo que permite desplegar la vista de


AccommodationByLocality la misma que cuenta con una tabla con los datos y
campos que los obtiene de la base de datos, especficamente de la tabla del
mismo nombre.

@model IEnumerable<TSystem2012.Models.AccommodationByLocality>

@{
ViewBag.Title = "Index";
}

@if (User.Identity.IsAuthenticated)
{
<h2>Index AccommodationByLocality</h2>

<p>
@Html.ActionLink("Create New", "Create")
</p>

<table>
<tr>
<th>
ID
</th>
<th>
Name
</th>
<th>
Country
</th>
<th>
City
</th>
<th>
Accommodations
</th>
<th></th>
</tr>

@foreach (var item in Model)


{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)

137
</td>
<td>
@item.Localities.Country
</td>
<td>
@item.Localities.City
</td>
<td>
Accommodation id:&nbsp;@item.Accommodations.Id&nbsp;UrlFile:&nbsp;<a
href="@item.Accommodations.UrlInfo" target="_blank" >@item.Accommodations.UrlInfo </a>
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
@Html.ActionLink("Details", "Details", new { id = item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>
</tr>
}

</table>
}

CONEXIN A LA BASE DE DATOS WEB CONFIG

El siguiente cdigo describe el proveedor de conexin, y los parmetros


necesarios para la conexin a la base de datos TSystem2012BD:

138
<configuration>
<connectionStrings>
<add name="TSystem2012BD"
connectionString="Server=WIN-JDQGO28L4TJ\SQLEXPRESS; initial
catalog=TSystem2012BD;Integrated Security=True;User Id=sa;Password=Sherekan2012;
MultipleActiveResultSets=true;"
providerName="System.Data.SqlClient" />
</connectionStrings>

SCRIPT PARA LA CONSTRUCCIN DE ARCHIVOS PDF

El siguiente cdigo muestra el procedimiento para construir un archivo PDF


en base a los campos y datos que contiene la tabla INVOICE (Factura), as
como tambin el formato y el destino del archivo:

public ActionResult DoPdf(string Id)


{
try
{
Invoice invoice = db.Invoice.Find(int.Parse(Id));
string InvoiceId = invoice.Id.ToString();
Booking booking = db.Booking.Find(int.Parse(invoice.BookingId));
Customer customer = db.Customer.Find(int.Parse(invoice.CustomerId));
List<Item> items = db.Item.Where(it => it.BookingId == invoice.BookingId).ToList();

139
List<Passenger> passengers = db.Passenger.ToList();

Document document = new Document();


PdfWriter.GetInstance(document, new
FileStream("C:\\Users\\Administrador\\Documents\\Visual Studio
2010\\Projects\\TSystem2012\\TSystem2012\\Content\\Archivos\\Invoices\\Invoice" + invoice.Id
+ ".pdf",
FileMode.OpenOrCreate));

document.Open();

document.Add(new Paragraph(
"Invoiceid: " + InvoiceId + "\n" +
"Date: " + invoice.Date + "\n" +
"Request Id: " + booking.RequestId + "\n" +
"Booking ID: " + booking.Id + "\n" +
"Identity Card: " + customer.IdentityCard + "\n" +
"Customer Name: " + customer.Name + " " + customer.SecondName + " " +
customer.LastName + "\n" +
"Customer Phone: " + customer.Phone + "\n" +
"Customer Email: " + customer.Email + "\n" +
"Customer Nationality: " + customer.Nationality + "\n\n"
));

document.Add(new Paragraph(
"ITEMS: \n\n"
));

PdfPTable table = new PdfPTable(11);


table.TotalWidth = 550f;
table.LockedWidth = true;
float[] widths = new float[] { 1f, 5f, 1f, 1f, 1f, 1f, 1f, 1f, 1f, 1f, 1f };
table.SetWidths(widths);
PdfPCell cell = new PdfPCell(new Phrase("PACKAGES"));
//table.SpacingBefore = 20f;
cell.Colspan = 20;
cell.BorderWidthBottom = 3f;
cell.BorderWidthTop = 3f;
cell.PaddingBottom = 10f;
cell.PaddingLeft = 20f;
cell.PaddingTop = 4f;
cell.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
//table.SpacingAfter = 30f;
table.AddCell(cell);
table.AddCell("Id");
table.AddCell("Description");
table.AddCell("PAdult");
table.AddCell("PChild");
table.AddCell("#Adult");
table.AddCell("#Child");
table.AddCell("ReqId");
table.AddCell("BookId");
table.AddCell("Status");

140
table.AddCell("Total");
table.AddCell("WebPage");

foreach (var it in items)


{
table.AddCell(it.Id.ToString());
table.AddCell(it.Description);
table.AddCell(it.PricePerAdult.ToString());
table.AddCell(it.PricePerChild.ToString());
table.AddCell(it.AmountPerAdult.ToString());
table.AddCell(it.AmountPerChild.ToString());
table.AddCell(it.RequestId);
table.AddCell(it.BookingId);
table.AddCell(it.status);
table.AddCell(it.Total.ToString());
table.AddCell(it.FileUrl);

document.Add(table);
document.Add(new Paragraph(
"\n\n TOTAL: " + invoice.Total + "\n"
));

document.Add(new Paragraph(
"\n\n\n\nPASSENGERS: \n\n"
));

PdfPTable table2 = new PdfPTable(8);


table2.TotalWidth = 550f;
table2.LockedWidth = true;
float[] widths2 = new float[] { 1f, 5f, 1f, 1f, 1f, 1f, 1f, 1f };
table2.SetWidths(widths2);
PdfPCell cell2 = new PdfPCell(new Phrase("PASSENGERS"));
//table.SpacingBefore = 20f;
cell2.Colspan = 20;
cell2.BorderWidthBottom = 3f;
cell2.BorderWidthTop = 3f;
cell2.PaddingBottom = 10f;
cell2.PaddingLeft = 20f;
cell2.PaddingTop = 4f;
cell2.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
//table.SpacingAfter = 30f;
table2.AddCell(cell2);
table2.AddCell("Passenger Id");
table2.AddCell("Passenger");
table2.AddCell("Nationality");
table2.AddCell("Marital Status");
table2.AddCell("Date Of Birth");
table2.AddCell("Passport #");
table2.AddCell("Special Dietary");
table2.AddCell("Invoice Id");

141
foreach (var ps in passengers)
{
if (ps.InvoiceId.ToString().Equals(Id))
{
table2.AddCell(ps.Id.ToString());
table2.AddCell(ps.Name + " " + ps.SecondName + " " + ps.LastName);
table2.AddCell(ps.Nationality);
table2.AddCell(ps.MaritalStatus);
table2.AddCell(ps.DateOfBirth.ToString());
table2.AddCell(ps.PassportNumber);
table2.AddCell(ps.SpecialDietaryNeed);
table2.AddCell(ps.InvoiceId.ToString());
}

document.Add(table2);
document.Close();
ViewBag.Reporte = "../Content/Archivos/Invoices/Invoice" + invoice.Id + ".pdf";
ViewBag.NumInvoice = booking.Id;
return View();
}
catch
{
return View();
}

142

Das könnte Ihnen auch gefallen