Está en la página 1de 125

Complejo turístico Las Poncianas Tesis

UNIVERSIDAD
“Los Ángeles De Chimbote”

FACULTAD : INGENIERIA

ESCUELA : INGENIERIA DE SISTEMAS.

TEMA

DESARROLLAR UN SISTEMA INFORMÁTICO QUE


PERMITA EL REGISTRO Y VERIFICACION DE LOS
CLIENTES Y SERVICIOS QUE BRINDA EL COMPLEJO
TURISTICO LAS PONCIANAS.

AUTOR (AS) :
 LOMPARTE SAENZ NATALY.
 PAREDES LOAYZA JORGE L.

CASMA - PERÚ
2008

1
Complejo turístico Las Poncianas Tesis

INDICE

Carátula…………………………………………………………………………………1
Índice……………………………………………………………………………………2
Dedicatoria…………………………………………………………………………..…3
Agradecimiento……………………………………………………………………...…4
Presentación…………………………………………………………………………...5
Introducción…………………………………………………………………………….6

Capitulo I: generalidades
1.1 Titulo: …………………………………………………………………...............13
1.2 Personal investigador: …………………………………….…………………...13
1.3 Tipo de investigación:……………………………………………………….….13
1.4 Localidad e institución donde se desarrolla el proyecto:…………………...13
1.5 Duración del proyecto...……………………...…………..…………………….13
1.6 Fechas probables de inicio y término………………………………………...13
1.7 Etapas de trabajo:……………………………………………………………...13
1.8 Financiamiento:……………………………………………………………...….14
1.9 Descripción de la empresa…………………………………………………….14
1.10 Antecedentes del problema……………………………………………...…....17
1.11 Situación problemática………………………………………………...……….17
1.12 Enunciado del problema……………………………………………………….18
1.13 Justificación:…………………………………………..…………………...……18
1.14 Objetivos del proyecto:………………………………………………...……....22
1.15 Limitaciones……………………………………………………………………..22
1.16 Hipótesis…………………………………………………………………………23
1.17 Variables:……………………………………….……………………...………..23

Capitulo II: marco teórico


2.1. lenguaje unificado de modelado (UML)………………………....…………25
2.2. cliente / servidor………………………………………………………...……29
2.3. lenguajes de programación…………………………………………………32
2.4. sistemas administradores de base de datos……………………………...36
2.5. metodología de desarrollo de software (RUP)…………………………....39

Capitulo III: Aplicación de la Metodología


3.1 Fase de negocios……………………………………………………………….55
3.2 Fase de requerimiento………………………………………………………….58
3.3 Fase de análisis……………………………………………………………...….64
3.4 Fase de diseño………………………………………………………………….69
3.5 Fase de implementación……………………………………………………...111
3.6 Prueba de caja negra…………………………………………………………114

Capitulo IV: Conclusiones y Recomendaciones


Conclusiones……………………………………………………………………......121
Recomendaciones……………………………………………………………….…122
Bibliografía……………………………………………………………………......…123
Anexo………………………………………………………………………………...124

2
Complejo turístico Las Poncianas Tesis

DEDICATORIA

A nuestros padres, quienes con su esfuerzo y


sacrificio de cada día, nos vienen apoyando
en nuestro anhelo de formarnos como
profesionales.

Gracias por su Apoyo y que Dios los


Bendiga

A nuestro profesor del curso por


brindarnos su experiencia y conocimiento
para poder de esta manera llegar a
cumplir nuestros objetivos trazados.

3
Complejo turístico Las Poncianas Tesis

AGRADECIMIENTO

Nuestro reconocimiento y agradecimiento en especial a todas las


personas que laboran en el Complejo Turístico “Las Poncianas” así
como a los propietarios de esta gran compañía ya que en todo
momento se encontró un ambiente agradable, nos facilitaron toda la
información solicitada, para la elaboración del presente proyecto.
Agradecimiento también a nuestro asesor del curso ya que con sus
enseñanzas nos ha guiado debidamente para poder elaborar un
proyecto a la altura de las circunstancias.

4
Complejo turístico Las Poncianas Tesis

PRESENTACIÓN

El presente informe de “Desarrollo de un Sistema Informático que


permita el registro y verificación del cliente y servicios que brinda
“Complejo Turístico Las Poncianas”, es el resultado de un largo proceso
de trabajo que realizamos en el curso de Titulación de la carrera de
Ingeniería de Sistemas.

Ante la falta de un sistema informático en el área de recepción del


“Complejo Turístico Las Poncianas”, nos trazamos el objetivo de
desarrollarlo, demostrando que el trabajo responda por medio de las
metodologías utilizadas.

La elaboración del sistema informático permitió demostrar que el


“Complejo Turístico Las Poncianas” ha debido de contar con este sistema
desde tiempos anteriores ya que de esta manera lleva un mejor control
interno de la información en el área de Recepción.

Gracias al desarrollo del trabajo se han producido cambios como la


implementación del área de Recepción, con la compra de computadoras
con la tecnología necesaria par poder llevar un mejor manejo de la
información de forma rápida ya que el registro de alquiler se ejecutaba
manualmente, esto ayudará a la empresa a lograr competitividad en el
mercado, y a sus clientes obtener una mejor atención rápida y sencilla.

5
Complejo turístico Las Poncianas Tesis

INTRODUCCIÓN

Uno de los aspectos más importantes en el camino hacia el éxito radica en el


manejo de información de forma rápida; llegando incluso a afirmarse de que
“quien maneja la información de forma veloz, es el que va al compás del
avance de la tecnología”. En la búsqueda de ese sendero al éxito se ha venido
desarrollando la teoría de sistemas informáticos, lo cual no es algo reciente la
necesidad de manejar la información de una forma ordenada y realizar los registros
reduciendo las operaciones.

Pasando los años y viéndose el avance de la tecnología se empezó a crear


pequeños sistemas con programas que a la vista eran poco entendibles, esto
influyo mucho en la forma de manejar los sistemas de información soportes vitales
de las pequeñas, medianas y grandes empresas, delineando así un futuro
particularmente importante en el campo de los sistemas de información. Si
anteriormente veíamos pequeños sistemas desarrollados en software poco
entendibles, ahora vemos software moderno donde se puede desarrollar sistemas
grandes siendo agradable a la vista del usuario.

Bajo el enfoque enunciado y gracias a los avances tecnológicos actuales, hoy por
hoy el Complejo Turístico “Las Poncianas” ha orientado todos sus esfuerzos y
recursos a la sistematización de sus datos, de tal forma que ellos constituyan el
soporte indispensable e inseparable en la toma de decisiones. Para lograr este
objetivo, nada mejor que implementar un excelente sistema de información de
registro de alquiler y control de habitaciones, que permita el control ordenado de la
información de las habitaciones, el registro del alquiler en forma más rápida, la
información más segura y que no tienda a perderse, teniendo como consecuencia
clientes satisfechos.

El contenido de este informe esta estructurado en cuatro capítulos, los cuales se


describen a continuación:
El primer capítulo muestra a la empresa con el cual vamos a trabajar, quienes
estarán encargados del proyecto, las etapas a desarrollarse, fecha de inicio y fin, y
por quien será financiado el proyecto a realizar, el problema que es presentado en
todos sus aspectos como la situación, justificación, formulación, definición,
limitaciones del problema en estudio y los objetivos propuestos.

6
Complejo turístico Las Poncianas Tesis

Marco teórico da nombre al segundo capitulo y comprende los software a utilizar


detallando los conceptos mas importantes y poco conocidos.

El tercer capitulo muestra la Aplicación de la Metodología donde se plasma la


función de la empresa y la posible solución.

El ultimo capitulo que es el cuarto comprende las conclusiones y recomendaciones


del tema investigado referencias bibliografiítas y los anexos como son las
encuestas realizadas para el análisis del problema.

7
Complejo turístico Las Poncianas Tesis

RESUMEN

El presente trabajo de investigación está basado en un análisis objetivo y


minucioso de la situación problemática del Complejo Turístico “Las Poncianas”. Por
lo que hemos tratado las gestiones propias de ella como: Gestionar alquiler de
habitaciones, alquiler de espacios, Gestionar de reportes.

La primera parte de este informe abarcará, basándonos en la información


recopilada obtenida gracias a las entrevistas con las personas involucradas, el
Pictograma respectivo en el que tratamos de plasmar la situación actual que se
viene dando el desarrollo de los procesos principales del Complejo Turístico “Las
Poncianas” donde identificamos a los actores que participan en el proceso, a partir
del cual localizaremos los principales Procesos de Negocio y a establecer nuestras
Reglas de Negocio. Empezando así con los Diagramas Respectivos y encontrando el
Modelo de Dominio.

Pasando a una segunda parte que toca el punto de los Modelos de


Requerimientos, donde detectamos los requerimientos funcionales del sistema,
pasando así a otra etapa que se encargará de resolver la parte de Análisis. Aquí,
nos encargamos de desarrollar los Diagramas de Colaboración, aplicándolos a cada
caso de uso que se encontró en el Diagrama de Requerimientos, registros y
reportes respectivos, luego desarrollamos la fase de diseño implementación y
prueba del sistema, la cual nos dará los resultados deseados por el Hotel.

8
Complejo turístico Las Poncianas Tesis

ABSTRACT

The present work of investigation is based in an objective and thorough analysis of


the problematic situation of the Hotel the Poncianas. By what have treated the
proper management of her eat: Gestionar rent of rooms, rent of spaces, Gestionar
of reportes.

The first part of this report will range, basing us in the information recopilada
obtained thanks to the interviews with the people involucradas, the Pictograma
respective in which treated of plasmar the current situation that comes giving the
development of the main processes of the Hotel the Poncianas where identified to
the actors that take part in the process, from the cual will locate the main
Processes of Business and to establish our Rules of Business. Beginning like this
with the Diagramas Respective and finding the Model of Command.

Happening to one second part that touches the point of the Models of Requests,
where detected the functional requests of the system, happening like this to
another stage that will commission to resolve the part of Analysis. Here,
commissioned us to develop the Diagramas of Collaboration, applying them to each
case of use that found in the Diagrama of Requests, registers and reportes
respective, afterwards develop the phase of design implementation and proof of the
system, which will give us the results wished by the Hotel.

9
Complejo turístico Las Poncianas Tesis

INDICE DE CUADROS

CUADRO PÁGINA

1 – Cronograma de Trabajo……………………………………………..………….….. 13
2 – Diagrama de Gantt……………………………………….……....………………….. 13
3 – Cuadros del Personal……………………………………………………………….... 15
4 – Bienes de Consumo Disponibles……………………….……….……………... 15
5 – Bienes de Consumo No Disponibles……………………………………....... 16
6 – Bienes de Inversión Disponibles…………….………………………………..… 16
7 – Bienes de Inversión Software…………………………………..……………..… 16
8 – Servicios Básicos……………………………………………….....................… 16
9 – Alquiler del Local…………………………………………..….…..…………………… 17
10 – Capacitaciones…………………………………………….…...…………………..… 17
11 – Presupuesto…………………………………………………..…...................… 17
12 – Planificación de fases…………………………………………………….……..……38

10
Complejo turístico Las Poncianas Tesis

INDICE DE FIGURAS

FIGURA PÁGINA

1 - Vista de un Modelo……………………………………………………………………….… 22
2 - Modelado con UML………………………………..………………………..…........... 23
3 - Arquitectura Cliente / Servidor……………………………….……………...………27
4 - Flujo de trabajo en UML…........................................................35
5 - Ciclo de Vida de UML…………………………….…………………………………....….37
6 - Fase de la Metodología RUP……………………….………………................…38
7 - Flujos de trabajo…………………….……………....………………………………….….41
8 - Flujos de trabajo …………………….……………....……………………..…….……….41
9 - Caso de Uso………………….………………………………………………….…..…..…….46
10 - Actor………………….…………………………………………………….……….…..…..…….46
11 - Metodología Extreme Programing ………………………….………...…….…….49

11
Complejo turístico Las Poncianas Tesis

CAPITULO I: GENERALIDADES

12
Complejo turístico Las Poncianas Tesis

1.1. Titulo: Desarrollar un Sistema Informático que permita el registro y


verificación de los clientes y servicios que brinda el Complejo Turístico “Las
Poncianas”
1.2. Personal Investigador:

1.2.1. Autores:
- Lomparte Sáenz Nataly Kimberly.
- Paredes Loayza Jorge Luís.

1.2.2. Asesor:
- William Vásquez.

1.2.3. Colaboradores:
- Gerente: Teresa Lázaro Mendiola.
- Administrador: Giuliana Meléndez Lázaro.
- Recepcionista: Karina Velásquez Pérez.
- Ruth Macedo Rojas.
- Manuel Pinto Cáceres.

1.3. Tipo de Investigación:

De acuerdo al Propósito de la Investigación: Aplicada.


De acuerdo al Diseño de Contrastación: Descriptiva.

1.4. Localidad e Institución donde se Desarrolla el Proyecto:

1.4.1. Institución: “Complejo Turístico Las Poncianas”.

1.4.2. Localidad: Casma / Altura de la panamericana norte 379

1.5. Duración del Proyecto: 4 meses.

1.6. Fechas probables de Inicio y Término.

1.6.1. Inicio del Proyecto: 01-04-08

1.6.2. Término del Proyecto: 26-07-08

1.7. Etapas de Trabajo:

Etapas Fecha Inicio Fecha Dedic. Sem.


Termino (hrs.)
Recolección de datos 01-04-08 15-04-08 5
Análisis del problema 16-04-08 10-05-08 5
Diseño 11-05-08 05-06-08 5
Desarrollo 06-06-08 05-07-08 5
Elaboración de informe 06-07-08 25-07-06 5
Presentación 26-07-08 26-07-08 5
Total 4 meses

Cuadro nº 01: Cronograma de Trabajo


Fuente: Elaboración Propia.

13
Complejo turístico Las Poncianas Tesis

Etapas ABRIL MAYO JUNIO JULIO


Recolección de datos
Análisis del problema
Diseño
Desarrollo
Elaboración de informe
Presentación

Cuadro nº 02: Diagrama de Gantt.


Fuente: Elaboración Propia.

1.8. Financiamiento: El Desarrollo del proyecto será financiado por el


“Complejo Turístico Las Poncianas” en la adquisición de equipos y accesorio;
en la elaboración del sistema para el proyecto será ejecutado por los
autores.

1.9. Descripción de la Empresa:

Se encuentra ubicado dentro del rubro hotelero, brindando en esta parte del país la
mejor infraestructura hotelera, se encuentra calificada con 03 estrellas la cual se
refleja en una satisfactoria y feliz estadía de nuestros clientes.
Se encuentra en uno de los más hermosos parajes del norte del Perú. Rodeado de
áreas verdes, con sol todo el año a solo 376 Km. de la capital – Lima.
En Casma podemos sentirnos Orgullosos de este moderno Complejo Turístico, la
cual brinda una variedad de servicio.
Visitar el Hotel Las Poncianas es agregar confort total a su estadía en medio de la
naturaleza y tranquilidad del valle de Casma. Los circuitos arqueológicos de la zona
solo son conocidos por unos pocos afortunados. Sea ud. uno de ellos y en una
experiencia única encuentre nuestro pasado cultural y sumérjase en las cálidas
aguas de nuestras mejores playas.
En Las Poncianas encontrará el descanso deseado, rodeado de jardines y lejos del
bullicio de la gran ciudad.
Nuestro complejo Turístico posee la mejor infraestructura hotelera de la zona en
medio de 10, 000 metros cuadrados de verde naturaleza.
Contamos con 50 habitaciones con:
- TV – cable.
- Agua caliente.
- Friobar.
- Rom service.
- Excelente iluminación y ventilación.
- Restaurante.
- Snack bar.
- Juegos de salón.
- Loza deportiva.
- Juegos recreativos.
- Gimnasio.
- Sauna.
- Estacionamiento privado.

2 piscinas, una para niños y otra sumí - olímpica de 25. X 12.5 m. son la mejor
respuesta frente al vivo sol casmeño. Para sus eventos y conferencias, UD. dispone
de nuestros amplios salones aptos para recibir más de 1000 invitados.

14
Complejo turístico Las Poncianas Tesis

Poncianas Beach:
EL Balneario de Tortugas está ubicado al norte de Casma, en el Km. 392 de la
Panamericana norte. Su temperatura oscila entre 20º C en invierno y 30º C en
verano. El balneario ofrece recreación y descanso en medio de una bahía apacible y
calurosa, no solo por su clima, sino también por su gente.
Los deportes acuáticos, las caminatas y las tertulias alrededor de una gran fuente
de cebiche son obligaciones diarias en este hermoso rincón del litoral de Casma. En
medio de este paraíso, las Poncianas le ofrece su cálido y detallista servicio en sus
instalaciones "Poncianas Beach Tortugas".
Contamos con 14 habitaciones con agua caliente. Desde nuestras terrazas podrá
contemplar el sunset y el diario espectáculo de las aves marinas y sus danzas
aéreas. Visitar Tortugas, es desconectarse del stress diario y empapar su espíritu
en la tranquilidad de lo simple. Para su relax en medio del mar, una plataforma de
reposo lo espera para tomar baños de sol. Y si quiere correr sobre las olas, puede
rentar nuestro yate y nuestra moto acuática.
Las Poncianas Beach lo espera, la naturaleza y el mar también.

Visión:
Ser el grupo hotelero más rentable en los diferentes segmentos de la hotelería
Casmeña.

Misión:
Crear valor en la hotelería Casmeña para los clientes, a través de nuestra actitud.

Nuestra Filosofía:
- Orientación a la satisfacción del Cliente.
- Decisiones con responsabilidad de los colaboradores.
- Dirección Abierta.
- Trabajo en equipo.
- Productividad.

Valores:

- Trabajo.
- Honestidad.
- Compromiso.

15
Complejo turístico Las Poncianas Tesis

Organigrama
GERENTE

ADMINISTRADOR

Secretaria Contador Mantenimiento

Recepción

M. jardines M. eléctrico M. taller

Asesoría hotelera

Jefe de cocina RR.HH. Logística Seguridad House keeping

16
1
Complejo turístico Las Poncianas Tesis

1.10. Antecedentes del Problema

En los últimos años se vienen produciendo cambios sustanciales en la economía


mundial, como resultado de los avances tecnológicos, estos factores tiende a
influir en el manejo gerencial de las empresas en todo el mundo, en esta
situación la gestión empresarial debe optar por un perfil de empresa global y
competitiva, que confía y se apoya en la innovación tecnológica para el
desarrollo de sus habilidades y capacidades, pretendiendo optimizar el
potencial de rendimiento, a través del eficiente desempeño de las diferentes
áreas de la organización, anticipándose al futuro con un modelo estratégico
manteniendo una gestión eficiente. Muchas veces nos preguntamos ¿Por qué
existe tanto desorden en la información?, llegando un momento donde se
pierde el control, o como dijera: “llega un momento en que no se puede
manejar a la bestia”; quizás se podría decir que el problema radica en la
administración de portafolios. Debemos ajustarnos a la realidad y entender
que la manera de cómo las unidades de negocio trabajen de manera
interrelacionada, es que opten por un sistema de control en todas las
actividades que generan un proceso positivo tanto para la organización como el
incremento de valor de las acciones; estos detalles permitirán la información
veraz de la organización.

El Perú no es ajeno a esta situación que involucra el cambio y aplicación


tecnológica de información, donde involucra a las empresas a asumir el reto de
que cuenten con un sistema informático para la automatización de sus
operaciones. En nuestro país, las empresas que brindan servicio hotelero son
pocas las que cuentan con un sistema informático la mayoría son de la capital
pero de provincias todavía de rehúsan al cambio. Ahora bien, la información es
digital desde hace algunos años; digital no significa compatible por lo que es
necesario un estándar digital para facilitar el intercambio de esa información
entre diferentes aplicaciones informáticas. Será entonces el sistema el que
conduzca el final de la redundancia de papeles, perdida de archivos, el control
de stock.

Los empresarios suele contar con escasa educación formal y la mayor parte de
empresas se ubican en un rendimiento relativamente bajo, pero a falta de
capital humano, han recurrido a distintas estrategias para salir adelante con
sus negocios, haciendo uso de una acentuada ética del trabajo y una amplia
red social; heterogeneidad de las micro y pequeñas empresas. Se puede
observar que la gran mayoría de empresas, las denominadas “microempresas
familiares informales” son ajenas a una gestión moderna de sus procesos y
presentan niveles de productividad laboral bajos.
Muchas empresas del medio por falta de un adecuado control interno nace la
importancia de contar con un eficiente sistema informático.
Como bien se describe anteriormente, se da a notar la necesidad de
implementar tecnología en sistemas de información, que generen mayor
adaptación a los cambio provenientes de un entorno globalizado que afecta a
todos los países y sus sectores económicos, asimismo la importancia que tiene
la gestión administrativa para el manejo eficiente de la información y la toma
de decisiones es otro pilar que dentro del contexto local no se toma la
importancia debida.

1.11. Situación Problemática

El complejo Turístico “Las Poncianas” viene operando bajo este rubro desde la década
de los años 90. La competitividad dio lugar a que se incrementará nuevos servicios
acompañados con los avances tecnológicos. Liderando el sector Hotelero en esta parte
del país, se incrementaron la afluencia de clientes, para lo diferentes servicios que
brinda el Complejo Turístico “Las Poncianas”. Debido a estos cambios se originaron

17
Complejo turístico Las Poncianas Tesis

dificultades en el registro, control y archivo de la información, las cuales eran llevadas


en forma manual. Todas estas actividades son realizadas en el área de recepción,
debido a ello se requiere la necesidad del desarrollo de un sistema informático que
permita un mejor manejo de la información, así como una mejor atención al cliente.
Surge la necesidad primordial de llevar un seguimiento de los datos tomados en el
control de los clientes y servicios que realiza diariamente, lo cual ha sido requerido por
la administradora Guiliana Meléndez Lázaro, quien nos asignó este problema para
darle solución mediante el desarrollo de un software.

Hemos encontrado las siguientes causas:

• El tiempo de atención a los clientes se prolonga por la demora en el registro de


datos ya que estos se efectúan manualmente.

• Los registros históricos de los clientes, los cuales se encuentran archivados no


son ubicados con la celeridad apropiada, por el volumen de archivos y el
inadecuado manejo de los registros de los clientes.

• La gran cantidad de archivos de clientes requiere de ambientes especiales, lo


cual ocasiona ocupación de espacio.

• El control en el acceso a los datos no cuenta con ninguna seguridad cuando se


quiere verificar o registrar la información.

• El estado de las habitaciones varia constantemente lo cual lleva a que el


registro manual que se realiza no responda a la rapidez que se necesita para
conocer que habitaciones están alquiladas, cuales están desocupadas y que
habitaciones están en mantenimiento.

Consecuencias:

• Malestar en nuestros clientes por la espera.


• El cliente se siente incomodo y se retira insatisfecho.
• Malas referencias por parte de los que nos han visitado.
• Malestar por parte del trabajador en la búsqueda de los registros históricos en
los archivos.
• Egresos para el Hotel por la compra de materiales de oficina (papel, fólder,
faster, lapiceros, etc.), Para realizar los registros de los clientes.
• Gastos para el Hotel por la construcción de ambientes especiales para los
archivos.
• Empleados no autorizados realizan registros de clientes.
• Desorden en el llenado de datos de los clientes.
• Muchas veces existe confusión cuando se desea verificar al cliente.
• Entrega de habitación del tipo no solicitado.

1.12. Enunciado del problema


¿Cómo mejorar el registro y verificación de los clientes y servicios que brinda el
Complejo Turístico “Las Poncianas”?

1.13. Justificación:

a) Operativa
 El beneficio que traerá realizar este sistema es de agilizar la búsqueda de
información de los clientes. Menor porcentaje de la pérdida de información
y mayor control.

18
Complejo turístico Las Poncianas Tesis

 Manipulación eficiente de la información de los clientes, alquiler de


habitación y servicios para un mejor control.
 Facilidad del manejo de los procesos en el sistema de información gracias a
una interfaz amigable y fácil de usar.

b) Técnica
 Brindara al Complejo Turístico “Las Poncianas”, un soporte de información
adecuado para el desarrollo de sus procesos en el control de los alquileres,
en forma eficiente mediante la implementación de un sistema informático.
 Se realizaran los procesos con software a medida.
 Apoyo para el respaldo de información de las diferentes áreas.
 Confiabilidad del sistema informático para una mejor administración de
datos del Complejo Turístico “Las Poncianas”.
REQUERIMIENTO DISPONIBILIDAD
MYSQL SI
POWER BUILDER SI
C#.NET SI
STAR UML SI

c) Económico
Con el desarrollo de este proyecto se mejorará la productiva del personal que
labora en la recepción y reducir costos por sobre tiempo, que se traduce en
utilidades para el Complejo Turístico “Las Poncianas”.
Personal:

Descripción Cantidad Caja (s/.)


Autores 2 600.00
Asesor 1 400.00

Cuadro nº 03: Cuadro del Personal.


Fuente: Elaboración Propia.

Bienes:

Bienes de Consumo:

Disponible:
Descripción Cantidad Costo (s/.)
Papel bond 80 gr. 200 20.00
lapiceros 5 5.00
CD-ROM 3 7.00
Tinta de impresión 1 60.00
Memoria USB 1Gb 1 35.00
Folders 2 10.00

Cuadro nº 04: Bienes de Consumo Disponibles


Fuente: Elaboración Propia.

19
Complejo turístico Las Poncianas Tesis

No Disponible:

Descripción Cantidad Costo (s/.)


Viáticos y asignación 2pers 200.00
Bienes de Consumo
Papel bond 80 gr. 50 5.00
Tinta de impresión 1 60.00
CD-ROM 2 6.00
Libros 1 40.00

Cuadro nº 05: Bienes de Consumo No Disponibles


Fuente: Elaboración Propia.

De Inversión:

Disponible:

Descripción Cantidad Costo (s/.)


Equipamiento y materiales duraderos
Computadora 2 0
Impresora 1 0
Mobiliario 1 170.00

Cuadro nº 06: Bienes de Inversión Disponibles.


Fuente: Elaboración Propia.

No Disponibles:

Descripción Cantidad Costo (s/.)


Software
Power Builder 1 0
C#.Net 1 0
Mysql 1 0
Star Uml 1 0

Cuadro nº 07: Bienes de Inversión Software.


Fuente: Elaboración Propia.

SERVICIOS:

Descripción Cantidad Costo(s/.)


Tarifa de Servicio Básicos
Consumo de Energía Eléctrica 1 100.00
agua 1 30.00
Teléfono Móvil 2 personas 100.00
Cabina de Internet 50 50.00
Otros Servicios de Terceros
Fotocopiado 300 30.00

Cuadro nº:08: Servicios Básicos.


Fuente: Elaboración Propia.

20
Complejo turístico Las Poncianas Tesis

LOCAL:

Descripción Cantidad Costo(s/.)


Alquiler del local 1 0.00

Cuadro nº:09: Alquiler Local.


Fuente: Elaboración Propia.

CAPACITACIÒN:

Descripción Cantidad Costo(s/.)


Capacitación a Usuarios del 1 150
sistema.

Cuadro nº:10: Capacitaciones.


Fuente: Elaboración Propia

Presupuesto General:

Descripción Costo(s/.)
8.1 Personal
Asesor 400.00
Autores 600.00
8.2 Bienes de Consumo disponibles
Bienes de consumo 137.00
8.3 Bienes de consumo no disponibles
Viáticos y Asignaciones 200.00
Bienes de consumo 111.00
8.4 Bienes de Inversión disponibles
Mobiliario 170.00
8.5 Equipos
Computadora e Impresora 0.00
8.6 Software
Software disponible 0.00
8.7 Servicios:
Tarifas de servicios básicos 280.00
Servicios de terceros 30.00
8.8 capacitación 150.00
Total Presupuesto (s/.) 2078.00

Cuadro nº:11: Presupuestos.


Fuente: Elaboración Propia.

d) Justificación Social:
Al mejorar económicamente la Empresa estará en condiciones de mejorar el
nivel económico de sus trabajadores así como en invertir capacitaciones de los
mismos, ambos factores fundamentales para la motivación e identificación del
personal con la empresa, como también factores fundamentales para su
desarrollo personal e intelectual mejorando las relaciones con la sociedad y la
de su familia.

21
Complejo turístico Las Poncianas Tesis

1.14. Objetivos del Proyecto:

1.14.1. Objetivo General:

Desarrollar un Sistema Informático que permita el Registro y


Verificación de los clientes y servicios que brinda el Complejo Turístico
“Las Poncianas”.

1.14.2. Objetivo Específicos:

 Recopilar información de todo el proceso que se realiza para el


registro de alquiler de habitaciones, servicios y espacios del
Complejo Turístico “Las Poncianas”.
 Realizar el Modelo de negocio del Sistema Informático para el
registro y verificación de los clientes y servicios que brinda el
Complejo Turístico “Las Poncianas”, aplicando RUP (Proceso
Unificado Racional).
 Realizar el modelado de Requerimiento del Sistema Informático para
el registro y verificación de los clientes y servicios que brinda el
Complejo Turístico “Las Poncianas”. aplicando RUP.
 Analizar y Diseñar el Sistema Informático para el registro y
verificación de los clientes y servicios que brinda el Complejo
Turístico “Las Poncianas”, aplicando RUP y analizando la
herramienta CASE Rational Rose 2003.
 Desarrollar el Sistema Informático para el registro y verificación de
los clientes y servicios que brinda el Complejo Turístico “Las
Poncianas”, aplicando utilizando como lenguaje de programación
Power Builder 10.5, C#.Net y como RDBMS My SQL.
 Comprobar el funcionamiento del Sistema Informático para el
registro y verificación de los clientes y servicios que brinda el
Complejo Turístico “Las Poncianas”. aplicando las pruebas de Caja
Negra.

1.15. LIMITACIONES

 El Complejo Turístico “Las Poncianas”, cuenta con un número minino de


computadoras las cuales ya están ocupadas impidiendo el avance de la
elaboración del proyecto.
 La realización de otras actividades no nos permite la elaboración de este
proyecto a tiempo completo.
 Falta de sinceramiento en la información proporcionada por parte de la
Administración del Complejo Turístico “Las Poncianas”.

22
Complejo turístico Las Poncianas Tesis

1.16. Hipótesis

El desarrollo del Sistema Informático permitirá mejorar el registro y verificación de los


clientes y servicios que ofrece el Complejo Turístico “Las Poncianas”.

1.17. Variables:

1.17.1. Independiente s: Desarrollo de un Sistema Informático.


1.17.2. Dependientes: Mejorará el registro y verificación de los clientes y
servicios que ofrece el Complejo Turístico “Las Poncianas”.
1.17.3. Intervinientes: Metodología RUP, usando Notaciones UML

23
Complejo turístico Las Poncianas Tesis

CAPITULO II: MARCO TEORICO

24
Complejo turístico Las Poncianas Tesis

2.6. LENGUAJE UNIFICADO DE MODELADO (UML)

Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling
Language) es el lenguaje de modelado de sistemas de software; está apoyado por el

OMG (Object Management Group).


Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema
de software. UML ofrece un estándar para describir un "plano" del sistema (modelo),
incluyendo aspectos conceptuales tales como procesos de negocios y funciones del
sistema, y aspectos concretos como expresiones de lenguajes de programación,
esquemas de bases de datos y componentes de software reutilizables.
Es importante remarcar que UML es un "lenguaje" para especificar y no un método o
un proceso, se utiliza para definir un sistema de software, para detallar los artefactos
en el sistema y para documentar y construir -es el lenguaje en el que está descrito el
modelo.

BREVE HISTORIA DEL UML


El desarrollo del UML comenzó en finales de 1994 en que Grady Booch y Jim
Rumbaugh de Rational Software Corporation, comenzaron su trabajo sobre la
unificación de los métodos de Booch y de OMT (Object Modeling Technique). A finales
de 1995, Ivar Jacobson y su compañía de Objectory se unieron a Rational y
combinaron sus métodos. Booch, Rumbaugh, y Jacobson, definieron el UML 0,9 y
0,91 en junio y octubre de 1996.

OBJETIVOS DE UML
• Describir cualquier tipo de sistema en términos de diagramas orientados a
objetos
• Debe proveer un lenguaje de modelamiento visual que sea común para todos.
• Debe ser independiente de los procesos de desarrollo y los lenguajes de
promoción.
• Debe soportar conceptos de alto nivel de abstracción.
• Debe integrar las mejores prácticas de la industria.

ARQUITECTURA DE UML
Un sistema puede ser visto de diferentes perspectivas y puntos de vista UML, propone
cinco puntos de vista mediante las cuales se puede visualizar un sistema.
• Use Case View
• Design View
• Process View

25
Complejo turístico Las Poncianas Tesis

• Implementación View
• Deployment View

CARACTERISTICAS DE UML
Proporciona a los desarrolladores un lenguaje de modelamiento ampliamente aceptado
y listo para usar.
o Integra las mejores prácticas del desarrollo de software.
o Permite la intercambio de modelos entre las diferentes herramientas de software.
o Es independiente del lenguaje de programación y de métodos y procesos
particulares de desarrollo de software.
o Proporciona sus propios mecanismos de extensión
o Agrupa los conceptos de orientación a objetos definiendo su significado.

VISTAS DE UN MODELO

Figura 1: Vistas de un modelo

26
Complejo turístico Las Poncianas Tesis

Modelando con UML

Figura 2: Modelado con UML

DIAGRAMAS
En UML 2.0 hay 13 tipos diferentes de diagramas. Para comprenderlos de manera
concreta, a veces es útil categorizarlos jerárquicamente, como se muestra en la figura
de la derecha.
Diagramas de estructura enfatizan en los elementos que deben existir en el sistema
modelado:

• Diagrama de clases
• Diagrama de componentes
• Diagrama de objetos
• Diagrama de estructura compuesta (UML 2.0)
• Diagrama de despliegue
• Diagrama de paquetes

Diagramas de comportamiento enfatizan en lo que debe suceder en el sistema


modelado:

• Diagrama de actividades
• Diagrama de casos de uso
• Diagrama de estados

27
Complejo turístico Las Poncianas Tesis

Diagramas de Interacción, un subtipo de diagramas de comportamiento, que


enfatiza sobre el flujo de control y de datos entre los elementos del sistema
modelado:

• Diagrama de secuencia
• Diagrama de comunicación
• Diagrama de tiempos (UML 2.0)
• Diagrama de vista de interacción (UML 2.0)

RELACIONES ENTRE CLASES


El concepto de cardinalidad de relaciones: En UML, la cardinalidad de las
relaciones indica el grado y nivel de dependencia, se anotan en cada extremo
de la relación y éstas pueden ser:

o uno o muchos: 1..* (1..n)


o 0 o muchos: 0..* (0..n)
o número fijo: m (m denota el número).

Asociación y Agregación (vista como un caso particular de asociación)


Generalización / especialización.
Las relaciones de Agregación y Generalización forman jerarquías de clases.

ASOCIACIÓN
La relación entre clases conocida como Asociación, permite asociar objetos que
colaboran entre si. Cabe destacar que no es una relación fuerte, es decir, el tiempo de
vida de un objeto no depende del otro.
La asociación expresa una conexión bidireccional entre objetos. Una asociación es una
abstracción de la relación existente en los enlaces entre los objetos. Puede
determinarse por la especificación de multiplicidad (mínima...máxima)

AGREGACION
La agregación representa una relación parte_de entre objetos. En UML se proporciona
una escasa caracterización de la agregación. Esta relación puede ser caracterizada con
precisión determinando las relaciones de comportamiento y estructura que existen
entre el objeto agregado y cada uno de sus objetos componentes.
Una agregación se podría caracterizar según:
¿Puede el objeto parte comunicarse directamente con objetos externos al objeto
agregado?

28
Complejo turístico Las Poncianas Tesis

Diagrama de Clases y Diagramas de Objetos pertenecen a dos vistas complementarias


del modelo. Un Diagrama de Clases muestra la abstracción de una parte del dominio.
Un Diagrama de Objetos representa una situación concreta del dominio. Las clases
abstractas no son instanciadas.

 Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del objeto
incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de
relación es comúnmente llamada Composición (el Objeto base se construye a
partir del objeto incluido, es decir, es "parte/todo").
 Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del
objeto incluido es independiente del que lo incluye. Este tipo de relación es
comúnmente llamada Agregación (el objeto base utiliza al incluido para su
funcionamiento).

GENERALIZACION
Permite gestionar la complejidad mediante un ordenamiento taxonómico de clases, se
obtiene usando los mecanismos de abstracción de Generalización y/o Especialización.
La Generalización consiste en factorizar las propiedades comunes de un conjunto de
clases en una clase más general. Los nombres usados: clase padre - clase hija. Otros
nombres: superclase - subclase, clase base - clase derivada. Las subclases heredan
propiedades de sus clases padre, es decir, atributos y operaciones (y asociaciones) de
la clase padre están disponibles en sus clases hijas. La Generalización y
Especialización son equivalentes en cuanto al resultado: la jerarquía y herencia
establecidas.

2.7. CLIENTE / SERVIDOR


Esta arquitectura consiste básicamente en que un programa, el Cliente informático

realiza peticiones a otro programa, el servidor, que les da respuesta.


En esta arquitectura la capacidad de proceso está repartida entre los clientes y los
servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la
centralización de la gestión de la información y la separación de responsabilidades, lo
que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el
servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente
un sólo programa.
Una disposición muy común 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 distribución del sistema.
La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que

29
Complejo turístico Las Poncianas Tesis

no hay distribución, tanto a nivel físico como a nivel lógico.


Ventajas de la arquitectura cliente-servidor

• Centralización 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 dañar el sistema.
• Escalabilidad: se puede aumentar la capacidad de clientes y servidores por
separado.

El servidor de cliente es la arquitectura de red que separa al cliente (a menudo un uso


que utiliza un interfaz utilizador gráfico) de un servidor. Cada caso del software del
cliente puede enviar peticiones a un servidor. Los tipos específicos de servidores
incluyen los servidores de la web, los servidores del uso, los servidores de archivo, los
servidores terminales, y los servidores del correo. Mientras que sus propósitos varían
algo, la arquitectura básica sigue siendo igual.

Características de un servidor:
Voz pasiva (esclavo) • Espera para las peticiones • Sobre el recibo de peticiones, las
procesa y entonces los servicios son contestados.

Características de un cliente:
Activo (amo) • Envía peticiones • Las esperas para y reciben contestaciones del
servidor
Los servidores pueden ser apátridas o stateful. Un servidor apátrida no guarda
ninguna información entre las peticiones. Un servidor stateful puede recordar la
información entre las peticiones. El alcance de esta información puede ser global o
sesión-específico. Un servidor del HTTP para las páginas estáticas del HTML es un
ejemplo de un servidor apátrida mientras que Apache Tomcat es un ejemplo de un
servidor stateful.
La interacción entre el cliente y el servidor se describe a menudo usando diagramas
de secuencia. Los diagramas de secuencia se estandardizan en el UML.
Otro tipo de arquitectura de red se conoce como arquitectura del par-a-par porque
cada nodo o caso del programa es un “cliente” y un “servidor” y cada uno tiene
responsabilidades equivalentes. Ambas arquitecturas están en uso amplio.

Arquitectura con capas


Una arquitectura genérica del cliente/servidor tiene dos tipos de nodos en la red:
clientes y servidores. Consecuentemente, estas arquitecturas genéricas se refieren a
veces como arquitecturas “de dos niveles”.

30
Complejo turístico Las Poncianas Tesis

Algunas redes consistirán en tres diversas clases de nodos: cliente, servidores del uso
que datos de proceso para los clientes, y servidores de la base de datos que
almacenan los datos para los servidores del uso. Esta configuración se llama una
arquitectura de la tres-capas.
La ventaja de una arquitectura de la n-capas comparado con una arquitectura de dos
niveles (o una tres-capas con un de dos niveles) es que separa hacia fuera el proceso
eso ocurre para mejorar el balance la carga en los diversos servidores; es más
escalable. Las desventajas de las arquitecturas de la n-capas son: 1.-Pone más carga
en la red 2.-Es mucho más difícil programar y probar software que en arquitectura de
dos niveles porque más dispositivos tienen que comunicarse para terminar la
transacción de un usuario.

Figura 3: Arquitectura Cliente/Servidor

Ventajas
Todos los datos se almacenan en los servidores, así que tienen capacidad mejor del
control de la seguridad. El servidor puede controlar el acceso y el recurso al
cerciorarse que dejó solamente ésos accesos de usuarios permitidos y cambia datos. •
Es más flexible que el paradigma del P2P para poner al día los datos u otros recursos.
• Hay las tecnologías maduradas diseñadas para el paradigma de C/S que asegura
seguridad, el usuario-friendliness del interfaz, y la facilidad de empleo. • Cualquier
elemento de la red C/S puede ser aumentado fácilmente.

Desventajas
La congestión del tráfico ha sido siempre un problema desde el primer día del
nacimiento del paradigma de C/S. Cuando una gran cantidad de clientes envían
peticiones al mismo servidor al mismo tiempo, puede ser que cause muchos de los
apuros para el servidor. Más clientes hay más apuros que tiene. Mientras que, el

31
Complejo turístico Las Poncianas Tesis

ancho de banda de la red del P2P se compone de cada nodo en la red, cuanto más
nodos hay, mejor el ancho de banda que tiene. • El paradigma de C/S no tiene la
buena robustez como red del P2P. Cuando el servidor está caído, las peticiones de los
clientes no pueden ser satisfechas. En la mayor parte de redes del P2P, los recursos
están situados generalmente en nodos por todas partes de la red. Aunque algún nodos
salen o abandonan la descarga; otros nodos pueden todavía acabar de descargar
consiguiendo datos del resto de los nodos en la red. • El software y el hardware de un
servidor es generalmente muy terminantes. Un hardware regular del ordenador
personal puede no poder servir sobre cierta cantidad de clientes. Mientras tanto, una
edición casera de Windows XP incluso no tiene IIS a trabajar como servidor. Necesita
software y el hardware específico satisfacer el trabajo. Por supuesto, aumentará el
coste.
ELEMENTOS DE CONSTRUCCIÓN DE LA ARQUITECTURA CLIENTE
/SERVIDOR

CLIENTE
Ejecuta la parte del cliente de la aplicación. Corre en un sistema operativo que ofrece
una interfaz grafica de usuario a una interfaz grafica orientado al objeto y puede
acceder a servicios distribuidos donde quiera que se encuentren. Lo más común es
que el sistema operativo descargue en el elemento del middleware la responsabilidad
de manejar los servicios locales.

SERVIDOR
Ejecuta la parte de la aplicación del servidor la aplicación del servidor suele correr
sobre un paquete comercial de software del servidor. Las cinco plataformas del
servidor que compiten en la creación de la próxima generación de aplicaciones cliente
/servidor son los servidores de base de datos de SQL, los monitores de TP, los
servidores de Groupware los servidores de objetos y el Web. La parte del servidor
depende del sistema operativo para la interfaz.

2.8. LENGUAJES DE PROGRAMACION


Un lenguaje de programación permite a un programador especificar de manera
precisa: sobre qué datos una computadora debe operar, cómo deben ser estos
almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de
circunstancias.

Principales características (Power Builder)


Power Builder incluye, dentro de su ambiente integrado de desarrollo, herramientas

32
Complejo turístico Las Poncianas Tesis

para crear la interfaz de usuario, generar reportes y tener acceso al contenido de

una base de datos. Power Builder también incluye un lenguaje de programación


llamado Powerscript, el cual es usado para especificar el comportamiento de la
aplicación en respuesta a eventos del sistema o del usuario, tal como cerrar una
ventana o presionar un botón. Las aplicaciones desarrolladas con Power Builder se
ejecutan exclusivamente en el sistema operativo Microsoft Windows, aunque cierto

tipo de componentes que no incluyen una interfaz de usuario (llamados


componentes no visuales o NVOs) y que encapsulan sólo lógica de aplicación, se

pueden ejecutar en otros sistemas operativos como Unix, usando la "Máquina

Virtual de Power Builder" o PBVM incluida dentro del servidor de aplicaciones

EAServer de Sybase.
Adicionalmente, Power Builder posee un objeto nativo para la gestión de datos
llamado DataWindow, el cual puede ser usado para crear, editar y visualizar datos
de una base de datos. Este objeto patentado por Sybase da al desarrollador un
conjunto amplio de herramientas para especificar y controlar la apariencia y
comportamiento de la interfaz de usuario, y también brinda acceso simplificado al

contenido de la base de datos. Hasta cierto punto, el DataWindow libera al

programador de las diferencias entre sistemas de gestión de base de datos de

diferentes proveedores. Recientemente, Sybase introdujo al mercado el


DataWindow .NET, un componente que extiende las bondades del DataWindow y
acelera el rendimiento de aplicaciones en ambientes de desarrollo .NET.

C# .Net
VARIABLES
Identificadores son conjuntos de letras y/o números que se utilizan para simbolizar
todos los elementos que en un programa son definibles por el usuario (programador o
ingeniero de software) del mismo, como son las variables donde se almacenan datos,
funciones( pequeños módulos con código), etiquetas, clases, objetos, etc.

En C# Net una variable se define como un identificador que se utiliza para almacenar
todos los datos generados durante la ejecución de un programa.

Existen ciertas reglas en cuanto a variables:

• Claras y con referencia directa al problema.


• No espacios en blanco, ni símbolos extraños en ellas.
• Se pueden usar abreviaturas, pero solo de carácter general.
• No deben ser palabras reservadas del lenguaje.

33
Complejo turístico Las Poncianas Tesis

Ejemplos de buenas variables:


Nombre, Edad, SdoDiario, IngMensual, Perímetro, Calif1, etc.

DECLARACION Y TIPO DE VARIABLES


A toda variable que se use en un programa, se deberá declarar de preferencia al
principio del programa.

En C# NET (tambien se le conoce como C# ) existen los siguientes tipos de variables:

C# .Net Framework Signed Bytes


Rango
Tipo (System) type ? en Ram
sbyte System.Sbyte Yes 1 -128 a 127
short System.Int16 Yes 2 -32768 a 32767
int System.Int32 Yes 4 -2147483648 a 2147483647
-9223372036854775808 a
long System.Int64 Yes 8
9223372036854775807
byte System.Byte No 1 0 a 255
Ushort System.Uint16 No 2 0 a 65535
uint System.UInt32 No 4 0 a 4294967295
ulong System.Uint64 No 8 0 a 18446744073709551615

float System.Single Yes 4 Aprox. ±1.5 x 10-45 a ±3.4 x 1038


con 7 decimales
Aprox. ±5.0 x 10-324 a ±1.7 x
Double System.Double Yes 8
10308 con 15 o 16 decimales

decimal System.Decimal Yes 12 Aprox. ±1.0 x 10-28 a ±7.9 x 1028


con 28 o 29 decimales
char System.Char N/A 2 Cualquier caracter Unicode
bool System.Boolean N/A 1/2 true o false

En particular cada tipo de dato que se menciona aquí es en realidad un OBJETO, que
se deriva a su vez de una clase que provee el framework de microsoft net es por eso
que se incluye la clase de la cual proviene el tipo de dato.

Es decir en un programa se podrá declarar una variable por ejemplo float pi; o
también se podrá declarar y crear un objeto derivado de esa clase, por ejemplo
System.Float alfa = new System.Float(); para este caso observar y tener en cuenta
dos cosas:

Observar como se declara y crea un objeto ( este formato de creación de objetos


aprenderlo bien).

Como objeto alfa podrá usar todas las propiedades y métodos asociadas al objeto,
mas adelante se ve un tema donde se analiza mas a fondo el concepto de clases y
objetos.

Signed significa que se puede usar el signo + o - al usar la variable.

Por ultimo variables strings o variables cadena, se podrán crear usando la clase
STRING que creara un objeto de dicho tipo.

Para declarar un variable en un script o programa solo usar el siguiente formato:

34
Complejo turístico Las Poncianas Tesis

Tipo de dato lista de variables; ejemplo:

string nombre, ciudad;

int alfa, beta;

string ciudad=“tijuana”;

float pi=3.1416;

Para el caso de objetos numéricos derivados de la clase respectiva, solo usar el


formato que se indico en los párrafos de arriba.

Recordar que c# net es case-sensitive, es decir reconoce la diferencia que hay entre
mayúsculas y minúsculas, en otras palabras no declarar alfa e intentar capturar o
desplegar ALFA.

Para convertir números a strings no hay problema, solo cargar o asignar el numero o
variable numérica a la variable string, pero para convertir strings a números existen y
deberán usarse los métodos Parse de las clases respectivas ejemplo;

String beta1=“100”;

Int beta2 = System.Int32.Parse(beta1);

Las secuencias de escape que reconoce c#(csharp) y que se pueden usar dentro de
una string son:

Escape
Character
Sequence
' \'
” \”
\
Alert \a
Backspace \b
Form feed \f
New Line \n
Carriage Return \r
Horizontal Tab \t
Vertical Tab \v
A unicode character specified by its number e.g. \u200 \u
A unicode character specified by its hexidecimal code e.g.
\x
\xc8
Null \0 (zero)

Bases de datos soportadas


Entre los sistemas de gestión de base de datos soportadas por PowerBuilder se
encuentran:

• Adaptive Server Enterprise

35
Complejo turístico Las Poncianas Tesis

• Adaptive Server Anywhere


• Oracle
• Microsoft SQL Server
• Informix
• Access
• MySQL

2.9. SISTEMAS ADMINISTRADORES DE BASE DE DATOS


Un RDBMS es un Sistema Administrador de Bases de Datos Relacionales. RDBMS
viene del acrónimo en inglés Relational Data Base Management System.

Introducción.

Una Base de Datos es una colección de archivos, datos, información; ordenada,


organizada, y relacionada, con la finalidad de permitir el manejo de la información
para su procesamiento. Cada uno de los archivos representan una colección de
registros y cada registro está compuesto de una colección de campos. Cada uno de
los campos de cada registro permite llevar información de alguna característica o
atributo de alguna entidad del mundo real.

El DBMS es un conjunto de programas que se encargan de manejar la creación


y todos los accesos a las bases de datos. Se compone de un Lenguaje de Definición de
Datos (DDL: Data Definition Languaje), de un Lenguaje de Manipulación de Datos

(DML: Data Manipulation Languaje), y de un Lenguaje de Consulta (SQL: Structured

Query Languaje).

Sistema de Administración de Base de Datos (DBMS).

Es el nivel de software que provee el acceso a la información a un alto nivel de


abstracción. En lugar de manipular archivos, registros, índices, el programa de
aplicación opera en términos de clientes, cuentas, saldos, etc.

Acceso a la Base de Datos

La secuencia conceptual de operaciones que ocurren para accesar cierta información


que contiene una base de datos es la siguiente:

• El usuario solicita cierta información contenida en la base de datos.


• El DBMS intercepta este requerimiento y lo interpreta.
• DBMS realiza las operaciones necesarias para accesar y/o actualizar la información
solicitada

Funciones del Administrador de la Base de Datos.

36
Complejo turístico Las Poncianas Tesis

Administrador de la Base de Datos. Es la persona encargada de definir y controlar


las bases de datos corporativas, además proporciona asesoría a los desarrolladores,
usuarios y ejecutivos que la requieran. Es la persona o equipo de personas
profesionales responsables del control y manejo del sistema de base de datos,
generalmente tiene(n) experiencia en DBMS, diseño de bases de datos, Sistemas
operativos, comunicación de datos, hardware y programación.

Un Administrador de Base de Datos de tiempo completo normalmente tiene


aptitudes técnicas para el manejo del sistema en cuestión a demás, son cualidades
deseables nociones de administración, manejo de personal e incluso un cierto grado
de diplomacia. La característica más importante que debe poseer es un conocimiento
profundo de las políticas y normas de la empresa, así como el criterio de la empresa
para aplicarlas en un momento dado. La responsabilidad general del DBA es facilitar el
desarrollo y el uso de la Base de Datos dentro de las guías de acción definidas por la
administración de los datos.

El Administrador de Bases de Datos es responsable primordialmente de:

• Administrar la estructura de la Base de Datos.


• Administrar la actividad de los datos.
• Administrar el Sistema Manejador de Base de Datos.
• Establecer el Diccionario de Datos.
• Asegurar la confiabilidad de la Base de Datos.
• Confirmar la seguridad de la Base de Datos.

MYSQL

MySQL es un sistema gestor de bases de datos relacionales en SQL, esto significa que
permite la gestión de los datos de una BBDD relacional usando un lenguaje de
consulta estructurado. Y, por tanto, que a partir de una oración, MySQL llevará a cabo
una determinada acción sobre nuestra base de datos.

MySQL es un excelente gestor de bases de datos que la sitúan después de Oracle


cómo la mejor solución a nivel técnico por las características que detallaremos en este
artículo.

Código abierto
MySQL es una aplicación de Código abierto y por lo tanto es gratuita, nos permite
redistribuir una aplicación que la contenga y nos permite incluso modificar su código
para mejórala o adaptarla a nuestras necesidades.

Además, existe la seguridad de contar con una importante cuota de mercado y de


saber que es una solución estable, mantenida por un buen equipo de desarrolladores y
e incluso con soporte de pago.

Facilidad
MySQL es un sistema fácil de instalar y configurar en servidores Windows, Linux... y
enseguida nos permite ejecutar sencillas consultas de SQL como la siguiente:

37
Complejo turístico Las Poncianas Tesis

SELECT * FROM tabla_1

...que nos devolverá todos los datos de la tabla tabla_1.

Funcionalidad
Quizás, en este apartado, MySQL flaquea un poco frente a sus rivales, pero sin
embargo dispone de muchas funciones vitales para el desarrollo profesional cómo
puede ser el volcado online, la duplicación.
Portabilidad
MySQL puede correr en la inmensa mayoría de sistemas operativos, por lo que junto a
otro lenguaje de programación de lado de servidor de alta portabilidad como Java,
PHP, Perl... nos permite el desarrollo de aplicaciones Web fáciles de migrar y el acceso
y copia de los datos desde cualquier Sistema Operativo.

Velocidad
Por nuestra experiencia con diferentes sistemas de bases de datos y avalados por
estudios recientes, podemos afirmar que MySQL es un sistema con una velocidad
superior a sus rivales, incluido Oracle, a la hora de realizar instrucciones SQL..

INSTALACIÓN DE MYSQL

Una vez hayamos descargado el instalador de MySQL descomprimiremos los archivos


y ejecutaremos SETUP.EXE, veremos una pantalla de instalación en la que pulsaremos
Next:

El programa de instalación mostrara ahora una ventana de informacion en la que


volveremos a pulsar Next, en la próxima ventana, nos pide en que carpeta queremos
instalar MySQL, nosotros dejaremos c:\mysql y pulsaremos Next

Ahora se nos pregunta el tipo de instalación que queremos realizar, seleccionaremos


Typical y pulsaremos Next:

38
Complejo turístico Las Poncianas Tesis

2.10. METODOLOGIA DE DESARROLLO DE SOFTWARE (RUP)


PROCESO UNIFICADO DE RATIONAL
El Proceso Unificado de Rational (RUP, el original inglés Rational Unified Process)
es un proceso de desarrollo de software y junto con el Lenguaje Unificado de
Modelado UML, constituye la metodología estándar más utilizada para el análisis,
implementación y documentación de sistemas orientados a objetos. RUP es en
realidad un refinamiento realizado por Rational Software del más genérico Proceso
Unificado.
El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de
metodologías adaptables al contexto y necesidades de cada organización.

El Proceso Unificado Racional: Visión Global.

Figura 4: Flujo de Trabajo en UML

39
Complejo turístico Las Poncianas Tesis

El RUP es un producto de Rational (IBM).


Forma disciplinada de asignar tareas y responsabilidades en una empresa de
desarrollo (quién hace qué, cuándo y cómo).

El Proceso Unificado tiene dos dimensiones.

• Un eje horizontal que representa el tiempo y muestra los aspectos del


ciclo de vida del proceso a lo largo de su desenvolvimiento

• Un eje vertical que representa las disciplinas, las cuales agrupan


actividades de una manera lógica de acuerdo a su naturaleza.

La primera dimensión representa el aspecto dinámico del proceso conforme se


va desarrollando, se expresa en términos de fases, iteraciones e hitos (milestones).

La segunda dimensión representa el aspecto estático del proceso: cómo es


descrito en términos de componentes del proceso, disciplinas, actividades, flujos de
trabajo, artefactos y roles.

Principios de desarrollo
El RUP está basado en 6 principios clave:

Adaptar el proceso

El proceso deberá adaptarse a las características propias del proyecto u organización.


El tamaño del mismo, así como su tipo o las regulaciones que lo condicionen, influirán
en su diseño específico.

Balancear prioridades

Los requerimientos de los diversos inversores pueden ser diferentes, contradictorios o


disputarse recursos limitados. Debe encontrarse un balance que satisfaga los
deseos de todos.

Colaboración entre equipos

El desarrollo de software no lo hace una única persona sino múltiples equipos. Debe
haber una comunicación fluida para coordinar requerimientos, desarrollo,
evaluaciones, planes, resultados, etc.

Demostrar valor iterativamente

Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas. En


cada iteración se analiza la opinión de los inversores, la estabilidad y calidad del
producto, y se refina la dirección del proyecto.

40
Complejo turístico Las Poncianas Tesis

Elevar el nivel de abstracción

Este principio dominante motiva el uso de conceptos reutilizables tales como patrón
del software, lenguajes 4GL o esquemas (frameworks) por nombrar algunos. Esto
previene a los ingenieros de software ir directamente de los requisitos a la codificación
de software a la medida del cliente. Un nivel alto de abstracción también permite
discusiones sobre diversos niveles arquitectónicos. Éstos se pueden acompañar por las
representaciones visuales de la arquitectura, por ejemplo con UML.

Enfocarse en la calidad

El control de calidad no debe realizarse al final de cada iteración, sino en todos los
aspectos de la producción
1. Fases
Ciclo de Vida RUP
HITO

Inicio Elaboración Construcción Transición

Objetivos del Arquitectura de Capacidad Producto


Ciclo de Vida Ciclo de Vida Operacional

Tiempo
Figura 5: Ciclo de Vida de UML

Cada fase concluye con un hito bien definido donde deben tomarse ciertas
decisiones.
El RUP divide el proceso de desarrollo en ciclos, teniendo un producto final al
final de cada ciclo, cada ciclo se divide en fases que finalizan con un hito donde
se debe tomar una decisión importante

Planificación de Fases
Todas las fases no son idénticas en términos de horario y esfuerzo. Aunque
esto varia, considerablemente dependiendo del proyecto, un ciclo de desarrollo
inicial típico para un proyecto, un ciclo de desarrollo inicial típico para un
proyecto mediano debe de anticiparse la siguiente distribución entre el esfuerzo
y el horario:

41
Complejo turístico Las Poncianas Tesis

Inicio Elaboración Construcción Transición

Esfuerzo 5% 20% 65% 10%


Horario 10% 30% 50% 10%

Tabla 12: Planificación de fases

Figura 6: Fases de la metodología RUP

Durante un ciclo de la evolución, las fases de inicio y elaboración serán


consideradas más pequeñas. Las herramientas pueden automatizar alguna
porción del esfuerzo de Construcción ya que puede mitigar esto, haciendo la
fase de construcción mucho más pequeña que las fases de inicio y elaboración
juntas.
1.1Fase de Inicio
Se establece la oportunidad y alcance el proyecto. Se hace un plan de
fases, se identifican los principales casos de uso y se identifican los
riesgos
Actividades
• Pone en marcha el proyecto
• Estimación de recursos necesarios.
• Delimitar el alcance del proyecto.
• Descubrir sus límites posibles.
• Determinar una arquitectura candidata.
• Plan de desarrollo del proyecto.
• Plan de las fases incluyendo hitos
• Análisis del negocio: términos económicos
• Mitigar los riesgos críticos.
• Crear o comprar.
• Uno o más prototipos

1.2 Fase de Elaboración

42
Complejo turístico Las Poncianas Tesis

Se hace un plan de proyecto, se completan los casos de uso y se eliminan


los riesgos.
Definir y validar una arquitectura estable. Se hace un refinamiento de la
Visión del sistema, basándose en nueva información obtenida durante
esta fase, se establece una sólida comprensión de los casos de uso más
críticos que definen las decisiones arquitectónicas y de planificación.
Creación de los planes de desarrollo detallados para las iteraciones de la
fase de construcción.
Actividades:
• Analizar el dominio del problema
• Establecer una arquitectura base sólida
• Desarrollar un plan de proyecto
• Eliminar los elementos de mayor riesgo para el desarrollo exitoso
del proyecto
• A partir de aquí la arquitectura, los requerimientos y los planes de
desarrollo son estables.
• Se construye una arquitectura ejecutable que contemple:
- Los casos de uso críticos
- Los riesgos identificados

1.3 Fase de Construcción


Se concentra en la elaboración de un producto totalmente operativo y
eficiente y el manual de usuario. Gestión de los recursos, optimización y
control de los procesos de construcción del software.
Se completa el desarrollo de los componentes y/o subsistemas,
probándolos contra un conjunto definido de criterios aprobados al inicio
del proyecto.
Actividades:
• En esta fase todas las componentes restantes se desarrollan e
incorporan al producto.
• Todo es probado en profundidad.
• El énfasis está en la producción eficiente y no ya en la creación
intelectual.
• Puede hacerse construcción en paralelo, pero esto exige una
planificación detallada y una arquitectura muy estable.
• El producto de software integrado y corriendo en la plataforma
adecuada.
• Manuales de usuario.
1.4 Fase de Transición

43
Complejo turístico Las Poncianas Tesis

Se implementa el producto en el cliente y se entrena a los usuarios. Como


consecuencia de esto suelen surgir nuevos requisitos a ser analizados.
El objetivo es traspasar el software desarrollado a la comunidad de
usuarios.
Una vez instalado surgirán nuevos elementos que implicarán nuevos
desarrollos (ciclos).
Actividades:
• Pruebas Beta para validar el producto con las expectativas del
cliente
• Ejecución paralela con sistemas antiguos si lo ubiera.
• Conversión de datos
• Entrenamiento de usuarios
• Distribuir el producto

CARACTERÍSTICAS DEL RUP:

• Forma disciplinada de asignar tareas y responsabilidades (quién hace qué,


cuándo y cómo)
• Pretende implementar las mejores prácticas en Ingeniería de Software
• Desarrollo iterativo
• Administración de requisitos
• Uso de arquitectura basada en componentes
• Control de cambios
• Modelado visual del software
• Verificación de la calidad del software

El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e


incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye
artefactos (que son los productos tangibles del proceso como por ejemplo, el modelo
de casos de uso, el código fuente, etc.) y roles (papel que desempeña una persona
en un determinado momento, una persona puede desempeñar distintos roles a lo
largo del proceso).
2. Flujos de Trabajo
El Flujo de trabajo (workflow) es el estudio de los aspectos operacionales de una
actividad de trabajo: cómo se estructuran las tareas, cómo se realizan, cuál es su
orden correlativo, cómo se sincronizan, cómo fluye la información que soporta las
tareas y cómo se le hace seguimiento al cumplimiento de las tareas.
Una aplicación de Flujos de Trabajo (WorkFlow) automatiza la secuencia de acciones,
actividades o tareas utilizadas para la ejecución del proceso, incluyendo el

44
Complejo turístico Las Poncianas Tesis

seguimiento del estado de cada una de sus etapas y la aportación de las herramientas
necesarias para gestionarlo.

Análisis de Diseño de Describir Describir


Arquitectura Arquitectura Concurrencia Distribución

Arquitecto

Análisis de Diseño de
Casos de Uso Casos de Uso

Diseñador de
Casos de Uso

Análisis de Diseño de
Objetos Objetos

Diseñador

Revisar el Revisar el Revisar la


Revisor de Análisis Diseño Arquitectura
Diseño

Figura 7: Flujos de Trabajo

Figura 8: Flujos de Trabajo

45
Complejo turístico Las Poncianas Tesis

En RUP se define nueve flujos de trabajo distintos, separados en dos grandes grupos.
Los flujos de trabajo de ‘ingeniería’ son los siguientes:
• Modelado del negocio.
• Requisitos.
• Análisis y diseño.
• Implementación.
• Test.
• Despliegue.

Los flujos de trabajo de apoyo son:


• Administración del proyecto.
• Configuración y control de cambios.
• Entorno.

2.1 Modelado del negocio


Un modelo de negocio (también llamado diseño de negocio) es el mecanismo
por el cual un negocio trata de generar ingresos y beneficios. Es un resumen

de cómo una compañía planifica servir a sus clientes. Implica tanto el concepto
de estrategia como el de implementación. Comprende el conjunto de las
siguientes cuestiones:

• Cómo seleccionará sus clientes


• Cómo define y diferencia sus ofertas de producto
• Cómo crea utilidad para sus clientes
• Cómo consigue y conserva a los clientes
• Cómo sale al mercado (estrategia de publicidad y distribución)
• Cómo define las tareas que deben llevarse a cabo
• Cómo configura sus recursos
• Cómo consigue el beneficio

2.2 Requerimientos
Las características de un requerimiento son sus propiedades principales. Un
conjunto de requerimientos en estado de madurez, deben presentar una serie
de características tanto individualmente como en grupo. A continuación se
presentan las más importantes.
Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia
en el sistema a construir, y además su capacidad, características físicas o factor
de calidad no pueden ser reemplazados por otras capacidades del producto o
del proceso.

46
Complejo turístico Las Poncianas Tesis

Conciso: Un requerimiento es conciso si es fácil de leer y entender.


Su redacción debe ser simple y clara para aquellos que vayan a consultarlo en
un futuro.
Completo: Un requerimiento está completo si no necesita ampliar detalles en
su redacción, es decir, si se proporciona la información suficiente para su
comprensión.
Consistente: Un requerimiento es consistente si no es contradictorio con otro
requerimiento.
No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola
interpretación. El lenguaje usado en su definición, no debe causar confusiones
al lector.
Verificable: Un requerimiento es verificable cuando puede ser cuantificado de
manera que permita hacer uso de los siguientes métodos de verificación:
inspección, análisis, demostración o pruebas.

2.3 Análisis y Diseño


Descripción de cómo se implementará el sistema: un plano
Debe:
– Ejecutar las tareas y funciones descritas en los casos de uso
– Satisfacer todos los requerimientos
– Flexible a cambios
Diseñar y validar la arquitectura es una tarea esencial. El modelo de diseño
consta de
– Clases estructuradas en paquetes
– Diseños de subsistemas con interfaces definidas (componentes)
– Forma de colaboración entre las clases.
El diseño se centra en la noción de arquitectura.

2.4 Implementación
• Propósito:
– Definir la organización del código
– Implementar clases y objetos en forma de componentes (fuente,
ejecutables, etc.)
– Deben hacer los Test de unidad.
– Probar las componentes desarrolladas
– Integrar las componentes en un sistema ejecutable

47
Complejo turístico Las Poncianas Tesis

2.5 Prueba
Este flujo de Trabajo es el encargado de evaluar la calidad del producto que
estamos desarrollando, pero no para aceptar o rechazar el producto al final del
proceso de desarrollo, sino que debe ir integrado en todo el ciclo de vida.
• Propósito:
– Verificar la interacción entre los objetos
– Verificar la integración apropiada de componentes
– Verificar que se satisfacen los requerimientos
– Identificar los defectos y corregirlos antes de la instalación

• RUP describe como planear y ejecutar estas pruebas.


• RUP propone probar las componentes desde el principio:
• Confiabilidad, funcionalidad y performance
• Las pruebas de regresión son importantes en desarrollos iterativos.
• Rational tiene herramientas para automatizar algunas pruebas.

2.6 Despliegue
El objetivo de este flujo de trabajo es producir con éxito distribuciones del
producto y distribuciones a los usuarios.
Actividades:
• Testear el producto en su entorno de ejecución final.
• Empaquetar el software para su distribución.
• Distribuir el software.
• Instalar el software.
• Proveer asistencia y ayuda a los usuarios.
• Formar a los usuarios.

2.7Configuración y Administración de Cambios


La finalidad de este flujo de trabajo es mantener la integridad de todos los
artefactos que se crean en el proceso, así como de mantener información del
proceso evolutivo que han seguido.

• Forma de controlar los artefactos producidos por las personas que trabajan
en el proyecto.
• Algunos problemas habituales:
– Actualizaciones simultáneas
– Múltiples versiones

48
Complejo turístico Las Poncianas Tesis

2.8Gestión de proyectos
El objetivo de la administración de un producto es conseguir equilibrar el
completar los objetivos, administrar el riesgo y superar las restricciones para
desarrollar un producto que sea acorde a los requisitos de los usuarios.
Sus Aspectos:
• Planificar un proyecto iterativo y cada iteración particular.
• Administrar el riesgo.
• Monitorizar el progreso del proyecto a través de métricas.

2.9 Entorno
La finalidad de este workflow es de dar soporte al proyecto con las adecuadas
herramientas, procesos y métodos. Es decir tener a punto las herramientas que
se vayan a necesitar en cada momento, así como definir la instancia concreta
de proceso unificado que se va seguir.
Este flujo trabaja influyendo:
• Selección y adquisición de herramientas.
• Establecer y configurar las herramientas para que se ajusten a la
organización.
• Configuración del proceso.
• Mejora del proceso.
• Servicios técnicos.

3. Iteraciones
Una iteración es una secuencia de actividades con un plan establecido y un
criterio de evaluación, cuyo resultado es una versión de software ejecutable.
Esfuerzo de trabajo en un proyecto que recorre varias etapas de desarrollo (no
necesaria mente todas), y al final del cual se ha incrementado el material
disponible sobre el sistema.

DIAGRAMA DE CASO DE USO:

Un diagrama de Caso de Uso representa lo que hace el sistema y como se relaciona


con su entorno.
Representa los distintos requerimientos que hacen los usuarios de un sistema.
Un diagrama de casos de uso esta compuesto por:
Caso de uso
Un Diagrama de Casos de Uso muestra la relación entre los actores y los casos de uso
del sistema. Representa la funcionalidad que ofrece el sistema en lo que se refiere a
su interacción externa.

49
Complejo turístico Las Poncianas Tesis

Figura 9: Caso de Uso

Actores
Un actor es algo con comportamiento, como una persona (identificada por un rol), un
sistema informatizado u organización, y que realiza algún tipo de interacción con el
sistema.. Se representa mediante una figura humana dibujada con palotes. Esta
representación sirve tanto para actores que son personas como para otro tipo de
actores.

Figura 10: Actor

Relaciones entre ellos (Incluye, Extends, Generalización );

DIAGRAMAS DE CLASE:
Un diagrama de clase sirve para visualizar las relaciones entre las clases que
involucran el sistema, las cuales pueden ser asociativas, de herencia y de uso.
Muestra los roles comunes y las responsabilidades de las entidades que proporcionan
el comportamiento del sistema
 Un diagrama de clase muestra Clase (grupos de objetos que tienen las mismas
características y comportamiento) y sus relaciones.
 Estos diagramas son los más comunes en el modelado de sistemas orientados
a objetos.
 Un diagrama de clase esta compuesto por:
 Clase
 Relaciones entre clase

Cada clase se representa en un rectángulo con tres compartimientos:

• nombre de la clase
• atributos de la clase
• operaciones de la clase

50
Complejo turístico Las Poncianas Tesis

DIAGRAMAS DE OBJETOS:
Un Diagrama de Objetos muestra una instancia prototípica de un diagrama de Clase
con el fin de ilustrar los objetos reales participantes en un determinado momento.
Un Diagrama de Objetos tienen los mismos elementos que un Diagrama de Clase pero
los objetos y sus atributos tienen valores desconocidos.

DIAGRAMAS DE SECUENCIA:
Un Diagrama de Secuencia objeto, poniendo énfasis entre objetos.
Un Diagrama de Secuencia esta compuesto por:
 Objetos (o actores)
 Línea de vida de un objeto
 Activación o foco de Control
 Mensajes

DIAGRAMA DE COLABORACIÓN:
Un Diagrama de Colaboración muestra la interacción de un conjunto de objetos,
poniendo énfasis en la estructura organizacional de los objetos que envían y recibe
mensajes
Un diagrama de colaboración esta compuesto por:
 Objetos
 Enlaces
 Flujo de Mensajes.

DIAGRAMA DE ESTADOS:
Describe el comportamiento de un elemento del modelo, mostrando la posible
secuencia del estado en los que puede entrar el objeto y como cambia al reaccionar
ante un evento durante el ciclo de vida.
Un diagrama de estado esta compuesto por:
 Estados
 Eventos
 Transiciones

DIAGRAMA DE ACTIVIDAD:
Muestra las operaciones que se realizan para conseguir un objeto. Es un caso especial
de un diagrama de estado donde todos los estados ejecutan una tarea. Se utiliza para
dar detalle a un caso de uso, modelando los flujos de trabajo u operaciones.
 Un diagrama de actividad esta compuesto por:
 Estados de actividad o simplemente Actividad
 Estado de acción o simplemente Acción

51
Complejo turístico Las Poncianas Tesis

 Transiciones

DIAGRAMA DE COMPONENTES:
Un diagrama de componentes muestra las dependencias lógicas entre componentes
software, tales como archivos de código fuente: binarios ejecutables, tablas, etc.
Un diagrama de componentes esta compuesto por:
 Componentes
 Interfase
 Relaciones de realización y dependencia

DIAGRAMA DE DESPLIEGUE:
Muestra el hardware en donde será desplegado los componentes de nuestro sistema.
Esto significa que muestra las relaciones físicas entre el software y el hardware.
Un Diagrama de Despliegue esta compuesto por:
 Nodos
 Conexiones entre nodos

MODELO DE DOMINIO
Representa las clases (entidades) más importantes encontradas en el diagrama del
modelo del negocio de manera relacional, de acuerdo a las siguientes relaciones:
Tipo de Relaciones:
 Uno – uno: Representada por el número 1
 Cero – uno: Representada por la secuencia 0..1
 Uno – muchos: Representada por la secuencia 1..*
 Cero – muchos (n - m): Representada por la secuencia n..m, donde m≥n

DIAGRAMA DE COLABORACIONES:
Muestran no los mensajes a través de los cuales se produce la interacción entre los
objetos, como en Diagramas de Secuencia, sino también los enlaces entre los objetos,
se trata pues de una mezcla de Diagrama de Objetos y Diagrama de Secuencia.
Mientras que en el Diagrama de Secuencia se hace énfasis en el tiempo, en el de
colaboración el énfasis está puesto en la estructura (objeto y sus enlaces).

PAQUETES DEL ANÁLISIS:


Agrupan un código de clase y sus asociaciones de acuerdo a su funcionalidad y
dominio del problema.

DIAGRAMA DE COLABORACIONES DEL DISEÑO:

52
Complejo turístico Las Poncianas Tesis

Muestra una secuencia de mensajes que implementan una operación o una transición
es decir los objetos, enlaces y mensajes.

DIAGRAMA DE SECUENCIAS:
Muestra el orden cronológico de la transmisión de mensaje entre los objetos. Un
objeto se representa por un rectángulo con una línea vertical debajo de el, la línea
vertical permite crear los mensajes entre los objetos.

MODELO DEL ANÁLISIS:


Se usa para describir los requerimientos en forma mas precisa de tal manera que
facilite su entendimiento y funcione como punto de entrada en el diseño y la
implementación.

PAQUETE DE SERVICIO:
Un servicio representa un conjunto coherente de funcionalidad relacionado a acciones.
Es decir un paquete de funcionalidad que es empleado en diversos casos de uso.

EXTREME PROGRAMING (XP)

Es una de las metodologías de desarrollo de software más exitosas en la actualidad


utilizadas para proyectos de corto plazo, corto equipo y cuyo plazo de entrega era
ayer. La metodología consiste en una programación rápida o extrema, cuya
particularidad es tener como parte del equipo, al usuario final, pues es uno de los
requisitos para llegar al éxito del proyecto.

Figura 11: Metodología Extreme Programing

53
Complejo turístico Las Poncianas Tesis

CAPITULO III:
APLICACIÓN DE LA METODOLOGIA

54
Complejo turístico Las Poncianas Tesis

FASE DE NEGOCIOS
Pictograma

Registrar
Documentos
documento
De alquileres
Alquiler
Registros de Registros de Registros de
Habitación Clientes Alquiler

Huésped Emitir documento


Alquiler
Solicitar información
Solicita documento
Entrega de precios
Alquiler
Alquiler Servicios/habitación
Recepcionistas
Solicitar información
Alquilar Espacios
Solicita documentos
alquiler Administrador

Emitir Documentos Alquiler

Registros de
Espacio Ayudante

Diagramas de Caso de Uso de Negocios

55
Complejo turístico Las Poncianas Tesis

MODELO DE OBJETO DE NEGOCIOS


MON_ Gestión Alquiler Clientes

MON_ Gestión Alquiler Espacios

56
Complejo turístico Las Poncianas Tesis

MON_ Gestión de reportes

Modelo de Dominio

Cliente Habitacion
(f rom Business Object Model) (f rom Business Object Model)

1 1..* 1..*
1..* 1 1

Alquiler TipoHabitacion
(f rom Business Object Model)
(f rom Business Object Model)

0..* 0..1

0..* 0..1

Servicios Espacio
(f rom Business Object Model)
(f rom Business Object Model)

57
Complejo turístico Las Poncianas Tesis

FASE DE REQUERIMIENTO.

58
Complejo turístico Las Poncianas Tesis

Diagrama de Casos de Uso de Requerimiento Detallado

59
Complejo turístico Las Poncianas Tesis

ESPECIFICACION DE CASOS DE USOS DE REQUERIMIENTOS

E.C.U.R. Registrar Cliente

REGISTRAR CLIENTE
Descripción El Sistema deberá permitir al Recepcionista
Registrar Clientes, verificar si se encuentra
registrado sino se procede al registro.
Según se describe en el siguiente caso de uso:
Precondición Ninguno.
Secuencia Normal Paso Acción
1 Buscar al Cliente
2 Registrar al Cliente
Postcondición Ninguno.
Excepciones Paso Acción
1 En caso de que el cliente a ingresar este
almacenado, el sistema mostrará un
mensaje de advertencia, donde
informará que ya se ha registrado el
dato, y se negará el acceso
Rendimiento El sistema deberá realizar las acciones descritas
en los pasos 1 y 2 en un máximo de ½ minuto.
Frecuencia Este caso de uso se espera que se lleve a cabo
15 veces al día.
Importancia Muy Importante
Urgencia Importante
Comentarios Ninguno

60
Complejo turístico Las Poncianas Tesis

E.C.U.R. Registrar Alquiler de Habitación

REGISTRAR ALQUILER DE HABITACION


Descripción El Sistema deberá permitir al Recepcionista
Registrar el alquiler de una habitación,
verificando Clientes, habitación, estado
habitación además verificando algunos
servicios adicionales.

Según se describe en el siguiente caso de


uso:

Precondición Ninguno.

Secuencia Normal Paso Acción

1 Buscar al Cliente, habitación, estado


habitación, tipo habitación y
opcionalmente servicios adicionales

2 Registrar Alquiler habitación

Postcondición Ninguno.

Excepciones Paso Acción

1 En caso de que la habitación este


ocupada se mostrara un de
advertencia, donde informará que ya
se ha registrado el dato, y se negará
el acceso

Rendimiento El sistema deberá realizar las acciones


descritas en los pasos 1 y 2 en un máximo de
½ minuto.

Frecuencia Este caso de uso se espera que se lleve a


cabo 20 veces al día.

Importancia Muy Importante

Urgencia Importante

Comentarios Ninguno

61
Complejo turístico Las Poncianas Tesis

E.C.U.R. Registrar Alquiler de Espacio

REGISTRAR ALQUILER DE ESPACIO


Descripción El Sistema deberá permitir al Asistente
Registrar el alquiler de un espacio, verificando
Clientes, espacio.
Según se describe en el siguiente caso de
uso:
Precondición Ninguno.
Secuencia Normal Paso Acción
1 Buscar al Cliente, y el espacio a
alquilar.
2 Registrar Alquiler espacio
Postcondición Ninguno.
Excepciones Paso Acción
1 En caso de que el espacio este
ocupado se mostrara un de
advertencia, donde informará que ya
se ha registrado el dato, y se negará
el acceso
Rendimiento El sistema deberá realizar las acciones
descritas en los pasos 1 y 2 en un máximo de
½ minuto.
Frecuencia Este caso de uso se espera que se lleve a
cabo 3 veces a la semana.
Importancia Muy Importante
Urgencia Importante
Comentarios Ninguno

62
Complejo turístico Las Poncianas Tesis

E.C.U.R. Registrar Habitación

REGISTRAR HABITACION
Descripción El Sistema deberá permitir al Asistente de
Administración Registrar Habitación, verificar
si se encuentra registrado sino se procede al
registro, según el tipo de la habitación.
Según se describe en el siguiente caso de uso:
Precondición Ninguno.
Secuencia Normal Paso Acción
1 Buscar tipo habitación
2 Registrar habitación
Postcondición Ninguno.
Excepciones Paso Acción
1 En caso de que la habitación a ingresar
este almacenado, el sistema mostrará un
mensaje de advertencia, donde
informará que ya se ha registrado el
dato, y se negará el acceso
Rendimiento El sistema deberá realizar las acciones descritas
en los pasos 1 y 2 en un máximo de ½ minuto.
Frecuencia Este caso de uso se espera que se lleve cada vez
que se construye alguna habitación.
Importancia Muy Importante
Urgencia Importante
Comentarios Ninguno

63
Complejo turístico Las Poncianas Tesis

FASE DE ANALISIS
Diagrama de Colaboración

DC_Registrar Alquiler de Espacio

DC_Registrar Cliente

64
Complejo turístico Las Poncianas Tesis

DC_Registrar Alquiler de Habitación

65
Complejo turístico Las Poncianas Tesis

DC_Registrar Habitación

DC_Registrar Servicios Adicionales

66
Complejo turístico Las Poncianas Tesis

DC_Registrar Reserva de Habitación

67
Complejo turístico Las Poncianas Tesis

DC_Registrar Tipo Habitación

Diagrama de Clases (Entidades)

68
Complejo turístico Las Poncianas Tesis

FASE DE DISEÑO
Interfaces de Usuarios
Acceso Usuario

GLOBAL W_ACCESO W_ACCESO


event activate;sle_1.setfocus( )
end event
event clicked;if messagebox("Salir","Desea Salir del Sistema",question!,yesno!)=1 then
close(parent)
end if
end event

EVENT CLICKED;ST_USUARIO ST_ORIGEN


string cla,log
log=parent.sle_1.text
cla=parent.sle_2.text
select * into
:st_origen.id,:st_origen.log,:st_origen.pas,:st_origen.des,:st_origen.tip,:st_origen.est from
usuario where log_usu=:log;

if st_origen.tip='I' then
n=n+1
messagebox("Error","El usuario se encuentra inhabilitado")
return
end if

if st_origen.pas="" or isnull(st_origen.pas) then


n=n+1
messagebox("Error","Error Usuario Incorrecto")
sle_1.setfocus( )
sle_2.text=""
sle_1.text=""
return
else

69
Complejo turístico Las Poncianas Tesis

if cla=st_origen.pas then
xid_usu=st_origen.id
messagebox("Sistema","Le Damos la Vienvenida Sr(a): "+st_origen.des )
close(w_menu)
openwithparm(w_menu,st_origen)
close(w_acceso)
return
else
n=n+1
messagebox("Error","Error clave Incorrecto")
sle_2.setfocus( )
sle_2.text=""
return
end if
end if
if n=3 then
close(w_acceso)
end if

EVENT MODIFIED;PARENT.PB_1.EVENT CLICKED( )


end event

EVENT MODIFIED;SLE_2.SETFOCUS( )
end event

Menú

70
Complejo turístico Las Poncianas Tesis

FORWARD
global type w_menu from window
end type
type mdi_1 from mdiclient within w_menu
end type
end forward

global type w_menu from window


integer width = 2885
integer height = 2004
boolean titlebar = true
string title = "Sistema de Alquiler ~"Hotel las Ponceanas~""
string menuname = "m_menu"
boolean controlmenu = true
boolean minbox = true
boolean maxbox = true
boolean resizable = true
windowtype windowtype = mdi!
windowstate windowstate = maximized!
long backcolor = 67108864
string icon = "LibraryList5!"
boolean center = true
mdi_1 mdi_1
end type
global w_menu w_menu

on w_menu.create
if this.MenuName = "m_menu" then this.MenuID = create m_menu
this.mdi_1=create mdi_1
this.Control[]={this.mdi_1}
end on

on w_menu.destroy
if IsValid(MenuID) then destroy(MenuID)
destroy(this.mdi_1)
end on

EVENT OPEN; ST_USUARIO ST_DESTINO


st_destino=message.powerobjectparm
this.title=this.title + " [ " + st_destino.des +" ]"
opensheet(w_fondo,w_menu,2,original!)
end event

type mdi_1 from mdiclient within w_menu


long BackColor=33288678
end type

71
Complejo turístico Las Poncianas Tesis

Registro Cliente

Consulta Cliente

72
Complejo turístico Las Poncianas Tesis

GLOBAL W_CLIENTE W_CLIENTE

type variables
oletxnobject ole_cliente
string tip_gra
string xest_cli
end variables
event ue_ingresar_campos();integer f_a
this.tab_1.tabpage_2.dw_1.accepttext( )
f_a=this.tab_1.tabpage_2.dw_1.getrow( )
choose case tip_gra
case 'M'
ole_cliente.id = tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"id")
end choose
ole_cliente.id_per = this.tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"id_per")
ole_cliente.raz_soc = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"raz_soc")
ole_cliente.dir_cli = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"dir_cli")
ole_cliente.tel_cli = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"tel_cli")
ole_cliente.ema_cli = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"ema_cli")
ole_cliente.doc_cli = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"doc_cli")
ole_cliente.cla_cli = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"cla_cli")
ole_cliente.est_cli = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"est_cli")

end event

EVENT INACTIVAR_BOTON();
this.pb_1.enabled=true
this.tab_1.tabpage_1.pb_6.enabled=true
this.tab_1.tabpage_2.pb_4.enabled=false
this.tab_1.tabpage_2.pb_5.enabled=false
this.tab_1.tabpage_2.pb_3.enabled=false

end event

Event Activar_Boton();
This.pb_1.enabled=false
this.tab_1.tabpage_1.pb_6.enabled=false
this.tab_1.tabpage_2.pb_4.enabled=true
this.tab_1.tabpage_2.pb_5.enabled=true
this.tab_1.tabpage_2.pb_3.enabled=true

end event

EVENT OPEN;
connect using sqlca;
tab_1.tabpage_1.dw_2.settransobject(sqlca)

if ban_cli=true then
xest_cli='A'
else

73
Complejo turístico Las Poncianas Tesis

xest_cli=''
end if

tab_1.tabpage_1.dw_2.retrieve('%',xest_cli+'%' )

tab_1.tabpage_2.dw_1.settransobject(sqlca)
integer u_f
tab_1.tabpage_2.dw_1.reset( )
tab_1.tabpage_2.dw_1.insertrow( 0)
u_f=tab_1.tabpage_2.dw_1.rowcount( )
tab_1.tabpage_2.dw_1.scrolltorow(u_f)
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=yes")

int rpt
ole_cliente=create oletxnobject
rpt=ole_cliente.connecttonewobject("LibHotel.cliente")

environment lenv_local
int li_retorno
long ll_xUnits,ll_yUnits
li_retorno = GetEnvironment (lenv_local)
if li_retorno <1 then
Return -1
end if
if IsValid(this) then
ll_xUnits = PixelsToUnits(lenv_local.ScreenWidth,XPixelsToUnits!)
ll_yUnits = PixelsToUnits(lenv_local.ScreenHeight,yPixelsToUnits!)
this.x = (ll_xUnits - this.Width) / 2
this.y = ((ll_yUnits - 400) - this.Height) / 2
end if

end event
EVENT CLICKED
;tip_gra='N'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")
w_cliente.triggerevent("activar_boton")
tab_1.selectedtab=2
tab_1.tabpage_2.dw_1.setcolumn( "id_per")
tab_1.tabpage_2.dw_1.setfocus( )
tab_1.tabpage_2.dw_1.setitem(tab_1.tabpage_2.dw_1.getrow( ) ,"est_cli","A" )

end event

EVENT CLICKED;
integer id
id=tab_1.tabpage_1.dw_2.getitemnumber( tab_1.tabpage_1.dw_2.getrow( ) , "id")
tab_1.tabpage_2.dw_1.retrieve(string( id))
tip_gra='M'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")
w_cliente.triggerevent("activar_boton")
tab_1.selectedtab=2

74
Complejo turístico Las Poncianas Tesis

end event

EVENT UE_DIGITA;p
arent.dw_2.retrieve( '%'+this.text +'%',xest_cli+'%' )
end event

event rowfocuschanged;this.selectrow( 0, false)


this.selectrow( this.getrow( ) ,true)
end event

event doubleclicked;integer id
if ban_cli=true then
id=this.getitemnumber( this.getrow( ), "id")
closewithreturn(w_cliente,id)
else
parent.pb_6.event clicked( )
end if
end event

EVENT CLICKED;
w_cliente.triggerevent("open")
w_cliente.triggerevent("inactivar_boton")
end event

EVENT CLICKED;
string rpt
w_cliente.triggerevent("ue_ingresar_campos")
rpt=ole_cliente.eliminar()
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")

else
messagebox("Adventencia","Los datos estan siendo usados o no se puede
eliminar",StopSign!)

end if
disconnect using sqlca;
w_cliente.triggerevent("open")
w_cliente.triggerevent("inactivar_boton")
end event

event clicked;string rpt


integer f_a
w_cliente.triggerevent("ue_ingresar_campos")
if tip_gra='N' then
rpt=ole_cliente.grabar()
elseif tip_gra='M' then
rpt=ole_cliente.actualizar()
end if
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")

75
Complejo turístico Las Poncianas Tesis

else
messagebox("Error","Los datos Fueron mal Ingresados o ya Existen",StopSign!)
end if

disconnect using sqlca;


w_cliente.triggerevent("open")
w_cliente.triggerevent("inactivar_boton")
end event

EVENT UE_ENTER
Send(Handle(this),256,9,Long(0,0))
return 1
end event

event itemchanged;string des_per


datawindowchild dw_per
this.getchild( "id_per",dw_per)
des_per=mid(dw_per.getitemstring( dw_per.getrow( ) , "des_per"),1,1)
if des_per='J' then
this.modify('nom_cli_t.text="RAZON SOCIAL:"')
this.modify('doc_cli.editmask.mask="###########"')
this.modify('doc_cli_t.text="RUC:"')

elseif des_per='N' then


this.modify('nom_cli_t.text="NOMBRE Y APELLIDO:"')
this.modify('doc_cli.editmask.mask="########"')
this.modify('doc_cli_t.text="DNI:"')
end if

end event

Registro de Habitación

76
Complejo turístico Las Poncianas Tesis

Consulta de Habitación

global type w_habitaciones from window


integer width = 2336
integer height = 1712
boolean titlebar = true
string title = "NABTENIMIENTO DE HABITACION"
boolean controlmenu = true
windowtype windowtype = response!
long backcolor = 16777215
string icon = "AppIcon!"
boolean center = true
event activar_boton ( )
event inactivar_boton ( )
event ue_ingresar_campos ( )
pb_2 pb_2
pb_1 pb_1
tab_1 tab_1
end type
global w_habitaciones w_habitaciones

event activar_boton();this.pb_1.enabled=false
this.tab_1.tabpage_1.pb_6.enabled=false
this.tab_1.tabpage_2.pb_4.enabled=true
this.tab_1.tabpage_2.pb_5.enabled=true
this.tab_1.tabpage_2.pb_3.enabled=true

77
Complejo turístico Las Poncianas Tesis

end event

event inactivar_boton();this.pb_1.enabled=true
this.tab_1.tabpage_1.pb_6.enabled=true
this.tab_1.tabpage_2.pb_4.enabled=false
this.tab_1.tabpage_2.pb_5.enabled=false
this.tab_1.tabpage_2.pb_3.enabled=false

end event

event ue_ingresar_campos();integer f_a


this.tab_1.tabpage_2.dw_1.accepttext( )
f_a=this.tab_1.tabpage_2.dw_1.getrow( )
choose case tip_gra
case 'M'
ole_habitacion.id = tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"id")
end choose
ole_habitacion.nro_hab = this.tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"nro_hab")
ole_habitacion.id_tip = this.tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"id_tip")
ole_habitacion.est_hab = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"est_hab")
end event
event open;connect using sqlca;
tab_1.tabpage_1.dw_2.settransobject(sqlca)

if ban_hab=true then
xest_hab='D'
else
xest_hab=' '
end if

tab_1.tabpage_1.dw_2.retrieve('%' ,xest_hab+'%')

tab_1.tabpage_2.dw_1.settransobject(sqlca)
integer u_f
tab_1.tabpage_2.dw_1.reset( )
tab_1.tabpage_2.dw_1.insertrow( 0)
u_f=tab_1.tabpage_2.dw_1.rowcount( )
tab_1.tabpage_2.dw_1.scrolltorow(u_f)
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=yes")

int rpt
ole_habitacion=create oletxnobject
rpt=ole_habitacion.connecttonewobject("LibHotel.habitacion")

environment lenv_local
int li_retorno
long ll_xUnits,ll_yUnits
li_retorno = GetEnvironment (lenv_local)
if li_retorno <1 then
Return -1

78
Complejo turístico Las Poncianas Tesis

end if
if IsValid(this) then
ll_xUnits = PixelsToUnits(lenv_local.ScreenWidth,XPixelsToUnits!)
ll_yUnits = PixelsToUnits(lenv_local.ScreenHeight,yPixelsToUnits!)
this.x = (ll_xUnits - this.Width) / 2
this.y = ((ll_yUnits - 400) - this.Height) / 2
end if
end event

event clicked;close(parent)
end event

event clicked;tip_gra='N'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")

w_habitaciones.triggerevent("activar_boton")
tab_1.selectedtab=2
tab_1.tabpage_2.dw_1.setcolumn( "id_tip")
tab_1.tabpage_2.dw_1.setfocus( )
tab_1.tabpage_2.dw_1.setitem(tab_1.tabpage_2.dw_1.getrow( ) ,"est_hab","A" )

end event

event clicked;string id
id=string(tab_1.tabpage_1.dw_2.getitemnumber( tab_1.tabpage_1.dw_2.getrow( ) , "id"))
tab_1.tabpage_2.dw_1.retrieve(id)
//messagebox("",id)
tip_gra='M'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")
w_habitaciones.triggerevent("activar_boton")
tab_1.selectedtab=2
end event

event ue_digita;parent.dw_2.retrieve( '%'+this.text +'%',xest_hab+'%')


end event

event rowfocuschanged;this.selectrow( 0, false)


this.selectrow( this.getrow( ) ,true)
end event

event doubleclicked;integer id
string est_hab
if ban_hab=true then
id=this.getitemnumber( this.getrow( ) , "id")
est_hab=this.getitemstring( this.getrow( ),"est_hab")
if est_hab="I" then
messagebox("Informacion","La Habitacion se encuentra Ocupada")
return
elseif est_hab='R' then
messagebox("Informacion","La Habitacion se encuentra Reservada")
return

79
Complejo turístico Las Poncianas Tesis

end if
xpre_esp=this.getitemnumber( this.getrow( ),"tipo_habitacion_pre_tip")
xdes_hab=this.getitemstring( this.getrow( ),"tipo_habitacion_des_tip")
xnro_hab=string(this.getitemnumber( this.getrow( ),"nro_hab"))

closewithreturn(w_habitaciones,id)
else
parent.pb_6.event clicked( )
end if
end event

event clicked;w_habitaciones.triggerevent("open")
w_habitaciones.triggerevent("inactivar_boton")
end event

event clicked;string rpt


w_habitaciones.triggerevent("ue_ingresar_campos")
rpt=ole_habitacion.eliminar()
if rpt='1' then
messagebox("Grabar","Los datos Fueron Eliminados Correctamente")
else
messagebox("Adventencia","Los datos estan siendo usados o no se puede
eliminar",StopSign!)

end if
disconnect using sqlca;
w_habitaciones.triggerevent("open")
w_habitaciones.triggerevent("inactivar_boton")
end event

event clicked;string rpt


integer f_a
w_habitaciones.triggerevent("ue_ingresar_campos")
if tip_gra='N' then
rpt=ole_habitacion.grabar()
elseif tip_gra='M' then
rpt=ole_habitacion.actualizar()
end if
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")
else
messagebox("Error","Los datos Fueron mal Ingresados o ya Existen",StopSign!)
end if
commit using sqlca;
w_habitaciones.triggerevent("open")
w_habitaciones.triggerevent("inactivar_boton")
end event

event ue_enter;Send(Handle(this),256,9,Long(0,0))
return 1
end event

80
Complejo turístico Las Poncianas Tesis

Registro de Espacio

Consulta de Espacio

81
Complejo turístico Las Poncianas Tesis

global type w_espacios from window


integer width = 2395
integer height = 1740
boolean titlebar = true
string title = "MANTENIMIENTO DE ESPACIO"
boolean controlmenu = true
windowtype windowtype = response!
long backcolor = 16777215
string icon = "AppIcon!"
boolean center = true
event activar_boton ( )
event inactivar_boton ( )
event ue_ingresar_campos ( )
pb_1 pb_1
pb_2 pb_2
tab_1 tab_1
end type
global w_espacios w_espacios

type variables
oletxnobject ole_espacio
string tip_gra
string xest_esp

end variables

event activar_boton();this.pb_1.enabled=false
this.tab_1.tabpage_1.pb_6.enabled=false
this.tab_1.tabpage_2.pb_4.enabled=true
this.tab_1.tabpage_2.pb_5.enabled=true
this.tab_1.tabpage_2.pb_3.enabled=true

end event

event inactivar_boton();this.pb_1.enabled=true
this.tab_1.tabpage_1.pb_6.enabled=true
this.tab_1.tabpage_2.pb_4.enabled=false
this.tab_1.tabpage_2.pb_5.enabled=false
this.tab_1.tabpage_2.pb_3.enabled=false

end event

event ue_ingresar_campos();integer f_a


this.tab_1.tabpage_2.dw_1.accepttext( )
f_a=this.tab_1.tabpage_2.dw_1.getrow( )
choose case tip_gra
case 'M'
ole_espacio.id = tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"id")
end choose
ole_espacio.des_esp = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"des_esp")

82
Complejo turístico Las Poncianas Tesis

ole_espacio.pre_esp = this.tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"pre_esp")


ole_espacio.est_esp = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"est_esp")
end event

event open;connect using sqlca;


tab_1.tabpage_1.dw_2.settransobject(sqlca)

if ban_esp=true then
xest_esp='D'
else
xest_esp=' '
end if

tab_1.tabpage_1.dw_2.retrieve('%',xest_esp+'%' )

tab_1.tabpage_2.dw_1.settransobject(sqlca)
integer u_f
tab_1.tabpage_2.dw_1.reset( )
tab_1.tabpage_2.dw_1.insertrow( 0)
u_f=tab_1.tabpage_2.dw_1.rowcount( )
tab_1.tabpage_2.dw_1.scrolltorow(u_f)
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=yes")

int rpt
ole_espacio=create oletxnobject
rpt=ole_espacio.connecttonewobject("LibHotel.espacio")

environment lenv_local
int li_retorno
long ll_xUnits,ll_yUnits
li_retorno = GetEnvironment (lenv_local)
if li_retorno <1 then
Return -1
end if
if IsValid(this) then
ll_xUnits = PixelsToUnits(lenv_local.ScreenWidth,XPixelsToUnits!)
ll_yUnits = PixelsToUnits(lenv_local.ScreenHeight,yPixelsToUnits!)
this.x = (ll_xUnits - this.Width) / 2
this.y = ((ll_yUnits - 400) - this.Height) / 2
end if

end event

event clicked;tip_gra='N'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")
w_espacios.triggerevent("activar_boton")
tab_1.selectedtab=2
tab_1.tabpage_2.dw_1.setcolumn( "des_esp")
tab_1.tabpage_2.dw_1.setfocus( )
tab_1.tabpage_2.dw_1.setitem(tab_1.tabpage_2.dw_1.getrow( ) ,"est_esp","A" )

83
Complejo turístico Las Poncianas Tesis

on tab_1.destroy
destroy(this.tabpage_1)
destroy(this.tabpage_2)
event rowfocuschanged;this.selectrow( 0, false)
this.selectrow( this.getrow( ) ,true)
end event

event doubleclicked;integer id
string est_esp
if ban_esp=true then
id=this.getitemnumber( this.getrow( ) , "id")
est_esp=this.getitemstring( this.getrow( ),"est_esp")
if est_esp="I" then
messagebox("Informacion","El Espacio se encuentra Ocupada")
return
elseif est_esp='R' then
messagebox("Informacion","El Espacio se encuentra Reservada")
return
end if

xpre_esp=this.getitemnumber( this.getrow( ),"pre_esp")


closewithreturn(w_espacios,id)
else
parent.pb_6.event clicked( )
end if
end event

event ue_digita;parent.dw_2.retrieve( '%'+this.text +'%',xest_esp+'%' )


end event

event clicked;integer id
id=tab_1.tabpage_1.dw_2.getitemnumber( tab_1.tabpage_1.dw_2.getrow( ) , "id")
tab_1.tabpage_2.dw_1.retrieve(string( id))
tip_gra='M'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")
w_espacios.triggerevent("activar_boton")
tab_1.selectedtab=2
end event

event ue_enter;Send(Handle(this),256,9,Long(0,0))
return 1
end event

event clicked;string rpt


integer f_a
w_espacios.triggerevent("ue_ingresar_campos")
if tip_gra='N' then
rpt=ole_espacio.grabar()
elseif tip_gra='M' then
rpt=ole_espacio.actualizar()
end if

84
Complejo turístico Las Poncianas Tesis

if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")
end if
commit using sqlca;
w_espacios.triggerevent("open")
w_espacios.triggerevent("inactivar_boton")
end event

vent clicked;string rpt


w_espacios.triggerevent("ue_ingresar_campos")
rpt=ole_espacio.eliminar()
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")
end if
commit using sqlca;
w_espacios.triggerevent("open")
w_espacios.triggerevent("inactivar_boton")
end event
integer textsize = -10
string text = "CA&NCELAR"
boolean originalsize = true
string picturename = "img\btn.bmp"
end type

event clicked;w_espacios.triggerevent("open")
w_espacios.triggerevent("inactivar_boton")
end event

Registros de Servicios

85
Complejo turístico Las Poncianas Tesis

Consulta de Servicios

global type w_servicio from window


integer width = 2336
integer height = 1700
boolean titlebar = true
string title = "MANTENIMIENTO DE SERVICIOS"
boolean controlmenu = true
windowtype windowtype = response!
long backcolor = 16777215
string icon = "AppIcon!"
boolean center = true
event activar_boton ( )
event inactivar_boton ( )
event ue_ingresar_campos ( )
pb_1 pb_1
pb_2 pb_2
tab_1 tab_1
end type
global w_servicio w_servicio

event activar_boton();this.pb_1.enabled=false
this.tab_1.tabpage_1.pb_6.enabled=false
this.tab_1.tabpage_2.pb_4.enabled=true
this.tab_1.tabpage_2.pb_5.enabled=true
this.tab_1.tabpage_2.pb_3.enabled=true

end event

86
Complejo turístico Las Poncianas Tesis

event inactivar_boton();this.pb_1.enabled=true
this.tab_1.tabpage_1.pb_6.enabled=true
this.tab_1.tabpage_2.pb_4.enabled=false
this.tab_1.tabpage_2.pb_5.enabled=false
this.tab_1.tabpage_2.pb_3.enabled=false

end event

event ue_ingresar_campos();integer f_a


this.tab_1.tabpage_2.dw_1.accepttext( )
f_a=this.tab_1.tabpage_2.dw_1.getrow( )
choose case tip_gra
case 'M'
ole_servicio.id = tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"id")
end choose
ole_servicio.pre_ser= this.tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"pre_ser")
ole_servicio.des_ser = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"des_ser")
ole_servicio.est_ser = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"est_ser")
ole_servicio.tho_ser = this.tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"tho_ser")

end event

event open;connect using sqlca;


tab_1.tabpage_1.dw_2.settransobject(sqlca)
if ban_ser=true then
xest_ser='D'
else
xest_ser=' '
end if

tab_1.tabpage_1.dw_2.retrieve('%',xest_ser+'%')

tab_1.tabpage_2.dw_1.settransobject(sqlca)
integer u_f
tab_1.tabpage_2.dw_1.reset( )
tab_1.tabpage_2.dw_1.insertrow( 0)
u_f=tab_1.tabpage_2.dw_1.rowcount( )
tab_1.tabpage_2.dw_1.scrolltorow(u_f)
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=yes")
int rpt
ole_servicio=create oletxnobject
rpt=ole_servicio.connecttonewobject("LibHotel.servicios_adicionales")

environment lenv_local
int li_retorno
long ll_xUnits,ll_yUnits
li_retorno = GetEnvironment (lenv_local)
if li_retorno <1 then
Return -1
end if
if IsValid(this) then

87
Complejo turístico Las Poncianas Tesis

ll_xUnits = PixelsToUnits(lenv_local.ScreenWidth,XPixelsToUnits!)
ll_yUnits = PixelsToUnits(lenv_local.ScreenHeight,yPixelsToUnits!)
this.x = (ll_xUnits - this.Width) / 2
this.y = ((ll_yUnits - 400) - this.Height) / 2
end if

end event

event clicked;tip_gra='N'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")

w_servicio.triggerevent("activar_boton")
tab_1.selectedtab=2
tab_1.tabpage_2.dw_1.setcolumn( "des_ser")
tab_1.tabpage_2.dw_1.setfocus( )
tab_1.tabpage_2.dw_1.setitem(tab_1.tabpage_2.dw_1.getrow( ) ,"est_ser","A" )

end event

event clicked;close(parent)
end event

event rowfocuschanged;this.selectrow( 0, false)


this.selectrow( this.getrow( ) ,true)
end event

event doubleclicked;integer id
string est_ser
if ban_ser=true then
id=this.getitemnumber( this.getrow( ) , "id")
est_ser=this.getitemstring( this.getrow( ),"est_ser")
if est_ser="I" then
messagebox("Informacion","EL Servicio se encuentra Ocupada")
return
elseif est_ser='R' then
messagebox("Informacion","El Servicio se encuentra Reservada")
return
end if

xpre_esp=this.getitemnumber( this.getrow( ),"pre_ser")


xdes_ser=this.getitemstring( this.getrow( ),"des_ser")
closewithreturn(w_servicio,id)
else
parent.pb_6.event clicked( )
end if
end event

event ue_digita;parent.dw_2.retrieve( '%'+this.text +'%',xest_ser+'%')


end event

88
Complejo turístico Las Poncianas Tesis

event clicked;integer id
id=tab_1.tabpage_1.dw_2.getitemnumber( tab_1.tabpage_1.dw_2.getrow( ) , "id")
tab_1.tabpage_2.dw_1.retrieve(id)
tip_gra='M'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")
w_servicio.triggerevent("activar_boton")
tab_1.selectedtab=2
end event

event ue_enter;Send(Handle(this),256,9,Long(0,0))
return 1
end event

event clicked;string rpt


integer f_a
w_servicio.triggerevent("ue_ingresar_campos")
if tip_gra='N' then
rpt=ole_servicio.grabar()
elseif tip_gra='M' then
rpt=ole_servicio.actualizar()
end if
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")
else
messagebox("Error","Los datos Fueron mal Ingresados o ya Existen",StopSign!)
end if
commit using sqlca;
w_servicio.triggerevent("open")
w_servicio.triggerevent("inactivar_boton")
end event

event clicked;string rpt


w_servicio.triggerevent("ue_ingresar_campos")
rpt=ole_servicio.eliminar()
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")
else
messagebox("Adventencia","Los datos estan siendo usados o no se puede
eliminar",StopSign!)

end if
commit using sqlca;
w_servicio.triggerevent("open")
w_servicio.triggerevent("inactivar_boton")
end event

event clicked;w_servicio.triggerevent("open")
w_servicio.triggerevent("inactivar_boton")
end event

89
Complejo turístico Las Poncianas Tesis

Registros tipo de Persona

Consulta tipo de Persona

90
Complejo turístico Las Poncianas Tesis

global type w_personas from window


integer width = 2112
integer height = 1472
boolean titlebar = true
string title = "MANTENIMIENTO DE PERSONAS"
boolean controlmenu = true
boolean minbox = true
boolean maxbox = true
boolean resizable = true
long backcolor = 16777215
string icon = "AppIcon!"
boolean center = true
event activar_boton ( )
event inactivar_boton ( )
event ue_ingresar_campos ( )
pb_1 pb_1
pb_2 pb_2
tab_1 tab_1
end type
global w_personas w_personas

type variables
oletxnobject ole_persona
string tip_gra
end variables

event activar_boton();this.pb_1.enabled=false
this.tab_1.tabpage_1.pb_6.enabled=false
this.tab_1.tabpage_2.pb_4.enabled=true
this.tab_1.tabpage_2.pb_5.enabled=true
this.tab_1.tabpage_2.pb_3.enabled=true

end event

event inactivar_boton();this.pb_1.enabled=true
this.tab_1.tabpage_1.pb_6.enabled=true
this.tab_1.tabpage_2.pb_4.enabled=false
this.tab_1.tabpage_2.pb_5.enabled=false
this.tab_1.tabpage_2.pb_3.enabled=false

end event

event ue_ingresar_campos();integer f_a


this.tab_1.tabpage_2.dw_1.accepttext( )
f_a=this.tab_1.tabpage_2.dw_1.getrow( )
choose case tip_gra
case 'M'
ole_persona.id = tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"id")
end choose
ole_persona.des_per = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"des_per")
ole_persona.est_per = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"est_per")

91
Complejo turístico Las Poncianas Tesis

end event

event open;connect using sqlca;


tab_1.tabpage_1.dw_2.settransobject(sqlca)
tab_1.tabpage_1.dw_2.retrieve('%' )

tab_1.tabpage_2.dw_1.settransobject(sqlca)
integer u_f
tab_1.tabpage_2.dw_1.reset( )
tab_1.tabpage_2.dw_1.insertrow( 0)
u_f=tab_1.tabpage_2.dw_1.rowcount( )
tab_1.tabpage_2.dw_1.scrolltorow(u_f)
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=yes")

int rpt
ole_persona=create oletxnobject
rpt=ole_persona.connecttonewobject("LibHotel.persona")

environment lenv_local
int li_retorno
long ll_xUnits,ll_yUnits
li_retorno = GetEnvironment (lenv_local)
if li_retorno <1 then
Return -1
end if
if IsValid(this) then
ll_xUnits = PixelsToUnits(lenv_local.ScreenWidth,XPixelsToUnits!)
ll_yUnits = PixelsToUnits(lenv_local.ScreenHeight,yPixelsToUnits!)
this.x = (ll_xUnits - this.Width) / 2
this.y = ((ll_yUnits - 400) - this.Height) / 2
end if

end event

event clicked;tip_gra='N'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")
w_personas.triggerevent("activar_boton")
tab_1.selectedtab=2

end event

event rowfocuschanged;this.selectrow( 0, false)


this.selectrow( this.getrow( ) ,true)
end event

event doubleclicked; parent.pb_6.event clicked( )


end event

event ue_digita;parent.dw_2.retrieve( '%'+this.text +'%')


end event

92
Complejo turístico Las Poncianas Tesis

event clicked;integer id
id=tab_1.tabpage_1.dw_2.getitemnumber( tab_1.tabpage_1.dw_2.getrow( ) , "id")
tab_1.tabpage_2.dw_1.retrieve( id)
tip_gra='M'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")
w_personas.triggerevent("activar_boton")
tab_1.selectedtab=2
end event

type gb_5 from groupbox within tabpage_1


integer x = 23
integer y = 884
integer width = 1865
integer height = 236
integer taborder = 70
integer textsize = -2
integer weight = 700
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Tahoma"
long textcolor = 33554432
long backcolor = 16777215
end type

event ue_enter;Send(Handle(this),256,9,Long(0,0))
return 1
end event
event clicked;string rpt
integer f_a
w_personas.triggerevent("ue_ingresar_campos")
if tip_gra='N' then
rpt=ole_persona.grabar()
elseif tip_gra='M' then
rpt=ole_persona.actualizar()
end if
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")
end if
disconnect using sqlca;
w_personas.triggerevent("open")
w_personas.triggerevent("inactivar_boton")
end event

event clicked;string rpt


w_personas.triggerevent("ue_ingresar_campos")
rpt=ole_persona.eliminar()
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")
end if
disconnect using sqlca;

93
Complejo turístico Las Poncianas Tesis

w_personas.triggerevent("open")
w_personas.triggerevent("inactivar_boton")
end event

event clicked;w_personas.triggerevent("open")
w_personas.triggerevent("inactivar_boton")
end event

Registro Tipo de Habitación

Consulta Tipo de Habitación

94
Complejo turístico Las Poncianas Tesis

global type w_tipo_habitacion from window


integer width = 2409
integer height = 1732
boolean titlebar = true
string title = "MANTENIMIENTO DE TIPO DE HABITACION"
boolean controlmenu = true
boolean minbox = true
boolean maxbox = true
boolean resizable = true
long backcolor = 16777215
string icon = "AppIcon!"
boolean center = true
event activar_boton ( )
event inactivar_boton ( )
event ue_ingresar_campos ( )
pb_2 pb_2
pb_1 pb_1
tab_1 tab_1
end type
global w_tipo_habitacion w_tipo_habitacion

end variables

event activar_boton();this.pb_1.enabled=false
this.tab_1.tabpage_1.pb_6.enabled=false
this.tab_1.tabpage_2.pb_4.enabled=true
this.tab_1.tabpage_2.pb_5.enabled=true
this.tab_1.tabpage_2.pb_3.enabled=true

end event

event inactivar_boton();this.pb_1.enabled=true
this.tab_1.tabpage_1.pb_6.enabled=true
this.tab_1.tabpage_2.pb_4.enabled=false
this.tab_1.tabpage_2.pb_5.enabled=false
this.tab_1.tabpage_2.pb_3.enabled=false

end event

event ue_ingresar_campos();integer f_a


this.tab_1.tabpage_2.dw_1.accepttext( )
f_a=this.tab_1.tabpage_2.dw_1.getrow( )
choose case tip_gra
case 'M'
ole_tipoHabitacion.id = tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"id")
end choose
ole_tipoHabitacion.pre_tip= this.tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"pre_tip")
ole_tipoHabitacion.des_tip = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"des_tip")
ole_tipoHabitacion.est_tip = this.tab_1.tabpage_2.dw_1.getitemstring( f_a ,"est_tip")
ole_tipoHabitacion.tdi_tip = this.tab_1.tabpage_2.dw_1.getitemnumber( f_a ,"tdi_tip")

95
Complejo turístico Las Poncianas Tesis

end event

event open;connect using sqlca;


tab_1.tabpage_1.dw_2.settransobject(sqlca)
tab_1.tabpage_1.dw_2.retrieve('%' )

tab_1.tabpage_2.dw_1.settransobject(sqlca)
integer u_f
tab_1.tabpage_2.dw_1.reset( )
tab_1.tabpage_2.dw_1.insertrow( 0)
u_f=tab_1.tabpage_2.dw_1.rowcount( )
tab_1.tabpage_2.dw_1.scrolltorow(u_f)
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=yes")
int rpt
ole_tipoHabitacion=create oletxnobject
rpt=ole_tipoHabitacion.connecttonewobject("LibHotel.tipo_habitacion")

environment lenv_local
int li_retorno
long ll_xUnits,ll_yUnits
li_retorno = GetEnvironment (lenv_local)
if li_retorno <1 then
Return -1
end if
if IsValid(this) then
ll_xUnits = PixelsToUnits(lenv_local.ScreenWidth,XPixelsToUnits!)
ll_yUnits = PixelsToUnits(lenv_local.ScreenHeight,yPixelsToUnits!)
this.x = (ll_xUnits - this.Width) / 2
this.y = ((ll_yUnits - 400) - this.Height) / 2
end if

end event

event clicked;tip_gra='N'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")

w_tipo_habitacion.triggerevent("activar_boton")
tab_1.selectedtab=2

end event

event clicked;integer id
id=tab_1.tabpage_1.dw_2.getitemnumber( tab_1.tabpage_1.dw_2.getrow( ) , "id")
tab_1.tabpage_2.dw_1.retrieve(string( id))
tip_gra='M'
tab_1.tabpage_2.dw_1.modify( "datawindow.readonly=no")
w_tipo_habitacion.triggerevent("activar_boton")
tab_1.selectedtab=2
end event

96
Complejo turístico Las Poncianas Tesis

event ue_digita;parent.dw_2.retrieve( '%'+this.text +'%')


end event

event rowfocuschanged;this.selectrow( 0, false)


this.selectrow( this.getrow( ) ,true)
end event

event doubleclicked; parent.pb_6.event clicked( )


end event

on tabpage_2.destroy
event clicked;w_tipo_habitacion.triggerevent("open")
w_tipo_habitacion.triggerevent("inactivar_boton")
end event
event clicked;string rpt
w_tipo_habitacion.triggerevent("ue_ingresar_campos")
rpt=ole_tipoHabitacion.eliminar()
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")
end if
disconnect using sqlca;
w_tipo_habitacion.triggerevent("open")
w_tipo_habitacion.triggerevent("inactivar_boton")
end event

event clicked;string rpt


integer f_a
w_tipo_habitacion.triggerevent("ue_ingresar_campos")
if tip_gra='N' then
rpt=ole_tipoHabitacion.grabar()

elseif tip_gra='M' then


rpt=ole_tipoHabitacion.actualizar()
end if
if rpt='1' then
messagebox("Grabar","Los datos Fueron Grabados Correctamente")
end if
disconnect using sqlca;
w_tipo_habitacion.triggerevent("open")
w_tipo_habitacion.triggerevent("inactivar_boton")
end event

event ue_enter;Send(Handle(this),256,9,Long(0,0))
return 1
end event

97
Complejo turístico Las Poncianas Tesis

Alquiler de Habitación/Servicios

Alquiler de Espacios

98
Complejo turístico Las Poncianas Tesis

Reportes de Alquiler de Habitación/Servicios

Reporte de Alquiler de Espacio

99
Complejo turístico Las Poncianas Tesis

Reportes Por Habitaciones Alquiladas

Reportes por Espacios Alquilados

100
Complejo turístico Las Poncianas Tesis

Diagrama de Secuencia de Diseño

DS_ Registrar Cliente

: Recepcionista : Buscar cli ente : Buscar tipo cliente : Grabar cliente : Elim inar cl iente : M odi ficar : Cliente : T ipo cliente
: GUI_Registrar Cliente
Click registrar cliente

Selecci ona pagi na

Buscar cliente

Lee

Objeto cliente

Msg "Cliente no existe"

Busca tipo cliente

Leer

Obj. tipo cl iente

Selecci ona clase y estado

Click nuevo

Activa frame

Click grabar

Grabar datos cliente


Crea

Msg. Datos grabados correctamente

Msg. "Datos grabados incorrectamente"

Click modificar
Modificar datos
Actualiza
Msg "Datos modificados correctamente"

Msg "Datos modi ficados incorrectamente"

Cl ick eliminar Eliminar cliente


Eliminar
Msg Datos eliminados correctamente

Click cancelar

101
Complejo turístico Las Poncianas Tesis

DS_ Registrar Habitación

: Grabar habitacion
: Buscar tipo habitacion : Modificar habitacion
: Eliminar habitacion : Habitacion : Tipo habitacion
: Secretaria : GUI_Reg_Habitacion : Buscar habitacion
Administrativa

Click Registrar habitacion

Seleccionar pagina

Buscar habitacion

Leer
Obj. Habitacion

Msg "Habitacion no existe"

Busca tipo habitacion


Lee

Obj. Tipo habitacion

Selecciona tipo y estado

Click nuevo

Activa frame

Click grabar
Grabar habitacion
Crear
Msg. Datos grabado correctamente

Msg Datos grabados incorrectamente

Click modificar
Modificar habitacion
Actualizar

Msg "Datos modificados correctamente"

Msg "Datos modificados incorrectamente"

Click eliminar
Eliminar habitacion
Eliminar

Msg "Datos eliminados correctamente"

Click cancelar
Desactiva frame

102
Complejo turístico Las Poncianas Tesis

DS_ Registrar Espacio

: Bus car Espacion : Grabar espacio : Modificar espacio : Elim inar espacio : Espacio
: Secretaria : GUI_Reg_Espacio
Adm inis trativa
Click GUI_Reg_Es pacio

Selecciona pagina

Bus car es pacio


Leer
Obj. Es pacio

Msg "Espacio no exis te"

Click nuevo

Activa fram e

Click grabar
Grabar espacio

Crear
Ms g Datos grabados correctam ente

Ms g Datos grabados incorrectam ente

Click m odificar

Modificar es pacio
Actualizar

Ms g Datos actualizados correctam ente

Ms g Datos actualizados Incorrectam ente

Click elim inar


Elim inar regis tros
Elim ina

Ms g Datos elim inados correctamente

Click cancelar

Desactiva fram e

103
Complejo turístico Las Poncianas Tesis

DS_ Registrar Servicio

: Buscar servicio : Grabar servicio : Modificar servicio : Eliminar servicio : Servicio


: Secretaria : GUI_Reg_Servicio
Administrativa
Click GUI_Reg_Servicio

Selecciona pagina

Buscar servicio
Leer
Obj. Servicio

Msg "Servicio no existe"

Click nuevo

Activa frame

Click grabar
Grabar servicio

Crear
Msg Datos grabados correctamente

Msg Datos grabados incorrectamente

Click modificar
Modificar servicio
Actualizar

Msg Datos actualizados correctamente

Msg Datos actualizados Incorrectamente

Click eliminar
Eliminar servicio
Elimina

Msg Datos eliminados correctamente

Click cancelar

Desactiva frame

104
Complejo turístico Las Poncianas Tesis

DS_ Registrar Tipo Habitación

: Buscar THabit : Grabar THabit : Modificar THabit : Eliminar THabit : TipoHabitacion


: Secretaria : GUI_Reg_THabitac
Administrativa
Click GUI_Reg_THabitacion

Selecciona pagina

Buscar THabitac
Leer
Obj. THabitac

Msg "THabitacion no existe"

Click nuevo

Activa frame

Click grabar
Grabar THabitacion

Crear
Msg Datos grabados correctamente

Msg Datos grabados incorrectamente

Click modificar
Modificar TipoHabitacion
Actualizar

Msg Datos actualizados correctamente

Msg Datos actualizados Incorrectamente

Click eliminar
Eliminar TipoHabitacion
Elimina

Msg Datos eliminados correctamente

Click cancelar

Desactiva frame

105
Complejo turístico Las Poncianas Tesis

Diagrama de Clases de Diseño

106
Complejo turístico Las Poncianas Tesis

Diagrama de Estado

Diagrama Estado: Clase Espacio, Habitación, Servicios

Activo Ocupado

Reserva

De baja

Diagrama Estado: Clase Habitación / Servicio, Alquiler / Espacio

Alquiler Reserva

107
Complejo turístico Las Poncianas Tesis

Diagrama Paquete de Diseño

Mantenimiento Proceso Reporte

Mantenimiento

Registrar Servicios Adicionales


(from Use-Case Model)

Registrar Cliente
Recepcionistas
(f rom Business Object Model)
(from Use-Case Model) Secretaria
Administrador
(f rom Use-Case Model)

Registrar Usuario
Registrar Habitacion
(from Use-Case Model)
(from Use-Case Model)

Registrar Tipo Habitacion


(from Use-Case Model)

108
Complejo turístico Las Poncianas Tesis

Proceso

Registrar Alquiler Habitacion


Recepcionistas
(from Use-Case Model)
(f rom Business Object Model)

Registrar Reserva Habitacion


(from Use-Case Model)

Registrar Alquiler Espacio


Asistentes
(from Use-Case Model)
(f rom Business Object Model)

Reporte

Reporte Alquiler Habitaciones


Recepcionistas
(from Use-Case M odel)
(f rom Business Object Model)

Reporte Ingresos x Alquiler


(from Use-Case M odel)
Asistentes
(f rom Business Object Model)

Reporte Alquiler Espacio


(from Use-Case M odel)

Reporte Ingresos x Alquiler Espacio


(from Use-Case M odel)

109
Complejo turístico Las Poncianas Tesis

Modelo Físico de la Base de Datos

110
Complejo turístico Las Poncianas Tesis

FASE DE IMPLEMENTACION

Diagrama de Componentes

Sis_Hotel

LibHotel ADO.NET

DBMyHotel

111
Complejo turístico Las Poncianas Tesis

Componente LibHotel

LibHotel

Clases del Componente LibHotel

Cliente
codigo
codigo_persona
razonsocial_nombreapellido
nro_documento_identidad
direccion Espacio Habitacion
Persona telef ono codigo codigo
codigo email descripcion icodigo_tipo_habitacion
descripcion clase_cliente precio numero_habitacion
estado estado estado esrado

Agregar() Agregar() Agregar() Agregar()


Modif icar() Modif icar() Modif icar() Modif icar()
Eliminar() Eliminar() Eliminar() Eliminar()

Serv iciosAdicionales TipoHabitacion


codigo codigo
descripcion descripcion
precio precio
tiempo_alquiler trempo_alquiler
estado estado

Agregar() Agregar()
Modif icar() Modif icar()
Eliminar() Eliminar()

112
Complejo turístico Las Poncianas Tesis

Diagrama de Despliegue

Cli ente
Servi dor Base Datos

Procesador: Corel 2 Duo


Switch Procesador: Corel Duo
RAM: 1Gb
RAM: 1Gb
SO Wi ndows XP
SO Wi ndows XP
HD 80 Gb
HD 80 Gb

113
Complejo turístico Las Poncianas Tesis

PRUEBA DE CAJA NEGRA

Caso de Uso: Registrar Cliente


Registrar Cliente: Ingreso de datos validos

ITEM DATOS TIPO DE DATO RESPUESTA


Seleccionar tipo
1 Click Datos de la BD
Persona
Los datos fueron
2 Ingresar documento 425444587 ingresados
correctamente
Los datos fueron
3 Teléfono 454577 ingresados
correctamente
Los datos fueron
Ingresar
4 Jorge – Uladech ingresados
Nombre/Razon Social
correctamente
Los datos fueron
5 Direccion Casma ingresados
correctamente
Los datos fueron
6 Email Jorge@hotmail.com ingresados
correctamente
Los datos fueron
7 Clase A ingresados
correctamente
8 Buscar Cliente Click Datos de la BD

Registrar Cliente: Ingreso de datos no validos

ITEM DATOS TIPO DE DATO RESPUESTA


Seleccionar tipo
1 No dar Click Error!
Persona
2 Ingresar documento Fgfdg456 Error!
3 Teléfono Sdde1564 Error!
4 Buscar cliente No dar Click Error!

Caso de Uso: Registrar Habitación


Registrar Habitación Ingreso de datos validos

114
Complejo turístico Las Poncianas Tesis

ITEM DATOS TIPO DE DATO RESPUESTA


Seleccionar tipo
1 Click Datos de la BD
Habitación
Los datos fueron
2 Nro de Habitación 45 ingresados
correctamente
3 Buscar Habitación Click Datos de la BD

Registrar Habitación Ingreso de datos no validos

ITEM DATOS TIPO DE DATO RESPUESTA


Seleccionar tipo
1 No dar Click Error!
Habitación
2 Nro de Habitación Dded4 Error!
3 Buscar Habitación No dar Click Error!

Caso de Uso: Registrar Servicio


Registrar Servicio: Ingreso de datos validos

ITEM DATOS TIPO DE DATO RESPUESTA


Los datos fueron
1 Ingresar Descripción Billar ingresados
correctamente
Los datos fueron
2 Ingresar precio 12.54 ingresados
correctamente
3 Buscar Servicios Click Datos de la BD

Registrar Servicio: Ingreso de datos no validos

ITEM DATOS TIPO DE DATO RESPUESTA


Los datos fueron
2 Ingresar precio gfgfgf ingresados
correctamente
3 Buscar Servicios No dar Click Datos de la BD

115
Complejo turístico Las Poncianas Tesis

Caso de Uso: Registrar Espacios


Registrar Espacios: Ingreso de datos validos

ITEM DATOS TIPO DE DATO RESPUESTA


Los datos fueron
1 Ingresar Descripción Auditorio Nº1 ingresados
correctamente
Los datos fueron
2 Ingresar precio 10 ingresados
correctamente
3 Buscar Espacios Click Datos de la BD
Los datos fueron
4 Tiempo de alquiler 2 ingresados
correctamente

Registrar Espacios: Ingreso de datos no validos

TIPO DE DATO
ITEM DATOS RESPUESTA

1 Ingresar precio wdede Error!


2 Buscar Espacios No dar Click Error!
3 Tiempo de alquiler ede Error!

Caso de Uso: Registrar Tipo de Habitación


Registrar Tipo de Habitación: Ingreso de datos validos

ITEM DATOS TIPO DE DATO RESPUESTA


Los datos fueron
1 Ingresar Descripción Suit Presidencial ingresados
correctamente
Los datos fueron
2 Ingresar precio 13 ingresados
correctamente
Buscar Tipo de
3 Click Datos de la BD
Habitación
Los datos fueron
4 Tiempo de alquiler 1 ingresados
correctamente

116
Complejo turístico Las Poncianas Tesis

Registrar Tipo de Habitación: Ingreso de datos no validos

TIPO DE DATO
ITEM DATOS RESPUESTA

1 Ingresar precio wdede Error!


Buscar Tipo de
2 No dar Click Error!
Habitación
3 Tiempo de alquiler DFD Error!

Caso de Uso: Registrar Tipo de Persona


Registrar Tipo de Persona: Ingreso de datos validos

ITEM DATOS TIPO DE DATO RESPUESTA


Los datos fueron
1 Ingresar Descripción Juridica ingresados
correctamente
3 Buscar Tipo de Persona Click Datos de la BD

Registrar Tipo de Persona: Ingreso de datos no validos

TIPO DE DATO
ITEM DATOS RESPUESTA

1 Ingresar Descripción //7*64 Error!


2 Buscar Tipo de Persona No dar Click Error!

117
Complejo turístico Las Poncianas Tesis

Caso de Uso: Registrar Alquiler de Habitación / servicios


Registrar Alquiler Habitación/Servicios: Ingreso de datos validos

ITEM DATOS TIPO DE DATO RESPUESTA


Seleccionar
1 click Datos de la BD
Comprobante
Seleccionar tipo de
2 click Datos de la BD
alquiler
Los datos fueron
Ingresar serie de
3 002 ingresados
comprobante
correctamente
Los datos fueron
Ingresas Nro de
4 0000002 ingresados
Comprobantes
correctamente
Los datos fueron
5 Ingresar Cliente Uladech ingresados
correctamente

Registrar Alquiler Habitación/Servicios: Ingreso de datos no validos

TIPO DE DATO
ITEM DATOS RESPUESTA

Seleccionar
1 No dar click Error!
Comprobante
Seleccionar tipo de
2 No dar click Error!
alquiler
Ingresar seri de Error!
3 Ded3
comprobante
Ingresas Nro de Error!
4 De44r
Comprobantes
5 Ingresar Cliente 154/ Error!

118
Complejo turístico Las Poncianas Tesis

Caso de Uso: Registrar Alquiler Espacio


Registrar Alquiler Espacio Ingreso de datos validos

ITEM DATOS TIPO DE DATO RESPUESTA


Seleccionar
1 click Datos de la BD
Comprobante
Seleccionar tipo de
2 click Datos de la BD
alquiler
Los datos fueron
Ingresar serie de
3 002 ingresados
comprobante
correctamente
Los datos fueron
Ingresas Nro de
4 0000002 ingresados
Comprobantes
correctamente
Los datos fueron
5 Ingresar Cliente Uladech ingresados
correctamente

Registrar Alquiler Espacio: Ingreso de datos no validos

TIPO DE DATO
ITEM DATOS RESPUESTA

Seleccionar
1 No dar click Error!
Comprobante
Seleccionar tipo de
2 No dar click Error!
alquiler
Ingresar seri de Error!
3 Ded3
comprobante
Ingresas Nro de Error!
4 De44r
Comprobantes
5 Ingresar Cliente 154/ Error!

119
Complejo turístico Las Poncianas Tesis

CAPITULO IV: CONCLUSIONES Y


RECOMENDACIONES

120
Complejo turístico Las Poncianas Tesis

Conclusiones
 Se obtuvo la información necesaria para el inicio del Proyecto.
 Se realizo el Análisis, Diseño, desarrollo y comprobación del Sistema
Informático.
 Mediante el proceso sistemático de alquiler de habitaciones y de espacios es
posible realizar registros y búsquedas de la información en forma rápida.
 La implantación de este sistema optimizará las tareas operativas de los
trabajadores del Complejo Turístico “Las Poncianas”.
 La no disponibilidad o localización de la información provoca costes de
personal, tiempo, recursos y dinero innecesarios.
 Para la totalidad del desarrollo del proyecto se a utilizado Power Builder, C# y
MySql como RBMS.
 En la fase de análisis se ha utilizado el software RATIONAL ROSE.
 Para el diseño de las bases de datos se ha utilizado DBDesigner como
modelador y MySql como RBMS.
 El desarrollo del Sistema Informático de proceso de registro y verificación de
los clientes y servicios nos da como resultado la racionalización de los recursos,
facilidad y agilidad en la recuperación de información, disminución de la masa
documental, aumento de la efectividad y eficiencia administrativa.

121
Complejo turístico Las Poncianas Tesis

Recomendaciones

 Tomar como base los lineamientos, conceptos y políticas del presente estudio.
 Evitar duplicar tareas ya que las buenas decisiones requieren buena
información.
 Brindar la capacitación a los usuarios a fin de que puedan operar en forma
adecuada el sistema a implantar.
 Ampliar la envergadura de este proyecto proponiendo el desarrollo de un
sistema informático Web para los diversos requerimientos que se plantea el
hotel.

122
Complejo turístico Las Poncianas Tesis

Referencias Bibliográficas y/o Enlaces


Bibliográfíca
[Jac 2000] 1ra Edición – Editorial Addison Wesley.
[Jac 1998] El proceso Unificado de Desarrollo de Software.
[Lar 1996] UML y Patrones, introducción al Análisis y Diseño Orientado a
Objetos
[Kenn 2005] “Administración de los Sistemas de Información: Organización y
Tecnología”.
[Juan 2004] “Software Libre y Revolución Digital”.
[Cortá 1999] “Evaluación de Decisiones Estratégicas y Gestión”.
[SENN 1999], “Análisis y Diseño de Sistemas de Información.”.
http://download.sybase.com/pdfdocs/pbg0900e/apptech.pdf
www.sybase.com
www.powerbuilder.org
www.elguille.info

123
Complejo turístico Las Poncianas Tesis

ANEXOS

ENCUESTA AL PERSONAL DE LA EMPRESA HOTEL LAS


PONCIANAS S.A.
Objetivo: el presente documento, pretende recoger información acerca de la
situación en la que se encuentra el Complejo Turístico Las Poncianas, para el
desarrollo del Sistema Informático.
Instrucciones: a continuación se presenta una serie de preguntas, lo que
deberá contestar marcando con un aspa X la respuesta correcta. Se agradece
su participación.

1. ¿Cómo realiza Usted actualmente el registro de alquiler de habitación?

a. El registro se realiza manualmente


b. El registro se realiza a través de un sistema Informático.

2. ¿En el momento que usted registra un alquiler genera demora?

a. Es rápida.
b. Si toma su tiempo.
c. A veces.

3. ¿Usted tiene conocimiento exacto del estado de las habitaciones al


momento que va a realizar un alquiler?

a. conozco el estado de las habitaciones guiándome de las llaves.


b. No tengo conocimiento.
c. Si tengo conocimiento exacto.

4. ¿A los clientes se les registra sus datos cada vez que asisten a alquilar una
habitación?

a. Los que son conocidos no se les registra.


b. Si se les registra cada vez que nos visitan.
c. No se registra a los clientes.

5. ¿Cuándo se quiere saber si un cliente está hospedado, la búsqueda que se


realiza es rápida o lenta?

a. Es rápida.
b. A veces demora.
c. Es lenta por se tiene que buscar los archivos uno por uno.

6. ¿Actualmente se pierde información y tiempo en el Hotel Las Poncianas


S.A.?

a. Si se pierde información.
b. No se pierde información.
c. A veces existe perdida de Información.

7. ¿Usted conoce que función cumple un Sistema Informático?

a. Conoce y desea aplicarlo.


b. Conoce, pero no le interesa.

124
Complejo turístico Las Poncianas Tesis

c. No tiene conocimiento.

8 ¿Cree usted que el Hotel Las Poncianas S.A. necesita de un Sistema


Informático?

a. Si necesita de un Sistema de Informático.


b. No necesita, no ayudaría en nada.
c. No Opino.

9 ¿Cree usted que será de beneficio el desarrollo de un Sistema Informático


captando más clientes?

a. Si beneficiará al Hotel.
b. No será de beneficio.
c. Podría beneficiarse pero no es seguro.

10. ¿Usted tiene experiencia en el manejo de Sistemas Informático?

a. Si tengo experiencia.
b. Tengo poca experiencia.
c. No tengo experiencia.

125

También podría gustarte